update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2006-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * concord.c (struct closure_for_each_object): Add new member
4         `ret'.
5         (func_for_each_object): Setup the return value to
6         `for_each_object_closure->ret'.
7         (Fconcord_foreach_object_in_feature): If FUNCTION returns non-nil,
8         returns the value instead of Qt.
9
10 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
11
12         * concord.c: New file.
13
14 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
15
16         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
17         `lrecord_type_concord_object'.
18
19 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
20
21         * symsinit.h (syms_of_concord): New prototype.
22         (vars_of_concord): New prototype.
23
24         * emacs.c (main_1): Setup symbols and variable about concord if
25         HAVE_CONCORD is defined.
26
27         * config.h.in (HAVE_CONCORD): New macro.
28
29 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
30
31         * chartab.c (Fput_char_attribute): For each character relation
32         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
33
34 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
35
36         * chartab.c (Fput_char_attribute): Use
37         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
38         calling `put_char_composition'.
39
40 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
41
42         * chartab.c (Q_halfwidth_of): New variable.
43         (put_char_composition): Return `<-halfwidth' instead of
44         `=decomposition' for compatibility mapping to single character
45         tagged `narrow'.
46         (Fput_char_attribute): Convert char-specs in value of
47         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
48         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
49         for `<-halfwidth'.
50         (syms_of_chartab): Add new symbol `<-halfwidth'.
51
52 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
53
54         * chartab.c (put_char_composition): Return
55         `<-formed@{isolated|initial|medial|final}' for compatibility
56         mapping to single character tagged
57         `{isolated|initial|medial|final}'.
58
59 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
60
61         * chartab.c (Q_compat_of): Deleted.
62         (put_char_composition): Return `<-FOO' for compatibility mapping
63         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
64         of `symbol_name (XSYMBOL(...))'.
65         (Fput_char_attribute): Convert char-specs in value of
66         `{<-|->}font[^*]*' to characters and put reverse links.
67         (Fsave_char_attribute_table): Don't refer Q_compat_of.
68         (syms_of_chartab): Delete builtin symbol `<-compat'.
69
70 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
71
72         * chartab.c (Q_circled_of): New variable.
73         (put_char_composition): Return `<-circled' instead of
74         `=decomposition' for compatibility mapping to single character
75         tagged `circle'.
76         (Fput_char_attribute): Convert char-specs in value of
77         `{<-|->}circled[^*]*' to characters and put reverse links.
78         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
79         for `<-circled'.
80         (syms_of_chartab): Add new symbol `<-circled'.
81
82 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
83
84         * chartab.c (Qto_decomposition_at_circled): New variable.
85         (put_char_composition): Return `=>decomposition@circled' instead
86         of `=decomposition' for compatibility decomposition mapping tagged
87         `circle'.
88         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
89
90 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
91
92         * chartab.c (Q_subscript_of): New variable.
93         (put_char_composition): Return `<-subscript' instead of
94         `=decomposition' for compatibility mapping to single character
95         tagged `sub'.
96         (Fput_char_attribute): Convert char-specs in value of
97         `{<-|->}subscript[^*]*' to characters and put reverse links.
98         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
99         for `<-subscript'.
100         (syms_of_chartab): Add new symbol `<-subscript'.
101
102 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
103
104         * chartab.c (Q_superscript_of): New variable.
105         (put_char_composition): Return `<-superscript' instead of
106         `=decomposition' for compatibility mapping to single character
107         tagged `super'.
108         (Fput_char_attribute): Convert char-specs in value of
109         `{<-|->}superscript[^*]*' to characters and put reverse links.
110         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
111         for `<-superscript'.
112         (syms_of_chartab): Add new symbol `<-superscript'.
113
114 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
115
116         * chartab.c (Qto_decomposition_at_compat): Deleted.
117         (Qto_decomposition_at_superscript): New variable.
118         (put_char_composition): Use `=>decomposition@superscript' instead
119         of `=decomposition' for compatibility decomposition mapping tagged
120         `super'.
121         (Fput_char_attribute): Fix condition about `put_char_composition'.
122         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
123         add news symbol `=>decomposition@superscript'.
124
125 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
126
127         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
128         for compatibility decomposition mapping tagged FOO.
129         (Fput_char_attribute): Modify for `put_char_composition'.
130
131 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
132
133         * chartab.c (Qto_decomposition_at_compat): New variable.
134         (Q_compat_of): Renamed from `Q_compatibility_of'.
135         (put_char_composition): Rename `Q_compatibility_of' to
136         `Q_compat_of'; return `=>decomposition@compat' for compatibility
137         decomposition mapping.
138         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
139         `Q_compat_of'.
140         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
141         `<-compatibility' to `<-compat'.
142
143 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
144
145         * chartab.c (Q_compatibility_of): New variable.
146         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
147         object is proved to be a cons cell; return `<-compatibility' if
148         the first element of argument `value' is `compat'.
149         (Fput_char_attribute): Eliminate the first value if
150         `put_char_composition' returns `<-compatibility'.
151         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
152         for `<-compatibility'.
153         (syms_of_chartab): Add new symbol `<-compatibility'.
154
155 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
156
157         * chartab.c (Q_canonical): New variable.
158         (put_char_composition): Return a feature name: return
159         `->canonical' if argument `value' specifies single character.
160         (Fput_char_attribute): Use `put_char_composition' to determine
161         feature name for `=decomposition' or `->denotational'.
162         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
163         for `->canonical'.
164         (syms_of_chartab): Add new symbol `->canonical'.
165
166 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
167
168         * chartab.c (Qmap_decomposition): New variable.
169         (Fput_char_attribute): Convert `->decomposition' to
170         `=decomposition'.
171         (syms_of_chartab): Add new symbol `=decomposition'.
172
173 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
174
175         * chartab.c (Fget_range_char_table): Fix serious problem when
176         `range' is nil.
177
178 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
179
180         * chartab.c (char_table_get_db): Use `read_from_c_string'.
181
182 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
183
184         * lread.c (read_from_c_string): New function.
185
186         * lisp.h (read_from_c_string): New prototype.
187
188 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
189
190         * chartab.c (Fput_char_attribute): Convert char-specs in value of
191         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
192         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
193         for `{<-|->}Oracle-Bones[^*]*'.
194
195 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
196
197         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
198         (Kizu).
199
200 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
201
202         * text-coding.c (Qccs_priority_list): New variable in XEmacs
203         CHISE.
204         (Fmake_coding_system): Support new property `ccs-priority-list' in
205         XEmacs CHISE.
206         (Fcoding_system_property): Likewise.
207         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
208         Vdefault_coded_charset_priority_list in XEmacs CHISE.
209         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
210         XEmacs CHISE.
211         (complex_vars_of_file_coding): Define new coding-system-property
212         `ccs-priority-list' in XEmacs CHISE.
213
214         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
215
216 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
217
218         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
219         changed to normal function.
220         (encode_char_2): Likewise.
221
222         * mule-charset.c (decoding_table_put_char): Copied from
223         char-ucs.h; changed to normal function.
224         (encode_char_2): Likewise.
225
226 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
227
228         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
229         New extern.
230         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
231         (encode_char_2_search_children): New inline function.
232         (encode_char_2): Refer
233         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
234         and use `encode_char_2_search_children'.
235
236 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
237
238         * mule-charset.c
239         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
240         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
241         (vars_of_mule_charset): Add new variable
242         `display-coded-charset-priority-use-inheritance' and
243         `display-coded-charset-priority-use-hierarchy-order'.
244
245 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
246
247         * char-ucs.h (Q_subsumptive): New extern.
248         (Q_denotational): Likewise.
249         (encode_char_2): Search children specified by `->subsumptive' and
250         `->denotational'.
251
252 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
253
254         * mule-charset.c (complex_vars_of_mule_charset): Modify the
255         X-registry of `ucs-bmp'.
256
257 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
258
259         * chartab.c (char-variants): Refer `->subsumptive',
260         `->denotational' and `->identical' as same as `->ucs-unified'.
261
262 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
263
264         * chartab.c (Fput_char_attribute): Convert char-specs in value of
265         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
266         links.
267
268 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
269
270         * text-coding.c: Add EXFUN for `Fregexp_quote'.
271         (decode_add_er_char): Fix problem about infinite loop when a CCS
272         specified in `coded-charset-entity-reference-alist' is not
273         existed.
274
275 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
276
277         * mule-charset.c (syms_of_mule_charset): Rename
278         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
279
280 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
281
282         * fns.c (simplify_char_spec): Don't allocate new character-object
283         if specified char_spec does not have any CCS-features.
284
285         * chartab.h: Add EXFUN for Fdefine_char.
286
287         * chartab.c: Delete EXFUN for Fdefine_char.
288
289 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
290
291         * fns.c (simplify_char_spec): Use Fdefine_char instead of
292         Ffind_char for char-spec.
293
294 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
295
296         * lisp-disunion.h (XCHARVAL): Fix condition about
297         SIZEOF_EMACS_INT.
298
299 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
300
301         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
302         <int> for `code'.
303         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
304         point; use <Emchar> instead of <int> for character-id.
305
306 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
307
308         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
309         (make_char): Likewise.
310         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
311         environment.
312         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
313         instead of <int> as the type of return value; use <Lisp_Object>
314         instead of <Emchar> as the type of argument.
315         (XCHARVAL[macro version]): Cast the result into <Emchar>.
316
317         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
318         syntaxcode> instead of <int>.
319
320 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
321
322         * chartab.c (put_char_composition): Use DECODE_CHAR to get
323         character corresponding with UCS code point.
324         (Fput_char_attribute): Likewise.
325
326         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
327         character in the UCS decoding-table if the char-id is not equal to
328         the UCS code point.
329
330 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
331
332         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
333         for aliases; write `description'; write
334         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
335         not 0.
336
337 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
338
339         * chartab.c (Fsave_char_attribute_table): Don't use
340         `save_charset_properties'.
341
342         * mule-charset.c (Fsave_charset_properties): Renamed from
343         `save_charset_properties' and changed to Lisp function again;
344         write property `type' as `CCS'; write properties `final-byte' and
345         `mother' if they exists.
346         (syms_of_mule_charset): Revive builtin function
347         `save-charset-properties' when HAVE_LIBCHISE is defined.
348
349 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
350
351         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
352         instead of Vexec_directory.
353         (char_attribute_system_db_file): Likewise.
354
355 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
356
357         * chartab.c (Fsave_char_attribute_table): Use
358         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
359         defined.
360
361         * mule-charset.c (save_charset_properties): Renamed from
362         `Fsave_charset_properties'; changed to non-Lisp function.
363         (syms_of_mule_charset): Abolish builtin function
364         `save-charset-properties'.
365
366 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
367
368         * mule-charset.c (Fsave_charset_properties): New function when
369         HAVE_LIBCHISE is defined.
370         (syms_of_mule_charset): Add new builtin function
371         `save-charset-properties' when HAVE_LIBCHISE is defined.
372
373 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
374
375         * chartab.c (Fput_char_attribute): Convert char-specs in value of
376         `{<-|->}ancient[^*]*' to characters and put reverse links.
377         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
378         for `{<-|->}ancient[^*]*'.
379
380 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
381
382         * chartab.c (Fput_char_attribute): Convert char-specs in value of
383         `{<-|->}original[^*]*' to characters and put reverse links.
384         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
385         for `{<-|->}original[^*]*'.
386
387 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
388
389         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
390
391 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
392
393         * mule-charset.c (Qsystem_char_id): New variable.
394
395         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
396         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
397
398 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
399
400         * chartab.c (Fput_char_attribute): When processing a reference of
401         a character, put into the end of the reversed reference of each
402         target character.
403
404 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
405
406         * chartab.c (Q_same): Deleted.
407         (Q_same_of): Deleted.
408         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
409         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
410         for `{<-|->}same'.
411         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
412
413 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
414
415         * chartab.c (Q_vulgar): Deleted.
416         (Q_vulgar_of): Deleted.
417         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
418         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
419         for `{<-|->}vulgar'.
420         (syms_of_chartab): Don't define `{<-|->}vulgar'.
421
422 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
423
424         * chartab.c (Fput_char_attribute): Convert char-specs in value of
425         `{<-|->}wrong[^*]*' to characters and put reverse links.
426         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
427         for `{<-|->}wrong[^*]*'.
428
429 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
430
431         * chartab.c (Q_vulgar): New variable.
432         (Q_vulgar_of): New variable.
433         (Fput_char_attribute): Convert char-specs in value of
434         `{->|<-}vulgar' to characters and put reverse links.
435         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
436         for `{->|<-}vulgar'.
437         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
438
439 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
440
441         * text-coding.c (decode_add_er_char): Must to quote prefix string
442         as regexp.
443
444 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
445
446         * mule-charset.c (put_char_ccs_code_point): Store characters of
447         =ucs whose code_points >= 0xF0000.
448
449 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
450
451         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
452         CHISE.
453         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
454         CHISE.
455         (complex_vars_of_mule_charset): Add new coded-charset
456         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
457         builtin characters over 0xEFFFF.
458
459         * chartab.c (syms_of_chartab): Don't define symbol
460         `system-char-id' in every case.
461
462         * char-ucs.h (Qsystem_char_id): New extern variable.
463         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
464
465 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
466
467         * text-coding.c (char_encode_utf8): Try to use entity-references
468         for U-000F0000 ...  U-0010FFFF.
469
470 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
471
472         * text-coding.c (ER_BUF_SIZE): New macro.
473         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
474         `er_buf'.
475         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
476         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
477
478 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
479
480         * chartab.c (find_char_feature_in_family): New function.
481         (Fchar_feature): Use `find_char_feature_in_family' with
482         `->identical', `<-subsumptive' and `<-denotational'.
483
484 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
485
486         * text-coding.c (char_encode_as_entity_reference): Allow prefix
487         within 8 characters; fix infinite loop.
488
489 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
490
491         * chartab.c (Q_same): New variable.
492         (Q_same_of): New variable.
493         (Fput_char_attribute): Convert char-specs in value of
494         `{->|<-}same' to characters and put reverse links.
495         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
496         for `{->|<-}same'.
497         (syms_of_chartab): Add new symbols `{->|<-}same'.
498
499 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
500
501         * chartab.c (Q_component): New variable.
502         (Q_component_of): Likewise.
503         (Fput_char_attribute): Convert char-specs in value of
504         `{->|<-}ideographic-component-forms' to characters and put reverse
505         links.
506         (syms_of_chartab): Add new symbols
507         `{->|<-}ideographic-component-forms'.
508
509 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
510
511         * chartab.c (Q_identical): New variable.
512         (Q_identical_from): New variable.
513         (Fchar_feature): Regard `->identical' as a feature to find
514         ancestors.
515         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
516         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
517         for `{->|<-}identical'.
518         (syms_of_chartab): Add new symbols `{->|<-}identical'.
519
520 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
521
522         * char-ucs.h (encode_char_2): New inline function.
523         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
524
525 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
526
527         * chartab.c (Fput_char_attribute): Convert char-specs to
528         characters in value of `ideographic-structure'.
529         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
530         for `{<-|->}simplified(@...)'.
531         (Fdefine_char): Try to use predefined character's id.
532
533 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
534
535         * fns.c (simplify_char_spec): Try to convert builtin chars to
536         defined chars.
537
538 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
539
540         * chartab.c (Fput_char_attribute): Convert char-specs in value of
541         `<-simplified[^*]*' to characters and put reverse links.
542
543 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
544
545         * chartab.c (Q_subsumptive): Renamed from Q_unified.
546         (Q_subsumptive_from): Renamed from Q_unified_from.
547         (Fchar_feature): Use `Q_subsumptive_from' instead of
548         `Q_unified_from'.
549         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
550         `Q_unified'.
551         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
552         `<-unified' to `<-subsumptive'.
553
554 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
555
556         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
557         inheritance itself; fix typo; stop recursive search if cyclic
558         inheritance is found.
559
560 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
561
562         * chartab.c (Q_denotational): New variable.
563         (Q_denotational_from): New variable.
564         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
565         (put_char_attribute): New function.
566         (Fput_char_attribute): Use `put_char_attribute'; regard
567         `->denotational' and `<-denotational' as same as `->unified' and
568         `<-unified'.
569         (syms_of_chartab): Add new symbols `->denotational' and
570         `<-denotational'.
571
572 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
573
574         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
575         `Fget_char_attribute'.
576         (Fchar_variants): Likewise.
577         (get_char_table): Likewise.
578         (Fchar_feature): New function.
579         (put_char_composition): Use `Fchar_feature' instead of
580         `Fget_char_attribute'.
581         (Fput_char_attribute): Likewise; don't put the target character
582         into its `->unified' value.
583         (syms_of_chartab): Add new builtin function `char-feature'.
584
585 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
586
587         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
588         `Fget_char_attribute'.
589         (char_encode_utf8): Likewise.
590
591         * chartab.h: Add an EXFUN for `Fchar_feature'.
592
593 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
594
595         * chartab.c (Vnext_defined_char_id): New variable.
596         (Fput_char_attribute): Accept characters in `->unified'.
597         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
598         new characters which are not related with builtin char-id ranges.
599         (vars_of_chartab): Add new variable `next-defined-char-id'.
600
601 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
602
603         * chartab.c (Q_unified): New variable.
604         (Q_unified_from): New variable.
605         (Fput_char_attribute): Add code for `->unified'.
606         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
607         XEmacs CHISE.
608
609 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
610
611         * mule-charset.c (decode_ccs_conversion): New function.
612         (decode_defined_char): Use `decode_ccs_conversion'.
613         (decode_builtin_char): Likewise.
614
615 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
616
617         * char-ucs.h: Change some charset-ids of private coded-charsets.
618
619 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
620
621         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
622         (char_encode_as_entity_reference): Likewise.
623         (decode_coding_big5): Modify for `decode_defined_char' and
624         `DECODE_CHAR'.
625         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
626         avoid compiler warning.
627         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
628
629         * mule-charset.c (decode_defined_char): Add new argument
630         `without_inheritance'.
631         (Fdecode_char): Add new optional argument `without_inheritance'.
632         (Fdecode_builtin_char): Modify for `Fdecode_char'.
633
634         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
635         (simplify_char_spec): Likewise.
636
637         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
638         setting.
639
640         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
641         (map_char_table): Likewise.
642         (Fdefine_char): Use `Fdecode_char' without inheritance.
643         (Ffind_char): Modify for `Fdecode_char'.
644
645         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
646
647         * char-ucs.h (decode_defined_char): Add new argument
648         `without_inheritance'.
649         (DECODE_CHAR): Likewise.
650         (MAKE_CHAR): Modify for `DECODE_CHAR'.
651
652 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
653
654         * chartab.c (Vchise_system_db_directory): New variable.
655         (vars_of_chartab): Add new variable `chise-system-db-directory'.
656
657 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
658
659         * chartab.c: EXFUN `Fmount_char_attribute_table'.
660         (print_chartab_range): Don't define when `UTF2000' is defined.
661         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
662         `CHISE_DS_open'.
663
664 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
665
666         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
667         and optional argument `rehash' is specified, call
668         `open_chise_data_source_maybe' before
669         `chise_ds_foreach_char_feature_name' is called.
670
671 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
672
673         * chartab.c (char_attribute_list_reset_map_func): New function
674         when HAVE_LIBCHISE is defined.
675         (Fchar_attribute_list): Add new optional argument `rehash' when
676         HAVE_LIBCHISE is defined.
677         (open_chise_data_source_maybe): Use "chise-db" instead of
678         "char-db".
679         (char_attribute_system_db_file): Likewise.
680         (Fload_char_attribute_table): Use
681         `chise_feature_foreach_char_with_value' instead of
682         `chise_char_feature_value_iterate'.
683
684 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
685
686         * chartab.c (Vchise_db_directory): New variable.
687         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
688
689 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
690
691         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
692         instead of HAVE_CHISE to specify using with libchise.
693
694         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
695
696         * chartab.h: Don't use HAVE_CHISE_CLIENT.
697
698         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
699         defined or HAVE_LIBCHISE_LIBCHISE is defined.
700         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
701         is defined.
702         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
703         HAVE_CHISE to specify using with libchise.
704         (syms_of_chartab): Don't define symbol `system-char-id' when
705         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
706
707 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
708
709         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
710         specify CHISE DB support.
711         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
712         of `char_attribute_system_db_file' to check feature DB file.
713
714         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
715         HAVE_CHISE_CLIENT to specify CHISE DB support.
716
717         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
718         specify CHISE DB support.
719         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
720         not defined.
721         (Freset_char_attribute_table): Use `chise_feature_setup_db'
722         instead of `char_attribute_system_db_file' to check feature DB
723         file.
724
725 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
726
727         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
728         `HAVE_CHISE_CLIENT'.
729
730 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
731
732         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
733         (Fsave_charset_mapping_table): Don't use
734         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
735
736         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
737         (HAVE_LIBCHISE): New macro.
738
739         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
740
741         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
742         (Fsave_char_attribute_table): Don't use
743         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
744
745 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
746
747         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
748         defined.
749         (save_uint16_byte_table): Likewise.
750         (save_byte_table): Likewise.
751         (char_table_get_db): Use `chise_ds_load_char_feature_value'
752         instead of `chise_char_load_feature_value'.
753         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
754
755 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
756
757         * chartab.h (struct Lisp_Char_Table): Delete member
758         `feature_table' if CHISE is defined.
759
760         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
761         (Fcopy_char_table): Likewise.
762         (char_table_open_db_maybe): Likewise.
763         (char_table_close_db_maybe): Likewise.
764         (char_table_get_db): Likewise.
765         (Fmount_char_attribute_table): Likewise.
766         (Fload_char_attribute_table): Likewise.
767
768 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
769
770         * mule-charset.c (load_char_decoding_entry_maybe): Use
771         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
772         `chise_ccs_decode'.
773
774 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
775
776         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
777         instead of `chise_open_data_source'.
778         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
779         `chise_ds_close'.
780
781 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
782
783         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
784         instead of `chise_ds_open_feature_table'.
785         (char_table_close_db_maybe): Don't use `chise_ft_close'.
786
787 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
788
789         * mule-charset.c (Fsave_charset_mapping_table): Use
790         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
791         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
792         `chise_ccs_sync' instead of `chise_ccst_close'.
793         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
794
795         * chartab.c (open_chise_data_source_maybe): Modify for
796         `chise_open_data_source'.
797         (char_table_open_db_maybe): Modify for
798         `chise_ds_open_feature_table'.
799
800 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
801
802         * mule-charset.c (load_char_decoding_entry_maybe): Use
803         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
804         `chise_ccst_close'.
805
806 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
807
808         * mule-charset.c (Fsave_charset_mapping_table): Use
809         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
810         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
811         `chise_dt_put_char' and `chise_dt_close'.
812         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
813         `chise_ccs_decode' and `chise_ccst_close' instead of
814         `chise_ds_open_decoding_table', `chise_dt_get_char' and
815         `chise_dt_close'.
816
817         * chartab.c (char_table_get_db): Use
818         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
819         (load_char_attribute_table_map_func): Modify for
820         `chise_char_feature_value_iterate'.
821         (Fload_char_attribute_table): Use
822         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
823
824 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
825
826         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
827
828 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
829
830         * chartab.c (put_char_table): Modify for inherited coded-charsets
831         in XEmacs CHISE.
832
833 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
834
835         * chartab.c (Fput_char_table_map_function): Fixed.
836         (word_boundary_p): Don't check charset in XEmacs CHISE.
837
838 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
839
840         * mule-charset.c (Fsave_charset_mapping_table): Use
841         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
842         instead of `chise_open_decoding_table'; refer
843         `default_chise_data_source'; use `chise_dt_close' instead of
844         `chise_close_decoding_table'.
845         (load_char_decoding_entry_maybe): Likewise.
846
847         * chartab.c (default_chise_data_source): New variable when `CHISE'
848         is defined.
849         (Fcopy_char_table): `ct->ds' is deleted.
850         (open_chise_data_source_maybe): New function.
851         (Fclose_char_data_source): New function.
852         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
853         use `chise_ds_open_feature_table' instead of
854         `chise_open_feature_table'.
855         (char_table_close_db_maybe): Use `chise_ft_close' instead of
856         `chise_close_feature_table'; `cit->ds' is deleted.
857         (syms_of_chartab): Add new builtin function
858         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
859
860         * chartab.h (default_chise_data_source): New extern variable.
861         (open_chise_data_source_maybe): New prototype.
862         (struct Lisp_Char_Table): Delete `ds'.
863
864 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
865
866         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
867         `CHISE' is defined.
868
869 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
870
871         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
872         not defined; add code for non-libchise setting.
873         (char_table_close_db_maybe): Likewise.
874         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
875         defined.
876         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
877         even if `CHISE' is not defined.
878         (Freset_char_attribute_table): Likewise.
879         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
880         `char_table_close_db_maybe' even if `CHISE' is not defined; use
881         `char_table_get_db'.
882         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
883         `char_table_close_db_maybe' even if `CHISE' is not defined.
884
885 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
886
887         * chartab.c (char_table_open_db_maybe): New function.
888         (char_table_close_db_maybe): New function.
889         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
890         (Freset_char_attribute_table): Likewise.
891         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
892         `char_table_close_db_maybe'.
893         (Fload_char_attribute_table): Likewise.
894
895 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
896
897         * chartab.c: Don't include <chise.h> because it is included in
898         chartab.h.
899         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
900         defined.
901         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
902         `CHISE' is defined.
903         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
904         `CHISE' is defined.
905         (Fclose_char_attribute_table): Close `ct->feature_table' and
906         `ct->ds' when `CHISE' is defined.
907         (Freset_char_attribute_table): Likewise.
908         (load_char_attribute_maybe): Use `cit->ds' and
909         `cit->feature_table' when `CHISE' is defined.
910         (Fload_char_attribute_table): Likewise.
911
912         * chartab.h: Include <chise.h> when `CHISE' is defined.
913         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
914         when `CHISE' is defined.
915
916 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
917
918         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
919         is defined.
920         (char_table_description): Likewise.
921         (Fmake_char_table): Likewise.
922         (Fcopy_char_table): Likewise.
923         (Fmount_char_attribute_table): Likewise.
924         (Fclose_char_attribute_table): Likewise.
925         (Freset_char_attribute_table): Likewise.
926         (load_char_attribute_maybe): Likewise.
927         (Fload_char_attribute_table): Likewise.
928
929         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
930         defined.
931
932 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
933
934         * chartab.c (load_char_attribute_table_map_func): New function
935         when CHISE is defined.
936         (Qload_char_attribute_table_map_function): Don't define when CHISE
937         is defined.
938         (Fload_char_attribute_table_map_function): Likewise.
939         (Fload_char_attribute_table): Use libchise when `CHISE' is
940         defined.
941         (syms_of_chartab): Don't define
942         `load-char-attribute-table-map-function' when CHISE is defined.
943
944 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
945
946         * chartab.c: Include <chise.h> when `CHISE' is defined.
947         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
948
949 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
950
951         * mule-charset.c (charset_code_point): Fix problem when searching
952         in mother CCS fails with `defined_only' mode.
953
954 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
955
956         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
957         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
958         (put_char_composition): Likewise.
959         (Fput_char_attribute): Likewise.
960         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
961
962 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
963
964         * chartab.c (Q_ucs): Deleted.
965         (Fput_char_attribute): Don't refer `->ucs'.
966         (Fdefine_char): Likewise.
967         (Ffind_char): Likewise.
968         (syms_of_chartab): Delete `->ucs'.
969
970 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
971
972         * mule-charset.c (Qmap_cns11643_2): Renamed from
973         `Qchinese_cns11643_2'.
974         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
975         `chinese-cns11643-2'.
976         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
977         `=cns11643-2'.
978
979 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
980
981         * mule-charset.c (Qmap_cns11643_1): Renamed from
982         `Qchinese_cns11643_1'.
983         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
984         `chinese-cns11643-1'.
985         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
986         `=cns11643-1'.
987
988 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
989
990         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
991         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
992         `chinese-gb12345'.
993         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
994         `=gb12345'.
995
996 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
997
998         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
999         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
1000         `chinese-gb2312'.
1001         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
1002         `=gb2312'.
1003
1004 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1005
1006         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
1007         (syms_of_mule_charset): Add new symbol `=big5' instead of
1008         `chinese-big5'.
1009         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1010
1011 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1012
1013         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1014         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1015         `korean-ksc5601'.
1016         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1017         `=ks-x1001'.
1018
1019 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1020
1021         * mule-charset.c (Qmap_jis_x0212): Renamed from
1022         `Qjapanese_jisx0212'.
1023         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1024         `japanese-jisx0212'.
1025         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1026         `=jis-x0212'.
1027
1028 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1029
1030         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1031         `Qjapanese_jisx0208'.
1032         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1033         of `japanese-jisx0208'.
1034         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1035         `=jis-x0208-1983'.
1036
1037 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1038
1039         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1040         `Qjapanese_jisx0208_1978'.
1041         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1042         of `japanese-jisx0208-1978'.
1043         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1044         `=jis-x0208-1978'.
1045
1046 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1047
1048         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1049         only for XEmacs CHISE.
1050
1051 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1052
1053         * char-ucs.h: Compact non-ISO-IR charset-ids.
1054         (LEADING_BYTE_UCS): Changed to -177.
1055         (LEADING_BYTE_CONTROL_1): Changed to -77.
1056         (LEADING_BYTE_UCS_BMP): Changed to -176.
1057         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1058
1059 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1060
1061         * mule-charset.c (Qiso_ir): New variable.
1062         (Fmake_charset): Recognise new property `iso-ir'.
1063         (syms_of_mule_charset): Add new symbol `iso-ir'.
1064
1065 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1066
1067         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1068         n to -n; charset-id of non ISO-IR sets are changed to positive
1069         numbers.
1070
1071 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1072
1073         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1074         for &MCS-XXXXXXXX; values.
1075
1076 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1077
1078         * mule.c (Vxemacs_chise_version): Renamed from
1079         `Vutf_2000_version'.
1080         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1081         `utf-2000-version' as an alias for `xemacs-chise-version'.
1082
1083 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1084
1085         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1086         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1087         defined.
1088
1089         * config.h.in (CHISE): New macro.
1090
1091 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1092
1093         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1094         of `ucs'.
1095         (Qmap_ucs): New variable.
1096         (syms_of_mule_charset): Add new symbol `=ucs'.
1097         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1098
1099         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1100         (simplify_char_spec): Likewise.
1101
1102         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1103
1104         * char-ucs.h (Qmap_ucs): New extern variable.
1105
1106 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1107
1108         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1109         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1110         don't define it when UTF2000 is not defined.
1111         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1112         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1113         when UTF2000 is not defined.
1114         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1115         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1116
1117 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1118
1119         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1120
1121         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1122         (Qucs_gb): Deleted.
1123         (syms_of_mule_charset): Delete `ucs-gb'.
1124         (complex_vars_of_mule_charset): Likewise.
1125
1126 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1127
1128         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1129
1130         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1131         (Qucs_cns): Deleted.
1132         (syms_of_mule_charset): Delete `ucs-cns'.
1133         (complex_vars_of_mule_charset): Likewise.
1134
1135 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1136
1137         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1138
1139         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1140         (Qucs_jis): Deleted.
1141         (syms_of_mule_charset): Delete `ucs-jis'.
1142         (complex_vars_of_mule_charset): Likewise.
1143
1144 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1145
1146         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1147
1148         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1149         (Qucs_ks): Deleted.
1150         (syms_of_mule_charset): Delete `ucs-ks'.
1151         (complex_vars_of_mule_charset): Likewise.
1152
1153 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1154
1155         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1156         (Qideograph_daikanwa_2): Deleted.
1157         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1158         (complex_vars_of_mule_charset): Likewise.
1159
1160         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1161         (LEADING_BYTE_DAIKANWA_1): Deleted.
1162         (LEADING_BYTE_DAIKANWA_2): Deleted.
1163         (MIN_CHAR_DAIKANWA): Deleted.
1164         (MAX_CHAR_DAIKANWA): Deleted.
1165
1166 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1167
1168         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1169         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1170         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1171
1172         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1173         (Vcharset_ideograph_daikanwa): Deleted.
1174         (Qideograph_hanziku_{1..12}): Deleted.
1175         (Qideograph_daikanwa): Deleted.
1176         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1177         Vcharset_ideograph_daikanwa.
1178         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1179         `ideograph-hanziku-{1..12}'.
1180         (complex_vars_of_mule_charset): Likewise.
1181
1182 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1183
1184         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1185
1186         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1187         (Qideograph_gt_pj_{1..11}): Deleted.
1188         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1189         (complex_vars_of_mule_charset): Likewise.
1190
1191 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1192
1193         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1194         (Vcharset_ideograph_gt): Deleted.
1195         (Qucs_big5): Deleted.
1196         (Qideograph_gt): Deleted.
1197         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1198         `ideograph-gt'.
1199         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1200         and `ideograph-gt'.
1201
1202         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1203         (LEADING_BYTE_GT): Deleted.
1204         (MIN_CHAR_GT): Deleted.
1205         (MAX_CHAR_GT): Deleted.
1206
1207 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1208
1209         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1210
1211 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1212
1213         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1214         (save_uint16_byte_table): Likewise.
1215         (save_byte_table): Likewise; convert values by it.
1216         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1217         for `ideographic-structure'.
1218         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1219         as the filter for `ideographic-structure'.
1220
1221 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1222
1223         * chartab.c (put_char_composition): New function.
1224         (Fput_char_attribute): Use `put_char_composition'; use
1225         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1226
1227         * fns.c (simplify_char_spec): New function.
1228         (char_ref_simplify_spec): New function.
1229         (Fchar_refs_simplify_char_specs): New function.
1230         (syms_of_fns): Add new builtin function
1231         `char-refs-simplify-char-specs'.
1232
1233 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1234
1235         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1236         (Qideograph_cbeta): Deleted.
1237         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1238         (complex_vars_of_mule_charset): Likewise.
1239
1240         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1241         (MIN_CHAR_CBETA): Comment out.
1242         (MAX_CHAR_CBETA): Likewise.
1243
1244 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1245
1246         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1247         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1248         CHISE client feature.
1249
1250 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1251
1252         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1253
1254 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1255
1256         * mule-charset.c (charset_lookup_description_1): Use
1257         `NUM_LEADING_BYTES' in UTF-2000.
1258
1259 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1260
1261         * char-ucs.h (GC_CHARSETP): Deleted.
1262
1263 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1264
1265         * char-ucs.h (MAX_CHAR_GT): Updated.
1266
1267 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1268
1269         * text-coding.c: Sync with XEmacs 21.4.10.
1270
1271 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1272
1273         * mule-charset.c (Vcharset_china3_jef): Deleted.
1274         (Qchina3_jef): Deleted.
1275         (syms_of_mule_charset): Don't define `china3-jef'.
1276         (complex_vars_of_mule_charset): Likewise.
1277
1278         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1279         (MIN_CHAR_CHINA3_JEF): Comment out.
1280         (MAX_CHAR_CHINA3_JEF): Comment out.
1281
1282 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1283
1284         * mule-charset.c (Vcharset_ucs_gb): New variable.
1285         (Qucs_gb): New variable.
1286         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1287         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1288
1289         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1290
1291 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1292
1293         * mule-charset.c (charset_code_point): if a coded-charset has a
1294         final-byte, don't inherit the builtin range of the mother CCS.
1295
1296 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1297
1298         * mule-charset.c (charset_code_point): Fix problem about
1299         inheritance.
1300
1301 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1302
1303         * mule-charset.c (decode_builtin_char): Reorganized.
1304
1305 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1306
1307         * text-coding.c (char_encode_as_entity_reference): Modify for
1308         `charset_code_point'.
1309         (char_encode_shift_jis): Likewise.
1310         (char_encode_big5): Likewise.
1311         (char_encode_utf8): Likewise.
1312         (char_encode_iso2022): Likewise.
1313
1314         * mule-charset.c (charset_code_point): Add new argument
1315         `defined_only'.
1316         (Fencode_char): Add new optional argument `defined_only'.
1317
1318         * chartab.c (put_char_table): Modify for `charset_code_point'.
1319
1320         * char-ucs.h (charset_code_point): Add new argument
1321         `defined_only'.
1322         (encode_char_1): Modify for `charset_code_point'.
1323
1324 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1325
1326         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1327         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1328
1329 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1330
1331         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1332         (Qjis_x0208): Likewise.
1333         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1334         XCHARSET_FINAL(charset).
1335         (charset_code_point): Modify condition for final-byte based
1336         builtin-chars.
1337         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1338         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1339         in UTF-2000; specify `=jis-x0208' as the mother of
1340         `japanese-jisx0208-1978', `japanese-jisx0208' and
1341         `japanese-jisx0208-1990' in UTF-2000.
1342
1343 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1344
1345         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1346
1347 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1348
1349         * text-coding.c (decode_coding_utf16): Support UTF-16.
1350         (char_encode_utf16): Fixed.
1351
1352 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1353
1354         * text-coding.c (Qutf16): New variable in MULE.
1355         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1356         (Fcoding_system_type): Add `utf-16' in MULE.
1357         (struct detection_state): Add a structure for utf16 in MULE.
1358         (detect_coding_type): Setup st->utf16.mask in MULE.
1359         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1360         MULE.
1361         (reset_encoding_stream): Use `char_encode_utf16' and
1362         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1363         (detect_coding_utf16): New function [incomplete].
1364         (decode_coding_utf16): New function [support only UCS-2].
1365         (char_encode_utf16): New function.
1366         (char_finish_utf16): New function.
1367         (syms_of_file_coding): Add new symbol `utf-16'; setup
1368         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1369
1370         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1371         UTF-2000.
1372         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1373         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1374
1375 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1376
1377         * chartab.c (put_char_table): When a charset is specified as a
1378         range in UTF-2000, don't support builtin characters.
1379
1380 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1381
1382         * mule-charset.c (decode_defined_char): Don't refer external
1383         database if Qunbound or Qnil are found.
1384         (Fsave_charset_mapping_table): Don't define it if
1385         HAVE_CHISE_CLIENT is not defined.
1386         (Freset_charset_mapping_table): New function.
1387         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1388         found in external database.
1389         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1390         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1391         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1392
1393 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1394
1395         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1396         not.
1397
1398 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1399
1400         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1401         Q_lowercase, Q_uppercase in UTF-2000.
1402
1403         * chartab.c (get_char_table): Add special code for the standard
1404         case table to use character attribute `->downcase' and
1405         `->uppercase' for case operations in UTF-2000.
1406
1407         * casetab.c (Qflippedcase): New variable in UTF-2000.
1408         (Q_lowercase): Likewise.
1409         (Q_uppercase): Likewise.
1410         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1411         and `->uppercase' in UTF-2000.
1412         (complex_vars_of_casetab): Assign attribute name `downcase' to
1413         downcase and CANON table of Vstandard_case_table in UTF-2000;
1414         assign attribute name `flippedcase' to upcase and EQV table of
1415         Vstandard_case_table in UTF-2000.
1416
1417 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1418
1419         * text-coding.c (decode_add_er_char): Support isolated-chars.
1420         (char_encode_as_entity_reference): Likewise.
1421
1422 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1423
1424         * emacs.c (Vutf_2000_lisp_directory): New variable.
1425         (Vconfigure_utf_2000_lisp_directory): Likewise.
1426         (complex_vars_of_emacs): Add new variable
1427         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1428
1429 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1430
1431         * char-ucs.h (DECODE_CHAR): Delete special code for
1432         `chinese-big5-1' and `chinese-big5-2'.
1433
1434         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1435         (Qbig5_2): Likewise.
1436         (decode_defined_char): Support CONVERSION_BIG5_1 and
1437         CONVERSION_BIG5_2.
1438         (decode_builtin_char): Likewise.
1439         (charset_code_point): Likewise.
1440         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1441         'conversion in UTF-2000.
1442         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1443         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1444         `chinese-big5-2' as children of `chinese-big5'.
1445
1446         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1447         (CONVERSION_BIG5_2): New macro.
1448
1449 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1450
1451         * text-coding.c (char_encode_big5): Support entity-reference.
1452
1453 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1454
1455         * text-coding.c (char_encode_as_entity_reference): New function.
1456         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1457
1458 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1459
1460         * text-coding.c (decode_coding_big5): Support entity-reference
1461         decoding feature.
1462
1463 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1464
1465         * text-coding.c (allocate_coding_system): Initialize initial
1466         charsets for CODESYS_UTF8.
1467         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1468         charset-g2 for CODESYS_UTF8.
1469         (decode_coding_utf8): Use charset-g0.
1470         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1471         to force variants to map to UCS.
1472
1473 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1474
1475         * text-coding.c (Qutf_8_mcs): New variable.
1476         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1477         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1478         instead of `utf-8' in UTF-2000.
1479
1480 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1481
1482         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1483         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1484         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1485         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1486         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1487         CONVERSION_96x96x96x96 are introduced.
1488         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1489         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1490         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1491
1492         * char-ucs.h (CONVERSION_94): New macro.
1493         (CONVERSION_96): New macro.
1494         (CONVERSION_94x94): New macro.
1495         (CONVERSION_96x96): New macro.
1496         (CONVERSION_94x94x94): New macro.
1497         (CONVERSION_96x96x96): New macro.
1498         (CONVERSION_94x94x94x60): New macro.
1499         (CONVERSION_94x94x94x94): New macro.
1500         (CONVERSION_96x96x96x96): New macro.
1501
1502 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1503
1504         * chartab.c (Vcharacter_variant_table): Deleted.
1505         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1506         of `Vcharacter_variant_table'.
1507         (Fput_char_attribute): Likewise.
1508         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1509         (complex_vars_of_chartab): Likewise.
1510
1511 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1512
1513         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1514
1515         * fns.c (Qideographic_structure): New variable.
1516         (Qkeyword_char): New variable.
1517         (ids_format_unit): New function.
1518         (Fideographic_structure_to_ids): New function.
1519         (syms_of_fns): Add new symbols `ideographic-structure' and
1520         `:char'; add new builtin function `ideographic-structure-to-ids'.
1521
1522         * data.c (Fchar_ref_p): New function.
1523         (syms_of_data): Add new builtin function `char-ref-p'.
1524
1525         * chartab.h: Add an EXFUN for `Ffind_char'.
1526
1527 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1528
1529         * text-coding.c (Vcharacter_composition_table): Deleted.
1530         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1531         in every UTF-2000.
1532
1533         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1534         UTF-2000.
1535         (Vcharacter_composition_table): Deleted.
1536         (Fget_composite_char): Use the implementation for external-DB
1537         support in every UTF-2000.
1538         (Fput_char_attribute): Likewise.
1539         (char_attribute_system_db_file): Don't define if external-DB
1540         feature is not available.
1541         (Fsave_char_attribute_table): Likewise.
1542         (Fmount_char_attribute_table): Likewise.
1543         (Fclose_char_attribute_table): Likewise.
1544         (Freset_char_attribute_table): Likewise.
1545         (Fload_char_attribute_table): Likewise.
1546         (syms_of_chartab): Don't define `save-char-attribute-table',
1547         `mount-char-attribute-table', `reset-char-attribute-table',
1548         `close-char-attribute-table' and `load-char-attribute-table' if
1549         external-DB feature is not available.
1550         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1551
1552 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1553
1554         * text-coding.c (Qcomposition): Add extern if external-DB feature
1555         is supported.
1556         (Vcharacter_composition_table): Don't add extern if external-DB
1557         feature is supported.
1558         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1559         character composition rule if external-DB feature is supported.
1560
1561         * chartab.c (Vcharacter_composition_table): Don't define if
1562         external-DB feature is supported.
1563         (Qcomposition): New variable.
1564         (Fget_composite_char): New implementation for external-DB support.
1565         (Fput_char_attribute): Use `composition' property of each
1566         character instead of `Vcharacter_composition_table' to store
1567         character-composition rules if external-DB feature is supported.
1568         (syms_of_chartab): Add new symbol `composition'.
1569         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1570         external-DB feature is supported.
1571
1572 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1573
1574         * chartab.c (Vchar_db_stingy_mode): New variable.
1575         (load_char_attribute_maybe): Close database if
1576         Vchar_db_stingy_mode is not NIL.
1577         (Fload_char_attribute_table_map_function): Use
1578         `get_char_id_table_0' instead of `get_char_id_table'.
1579         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1580
1581         * chartab.h (get_char_id_table_0): New inline function.
1582         (get_char_id_table): Use `get_char_id_table_0'.
1583
1584 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1585
1586         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1587         and `COMPOSE_ADD_CHAR'.
1588         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1589
1590 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1591
1592         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1593         instead of `DECODE_ADD_UCS_CHAR'.
1594         (COMPOSE_ADD_CHAR): Likewise.
1595
1596 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1597
1598         * text-coding.c (decode_flush_er_chars): New inline function.
1599         (decode_add_er_char): New function.
1600         (decode_coding_utf8): Use `decode_flush_er_chars' and
1601         `decode_add_er_char'.
1602
1603 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1604
1605         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1606         done before `decode_output_utf8_partial_char'.
1607
1608         * mule-charset.c (complex_vars_of_mule_charset): Specify
1609         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1610         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1611
1612 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1613
1614         * mule-charset.c (decode_defined_char): New function; search
1615         mother.
1616         (decode_builtin_char): Don't search mother if
1617         XCHARSET_MAX_CODE(charset) == 0.
1618         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1619         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1620         (Fdecode_char): Use `decode_defined_char' instead of
1621         `DECODE_DEFINED_CHAR'.
1622         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1623         mother of `Vcharset_ucs_jis'.
1624
1625         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1626         instead of `DECODE_DEFINED_CHAR'.
1627
1628         * char-ucs.h (decode_defined_char): Renamed from
1629         `DECODE_DEFINED_CHAR'; changed to normal function.
1630         (DECODE_CHAR): Use `decode_defined_char' instead of
1631         `DECODE_DEFINED_CHAR'.
1632
1633         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1634
1635 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1636
1637         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1638
1639         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1640         variable.
1641         (Quse_entity_reference): New variable.
1642         (Qd): New variable.
1643         (Qx): New variable.
1644         (QX): New variable.
1645         (coding_system_description): Add description for
1646         `ccs_priority_list'.
1647         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1648         (allocate_coding_system): Initialize `ccs_priority_list' in
1649         UTF-2000.
1650         (Fmake_coding_system): Add description about
1651         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1652         (codesys).
1653         (Fcoding_system_property): Accept `disable-composition' and
1654         `use-entity-reference' in UTF-2000.
1655         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1656         in UTF-2000.
1657         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1658         (decode_coding_utf8): Decode entity-reference if
1659         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1660         (char_encode_utf8): Encode non-Unicode characters as
1661         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1662         (str->codesys).
1663         (syms_of_file_coding): Add new symbols `use-entity-reference',
1664         `d', `x', `X'.
1665         (vars_of_file_coding): Add new variable
1666         `coded-charset-entity-reference-alist'.
1667         (complex_vars_of_file_coding): Declare `disable-composition' and
1668         `use-entity-reference' to be coding-system-properties in UTF-2000.
1669
1670         * file-coding.h (struct Lisp_Coding_System): Add new member
1671         `use_entity_reference' and `ccs_priority_list'.
1672         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1673         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1674         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1675
1676 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1677
1678         * chartab.c (save_uint8_byte_table): Don't clear the table.
1679         (save_uint16_byte_table): Likewise.
1680         (save_byte_table): Likewise.
1681         (Fmount_char_attribute_table): New function.
1682         (syms_of_chartab): Add new builtin function
1683         `mount-char-attribute-table'.
1684
1685 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1686
1687         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1688         "w+" mode.
1689         (load_char_decoding_entry_maybe): Open database as read-only mode.
1690
1691         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1692         open database as "w+" mode.
1693         (load_char_attribute_maybe): Open database as read-only mode.
1694         (Fload_char_attribute_table): Likewise.
1695
1696 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1697
1698         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1699         (char_table_description): Delete member `db_file'.
1700         (Fmake_char_table): Don't refer `ct->db_file'.
1701         (Fcopy_char_table): Likewise.
1702         (Fsave_char_attribute_table): Likewise.
1703         (Fclose_char_attribute_table): Likewise.
1704         (Freset_char_attribute_table): Likewise.
1705         (load_char_attribute_maybe): Likewise.
1706         (Fload_char_attribute_table): Likewise.
1707
1708         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1709
1710 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1711
1712         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1713         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1714         `ct->db' is living.
1715         (load_char_attribute_maybe): Likewise.
1716         (Fload_char_attribute_table): Likewise.
1717
1718 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1719
1720         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1721         `ct->db_file' unconditionally.
1722
1723 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1724
1725         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1726         UTF-2000.
1727         (char_table_description): Add description for `db_file' and `db'
1728         in UTF-2000.
1729         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1730         UTF-2000.
1731         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1732         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1733         (Fclose_char_attribute_table): New function.
1734         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1735         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1736         and `cit->db'.
1737         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1738         (syms_of_chartab): Add new builtin function
1739         `Fclose_char_attribute_table'.
1740
1741 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1742
1743         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1744         `db' in UTF-2000.
1745         (load_char_attribute_maybe): Change interface.
1746         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1747
1748 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1749
1750         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1751
1752 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1753
1754         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1755         instead of `DECODE_CHAR' for mother; don't use special code for
1756         chinese-big5 to use code space of chinese-big5-1 and
1757         chinese-big5-2.
1758         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1759         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1760
1761         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1762         (MAX_CHAR_BIG5_CDP): Revival.
1763
1764 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1765
1766         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1767         the XLFD registry-encoding name of `chinese-big5'.
1768
1769 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1770
1771         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1772         (Qchinese_big5_cdp): Deleted.
1773         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1774         (complex_vars_of_mule_charset): Delete coded-charset
1775         `chinese-big5-cdp'.
1776
1777         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1778         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1779         `CHARSET_ID_OFFSET - n' for private CCS.
1780         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1781         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1782         of `MIN_LEADING_BYTE'.
1783         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1784         `(CHARSET_ID_OFFSET - 97)'.
1785         (MIN_CHAR_BIG5_CDP): Deleted.
1786         (MAX_CHAR_BIG5_CDP): Deleted.
1787
1788 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1789
1790         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1791
1792 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1793
1794         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1795         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1796         chartab.c].
1797
1798         * chartab.c (Vutf_2000_version): Moved to mule.c.
1799         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1800
1801 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1802
1803         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1804         when HAVE_CHISE_CLIENT is not defined.
1805
1806         * mule.c (vars_of_mule): Provide feature `chise' when
1807         HAVE_CHISE_CLIENT is defined.
1808
1809 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1810
1811         * config.h.in (UTF2000): Add comment.
1812         (HAVE_CHISE_CLIENT): New macro.
1813
1814 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1815
1816         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1817         CONSP.
1818         (Fput_char_attribute): Likewise.
1819         (char_attribute_system_db_file): Encode file-name of attribute.
1820         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1821         the initial value.
1822
1823 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1824
1825         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1826         (Fsave_charset_mapping_table): Use
1827         `char_attribute_system_db_file'.
1828         (load_char_decoding_entry_maybe): Likewise.
1829
1830         * chartab.h (Qsystem_char_id): New external variable.
1831         (char_attribute_system_db_file): New prototype.
1832
1833         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1834         (char_attribute_system_db_file): New function.
1835         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1836         (Freset_char_attribute_table): Likewise.
1837         (load_char_attribute_maybe): Likewise.
1838         (Fload_char_attribute_table): Likewise.
1839         (syms_of_chartab): Add new symbol `system-char-id'.
1840
1841 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1842
1843         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1844         `XCHARSET_GRAPHIC(ccs)'.
1845
1846 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1847
1848         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1849
1850 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1851
1852         * chartab.c (Q_ucs_variants): New variable.
1853         (syms_of_chartab): Add new symbol `->ucs-variants'.
1854         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1855         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1856         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1857
1858         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1859
1860         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1861         `HAVE_DATABASE' is defined.
1862         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1863         `HAVE_DATABASE' is defined.
1864
1865 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1866
1867         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1868         attribute-table.
1869         (Freset_char_attribute_table): New function.
1870         (syms_of_chartab): Add new builtin function
1871         `reset-char-attribute-table'.
1872
1873 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1874
1875         * chartab.c (load_char_attribute_maybe): Don't make directories.
1876
1877 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1878
1879         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1880
1881         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1882         for decoding-table.
1883
1884 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1885
1886         * mule-charset.c (Fsave_charset_mapping_table): Use
1887         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1888
1889         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1890         instead of `XCHARSET_CHARS'.
1891
1892 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1893
1894         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1895         (XCHARSET_BYTE_SIZE): Likewise.
1896
1897         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1898         mule-charset.c].
1899         (XCHARSET_BYTE_SIZE): Likewise.
1900
1901 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1902
1903         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1904         data-directory to store database.
1905         (Fsave_char_attribute_table): Likewise.
1906         (load_char_attribute_maybe): Likewise.
1907         (Fload_char_attribute_table): Likewise.
1908
1909 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1910
1911         * mule-charset.c (Fsave_charset_mapping_table): New function.
1912         (syms_of_mule_charset): Add new builtin function
1913         `save-charset-mapping-table'.
1914
1915 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1916
1917         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1918         (get_ccs_octet_table): New inline function.
1919         (put_ccs_octet_table): Likewise.
1920         (decoding_table_put_char): Use `get_ccs_octet_table' and
1921         `put_ccs_octet_table'.
1922         (decoding_table_remove_char): Use `decoding_table_put_char'.
1923         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1924
1925         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1926         into encoding_table.
1927         (make_charset): Use Qunbound instead Qnil as initial value of
1928         decoding_table.
1929
1930 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1931
1932         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1933         element is Qunloaded.
1934         (map_over_uint16_byte_table): Likewise.
1935         (map_over_byte_table): Likewise.
1936         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1937         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1938         database support, load encoding-table of the specified
1939         coded-charset if it is not loaded yet.
1940         (save_uint8_byte_table): New function of UTF-2000 with external
1941         database support.
1942         (save_uint16_byte_table): Likewise.
1943         (save_byte_table): Likewise.
1944         (Fput_char_attribute): Don't store value into external database
1945         even if the external database feature is supported in UTF-2000;
1946         set `attribute' as name of char-table if the external database
1947         feature is supported.
1948         (Fsave_char_attribute_table): New function in UTF-2000.
1949         (syms_of_chartab): Add new builtin function
1950         `save-char-attribute-table' in UTF-2000.
1951
1952 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1953
1954         * chartab.c (char_attribute_table_to_put): New variable in
1955         UTF-2000.
1956         (Qput_char_table_map_function): Likewise.
1957         (value_to_put): Likewise.
1958         (Fput_char_table_map_function): New function in UTF-2000.
1959         (put_char_table): Use `Fmap_char_attribute' for
1960         CHARTAB_RANGE_CHARSET in UTF-2000.
1961         (Fput_char_attribute): Store symbol instead of string in
1962         `XCHAR_TABLE_NAME (table)'.
1963         (load_char_attribute_maybe): Likewise.
1964         (syms_of_chartab): Add new symbol/function
1965         `put-char-table-map-function'.
1966
1967 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1968
1969         * database.h: Add new EXFUN for `Fmap_database'.
1970
1971         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1972         (syms_of_database): Likewise.
1973
1974         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1975         UTF-2000.
1976         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1977         (XCHAR_TABLE_UNLOADED): Likewise.
1978
1979         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1980         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1981         HAVE_DATABASE is defined.
1982         (char_attribute_table_to_load): New variable of UTF-2000 with
1983         external database support.
1984         (Qload_char_attribute_table_map_function): Likewise.
1985         (Fload_char_attribute_table_map_function): New function of
1986         UTF-2000 with external database support.
1987         (Fload_char_attribute_table): New function of UTF-2000.
1988         (Fmap_char_attribute): Call Fload_char_attribute_table if
1989         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1990         (syms_of_chartab): Add new symbol and function
1991         `load-char-attribute-table-map-function' in UTF-2000 with external
1992         database support; add new function `load-char-attribute-table' in
1993         UTF-2000.
1994
1995 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1996
1997         * chartab.h (load_char_attribute_maybe): New prototype for
1998         UTF-2000 with DATABASE support.
1999         (get_char_id_table): Use `load_char_attribute_maybe' if
2000         HAVE_DATABASE is defined.
2001
2002         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
2003         with DATABASE support.
2004
2005 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2006
2007         * chartab.c (Fput_char_attribute): Use S-expression as key of
2008         external database.
2009
2010         * chartab.h (get_char_id_table): Use S-expression as key of
2011         external database.
2012
2013 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2014
2015         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2016         if an element is not loaded, load the corresponding attributes
2017         from an external database.
2018         (map_over_uint16_byte_table): Likewise.
2019         (map_over_byte_table): Likewise.
2020         (map_char_table): Modify for `map_over_uint8_byte_table',
2021         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2022         element is not loaded, load the corresponding attributes from an
2023         external database.
2024         (Fput_char_attribute): Change initial values to Qunloaded.
2025
2026         * chartab.h (get_char_id_table): If a character attribute is not
2027         loaded and the attribute value is not found in an external
2028         database, store Qunbound as the attribute value.
2029
2030 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2031
2032         * chartab.c (BT_UINT8_unloaded): New macro.
2033         (UINT8_VALUE_P): Accept Qunloaded.
2034         (UINT8_ENCODE): Likewise.
2035         (UINT8_DECODE): Likewise.
2036         (BT_UINT16_unloaded): New macro.
2037         (UINT16_VALUE_P): Accept Qunloaded.
2038         (UINT16_ENCODE): Likewise.
2039         (UINT16_DECODE): Likewise.
2040         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2041         BT_UINT16_unloaded.
2042         (mark_char_table): Mark `ct->name' in UTF-2000.
2043         (char_table_description): Add `name' in UTF-2000.
2044         (Fmake_char_table): Initialize `ct->name'.
2045         (Fcopy_char_table): Copy `ct->name'.
2046         (Fput_char_attribute): Store value into an external database if
2047         HAVE_DATABASE is defined.
2048
2049         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2050         UTF-2000.
2051         (CHAR_TABLE_NAME): New macro in UTF-2000.
2052         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2053         (get_char_id_table): Try to read an external database if Qunloaded
2054         is stored in a table.
2055
2056         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2057         Qunloaded.
2058
2059 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2060
2061         * database.h: Add EXFUN definitions for Fopen_database,
2062         Fput_database, Fget_database and Fclose_database.
2063
2064         * data.c (Qunloaded): New variable in UTF-2000.
2065
2066         * lisp.h (Qunloaded): New variable in UTF-2000.
2067
2068 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2069
2070         * mule-charset.c (put_char_ccs_code_point): Modify for
2071         `decoding_table_remove_char' and `decoding_table_put_char'.
2072         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2073
2074         * char-ucs.h (decoding_table_remove_char): Change arguments to
2075         hide decoding_table vector.
2076         (decoding_table_put_char): Likewise.
2077
2078 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2079
2080         * mule-charset.c (decoding_table_remove_char): Moved to
2081         char-ucs.h.
2082         (decoding_table_put_char): Likewise.
2083
2084         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2085         from mule-charset.c].
2086         (decoding_table_remove_char): New inline function [moved from
2087         mule-charset.c].
2088         (decoding_table_put_char): Likewise.
2089
2090 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2091
2092         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2093         extension.
2094
2095 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2096
2097         * mule-charset.c (decode_builtin_char): Support mother charsets.
2098
2099 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2100
2101         * mule-charset.c (Q94x94x60): New variable.
2102         (charset_code_point): Support conversion `94x94x60'.
2103         (Fmake_charset): Likewise.
2104         (syms_of_mule_charset): Add new symbol `94x94x60'.
2105
2106         * char-ucs.h (CONVERSION_94x94x60): New macro.
2107
2108 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2109
2110         * mule-charset.c (charset_code_point): Unify code about
2111         `code-offset'.
2112
2113 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2114
2115         * mule-charset.c (charset_code_point): Merge code about builtin
2116         characters into code about mother charsets; don't use
2117         `range_charset_code_point'.
2118         (range_charset_code_point): Deleted.
2119
2120 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2121
2122         * mule-charset.c (Qcode_offset): New variable.
2123         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2124         `max-code'; accept new property `code-offset'.
2125         (syms_of_mule_charset): Add new symbol `code-offset'.
2126
2127 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2128
2129         * mule-charset.c (range_charset_code_point): Fixed.
2130
2131 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2132
2133         * mule-charset.c (decode_builtin_char): Change semantics of
2134         code-offset of coded-charset.
2135         (charset_code_point): Likewise.
2136         (range_charset_code_point): Likewise.
2137         (complex_vars_of_mule_charset): Modify for the change.
2138
2139 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2140
2141         * mule-charset.c (Fencode_char): Reverse arguments.
2142
2143         * mule-charset.c (charset_code_point): Fixed.
2144
2145 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2146
2147         * mule-charset.c (Vcharset_mojikyo): Deleted.
2148         (Vcharset_mojikyo_2022_1): Deleted.
2149         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2150         (Qmin_code): New variable in UTF-2000.
2151         (Qmax_code): Likewise.
2152         (Qmother): Likewise.
2153         (Qconversion): Likewise.
2154         (Q94x60): Likewise.
2155         (Qmojikyo): Deleted.
2156         (Qmojikyo_2022_1): Deleted.
2157         (Qmojikyo_pj_{1..22}): Deleted.
2158         (mark_charset): Mark `cs->mother'.
2159         (charset_description): Add description for `mother'.
2160         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2161         new arguments `mother' and `conversion'; use
2162         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2163         (charset_code_point): Moved from char-ucs.h; support `mother'
2164         charset feature.
2165         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2166         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2167         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2168         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2169         allow 2 as the value of `graphic' in UTF-2000; add new properties
2170         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2171         require `final' in UTF-2000; modify for `make_charset'.
2172         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2173         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2174         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2175         (Fencode_char): New function.
2176         (syms_of_mule_charset): Add new builtin function `encode-char' in
2177         UTF-2000; add new symbols `min-code', `max-code', `mother',
2178         `conversion' and `94x60'; delete symbols `mojikyo',
2179         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2180         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2181         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2182         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2183
2184         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2185         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2186
2187         * char-ucs.h (Vcharset_mojikyo): Deleted.
2188         (Vcharset_mojikyo_2022_1): Deleted.
2189         (LEADING_BYTE_MOJIKYO): Deleted.
2190         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2191         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2192         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2193         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2194         add new member `mother'; add new member `conversion'.
2195         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2196         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2197         (CHARSET_MOTHER): New macro.
2198         (CHARSET_CONVERSION): New macro.
2199         (CONVERSION_IDENTICAL): New macro.
2200         (CONVERSION_94x60): New macro.
2201         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2202         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2203         (XCHARSET_MOTHER): New macro.
2204         (XCHARSET_CONVERSION): New macro.
2205         (MIN_CHAR_MOJIKYO): Deleted.
2206         (MAX_CHAR_MOJIKYO): Deleted.
2207         (DECODE_MOJIKYO_2022): Deleted.
2208         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2209         (charset_code_point): Changed to non-inline function.
2210         (encode_char_1): Use `charset_code_point'.
2211         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2212
2213 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2214
2215         * lread.c (read_compiled_function): Fix prototype.
2216         (read_vector): Likewise.
2217
2218 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2219
2220         * lrecord.h (struct lrecord_header): Delete `older'.
2221         (set_lheader_implementation): Delete code for `older'.
2222         (set_lheader_older_implementation): Deleted.
2223         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2224         (OLDER_RECORD_P): Deleted.
2225         (OLDER_RECORD_HEADER_P): Deleted.
2226         (alloc_older_lcrecord): Deleted.
2227         (alloc_older_lcrecord_type): Deleted.
2228
2229         * alloc.c (all_older_lcrecords): Deleted.
2230         (alloc_older_lcrecord): Deleted.
2231         (disksave_object_finalization_1): Delete code for older objects.
2232         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2233         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2234
2235 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2236
2237         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2238         instead of `make_older_vector'.
2239         (put_char_ccs_code_point): Likewise.
2240         (mark_charset): Mark `cs->decoding_table'.
2241         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2242
2243         * lisp.h (make_older_vector): Deleted.
2244         (make_vector_newer): Deleted.
2245
2246         * config.h.in (HAVE_GGC): Deleted.
2247
2248         * alloc.c (make_older_vector): Deleted.
2249         (make_vector_newer_1): Deleted.
2250         (make_vector_newer): Deleted.
2251
2252 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2253
2254         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2255         (Qideograph_daikanwa_2): New variable.
2256         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2257         (complex_vars_of_mule_charset): Add new coded-charset
2258         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2259         `LEADING_BYTE_DAIKANWA'.
2260
2261         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2262         (LEADING_BYTE_DAIKANWA_1): New macro.
2263         (LEADING_BYTE_DAIKANWA_2): New macro.
2264         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2265
2266 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2267
2268         * mule-charset.c (complex_vars_of_mule_charset): Change
2269         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2270         the second revised version.
2271
2272 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2273
2274         * mule-charset.c (Vcharset_ucs_smp): New variable.
2275         (Vcharset_ucs_sip): New variable.
2276         (Qucs_smp): New variable.
2277         (Qucs_sip): New variable.
2278         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2279         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2280         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2281         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2282         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2283         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2284
2285         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2286         (LEADING_BYTE_UCS_SIP): New macro.
2287         (MIN_CHAR_SMP): New macro.
2288         (MAX_CHAR_SMP): New macro.
2289         (MIN_CHAR_SIP): New macro.
2290         (MAX_CHAR_SIP): New macro.
2291
2292 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2293
2294         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2295         utf-2000.
2296
2297 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2298
2299         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2300         value; don't store value into `encoding_table' of `Lisp_Charset'.
2301         (mark_charset): `encoding_table' was deleted.
2302         (charset_description): Likewise.
2303         (make_charset): Likewise.
2304         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2305         `put_char_ccs_code_point'.
2306
2307         * chartab.h (Fput_char_attribute): New EXFUN.
2308
2309         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2310         is unified with normal symbol space.
2311         (Fget_char_attribute): Likewise.
2312         (Fput_char_attribute): Likewise; behavior of
2313         `put_char_ccs_code_point' is changed.
2314
2315         * char-ucs.h: Include "elhash.h".
2316         (Vchar_attribute_hash_table): New external variable.
2317         (struct Lisp_Charset): Delete `encoding_table'.
2318         (CHARSET_ENCODING_TABLE): New implementation; refer
2319         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2320         `Lisp_Charset'.
2321
2322 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2323
2324         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2325         (cs) == 0.
2326
2327 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2328
2329         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2330         `chinese-big5'.
2331
2332 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2333
2334         * chartab.c (uint8_byte_table_description): New constant.
2335         (uint8-byte-table): Use `uint8_byte_table_description'.
2336         (uint16_byte_table_description): New constant.
2337         (uint16-byte-table): Use `uint16_byte_table_description'.
2338
2339 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2340
2341         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2342         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2343
2344 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2345
2346         * mule-charset.c (Vcharset_ucs_ks): New variable.
2347         (Qucs_ks): New variable.
2348         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2349         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2350
2351         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2352
2353 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2354
2355         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2356         (Fdecode_char): Likewise.
2357
2358         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2359         chartab.h.
2360         (Fdefine_char): Modify for Fdecode_char.
2361         (Ffind_char): Likewise.
2362
2363         * mule-charset.c (Fdecode_char): Add new optional argument
2364         `defined-only'.
2365         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2366
2367 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2368
2369         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2370         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2371         (allocate_coding_system): Initialize initial-charsets of
2372         CODESYS_BIG5 in XEmacs UTF-2000.
2373         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2374         CODESYS_BIG5 in XEmacs UTF-2000.
2375         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2376         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2377
2378         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2379         variables.
2380         (Qideograph_hanziku_{1 .. 12}): Likewise.
2381         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2382         .. 12}'.
2383         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2384         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2385         `ideograph-hanziku-{1 .. 12}'.
2386
2387         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2388         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2389         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2390         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2391         (DECODE_DEFINED_CHAR): New inline function.
2392         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2393
2394 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2395
2396         * mule-charset.c (Vcharset_china3_jef): Renamed from
2397         `Vcharset_japanese_jef_china3'.
2398         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2399         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2400         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2401         (syms_of_mule_charset): Rename `china3-jef' from
2402         `japanese-jef-china3'.
2403         (complex_vars_of_mule_charset): Likewise; rename
2404         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2405
2406         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2407         `LEADING_BYTE_JEF_CHINA3'.
2408         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2409         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2410
2411 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2412
2413         * mule-charset.c (encode_builtin_char_1): Comment out special code
2414         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2415
2416         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2417         (MAX_CHAR_MOJIKYO_0): Comment out.
2418         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2419         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2420         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2421         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2422
2423 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2424
2425         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2426         (Qideograph_cbeta): New variable.
2427         (encode_builtin_char_1): Comment out special code for
2428         coded-charset `mojikyo' and `japanese-jef-china3'.
2429         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2430         (complex_vars_of_mule_charset): Add new coded-charset
2431         `ideograph-cbeta'.
2432
2433         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2434         (MIN_CHAR_CBETA): New macro.
2435         (MAX_CHAR_CBETA): New macro.
2436
2437 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2438
2439         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2440         (LEADING_BYTE_JEF_CHINA3): New macro.
2441         (MIN_CHAR_JEF_CHINA3): New macro.
2442         (MAX_CHAR_JEF_CHINA3): Likewise.
2443         (DECODE_CHAR): Fixed.
2444
2445 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2446
2447         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2448         (Qjapanese_jef_china3): New variable.
2449         (encode_builtin_char_1): Support `japanese-jef-china3'.
2450         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2451         (complex_vars_of_mule_charset): Add new coded-charset
2452         `japanese-jef-china3'.
2453
2454 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2455
2456         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2457         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2458         94^4, 96^3, 96^4, 128^n and 256^n set.
2459         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2460         (map_char_table): Likewise.
2461
2462 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2463
2464         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2465         UTF-2000.
2466
2467 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2468
2469         * chartab.h (get_char_id_table): New inline function.
2470
2471         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2472         function.
2473
2474 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2475
2476         * chartab.h (decode_char_table_range): New prototype in XEmacs
2477         UTF-2000.
2478         (put_char_id_table): New inline function in XEmacs UTF-2000.
2479
2480         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2481         function.
2482         (decode_char_table_range): Delete static declaration in XEmacs
2483         UTF-2000.
2484
2485 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2486
2487         * chartab.c (put_char_id_table): Use `put_char_table'.
2488
2489 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2490
2491         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2492         (map_over_uint16_byte_table): Likewise.
2493         (map_over_byte_table): Likewise.
2494         (map_char_table): Modify for `map_over_uint8_byte_table',
2495         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2496         UTF-2000.
2497
2498 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2499
2500         * chartab.c (struct map_char_table_for_charset_arg): New
2501         structure.
2502         (map_char_table_for_charset_fun): New function.
2503         (map_char_table): Use `map_char_table' for encoding_table of
2504         `range->charset'.
2505
2506 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2507
2508         * chartab.c (map_char_table): Check a character is found in
2509         range->charset instead of non default value is defined in
2510         char-table when range is CHARTAB_RANGE_ROW.
2511
2512 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2513
2514         * chartab.c (map_char_id_table): Deleted.
2515         (Fmap_char_attribute): Use `map_char_table' instead of
2516         `map_char_id_table'.
2517
2518 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2519
2520         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2521         UTF-2000.
2522         (update_syntax_table): Deleted in XEmacs UTF-2000.
2523
2524         * syntax.c (find_defun_start): Use `syntax_table' instead of
2525         `mirror_syntax_table' in XEmacs UTF-2000.
2526         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2527         UTF-2000.
2528         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2529         XEmacs UTF-2000.
2530         (Fmatching_paren): Likewise.
2531         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2532         in XEmacs UTF-2000.
2533         (find_start_of_comment): Likewise.
2534         (find_end_of_comment): Likewise.
2535         (Fforward_comment): Likewise.
2536         (scan_lists): Likewise.
2537         (char_quoted): Likewise.
2538         (Fbackward_prefix_chars): Likewise.
2539         (scan_sexps_forward): Likewise.
2540         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2541         (update_syntax_table): Likewise.
2542
2543         * search.c (skip_chars): Use `syntax_table' instead of
2544         `mirror_syntax_table' in XEmacs UTF-2000.
2545         (wordify): Likewise.
2546         (Freplace_match): Likewise.
2547
2548         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2549         `mirror_syntax_table' in XEmacs UTF-2000.
2550         (WORDCHAR_P_UNSAFE): Likewise.
2551         (re_match_2_internal): Likewise.
2552
2553         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2554         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2555
2556         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2557         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2558
2559         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2560         XEmacs UTF-2000.
2561
2562         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2563         UTF-2000.
2564         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2565         (char_table_description): Delete `mirror_table' in XEmacs
2566         UTF-2000.
2567         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2568         UTF-2000.
2569         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2570         (Fcopy_char_table): Likewise.
2571         (put_char_table): Don't call `update_syntax_table' in XEmacs
2572         UTF-2000.
2573
2574         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2575         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2576         (casify_region_internal): Likewise.
2577
2578         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2579
2580         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2581         `mirror_syntax_table' in XEmacs UTF-2000.
2582
2583         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2584         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2585         (Fexpand_abbrev): Likewise.
2586
2587 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2588
2589         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2590
2591 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2592
2593         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2594         (map_over_uint16_byte_table): Likewise.
2595         (map_over_byte_table): Likewise.
2596         (get_char_id_table): Refer `cit->default_value'.
2597         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2598         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2599         of character-id ranges.
2600         (mark_char_table): Mark `ct->default_value'.
2601         (char_table_description): Add `default_value'.
2602         (fill_char_table): Use `default_value'.
2603         (decode_char_table_range): Decode `nil' as
2604         `CHARTAB_RANGE_DEFAULT'.
2605         (get_char_id_table): Refer `cit->default_value'.
2606         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2607         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2608         temporary hack; check value of char-table is bound or not.
2609         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2610
2611         * chartab.h (struct Lisp_Char_Table): Add new member
2612         `default_value' in XEmacs UTF-2000.
2613         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2614         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2615         UTF-2000.
2616
2617 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2618
2619         * chartab.h (Lisp_Char_ID_Table): Deleted.
2620
2621         * chartab.c (char_table_description): Fix typo.
2622         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2623         `Lisp_Char_ID_Table'.
2624
2625 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2626
2627         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2628         `CHAR_ID_TABLE_P'.
2629
2630         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2631         `CHAR_ID_TABLE_P'.
2632
2633         * chartab.h (XCHAR_ID_TABLE): Deleted.
2634         (XSETCHAR_ID_TABLE): Deleted.
2635         (CHAR_ID_TABLE_P): Deleted.
2636
2637         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2638         `CHAR_ID_TABLE_P'.
2639         (Fget_composite_char): Likewise.
2640         (put_char_table): Likewise.
2641         (add_char_attribute_alist_mapper): Fixed.
2642         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2643         `CHAR_ID_TABLE_P'.
2644         (Fget_char_attribute): Likewise.
2645         (Fget_char_attribute): Likewise.
2646         (Fmap_char_attribute): Likewise.
2647
2648         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2649         `CHAR_ID_TABLE_P'.
2650         (encode_char_1): Likewise.
2651
2652 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2653
2654         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2655         `XCHAR_ID_TABLE'.
2656
2657         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2658         instead of `XCHAR_ID_TABLE'.
2659         (remove_char_ccs): Likewise.
2660
2661         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2662         `XCHAR_ID_TABLE'.
2663         (Fget_composite_char): Likewise.
2664         (Fchar_variants): Likewise.
2665         (put_char_table): Likewise.
2666         (add_char_attribute_alist_mapper): Likewise.
2667         (Fchar_attribute_alist): Likewise.
2668         (Fget_char_attribute): Likewise.
2669         (Fput_char_attribute): Likewise.
2670         (Fmap_char_attribute): Likewise.
2671         (Fmap_char_attribute): Likewise.
2672
2673         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2674         `XCHAR_ID_TABLE'.
2675         (encode_char_1): Likewise.
2676
2677 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2678
2679         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2680         `Lisp_Char_ID_Table'.
2681         (mark_char_id_table): Deleted.
2682         (print_char_id_table): Likewise.
2683         (char_id_table_equal): Likewise.
2684         (char_id_table_hash): Likewise.
2685         (char_id_table_description): Likewise.
2686         (char_id_table): Likewise.
2687         (make_char_id_table): Use `Fmake_char_table' and
2688         `fill_char_table'.
2689         (get_char_id_table): Use `Lisp_Char_Table' instead of
2690         `Lisp_Char_ID_Table'.
2691         (put_char_id_table): Likewise.
2692         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2693         `XCHAR_ID_TABLE'.
2694         (Fremove_char_attribute): Likewise.
2695         (syms_of_chartab): Don't define type `char-id-table'.
2696
2697         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2698         (char_id_table): Likewise.
2699         (GC_CHAR_ID_TABLE_P): Likewise.
2700         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2701         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2702         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2703         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2704         (get_char_id_table): Use `Lisp_Char_Table' instead of
2705         `Lisp_Char_ID_Table'.
2706         (put_char_id_table_0): Likewise.
2707         (put_char_id_table): Likewise.
2708
2709 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2710
2711         * chartab.h: Lisp_Byte_Table related codes are moved from
2712         chartab.h.
2713
2714         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2715
2716 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2717
2718         * chartab.h: Don't include "chartab.h".
2719         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2720         (Lisp_Char_ID_Table): Likewise.
2721         (char_id_table): Likewise.
2722         (XCHAR_ID_TABLE): Likewise.
2723         (XSETCHAR_ID_TABLE): Likewise.
2724         (CHAR_ID_TABLE_P): Likewise.
2725         (GC_CHAR_ID_TABLE_P): Likewise.
2726         (get_char_id_table): Likewise.
2727
2728         * char-ucs.h: Include "chartab.h".
2729         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2730         (Lisp_Char_ID_Table): Likewise.
2731         (char_id_table): Likewise.
2732         (XCHAR_ID_TABLE): Likewise.
2733         (XSETCHAR_ID_TABLE): Likewise.
2734         (CHAR_ID_TABLE_P): Likewise.
2735         (GC_CHAR_ID_TABLE_P): Likewise.
2736         (get_char_id_table): Likewise.
2737
2738 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2739
2740         * chartab.c (copy_uint8_byte_table): New function.
2741         (copy_uint16_byte_table): New function.
2742         (copy_byte_table): New function.
2743         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2744         characters to call.
2745         (map_over_uint16_byte_table): Likewise.
2746         (map_over_byte_table): Likewise.
2747         (get_byte_table): Move prototype to chartab.h.
2748         (put_byte_table): Likewise.
2749         (put_char_id_table_0): Moved to chartab.h.
2750         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2751         (char_table_entry_equal): Likewise.
2752         (char_table_entry_hash): Likewise.
2753         (char_table_entry_description): Likewise.
2754         (char_table_entry): Likewise.
2755         (make_char_table_entry): Likewise.
2756         (copy_char_table_entry): Likewise.
2757         (get_non_ascii_char_table_value): Likewise.
2758         (map_over_charset_ascii): Likewise.
2759         (map_over_charset_control_1): Likewise.
2760         (map_over_charset_row): Likewise.
2761         (map_over_other_charset): Likewise.
2762         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2763         (print_char_table): Likewise.
2764         (char_table_equal): Likewise.
2765         (char_table_hash): Likewise.
2766         (char_table_description): Likewise.
2767         (fill_char_table): Likewise.
2768         (Fcopy_char_table): Likewise.
2769         (get_char_table): Likewise.
2770         (Fget_range_char_table): Likewise.
2771         (put_char_table): Likewise.
2772         (map_char_table): Likewise.
2773         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2774         UTF-2000.
2775
2776 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2777
2778         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2779         `Vauto_fill_chars' in XEmacs UTF-2000.
2780
2781         * chartab.h (get_byte_table): New prototype [moved from
2782         chartab.c].
2783         (put_byte_table): Likewise [moved from chartab.c].
2784         (put_char_id_table_0): New inline function [moved from chartab.c].
2785         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2786         (Lisp_Char_Table_Entry): Likewise.
2787         (char_table_entry): Likewise.
2788         (XCHAR_TABLE_ENTRY): Likewise.
2789         (XSETCHAR_TABLE_ENTRY): Likewise.
2790         (CHAR_TABLE_ENTRYP): Likewise.
2791         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2792         (NUM_ASCII_CHARS): Likewise.
2793         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2794         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2795
2796 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2797
2798         * chartab.c (get_char_id_table): Change interface.
2799         (put_char_id_table_0): New function.
2800         (put_char_id_table): Change interface; new implementation.
2801         (Fget_composite_char): Modify for interface change of
2802         `get_char_id_table'.
2803         (Fchar_variants): Likewise.
2804         (add_char_attribute_alist_mapper): Likewise.
2805         (Fchar_attribute_alist): Likewise.
2806         (Fget_char_attribute): Likewise.
2807         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2808         as same as character as the first argument like `put-char-table';
2809         modify for interface change of `put_char_id_table'.
2810         (Fremove_char_attribute): Modify for interface change of
2811         `put_char_id_table'.
2812
2813 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2814
2815         * text-coding.c: Sync up with XEmacs 21.2.41.
2816         (COMPOSE_ADD_CHAR): Modify for interface change of
2817         `get_char_id_table'.
2818
2819         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2820         change of `put_char_id_table'.
2821         (remove_char_ccs): Likewise.
2822
2823         * chartab.h (put_char_id_table): Change interface.
2824
2825         * char-ucs.h (get_char_id_table): Change interface.
2826         (charset_code_point): Modify for interface change of
2827         `get_char_id_table'.
2828         (encode_char_1): Likewise.
2829
2830 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2831
2832         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2833         argument `ccs'.
2834         (map_over_uint16_byte_table): Likewise.
2835         (map_over_byte_table): Likewise.
2836         (map_char_id_table): Add new argument `range' like
2837         `map_char_table'.
2838         (Fmap_char_attribute): Add new argument `range' like
2839         `Fmap_char_table'.
2840
2841 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2842
2843         * chartab.c (map_over_uint8_byte_table): Change interface of
2844         mapping function to use struct chartab_range instead of Emchar.
2845         (map_over_uint16_byte_table): Likewise.
2846         (map_over_byte_table): Likewise.
2847         (map_char_id_table): Likewise.
2848         (struct slow_map_char_id_table_arg): Deleted.
2849         (slow_map_char_id_table_fun): Deleted.
2850         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2851         function `slow_map_char_table_fun' instead of struct
2852         `slow_map_char_id_table_arg' and function
2853         `slow_map_char_id_table_fun'.
2854
2855 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2856
2857         * mule-charset.c: Move char-it-table related codes to chartab.c.
2858         (Vutf_2000_version): Moved to chartab.c.
2859         (Fdefine_char): Likewise.
2860         (Ffind_char): Likewise.
2861         (syms_of_mule_charset): Move types `uint8-byte-table',
2862         `uint16-byte-table', `byte-table' and `char-id-table' to
2863         chartab.c; move functions `char_attribute_list,
2864         `find_char_attribute_table, `char_attribute_alist,
2865         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2866         `map_char_attribute, `define_char, `find_char, `char_variants and
2867         `get_composite_char to chartab.c; move symbols `=>ucs',
2868         `->decomposition', `compat', `isolated', `initial', `medial',
2869         `final', `vertical', `noBreak', `fraction', `super', `sub',
2870         `circle', `square', `wide', `narrow', `small' and `font' to
2871         chartab.c.
2872         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2873         setting codes for `Vcharacter_composition_table' and
2874         `Vcharacter_variant_table' to chartab.c.
2875         (complex_vars_of_mule_charset): Move setting code for
2876         `Vchar_attribute_hash_table' to chartab.c.
2877
2878         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2879         (make_char_id_table): New prototype.
2880         (put_char_id_table): Likewise.
2881         (Fget_char_attribute): Likewise.
2882
2883         * chartab.c: Move char-id-table related code from mule-charset.c.
2884         (Vutf_2000_version): Moved from mule-charset.c.
2885
2886         * char-ucs.h (Qucs): New external variable.
2887         (put_char_ccs_code_point): New prototype.
2888         (remove_char_ccs): Likewise.
2889
2890 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2891
2892         * mule-charset.c (Vcharset_ucs_jis): New variable.
2893         (Qucs_jis): Likewise.
2894         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2895         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2896
2897         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2898
2899 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2900
2901         * mule-charset.c (map_over_uint8_byte_table): New function.
2902         (map_over_uint16_byte_table): Likewise.
2903         (map_over_byte_table): Likewise.
2904         (map_char_id_table): Likewise.
2905         (slow_map_char_id_table_fun): Likewise.
2906         (Fmap_char_attribute): Likewise.
2907         (syms_of_mule_charset): Add new function `map-char-attribute'.
2908
2909 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2910
2911         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2912         (syms_of_mule_charset): Add new function `find-char'.
2913
2914 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2915
2916         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2917         XEmacs UTF-2000.
2918         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2919         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2920         XEmacs UTF-2000.
2921         (complex_vars_of_mule_charset): Add new coded-charset
2922         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2923         `ideograph-gt-pj-*'.
2924
2925         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2926
2927 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2928
2929         * mule-charset.c (encode_builtin_char_1): Purge codes about
2930         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2931         {MIN|MAX}_CHAR_HEBREW.
2932         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2933         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2934
2935         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2936         (MAX_CHAR_GREEK): Purged.
2937         (MIN_CHAR_CYRILLIC): Purged.
2938         (MAX_CHAR_CYRILLIC): Purged.
2939         (MIN_CHAR_HEBREW): Commented out.
2940         (MAX_CHAR_HEBREW): Likewise.
2941
2942 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2943
2944         * mule-charset.c (Qto_ucs): New variable.
2945         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2946         (Fdefine_char): Likewise.
2947         (syms_of_mule_charset): Add new symbol `=>ucs'.
2948
2949 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2950
2951         * mule-charset.c (Fdecode_char): Fixed.
2952
2953 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2954
2955         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2956         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2957         "tcvn5712-1".
2958
2959 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2960
2961         * mule-charset.c (Vcharset_ucs_big5): New variable.
2962         (Qucs_big5): Likewise.
2963         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2964         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2965
2966         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2967
2968 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2969
2970         * mule-charset.c (decode_builtin_char): Check Big5 code range
2971         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2972
2973 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2974
2975         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2976         (Qchinese_gb12345): Likewise.
2977         (Fdecode_builtin_char): Fixed.
2978         (syms_of_mule_charset): Add `chinese-gb12345'.
2979         (complex_vars_of_mule_charset): Add coded-charset
2980         `chinese-gb12345'.
2981
2982         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2983         (LEADING_BYTE_CHINESE_GB12345): New macro.
2984
2985 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2986
2987         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2988         and `latin-viscii-upper' for `latin-viscii'.
2989
2990 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2991
2992         * mule-charset.c (Fdecode_builtin_char): Comment out
2993         regularization code for ISO-IR GR representation.
2994
2995 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2996
2997         * mule-charset.c (decode_builtin_char): New function; renamed from
2998         `make_builtin_char'; return -1 instead of signal.
2999         (Fdecode_builtin_char): Use `decode_builtin_char'.
3000
3001         * char-ucs.h (decode_builtin_char): New prototype; renamed from
3002         `make_builtin_char'.
3003         (DECODE_CHAR): Use `decode_builtin_char' instead of
3004         `make_builtin_char'; use mapping table of `chinese-big5' for
3005         `chinese-big5-{1,2}'.
3006
3007 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3008
3009         * text-coding.c (char_encode_big5): New function.
3010         (char_finish_big5): Likewise.
3011         (reset_encoding_stream): Use `char_encode_big5' and
3012         `char_finish_big5' for CODESYS_BIG5.
3013         (mule_encode): Don't use `encode_coding_big5'.
3014         (encode_coding_big5): Deleted.
3015
3016 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3017
3018         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3019         0x81- in XEmacs UTF-2000.
3020         (detect_coding_big5): Likewise.
3021
3022 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3023
3024         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3025         generate character-id if the CCS property does not have
3026         corresponding predefined character.
3027         (make_builtin_char): Return -1 if corresponding predefined
3028         character is not found.
3029         (Fdecode_char): Return nil if corresponding character is not
3030         found.
3031         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3032         don't map to builtin ucs space.
3033
3034 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3035
3036         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3037         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3038
3039 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3040
3041         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3042         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3043         (Qideograph_gt): Likewise.
3044         (Qideograph_gt_pj_{1..11}): Likewise.
3045         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3046         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3047         `ideograph-gt-pj-11'.
3048         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3049         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3050         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3051
3052         * char-ucs.h (LEADING_BYTE_GT): New macro.
3053         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3054         (MIN_CHAR_GT): Likewise.
3055         (MAX_CHAR_GT): Likewise.
3056
3057 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3058
3059         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3060         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3061
3062         * doprnt.c (unsigned_int_converters): Add `c'.
3063         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3064
3065         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3066         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3067         `MIN_CHAR_MOJIKYO'.
3068         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3069         (MAX_CHAR_MOJIKYO_0): New macro.
3070         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3071
3072 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3073
3074         * mule-charset.c (Fdefine_char): Delete cemented out code.
3075         (encode_builtin_char_1): Modify for new allocation of builtin
3076         Mojikyo characters.
3077
3078         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3079
3080 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3081
3082         * mule-charset.c (Vcharset_ucs_cns): New variable.
3083         (Qucs_cns): New variable.
3084         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3085         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3086
3087 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3088
3089         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3090
3091 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3092
3093         * search.c (search_buffer): Make `charset_base_code' as
3094         character-id >> 6 to eliminate the corresponding last byte in
3095         UTF-8 representation [I'm not sure it is right thing].
3096         (boyer_moore): Likewise.
3097
3098 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3099
3100         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3101         representation in MULE.
3102
3103 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3104
3105         * text-coding.c (Fmake_coding_system): Use
3106         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3107         `EXTERNAL_PROPERTY_LIST_LOOP'.
3108
3109 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3110
3111         * text-coding.c (decode_output_utf8_partial_char): New function.
3112         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3113
3114 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3115
3116         * text-coding.c (decode_coding_utf8): Output original byte
3117         sequence if it is broken; change order of conditions.
3118
3119         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3120         of conditions.
3121
3122         * mb-multibyte.h (BYTE_ASCII_P):
3123         Use bit ops for char-signedness safety.
3124         (BYTE_C0_P): Use bit ops for char-signedness safety.
3125         (BYTE_C1_P): Use bit ops for char-signedness safety.
3126
3127         * character.h: (XCHAR_OR_CHAR_INT):
3128         Always use inline function.
3129         Remove redundant type checking assert() - XINT will abort quite
3130         nicely.
3131
3132 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3133
3134         * text-coding.c: (Fencode_shift_jis_char):
3135         (Fencode_big5_char):
3136         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3137         Replace 0 with '\0' when working with bytes.
3138         Replace initial "(" with "\(" in docstrings.
3139
3140         (Fmake_coding_system):
3141         When type is ccl and value is vector, register it with a proper
3142         symbol.  And checks whether the given ccl program is valid.
3143         (mule_decode): When calling ccl_driver, if src indicates
3144         NULL pointer, set an empty string instead.
3145         (mule_encode): Likewise.
3146
3147         (detect_eol_type):
3148         (detect_coding_sjis):
3149         (decode_coding_sjis):
3150         (detect_coding_big5):
3151         (decode_coding_big5):
3152         (detect_coding_ucs4):
3153         (decode_coding_ucs4):
3154         (detect_coding_utf8):
3155         (decode_coding_utf8):
3156         (detect_coding_iso2022):
3157         (decode_coding_iso2022):
3158         (decode_coding_no_conversion):
3159         (mule_decode):
3160         Make all detecting and decoding functions take an Extbyte * arg.
3161         (text_encode_generic):
3162         (encode_coding_big5):
3163         (encode_coding_no_conversion):
3164         (mule_encode):
3165         Make all encoding functions take a Bufbyte * arg.
3166         Use size_t instead of unsigned int for memory sizes.
3167         Only cast to unsigned char whenever dereferencing Extbyte *.
3168
3169         (struct lrecord_description fcd_description_1): Use countof.
3170         (complex_vars_of_file_coding):
3171         Use countof instead of sizeof.
3172         Use CHECK_NATNUM instead of CHECK_INT.
3173
3174 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3175
3176         * mule-charset.c (Fget_char_attribute): Add new optional argument
3177         `default-value'.
3178         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3179         (remove_char_ccs): Likewise.
3180
3181 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3182
3183         * text-coding.c (char_encode_shift_jis): New implementation in
3184         UTF-2000.
3185         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3186         ...)'.
3187
3188         * mule-charset.c (Vcharset_chinese_big5): New variable in
3189         UTF-2000.
3190         (Qchinese_big5): New variable in UTF-2000.
3191         (BIG5_SAME_ROW): New macro in UTF-2000.
3192         (make_builtin_char): Use builtin characters of
3193         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3194         characters of `Vcharset_chinese_big5'.
3195         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3196         (complex_vars_of_mule_charset): Add new coded-charset
3197         `chinese-big5' in UTF-2000.
3198
3199         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3200         (Vcharset_chinese_big5): New external variable declaration.
3201         (Vcharset_japanese_jisx0208_1990): Likewise.
3202
3203 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3204
3205         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3206         function.
3207         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3208
3209 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3210
3211         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3212         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3213         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3214         `mojikyo-pj-*'.
3215
3216 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3217
3218         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3219
3220 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3221
3222         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3223         to 0.17.
3224
3225 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3226
3227         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3228         for `CHARSET_BY_ATTRIBUTES'.
3229         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3230         `CHARSET_BY_ATTRIBUTES'.
3231
3232         * text-coding.c (struct decoding_stream): Rename member `CH' to
3233         `CPOS'.
3234         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3235         (decode_coding_sjis): Likewise.
3236         (decode_coding_big5): Likewise.
3237         (decode_coding_ucs4): Likewise.
3238         (decode_coding_utf8): Likewise.
3239         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3240         `CHARSET_BY_ATTRIBUTES'.
3241         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3242         `str->counter'; decode 3, 4 bytes sets.
3243         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3244         sets.
3245         (decode_coding_no_conversion): Use `str->cpos' instead of
3246         `str->ch'.
3247
3248         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3249         (Qmojikyo_2022_1): New variable.
3250         (make_charset): Don't use `CHARSET_TYPE_*'.
3251         (range_charset_code_point): Support coded-charset
3252         `mojikyo-2022-1'.
3253         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3254         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3255         `CHARSET_BY_ATTRIBUTES'.
3256         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3257         `CHARSET_BY_ATTRIBUTES'.
3258         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3259         (complex_vars_of_mule_charset): Add new coded-charset
3260         `mojikyo-2022-1'.
3261
3262         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3263         interface; changed to inline function.
3264
3265         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3266         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3267         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3268         (CHARSET_TYPE_94): Deleted.
3269         (CHARSET_TYPE_94X94): Deleted.
3270         (CHARSET_TYPE_96): Deleted.
3271         (CHARSET_TYPE_96X96): Deleted.
3272         (CHARSET_TYPE_128): Deleted.
3273         (CHARSET_TYPE_128X128): Deleted.
3274         (CHARSET_TYPE_256): Deleted.
3275         (CHARSET_TYPE_256X256): Deleted.
3276         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3277         to inline function.
3278         (DECODE_MOJIKYO_2022): New inline function.
3279         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3280         `Vcharset_mojikyo_2022_1'.
3281
3282 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3283
3284         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3285         instead of `EQ'.
3286         (put_byte_table): Likewise.
3287         (char_id_table_equal): Use `get_byte_table' [new implementation].
3288
3289 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3290
3291         * mule-charset.c: Include <limits.h> in UTF-2000.
3292         (BT_UINT8_MIN): New macro in UTF-2000.
3293         (BT_UINT8_MAX): New macro in UTF-2000.
3294         (BT_UINT8_t): New macro in UTF-2000.
3295         (BT_UINT8_nil): New macro in UTF-2000.
3296         (BT_UINT8_unbound): New macro in UTF-2000.
3297         (INT_UINT8_P): New inline function in UTF-2000.
3298         (UINT8_VALUE_P): New inline function in UTF-2000.
3299         (UINT8_ENCODE): New inline function in UTF-2000.
3300         (UINT8_DECODE): New inline function in UTF-2000.
3301         (mark_uint8_byte_table): New function in UTF-2000.
3302         (print_uint8_byte_table): New function in UTF-2000.
3303         (uint8_byte_table_equal): New function in UTF-2000.
3304         (uint8_byte_table_hash): New function in UTF-2000.
3305         (make_uint8_byte_table): New function in UTF-2000.
3306         (uint8_byte_table_same_value_p): New function in UTF-2000.
3307         (BT_UINT16_MIN): New macro in UTF-2000.
3308         (BT_UINT16_MAX): New macro in UTF-2000.
3309         (BT_UINT16_t): New macro in UTF-2000.
3310         (BT_UINT16_nil): New macro in UTF-2000.
3311         (BT_UINT16_unbound): New macro in UTF-2000.
3312         (INT_UINT16_P): New inline function in UTF-2000.
3313         (UINT16_VALUE_P): New inline function in UTF-2000.
3314         (UINT16_ENCODE): New inline function in UTF-2000.
3315         (UINT16_DECODE): New inline function in UTF-2000.
3316         (UINT8_TO_UINT16): New inline function in UTF-2000.
3317         (mark_uint16_byte_table): New function in UTF-2000.
3318         (print_uint16_byte_table): New function in UTF-2000.
3319         (uint16_byte_table_equal): New function in UTF-2000.
3320         (uint16_byte_table_hash): New function in UTF-2000.
3321         (make_uint16_byte_table): New function in UTF-2000.
3322         (uint16_byte_table_same_value_p): New function in UTF-2000.
3323         (print_byte_table): New function in UTF-2000.
3324         (byte-table): Use `print_byte_table' as printer.
3325         (make_byte_table): Delete second argument `older'.
3326         (byte_table_same_value_p): New function in UTF-2000.
3327         (copy_byte_table): Deleted.
3328         (get_byte_table): New function in UTF-2000.
3329         (put_byte_table): New function in UTF-2000.
3330         (print_char_id_table): New function in UTF-2000.
3331         (char-id-table): Use `print_char_id_table' as printer.
3332         (make_char_id_table): Delete second argument `older'.
3333         (get_char_id_table): Use `get_byte_table [new implementation].
3334         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3335         implementation].
3336         (Ffind_char_attribute_table): New function in UTF-2000.
3337         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3338         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3339         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3340         (syms_of_mule_charset): Add new function
3341         `find-char-attribute-table' in UTF-2000.
3342
3343         * lrecord.h (enum lrecord_type): Add
3344         `lrecord_type_uint16_byte_table' and
3345         `lrecord_type_uint8_byte_table'.
3346
3347         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3348         (Lisp_Uint8_Byte_Table): New type.
3349         (XUINT8_BYTE_TABLE): New macro.
3350         (XSETUINT8_BYTE_TABLE): New macro.
3351         (UINT8_BYTE_TABLE_P): New macro.
3352         (GC_UINT8_BYTE_TABLE_P): New macro.
3353         (struct Lisp_Uint16_Byte_Table): New structure.
3354         (Lisp_Uint16_Byte_Table): New type.
3355         (XUINT16_BYTE_TABLE): New macro.
3356         (XSETUINT16_BYTE_TABLE): New macro.
3357         (UINT16_BYTE_TABLE_P): New macro.
3358         (GC_UINT16_BYTE_TABLE_P): New macro.
3359
3360 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3361
3362         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3363         (Vcharacter_ideographic_strokes_table): Deleted.
3364         (Vcharacter_total_strokes_table): Deleted.
3365         (Vcharacter_morohashi_daikanwa_table): Deleted.
3366         (Vcharacter_decomposition_table): Deleted.
3367         (Qname): Deleted because it is duplicated.
3368         (Qideographic_radical): Deleted.
3369         (Qideographic_strokes): Deleted.
3370         (Qtotal_strokes): Deleted.
3371         (Qmorohashi_daikanwa): Deleted.
3372         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3373         `ideographic-radical', `ideographic-strokes', `total-strokes',
3374         `morohashi-daikanwa' and `->decomposition'.
3375         (Fget_char_attribute): Likewise.
3376         (Fput_char_attribute): Likewise; use `make-vector' instead of
3377         `make_older_vector' for `->decomposition' value.
3378         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3379         `ideograph-daikanwa'.
3380         (syms_of_mule_charset): Delete builtin symbols `name',
3381         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3382         `morohashi-daikanwa'.
3383         (vars_of_mule_charset): Don't setup
3384         `Vcharacter_ideographic_radical_table',
3385         `Vcharacter_ideographic_strokes_table',
3386         `Vcharacter_total_strokes_table',
3387         `Vcharacter_morohashi_daikanwa_table' and
3388         `Vcharacter_decomposition_table'.
3389
3390 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3391
3392         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3393         `make_older_vector', `make_vector_newer_1' and
3394         `make_vector_newer'.
3395
3396         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3397         `make_older_vector' and `make_vector_newer'.
3398
3399         * config.h.in (HAVE_GGC): New macro.
3400
3401 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3402
3403         * mule-charset.c (struct char_attribute_list_closure): New
3404         structure in UTF-2000.
3405         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3406         (Fchar_attribute_list): Likewise.
3407         (Fset_charset_mapping_table): Use `make_vector_newer'.
3408         (Fdecode_builtin_char): New function in UTF-2000.
3409         (syms_of_mule_charset): Add new function `char-attribute-list' and
3410         `decode-builtin-char' in UTF-2000.
3411
3412         * lisp.h (make_vector_newer): New prototype.
3413
3414         * alloc.c (make_vector_newer_1): New function.
3415         (make_vector_newer): New function.
3416
3417 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3418
3419         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3420         50100)'.
3421
3422 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3423
3424         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3425         (Vcharacter_attribute_table): Deleted.
3426         (Vcharacter_name_table): Deleted.
3427         (put_char_attribute): Deleted.
3428         (remove_char_attribute): Deleted.
3429         (struct char_attribute_alist_closure): New structure.
3430         (add_char_attribute_alist_mapper): New function.
3431         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3432         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3433         (Fget_char_attribute): Likewise.
3434         (Fput_char_attribute): Likewise.
3435         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3436         of `remove_char_attribute'.
3437         (Fdefine_char): Return character.
3438         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3439         and `Vcharacter_name_table'.
3440         (complex_vars_of_mule_charset): Likewise
3441         `Vchar_attribute_hash_table'.
3442
3443 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3444
3445         * character.h (CHARC_CHARSET): New macro.
3446         (CHARC_CHARSET_ID): New macro.
3447         (CHARC_CODE_POINT): New macro.
3448         (CHARC_COLUMNS): New macro.
3449         (CHARC_TO_CHAR): New inline function.
3450         (CHARC_EQ): New inline function.
3451         (CHARC_ASCII_EQ): New inline function.
3452         (CHARC_IS_SPACE): New inline function.
3453         (ASCII_TO_CHARC): New inline function.
3454
3455         * char-ucs.h (encode_char_2): Deleted.
3456         (ENCODE_CHAR): Use `encode_char_1' again.
3457         (breakup_char_1): Likewise.
3458         (CHAR_TO_CHARC): New inline function.
3459
3460         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3461
3462 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3463
3464         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3465         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3466         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3467         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3468         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3469         `CHARC_IS_SPACE'.
3470         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3471
3472         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3473         `CHARC_CODE_POINT'.
3474         (x_output_display_block): Use `CHARC_CHARSET' and
3475         `CHARC_ASCII_EQ'.
3476
3477         * redisplay-tty.c (tty_output_display_block): Use
3478         `CHARC_ASCII_EQ'.
3479         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3480
3481         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3482
3483         * insdel.c (find_charsets_in_charc_string): Use
3484         `CHARC_CHARSET_ID'.
3485         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3486         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3487         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3488         (convert_charc_string_into_malloced_string): Likewise.
3489
3490 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3491
3492         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3493         instead of <Emchar_dynarr *> for buf; use
3494         `convert_bufbyte_string_into_charc_dynarr' instead of
3495         `convert_bufbyte_string_into_emchar_dynarr'; use
3496         `find_charsets_in_charc_string' instead of
3497         `find_charsets_in_emchar_string'.
3498
3499         * redisplay.h:
3500         - Include "character.h".
3501         (struct rune): New member `cglyph'; delete member `chr'.
3502
3503         * redisplay.c (redisplay_text_width_charc_string): New function;
3504         delete `redisplay_text_width_emchar_string'.
3505         (rtw_charc_dynarr): New variable; renamed from
3506         `rtw_emchar_dynarr'.
3507         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3508         `rtw_emchar_dynarr'; use
3509         `convert_bufbyte_string_into_charc_dynarr' instead of
3510         `convert_bufbyte_string_into_emchar_dynarr'; use
3511         `redisplay_text_width_charc_string' instead of
3512         `redisplay_text_width_emchar_string'.
3513         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3514         instead of `rtw_emchar_dynarr'; use
3515         `convert_bufbyte_string_into_charc_dynarr' instead of
3516         `convert_bufbyte_string_into_emchar_dynarr'.
3517         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3518         `redisplay_text_width_charc_string' instead of
3519         `redisplay_text_width_emchar_string'.
3520         (create_text_block): Modify for <struct rune> change.
3521         (generate_formatted_string_db): Likewise.
3522         (create_string_text_block): Likewise.
3523         (pixel_to_glyph_translation): Likewise.
3524
3525         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3526         instead of <const Emchar *>.
3527         (x_text_width): Likewise.
3528         (x_output_display_block): Use <Charc_dynarr *> instead
3529         <Emchar_dynarr *>; modify for <structure rune> change.
3530         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3531         *>.
3532
3533         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3534         <const Emchar *>; use `charc_string_displayed_columns' instead of
3535         `emchar_string_displayed_columns'.
3536         (tty_output_display_block): Use <Charc_dynarr *> instead of
3537         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3538         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3539         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3540         `tty_output_emchar_dynarr_dynarr'.
3541         (tty_output_charc_dynarr): New function; delete
3542         `tty_output_charc_dynarr'.
3543
3544         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3545         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3546         <Emchar_dynarr *> for buf; use
3547         `convert_bufbyte_string_into_charc_dynarr' instead of
3548         `convert_bufbyte_string_into_emchar_dynarr'.
3549
3550         * frame.c (title_string_charc_dynarr): New variable; renamed from
3551         `title_string_emchar_dynarr'.
3552         (generate_title_string): Use `title_string_charc_dynarr' instead
3553         of `title_string_emchar_dynarr'; use
3554         `convert_charc_string_into_malloced_string' instead of
3555         `convert_emchar_string_into_malloced_string'.
3556         (init_frame): Use `title_string_charc_dynarr' instead of
3557         `title_string_emchar_dynarr'.
3558
3559         * console.h:
3560         - Include "character.h".
3561         (struct console_methods): Use <const Charc *> instead of <const
3562         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3563         <Emchar_dynarr *> in output_string_method.
3564
3565         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3566         <Emchar_dynarr *>.
3567
3568         * console-stream.c (stream_text_width): Use <const Charc *>
3569         instead of <const Emchar *>.
3570
3571         * character.h (Charc_dynarr): New type.
3572
3573         * char-ucs.h (structure Charc): New structure; define new type
3574         `Charc'.
3575
3576         * char-lb.h (DECODE_CHAR): New inline function.
3577         (encode_char_1): New inline function.
3578         (ENCODE_CHAR): New macro.
3579         (structure Charc): New structure; define new type `Charc'.
3580
3581         * char-1byte.h (Vcharset_control_1): New macro.
3582         (Vcharset_latin_iso8859_1): New macro.
3583         (DECODE_CHAR): New inline function.
3584         (encode_char_1): New inline function.
3585         (ENCODE_CHAR): New macro.
3586         (structure Charc): New structure; define new type `Charc'.
3587
3588         * insdel.c (find_charsets_in_charc_string): New function; delete
3589         `find_charsets_in_emchar_string'.
3590         (charc_string_displayed_columns): New function; delete
3591         `emchar_string_displayed_columns'.
3592         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3593         `convert_bufbyte_string_into_emchar_dynarr'.
3594         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3595         `convert_charc_string_into_bufbyte_dynarr'.
3596         (convert_charc_string_into_malloced_string): New function; delete
3597         `convert_charc_string_into_malloced_string'.
3598
3599         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3600         `find_charsets_in_emchar_string'.
3601         (charc_string_displayed_columns): New prototype; delete
3602         `emchar_string_displayed_columns'.
3603         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3604         `convert_charc_string_into_bufbyte_dynarr'.
3605         (convert_charc_string_into_malloced_string): New prototype; delete
3606         `convert_charc_string_into_malloced_string'.
3607
3608 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3609
3610         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3611
3612 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3613
3614         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3615
3616         * char-ucs.h: Use <short> for <Charset_ID>.
3617
3618         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3619         <Charset_ID>.
3620
3621 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3622
3623         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3624         to 0.16.
3625
3626 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3627
3628         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3629         variable.
3630         (Qmorohashi_daikanwa): New variable.
3631         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3632         for `morohashi-daikanwa' attribute.
3633         (Fget_char_attribute): Likewise.
3634         (Fput_char_attribute): Likewise.
3635         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3636         has the same value of `ideograph-daikanwa'.
3637         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3638         (vars_of_mule_charset): Setup
3639         `Vcharacter_morohashi_daikanwa_table'.
3640
3641 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3642
3643         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3644         attributes.
3645         (add_charset_to_list_mapper): Add `key' instead of
3646         `XCHARSET_NAME (value)' to return aliases.
3647
3648 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3649
3650         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3651         variable.
3652         (Vcharacter_ideographic_strokes_table): New variable.
3653         (Qideographic_radical): New variable.
3654         (Qideographic_strokes): New variable.
3655         (Fchar_attribute_alist): Use
3656         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3657         attribute; use `Vcharacter_ideographic_strokes_table' for
3658         `ideographic-strokes' attribute.
3659         (Fget_char_attribute): Likewise.
3660         (Fput_char_attribute): Likewise.
3661         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3662         `ideographic-strokes'.
3663         (vars_of_mule_charset): Setup
3664         `Vcharacter_ideographic_radical_table' and
3665         `Vcharacter_ideographic_strokes_table'.
3666
3667 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3668
3669         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3670         (Qtotal_strokes): New variable.
3671         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3672         `total-strokes' attribute.
3673         (Fget_char_attribute): Likewise.
3674         (Fput_char_attribute): Likewise.
3675         (syms_of_mule_charset): Add new symbol `total-strokes'.
3676         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3677
3678 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3679
3680         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3681         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3682         are found.
3683         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3684         `->decomposition' attribute.
3685         (Fput_char_attribute): Likewise.
3686         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3687
3688 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3689
3690         * mule-charset.c (decoding_table_check_elements): New function.
3691         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3692
3693 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3694
3695         * mule-charset.c (Fset_charset_mapping_table): Use
3696         `put_char_ccs_code_point'.
3697
3698 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3699
3700         * mule-charset.c (decoding_table_put_char): New inline function.
3701         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3702
3703 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3704
3705         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3706         (XCHARSET_BYTE_SIZE): New macro.
3707         (decoding_table_remove_char): New inline function.
3708         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3709         `decoding_table_remove_char'.
3710         (remove_char_ccs): Use `decoding_table_remove_char'.
3711         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3712
3713 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3714
3715         * mule-charset.c (Vcharacter_name_table): New variable.
3716         (Qname): New variable.
3717         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3718         attribute.
3719         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3720         `Vcharacter_name_table' for `name' attribute.
3721         (Fremove_char_attribute): Use function `remove_char_ccs'.
3722         (put_char_ccs_code_point): New function.
3723         (remove_char_ccs): New function.
3724         (syms_of_mule_charset): Add new symbol `name'.
3725         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3726
3727 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3728
3729         * mule-charset.c (make_byte_table): Add new argument `older'.
3730         (make_char_id_table): Likewise.
3731         (copy_char_id_table): Comment out because it is not used.
3732         (put_char_id_table): Modify for `make_byte_table'.
3733         (Fput_char_attribute): Make encoding_table as older object;
3734         inherit older bit of `Vcharacter_composition_table'.
3735         (mark_charset): Don't mark `cs->encoding_table'.
3736         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3737         normal object; make `Vcharacter_composition_table' as an older
3738         object; delete staticpro for `Vcharacter_composition_table'; make
3739         `Vcharacter_variant_table' as a normal object.
3740
3741         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3742         (mark_object): Don't check older object in UTF-2000.
3743
3744         * lrecord.h (struct lrecord_header): Add new member `older' in
3745         UTF-2000.
3746         (set_lheader_implementation): Setup `SLI_header->older' in
3747         UTF-2000.
3748         (set_lheader_older_implementation): New macro in UTF-2000.
3749         (OLDER_RECORD_P): New macro in UTF-2000.
3750         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3751         (alloc_older_lcrecord): New prototype in UTF-2000.
3752         (alloc_older_lcrecord_type): New macro in UTF-2000.
3753
3754 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3755
3756         * mule-charset.c (byte_table_description): Use
3757         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3758         (char_id_table_description): Delete bogus `, 1'.
3759         (Fget_char_attribute): Refer encoding_table of each coded-charset
3760         to get value of coded-charset attribute of a character.
3761         (Fput_char_attribute): Use `make_older_vector' instead of
3762         `make_vector'; use encoding_table of each coded-charset to store
3763         value of coded-charset attribute of a character.
3764         (Fremove_char_attribute): Use encoding_table of each coded-charset
3765         to store value of coded-charset attribute of a character.
3766         (mark_charset): Mark `cs->encoding_table'; don't mark
3767         `cs->decoding_table'.
3768         (charset_description): Add description of new member
3769         `encoding_table'.
3770         (make_charset): Initialize `encoding_table'.
3771
3772         * char-ucs.h (struct Lisp_Charset): Add new member
3773         `encoding_table'.
3774         (CHARSET_ENCODING_TABLE): New macro.
3775         (XCHARSET_ENCODING_TABLE): New macro.
3776         (charset_code_point): New implementation.
3777         (encode_char_1): Likewise.
3778
3779         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3780         (disksave_object_finalization_1): Call finalizers of
3781         `all_older_lcrecords' in UTF-2000.
3782         (make_older_vector): New function in UTF-2000.
3783         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3784         UTF-2000.
3785
3786         * lisp.h (make_older_vector): New prototype in UTF-2000.
3787
3788 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3789
3790         * lrecord.h (enum lrecord_type): Rename
3791         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3792
3793         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3794         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3795         `get_char_code_table'.
3796
3797         * mule-charset.c (mark_char_id_table): Renamed from
3798         `mark_char_code_table'.
3799         (char_id_table_equal): Renamed from `char_code_table_equal'.
3800         (char_id_table_hash): Renamed from `char_code_table_hash'.
3801         (make_char_id_table): Renamed from `make_char_code_table'.
3802         (copy_char_id_table): Renamed from `copy_char_code_table'.
3803         (get_char_id_table): Renamed from `get_char_code_table'.
3804         (put_char_id_table): Renamed from `put_char_code_table'.
3805         (to_char_id): Renamed from `to_char_code'.
3806
3807         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3808         `Lisp_Char_Code_Table'.
3809         (char_id_table): Renamed from `char_code_table'.
3810         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3811         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3812         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3813         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3814         (get_char_id_table): Renamed from `get_char_code_table'.
3815
3816 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3817
3818         * lrecord.h (enum lrecord_type): Rename
3819         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3820
3821         * mule-charset.c (mark_byte_table): Renamed from
3822         `mark_char_byte_table'.
3823         (byte_table_equal): Renamed from `char_byte_table_equal'.
3824         (byte_table_hash): Renamed from `byte_table_hash'.
3825         (make_byte_table): Renamed from `make_byte_table'.
3826         (copy_byte_table): Renamed from `copy_char_byte_table'.
3827
3828         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3829         `Lisp_Char_Byte_Table'.
3830         (byte_table): Renamed from `char_byte_table'.
3831         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3832         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3833         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3834         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3835
3836 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3837
3838         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3839         (dfc_convert_to_internal_format): Likewise.
3840         
3841         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3842         * text-coding.c (Fcoding_system_alias_p): New function.
3843         * text-coding.c (Fcoding_system_aliasee): New function.
3844         * text-coding.c (append_suffix_to_symbol): New function.
3845         * text-coding.c (dangling_coding_system_alias_p): New function.
3846         * text-coding.c (Ffind_coding_system):
3847         * text-coding.c (Fcopy_coding_system):
3848         * text-coding.c (encode_coding_no_conversion):
3849         * text-coding.c (syms_of_file_coding):
3850         * text-coding.c (vars_of_file_coding):
3851         Rewrite coding system alias code.
3852         Allow nested aliases, like symbolic links.
3853         Allow redefinition of coding system aliases.
3854         Prevent existence of dangling coding system aliases.
3855         Eliminate convert_to_external_format.
3856         Eliminate convert_to_internal_format.
3857         
3858         * text-coding.c: Change enum eol_type to eol_type_t.
3859
3860 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3861
3862         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3863         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3864
3865         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3866         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3867
3868 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3869
3870         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3871         `ideograph-daikanwa'.
3872
3873         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3874         (Vcharset_ucs_bmp): Likewise.
3875         (Vcharset_mojikyo): Add new extern variable definition.
3876         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3877         (Vcharset_latin_iso8859_3): Likewise.
3878         (Vcharset_latin_iso8859_4): Likewise.
3879         (Vcharset_latin_iso8859_9): Likewise.
3880         (Vcharset_latin_viscii_lower): Likewise.
3881         (Vcharset_latin_viscii_upper): Likewise.
3882         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3883         `mojikyo' code-point is used to decode.
3884         (encode_char_2): New function [to convert `mojikyo' code-point to
3885         Mojikyo font encoding].
3886         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3887         (breakup_char_1): Likewise.
3888         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3889
3890 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3891
3892         * text-coding.c (Fmake_coding_system): Add document about
3893         `disable-composition' property.
3894
3895 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3896
3897         * text-coding.c (Qdisable_composition): New variable; delete
3898         `Qcomposite'.
3899         (Fmake_coding_system): Add new property `disable-composite';
3900         delete property `composite'.
3901         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3902         instead of `!CODING_SYSTEM_COMPOSITE'.
3903         (syms_of_file_coding): Add new symbol `disable-composition';
3904         delete symbol `composite'.
3905
3906         * file-coding.h (struct Lisp_Coding_System): Add
3907         `disable_composition'; delete `enable_composition'.
3908         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3909         `CODING_SYSTEM_COMPOSITE'.
3910         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3911         `XCODING_SYSTEM_COMPOSITE'.
3912
3913 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3914
3915         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3916         to 0.15.
3917
3918 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3919
3920         * text-coding.c (Qcomposite): New variable.
3921         (Fmake_coding_system): Add new property `composite'.
3922         (struct decoding_stream): Add `combined_char_count',
3923         `combined_chars' and `combining_table' in UTF-2000.
3924         (COMPOSE_FLUSH_CHARS): New macro.
3925         (COMPOSE_ADD_CHAR): New macro.
3926         (reset_decoding_stream): Reset `str->combined_char_count' and
3927         `str->combining_table' in UTF-2000.
3928         (decode_coding_iso2022): Modify for character-decomposition.
3929         (syms_of_file_coding): Add new symbol `composite'.
3930
3931 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3932
3933         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3934         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3935         of `Vcharacter_composition_table' if `->decomposition' property
3936         has only 1 element.
3937         (Qlatin_tcvn5712): New variable.
3938         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3939         (complex_vars_of_mule_charset): Add new coded-charset
3940         `latin-tcvn5712'.
3941
3942         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3943
3944 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3945
3946         * file-coding.h (struct Lisp_Coding_System): Add
3947         `enable_composition'.
3948         (CODING_SYSTEM_COMPOSITE): New macro.
3949         (XCODING_SYSTEM_COMPOSITE): New macro.
3950
3951 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3952
3953         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3954
3955 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3956
3957         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3958         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3959
3960 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3961
3962         * mule-charset.c (Vcharset_mojikyo): New variable.
3963         (Fdefine_char): Don't use coded-charset which does not have
3964         non-builtin character range to allocate character-id.
3965         (Qmojikyo): New variable.
3966         (syms_of_mule_charset): Add new symbol `mojikyo'.
3967         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3968
3969         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3970         (LEADING_BYTE_MOJIKYO): New macro.
3971         (MIN_CHAR_MOJIKYO): New macro.
3972         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3973         (MAX_CHAR_MOJIKYO): New macro.
3974
3975 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3976
3977         * mule-charset.c (remove_char_attribute): Fixed.
3978
3979 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3980
3981         * mule-charset.c (remove_char_attribute): New function.
3982         (Fremove_char_attribute): New function.
3983         (encode_builtin_char_1): Comment out builtin-support for
3984         greek-iso8859-7 and cyrillic-iso8859-5.
3985         (Fdecode_char): Check `code' is an integer.
3986         (syms_of_mule_charset): Add `remove-char-attribute'.
3987         (MIN_CHAR_GREEK): Deleted.
3988         (MAX_CHAR_GREEK): Likewise.
3989         (MIN_CHAR_CYRILLIC): Likewise.
3990         (MAX_CHAR_CYRILLIC): Likewise.
3991         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3992         MAX_CHAR_GREEK for `greek-iso8859-7'.
3993
3994         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3995         (MAX_CHAR_GREEK): Likewise.
3996         (MIN_CHAR_CYRILLIC): Likewise.
3997         (MAX_CHAR_CYRILLIC): Likewise.
3998
3999 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
4000
4001         * mule-charset.c (Fdefine_char): Fix problem when new code-point
4002         format is used without `ucs' property.
4003         (Fdecode_char): Fix problem with GR representation.
4004         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
4005         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
4006
4007 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4008
4009         * mule-charset.c (make_builtin_char): New function.
4010         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4011         (Fset_charset_mapping_table): Modify for new representation of
4012         code-point.
4013         (Fdecode_char): New function.
4014         (syms_of_mule_charset): Add new builtin function `decode-char' in
4015         UTF-2000.
4016
4017         * char-ucs.h (make_builtin_char): New prototype.
4018         (DECODE_CHAR): New inline function.
4019         (MAKE_CHAR): Use `DECODE_CHAR'.
4020
4021 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4022
4023         * text-coding.c (parse_charset_conversion_specs): Use
4024         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4025         `XCHARSET_TYPE'.
4026         (iso2022_designate): Likewise.
4027
4028         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4029         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4030
4031         * mule-charset.c (Vcharset_ucs): New variable.
4032         (print_charset): Change design; use `CHARSET_CHARS' and
4033         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4034         (make_charset): Change signature to specify `chars' and
4035         `dimension' instead of `type'.
4036         (range_charset_code_point): Modify for 256^n-set.
4037         (encode_builtin_char_1): Encode as `ucs' in default.
4038         (Fmake_charset): Modify for `make_charset'.
4039         (Fmake_reverse_direction_charset): Likewise.
4040         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4041         UTF-2000.
4042         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4043         for `make_charset'.
4044
4045         * char-ucs.h (Vcharset_ucs): New variable.
4046         (LEADING_BYTE_UCS): New macro.
4047         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4048         and `chars' to `unsigned short' from `unsigned int'.
4049         (CHARSET_TYPE): Deleted.
4050         (XCHARSET_TYPE): Deleted.
4051
4052 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4053
4054         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4055
4056         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4057         (ENCODE_CHAR): New macro.
4058
4059 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4060
4061         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4062         to 0.14 (Kawachi-Katakami).
4063
4064 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4065
4066         * text-coding.c (char_encode_shift_jis): Modify for
4067         `charset_code_point'.
4068         (char_encode_iso2022): Likewise.
4069
4070         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4071         (integer) instead of list of <Lisp_Object>s (integers) as the
4072         format of code-point of a coded-charset.
4073         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4074         (encode_builtin_char_1): New function; delete
4075         `split_builtin_char'.
4076         (charset_code_point): Return <int> instead of <Lisp_Object>.
4077         (Fsplit_char): Don't use `SPLIT_CHAR'.
4078
4079         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4080         prototype for `split_builtin_char'.
4081         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4082         (charset_code_point): Likewise.
4083         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4084         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4085
4086 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4087
4088         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4089         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4090
4091 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4092
4093         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4094
4095         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4096         (MAX_CHAR_OBS_94x94): Deleted.
4097
4098 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4099
4100         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4101
4102         * char-ucs.h (MAX_CHAR_BMP): New macro.
4103
4104 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4105
4106         * text-coding.c: Sync with r21-2-24.
4107
4108 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4109
4110         * file-coding.c: Modify for UTF-2000.
4111
4112 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4113
4114         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4115         to 0.13 (Takaida).
4116
4117 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4118
4119         * mule-charset.c (split_builtin_char): Delete builtin support for
4120         `katakana-jisx0201'.
4121         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4122         BMP area in builtin representation.
4123
4124         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4125         `Vcharset_katakana_jisx0201'.
4126
4127 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4128
4129         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4130         (Qisolated): New variable.
4131         (Qinitial): New variable.
4132         (Qmedial): New variable.
4133         (Qfinal): New variable.
4134         (Qvertical): New variable.
4135         (Qsmall): New variable.
4136         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4137         `Qvertical' and `Qsmall'.
4138         (Qmojikyo_pj_[1 .. 21]): New variable.
4139         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4140         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4141         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4142         .. 21]'.
4143
4144 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4145
4146         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4147         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4148         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4149
4150 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4151
4152         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4153         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4154         BMP.
4155         (Qjapanese_jisx0208_1990): New variable.
4156         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4157         (complex_vars_of_mule_charset): Add new coded-charset
4158         `japanese-jisx0208-1990'.
4159
4160         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4161         (MIN_CHAR_JIS_X0208_1990): New macro.
4162         (MAX_CHAR_JIS_X0208_1990): New macro.
4163
4164 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4165
4166         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4167         coded-charset is not found.
4168
4169 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4170
4171         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4172         (Fdefine_char): Use `Fmake_char'.
4173
4174 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4175
4176         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4177         (Vcharset_hiragana_jisx0208): Deleted.
4178         (Vcharset_katakana_jisx0208): Deleted.
4179         (Qideograph_daikanwa): New variable.
4180         (Qhiragana_jisx0208): Deleted.
4181         (Qkatakana_jisx0208): Deleted.
4182         (split_builtin_char): Split `ideograph-daikanwa'.
4183         (Fsplit_char): New implementation for UTF-2000.
4184         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4185         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4186         (complex_vars_of_mule_charset): Add new coded-charset
4187         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4188         `katakana-jisx0208'.
4189
4190         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4191         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4192         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4193         (MIN_CHAR_DAIKANWA): New macro.
4194         (MAX_CHAR_DAIKANWA): New macro.
4195
4196 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4197
4198         * data.c (Fstring_to_number): Don't recognize floating point if
4199         base is not 10.
4200
4201 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4202
4203         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4204
4205 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4206
4207         * mule-charset.c (Qsquare): New variable.
4208         (to_char_code): Add `Qsquare'.
4209         (syms_of_mule_charset): Add new symbol `square'.
4210
4211 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4212
4213         * mule-charset.c (Qcircle): New variable.
4214         (to_char_code): Add `Qcircle'.
4215         (syms_of_mule_charset): Add new symbol `circle'.
4216
4217 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4218
4219         * mule-charset.c (Qfont): New variable.
4220         (to_char_code): Add `Qfont'.
4221         (syms_of_mule_charset): Add new symbol `font'.
4222
4223 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4224
4225         * mule-charset.c (Qsub): New variable.
4226         (to_char_code): Add `Qsub'.
4227         (syms_of_mule_charset): Add new symbol `sub'.
4228
4229 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4230
4231         * mule-charset.c (Fput_char_attribute): Convert each element of
4232         VALUE to GL position if ATTRIBUTE is a GR-set,
4233
4234 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4235
4236         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4237         coded-charset is a GR-set.
4238
4239 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4240
4241         * mule-charset.c (Fput_char_attribute): Check each element of
4242         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4243
4244 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4245
4246         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4247         UTF-2000.
4248         (Qethiopic_ucs): New variable in UTF-2000.
4249         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4250         (complex_vars_of_mule_charset): Add new coded-charset
4251         `ethiopic-ucs' in UTF-2000.
4252
4253         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4254         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4255         9)'.
4256         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4257         10)'.
4258         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4259
4260 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4261
4262         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4263         `ascii'.
4264
4265 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4266
4267         * mule-charset.c (Vcharacter_variant_table): New variable.
4268         (Q_ucs): New variable.
4269         (Fchar_variants): New function.
4270         (Fput_char_attribute): Register `->ucs' value to
4271         `Vcharacter_variant_table'.
4272         (syms_of_mule_charset): Add new function `char-variants' and new
4273         symbol `->ucs'.
4274         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4275
4276 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4277
4278         * mule-charset.c (get_char_code_table): Allow negative character
4279         code.
4280         (put_char_code_table): Likewise.
4281         (Vcharacter_composition_table): New variable.
4282         (Q_decomposition): New variable.
4283         (Qwide): New variable.
4284         (Qnarrow): New variable.
4285         (Qcompat): New variable.
4286         (QnoBreak): New variable.
4287         (Qsuper): New variable.
4288         (Qfraction): New variable.
4289         (to_char_code): New function.
4290         (Fget_composite_char): New function.
4291         (Fput_char_attribute): Register `->decomposition' value to
4292         `Vcharacter_composition_table'.
4293         (syms_of_mule_charset): Add new function `get-composite-char', new
4294         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4295         `super' and `fraction'.
4296         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4297
4298 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4299
4300         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4301         character; copy the return value.
4302
4303 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4304
4305         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4306
4307         * mule-charset.c (range_charset_code_point): Must use make_int.
4308         (split_builtin_char): New function.
4309
4310 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4311
4312         * mule-charset.c (char_byte_table): Change name from
4313         "char-code-table" to "char-byte-table".
4314         (mark_char_code_table): New function.
4315         (char_code_table_equal): New function.
4316         (char_code_table_hash): New function.
4317         (char_code_table_description): New constant.
4318         (char_code_table): New type.
4319         (make_char_code_table): New function.
4320         (copy_char_code_table): New function.
4321         (get_char_code_table): Modify for `char_code_table' type.
4322         (put_char_code_table): Likewise.
4323         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4324         (Kashiwara).
4325
4326         * char-ucs.h (char_code_table): New type.
4327         (XCHAR_CODE_TABLE): New macro.
4328         (XSETCHAR_CODE_TABLE): New macro.
4329         (CHAR_CODE_TABLE_P): New macro.
4330         (GC_CHAR_CODE_TABLE_P): New macro.
4331         (struct Lisp_Char_Code_Table): New structure.
4332
4333 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4334
4335         * mule-charset.c (Fmake_charset): Setup byte_offset for
4336         {94|96}^n-set.
4337
4338 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4339
4340         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4341         character.
4342
4343 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4344
4345         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4346         is found.
4347
4348 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4349
4350         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4351         charset, it is regarded as a charset.
4352         (put_char_attribute): New function in UTF-2000.
4353         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4354         charset, mapping-table of the charset is modified.
4355         (Fdefine_char): New function in UTF-2000.
4356         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4357         `Fput_char_attribute'.
4358         (syms_of_mule_charset): Add new function `define-char' and new
4359         symbol `ucs' in UTF-2000.
4360         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4361
4362 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4363
4364         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4365         non-UTF-2000 configuration.
4366
4367 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4368
4369         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4370         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4371
4372         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4373         deleted.
4374         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4375         (Fset_charset_mapping_table): Likewise.
4376
4377         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4378         (CHARSET_ENCODING_TABLE): Delete.
4379         (XCHARSET_ENCODING_TABLE): Delete.
4380         (charset_code_point): New interface.
4381
4382 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4383
4384         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4385         instead of `charset_get_byte1' and `charset_get_byte2'.
4386
4387         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4388         (charset_get_byte2): Deleted.
4389
4390 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4391
4392         * char-ucs.h (SPLIT_CHAR): New inline function.
4393         (breakup_char_1): Use `SPLIT_CHAR'.
4394
4395         * mule-charset.c (range_charset_code_point): New function.
4396         (charset_code_point): New function.
4397
4398         * char-ucs.h (range_charset_code_point): New interface.
4399         (breakup_char_1): Use `range_charset_code_point'.
4400
4401 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4402
4403         * mule-charset.c (Fmake_charset): Delete unused local variable
4404         `code_offset'.
4405
4406         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4407         (breakup_char_1): Find a charset and code-point in
4408         `Vcharacter_attribute_table'.
4409
4410 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4411
4412         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4413         to 0.10 (Yao).
4414
4415 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4416
4417         * mule-charset.c (Vcharacter_attribute_table): New variable.
4418         (Fchar_attribute_alist): New function.
4419         (Fget_char_attribute): New function.
4420         (Fput_char_attribute): New function.
4421         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4422         too.
4423         (syms_of_mule_charset): Add new function `char-attribute-alist',
4424         `get-char-attribute' and `put-char-attribute'.
4425         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4426
4427 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4428
4429         * mule-charset.c (Fmake_charset): Just use
4430         `get_unallocated_leading_byte'.
4431
4432         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4433         sets; don't use final-byte based number for private sets.
4434
4435 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4436
4437         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4438         integer.
4439
4440 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4441
4442         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4443         to 0.9.
4444
4445 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4446
4447         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4448         of `CHAR_LEADING_BYTE' in UTF-2000.
4449
4450         * insdel.c (find_charsets_in_bufbyte_string): Use
4451         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4452         (find_charsets_in_emchar_string): Likewise.
4453
4454         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4455         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4456
4457         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4458         (CHAR_CHARSET_ID): New macro.
4459
4460 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4461
4462         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4463         charset-id - MIN_LEADING_BYTE.
4464         (put_char_table): Likewise.
4465
4466 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4467
4468         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4469         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4470         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4471         (CHARSET_ID_OFFSET): New macro.
4472         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4473         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4474         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4475         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4476         4).
4477         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4478         5).
4479         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4480         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4481         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4482         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4483         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4484
4485 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4486
4487         * mule-charset.c (next_allocated_leading_byte): New variable in
4488         UTF-2000.
4489         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4490         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4491         (get_unallocated_leading_byte): Simply use
4492         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4493         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4494         UTF-2000.
4495
4496         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4497         (MAX_LEADING_BYTE_PRIVATE): New macro.
4498         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4499         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4500
4501 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4502
4503         * mule-charset.c (Fmake_charset): Allocate final-byte based
4504         charset-id for 94-set, 96-set and 94x94-set.
4505
4506 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4507
4508         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4509         ambiguous `else'.
4510         (Fmake_charset): Likewise.
4511         (complex_vars_of_mule_charset): Modify the font registry of
4512         `ucs-bmp' not to match `Ethiopic-Unicode'.
4513
4514 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4515
4516         * mule-charset.c (complex_vars_of_mule_charset): Add font
4517         registory of `ucs-bmp'.
4518
4519 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4520
4521         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4522         coded-charsets in `default-coded-charset-priority-list' when
4523         breaking up a character.
4524
4525         * mule-charset.c (Vcharset_latin_viscii): New variable.
4526         (Qlatin_viscii): New variable.
4527         (make_charset): Don't use `decoding_table'.
4528         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4529         byte_offset.
4530         (Fset_charset_mapping_table): New implementation.
4531         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4532         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4533         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4534         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4535         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4536         charset `latin_viscii'.
4537
4538         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4539         (CHARSET_TYPE_94X94): Change to 1 from 2.
4540         (CHARSET_TYPE_96): Change to 2 from 1.
4541         (CHARSET_TYPE_128): New macro.
4542         (CHARSET_TYPE_128X128): Change to 5 from 4.
4543         (CHARSET_TYPE_256): New macro.
4544         (CHARSET_TYPE_256X256): Change to 7 from 5.
4545         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4546
4547 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4548
4549         * text-coding.c (char_encode_shift_jis): Refer
4550         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4551         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4552
4553         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4554         (char_byte_table_equal): New function in UTF-2000.
4555         (char_byte_table_hash): New function in UTF-2000.
4556         (char_byte_table_description): New constant in UTF-2000.
4557         (char_byte_table): New type in UTF-2000.
4558         (make_char_byte_table): New function in UTF-2000.
4559         (copy_char_byte_table): New function in UTF-2000.
4560         (make_char_code_table): New macro in UTF-2000.
4561         (get_char_code_table): New function in UTF-2000.
4562         (put_char_code_table): New function in UTF-2000.
4563         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4564         (charset_description): Add setting in UTF-2000.
4565         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4566         `CHARSET_TO_BYTE1_TABLE(cs)'.
4567         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4568         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4569         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4570         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4571         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4572         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4573         `CHARSET_TO_BYTE2_TABLE(cs)'.
4574
4575         * char-ucs.h (char_byte_table): New type.
4576         (XCHAR_BYTE_TABLE): New macro.
4577         (XSETCHAR_BYTE_TABLE): New macro.
4578         (CHAR_BYTE_TABLE_P): New macro.
4579         (GC_CHAR_BYTE_TABLE_P): New macro.
4580         (struct Lisp_Char_Byte_Table): New structure.
4581         (get_char_code_table): New interface.
4582         (Emchar_to_byte_table): Deleted.
4583         (get_byte_from_character_table): Deleted.
4584         (struct Lisp_Charset): Add `encoding_table'; delete
4585         `to_byte1_table' and `to_byte2_table'.
4586         (CHARSET_ENCODING_TABLE): New macro.
4587         (CHARSET_TO_BYTE1_TABLE): Deleted.
4588         (CHARSET_TO_BYTE2_TABLE): Deleted.
4589         (XCHARSET_ENCODING_TABLE): New macro.
4590         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4591         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4592
4593 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4594
4595         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4596         `vietnamese-viscii-*'.
4597
4598 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4599
4600         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4601         (Qvietnamese_viscii_upper): New variable.
4602         (Fdefine_charset_alias): New function.
4603         (syms_of_mule_charset): Add new function `define-charset-alias'.
4604         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4605         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4606         `latin-viscii-*'.
4607
4608 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4609
4610         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4611         (MAX_CHAR_OBS_94x94): New macro.
4612         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4613         for 94x94 sets.
4614
4615         * mule-charset.c (put_byte_from_character_table): Change unit size
4616         from 128 to 256.
4617         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4618         not defined.
4619         (Fmake_reverse_direction_charset): Modify dummy argument of
4620         `make_charset' for non-UTF-2000 environment.
4621
4622 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4623
4624         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4625
4626         * mule-charset.c (destroy_byte_from_character_table): New macro.
4627         (latin_jisx0201_to_ucs): Deleted.
4628         (latin_iso8859_2_to_ucs): Deleted.
4629         (latin_iso8859_3_to_ucs): Deleted.
4630         (latin_iso8859_4_to_ucs): Deleted.
4631         (latin_iso8859_9_to_ucs): Deleted.
4632         (latin_viscii_lower_to_ucs): Deleted.
4633         (latin_viscii_upper_to_ucs): Deleted.
4634         (mark_charset): Mark `cs->decoding_table'.
4635         (Fcharset_mapping_table): Fix DOC-string.
4636         (Fset_charset_mapping_table): New function.
4637         (syms_of_mule_charset): Add nwe function
4638         `set-charset-mapping-table'.
4639         (complex_vars_of_mule_charset): Don't setup and use
4640         `latin_*_to_ucs'.
4641
4642 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4643
4644         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4645         charset.
4646
4647 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4648
4649         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4650         (Vcharset_katakana_jisx0208): New variable.
4651         (Qhiragana_jisx0208): New variable.
4652         (Qkatakana_jisx0208): New variable.
4653         (make_charset): Add new argument `byte_offset'.
4654         (charset_get_byte1): Modify for new coded-charset definition; use
4655         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4656         `XCHARSET_BYTE_OFFSET'.
4657         (Fmake_charset): Modify for `make_charset'.
4658         (Fmake_reverse_direction_charset): Likewise.
4659         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4660         `katakana-jisx0208'.
4661         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4662         `.'  in font registry of charset `katakana-jisx0201',
4663         `latin-jisx0201', `vietnamese-viscii-lower' and
4664         `vietnamese-viscii-upper'; modify DOC-string of charset
4665         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4666         registry of charset `japanese-jisx0208' not to use font for JIS
4667         X0208:1990; add new charset `hiragana-jisx0208' and
4668         `katakana-jisx0208'.
4669
4670         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4671         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4672         (struct Lisp_Charset): Add `byte_offset'.
4673         (CHARSET_BYTE_OFFSET): New macro.
4674         (XCHARSET_UCS_MIN): New macro.
4675         (XCHARSET_UCS_MAX): New macro.
4676         (XCHARSET_CODE_OFFSET): New macro.
4677         (XCHARSET_BYTE_OFFSET): New macro.
4678         (MIN_CHAR_HIRAGANA): New macro.
4679         (MAX_CHAR_HIRAGANA): New macro.
4680         (MIN_CHAR_KATAKANA): New macro.
4681         (MAX_CHAR_KATAKANA): New macro.
4682         (MAKE_CHAR): Modify for new coded-charset definition; use
4683         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4684         `XCHARSET_BYTE_OFFSET'.
4685
4686 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4687
4688         * mule-charset.c (CHAR96): Deleted.
4689         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4690         <Lisp_Object>.
4691         (latin_iso8859_2_to_ucs): Likewise.
4692         (latin_iso8859_3_to_ucs): Likewise.
4693         (latin_iso8859_4_to_ucs): Likewise.
4694         (latin_iso8859_9_to_ucs): Likewise.
4695         (latin_viscii_lower_to_ucs): Likewise.
4696         (latin_viscii_upper_to_ucs): Likewise.
4697         (latin_tcvn5712_to_ucs): Commented out.
4698         (make_charset): Change type of argument `decoding_table' from
4699         <Emchar*> to <Lisp_Object> [vector of characters].
4700         (Fmake_charset): Modify for `make_charset'.
4701         (Fmake_reverse_direction_charset): Likewise.
4702         (Fcharset_mapping_table): New function in UTF-2000.
4703         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4704         UTF-2000.
4705         (complex_vars_of_mule_charset): Modify for type change of
4706         `*_to_ucs'; modify for `make_charset'.
4707
4708         * char-ucs.h (struct Lisp_Charset): Change type of
4709         `decoding_table' from <Emchar*> to <Lisp_Object>.
4710         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4711
4712 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4713
4714         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4715         error with non-UTF-2000-Mule.
4716
4717 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4718
4719         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4720         in lisp again].
4721         (Vcharset_chinese_cns11643_4): Likewise.
4722         (Vcharset_chinese_cns11643_5): Likewise.
4723         (Vcharset_chinese_cns11643_6): Likewise.
4724         (Vcharset_chinese_cns11643_7): Likewise.
4725         (Qchinese_cns11643_3): Likewise.
4726         (Qchinese_cns11643_4): Likewise.
4727         (Qchinese_cns11643_5): Likewise.
4728         (Qchinese_cns11643_6): Likewise.
4729         (Qchinese_cns11643_7): Likewise.
4730         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4731         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4732         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4733         (complex_vars_of_mule_charset): Likewise.
4734
4735 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4736
4737         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4738         96-set.
4739         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4740         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4741
4742 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4743
4744         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4745         0xFF60.
4746         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4747         (breakup_char_1): Likewise.
4748
4749         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4750         one of them includes the specified character.
4751
4752 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4753
4754         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4755
4756 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4757
4758         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4759
4760 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4761
4762         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4763         definition for non-UTF-2000 Mule.
4764         (latin_iso8859_3_to_ucs): Likewise.
4765         (latin_iso8859_4_to_ucs): Likewise.
4766         (latin_iso8859_9_to_ucs): Likewise.
4767         (latin_jisx0201_to_ucs): Likewise.
4768         (MIN_CHAR_THAI): Likewise.
4769         (MAX_CHAR_THAI): Likewise.
4770         (MIN_CHAR_GREEK): Likewise.
4771         (MAX_CHAR_GREEK): Likewise.
4772         (MIN_CHAR_HEBREW): Likewise.
4773         (MAX_CHAR_HEBREW): Likewise.
4774         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4775         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4776         (MIN_CHAR_CYRILLIC): Likewise.
4777         (MAX_CHAR_CYRILLIC): Likewise.
4778
4779 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4780
4781         * char-ucs.h (breakup_char_1): Use
4782         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4783         thai-tis620 and katakana-jisx0201 area.
4784
4785 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4786
4787         * char-ucs.h (breakup_char_1): Use
4788         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4789         area.
4790
4791         * text-coding.c (reset_encoding_stream): Fixed.
4792         (char_encode_ucs4): Delete `& 255'.
4793
4794         * char-ucs.h (breakup_char_1): Use
4795         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4796
4797 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4798
4799         * file-coding.c (Fmake_coding_system): Don't set up
4800         `codesys->fixed.size'.
4801         (encode_coding_no_conversion): Don't refer
4802         `str->codesys->fixed.size'.
4803
4804 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4805
4806         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4807         (latin_a_char_to_byte1): Deleted.
4808         (latin_a_char_to_byte2): Deleted.
4809
4810 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4811
4812         * mule-charset.c (make_charset): Add new argument `ucs_min',
4813         `ucs_max' and `code_offset'.
4814         (charset_get_byte1): New implementation [delete specific charset
4815         depended implementations].
4816         (Fmake_charset): Modify for `make_charset'.
4817         (Fmake_reverse_direction_charset): Likewise.
4818         (complex_vars_of_mule_charset): Likewise.
4819
4820         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4821         `code_offset'.
4822         (CHARSET_UCS_MIN): New macro.
4823         (CHARSET_UCS_MAX): New macro.
4824         (CHARSET_CODE_OFFSET): New macro.
4825         (MAKE_CHAR): Delete charset depended definitions [except
4826         katakana-jisx0201].
4827
4828 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4829
4830         * char-ucs.h (breakup_char_1): Use
4831         `Vdefault_coded_charset_priority_list' for C0-Controls,
4832         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4833
4834 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4835
4836         * char-ucs.h (charset_get_byte1): New function.
4837         (XCHARSET_GET_BYTE1): Deleted.
4838         (charset_get_byte2): New function.
4839         (XCHARSET_GET_BYTE2): Deleted.
4840         (Vdefault_coded_charset_priority_list): New external variable.
4841         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4842         `Vdefault_preferred_coded_charset_list'.
4843
4844         * mule-charset.c (charset_get_byte1): New function.
4845         (charset_get_byte2): New function.
4846         (Vdefault_coded_charset_priority_list): New variable.
4847         (vars_of_mule_charset): Add new variable
4848         `default-coded-charset-priority-list'.
4849
4850 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4851
4852         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4853         (XCHARSET_GET_BYTE2): New inline function.
4854         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4855         `XCHARSET_GET_BYTE2'.
4856
4857 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4858
4859         * mule-charset.c (make_charset): Initialize
4860         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4861         NULL if table is not defined.
4862
4863 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4864
4865         * text-coding.c (char_encode_shift_jis): Use
4866         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4867         `ucs_to_latin_jisx0201'.
4868
4869         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4870         (ucs_to_latin_iso8859_2): Deleted.
4871         (ucs_to_latin_iso8859_3): Deleted.
4872         (ucs_to_latin_iso8859_4): Deleted.
4873         (ucs_to_latin_iso8859_9): Deleted.
4874         (ucs_to_latin_viscii_lower): Deleted.
4875         (ucs_to_latin_viscii_upper): Deleted.
4876         (ucs_to_latin_tcvn5712): Deleted.
4877         (make_charset): Add new argument `decoding_table'; set up
4878         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4879         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4880         `decoding_table' is defined in UTF-2000.
4881         (Fmake_charset): Modify for `make_charset'.
4882         (Fmake_reverse_direction_charset): Likewise.
4883         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4884         and `GENERATE_96_SET'.
4885
4886         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4887         (ucs_to_latin_jisx0201): Deleted.
4888         (latin_iso8859_2_to_ucs): Deleted.
4889         (ucs_to_latin_iso8859_2): Deleted.
4890         (latin_iso8859_3_to_ucs): Deleted.
4891         (ucs_to_latin_iso8859_3): Deleted.
4892         (latin_iso8859_4_to_ucs): Deleted.
4893         (ucs_to_latin_iso8859_4): Deleted.
4894         (latin_iso8859_9_to_ucs): Deleted.
4895         (ucs_to_latin_iso8859_9): Deleted.
4896         (latin_viscii_lower_to_ucs): Deleted.
4897         (ucs_to_latin_viscii_lower): Deleted.
4898         (latin_viscii_upper_to_ucs): Deleted.
4899         (ucs_to_latin_viscii_upper): Deleted.
4900         (struct Lisp_Charset): Renamed `encoding_table' to
4901         `to_byte1_table'; add `to_byte2_table'.
4902         (CHARSET_DECODING_TABLE): New macro.
4903         (CHARSET_TO_BYTE1_TABLE): New macro.
4904         (CHARSET_TO_BYTE2_TABLE): New macro.
4905         (XCHARSET_DECODING_TABLE): New macro.
4906         (XCHARSET_TO_BYTE1_TABLE): New macro.
4907         (XCHARSET_TO_BYTE2_TABLE): New macro.
4908         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4909         tables.
4910         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4911         don't use `ucs_to_*' tables.
4912
4913 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4914
4915         * text-coding.c (Fmake_coding_system): Don't set up
4916         `codesys->fixed.size'.
4917         (encode_coding_no_conversion): Use `if' instead of `switch'.
4918
4919         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4920
4921 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4922
4923         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4924         (Fmake_charset): Modify for `make_charset'.
4925         (Fmake_reverse_direction_charset): Likewise.
4926         (complex_vars_of_mule_charset): Likewise.
4927
4928 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4929
4930         * text-coding.c (char_encode_shift_jis): Use table
4931         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4932
4933 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4934
4935         * text-coding.c (text_encode_generic): Use `if' instead of
4936         `switch'.
4937         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4938         decode JIS-Latin.
4939
4940 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4941
4942         * text-coding.c (encode_coding_sjis): Deleted.
4943         (char_encode_shift_jis): New function.
4944         (char_finish_shift_jis): New function.
4945         (reset_encoding_stream): Set up `encode_char' and `finish' for
4946         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4947         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4948         (char_encode_utf8): Treat `eol_type'.
4949
4950 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4951
4952         * file-coding.c (decode_coding_iso2022): Use
4953         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4954
4955 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4956
4957         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4958         to 0.7 (Hirano).
4959
4960 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4961
4962         * char-lb.h (CHAR_COLUMNS): New macro.
4963
4964 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4965
4966         * text-coding.c (char_encode_ucs4): New function.
4967         (char_finish_ucs4): New function.
4968         (encode_coding_ucs4): Deleted.
4969         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4970         (text_encode_generic): Delete local variable `charset' and `half'.
4971         (ucs_to_mule_table): Deleted.
4972         (mule_to_ucs_table): Deleted.
4973         (Fset_ucs_char): Deleted.
4974         (ucs_to_char): Deleted.
4975         (Fucs_char): Deleted.
4976         (Fset_char_ucs): Deleted.
4977         (Fchar_ucs): Deleted.
4978         (decode_ucs4): Deleted.
4979         (mule_char_to_ucs4): Deleted.
4980         (encode_ucs4): Deleted.
4981         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4982         (decode_coding_utf8): Likewise.
4983         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4984         (char_encode_iso2022): Fixed.
4985         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4986         `Fset_char_ucs' and `Fchar_ucs'.
4987         (complex_vars_of_file_coding): Don't initialize
4988         `ucs_to_mule_table'.
4989
4990         * objects-tty.c (tty_initialize_font_instance): Don't use
4991         `XCHARSET_COLUMNS'.
4992
4993         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4994         UTF-2000.
4995
4996         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4997         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4998
4999         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
5000         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5001         (emchar_string_displayed_columns): Likewise.
5002
5003         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
5004         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5005         (string_column_at_point): Likewise.
5006         (Fmove_to_column): Likewise.
5007
5008         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5009         `encoding_table' and `decoding_table'.
5010         (CHARSET_REP_BYTES): Deleted.
5011         (XCHARSET_REP_BYTES): Deleted.
5012         (XCHARSET_COLUMNS): Deleted.
5013         (CHAR_COLUMNS): New macro.
5014         (lookup_composite_char): Deleted unconditionally.
5015         (composite_char_string): Likewise.
5016
5017 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5018
5019         * char-ucs.h (Emchar_to_byte_table): New type.
5020         (get_byte_from_character_table): New function interface.
5021         (Vcharset_latin_jisx0201): New variable.
5022         (latin_jisx0201_to_ucs): New variable.
5023         (ucs_to_latin_jisx0201): New variable.
5024         (Vcharset_latin_iso8859_2): New variable.
5025         (latin_iso8859_2_to_ucs): New variable.
5026         (ucs_to_latin_iso8859_2): New variable.
5027         (Vcharset_latin_iso8859_3): New variable.
5028         (latin_iso8859_3_to_ucs): New variable.
5029         (ucs_to_latin_iso8859_3): New variable.
5030         (Vcharset_latin_iso8859_4): New variable.
5031         (latin_iso8859_4_to_ucs): New variable.
5032         (ucs_to_latin_iso8859_4): New variable.
5033         (Vcharset_latin_iso8859_9): New variable.
5034         (latin_iso8859_9_to_ucs): New variable.
5035         (ucs_to_latin_iso8859_9): New variable.
5036         (Vcharset_latin_viscii_lower): New variable.
5037         (latin_viscii_lower_to_ucs): New variable.
5038         (ucs_to_latin_viscii_lower): New variable.
5039         (Vcharset_latin_viscii_upper): New variable.
5040         (latin_viscii_upper_to_ucs): New variable.
5041         (ucs_to_latin_viscii_upper): New variable.
5042         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5043         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5044         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5045         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5046         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5047         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5048         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5049         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5050         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5051         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5052
5053         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5054         (Vcharset_latin_viscii_upper): New variable.
5055         (make_byte_from_character_table): New function.
5056         (put_byte_from_character_table): New function.
5057         (get_byte_from_character_table): New function.
5058         (CHAR96): New macro.
5059         (ucs_to_latin_jisx0201): New variable.
5060         (latin_jisx0201_to_ucs): New variable.
5061         (ucs_to_latin_iso8859_2): New variable.
5062         (latin_iso8859_2_to_ucs): New variable.
5063         (ucs_to_latin_iso8859_3): New variable.
5064         (latin_iso8859_3_to_ucs): New variable.
5065         (ucs_to_latin_iso8859_4): New variable.
5066         (latin_iso8859_4_to_ucs): New variable.
5067         (ucs_to_latin_iso8859_9): New variable.
5068         (latin_iso8859_9_to_ucs): New variable.
5069         (ucs_to_latin_viscii_lower): New variable.
5070         (latin_viscii_lower_to_ucs): New variable.
5071         (ucs_to_latin_viscii_upper): New variable.
5072         (latin_viscii_upper_to_ucs): New variable.
5073         (ucs_to_latin_tcvn5712): New variable.
5074         (latin_tcvn5712_to_ucs): New variable.
5075         (Qlatin_viscii_lower): New variable.
5076         (Qlatin_viscii_upper): New variable.
5077         (syms_of_mule_charset): Set up new symbol
5078         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5079         (complex_vars_of_mule_charset): Set up new charset
5080         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5081         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5082         `ucs_to_<CHARSET>' tables.
5083
5084 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5085
5086         * text-coding.c: New file.
5087
5088 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5089
5090         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5091
5092         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5093         (MAKE_CHAR): Modify for `ucs-bmp'.
5094         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5095         non-MULE characters of BMP.
5096
5097 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5098
5099         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5100         to 0.6.
5101
5102 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5103
5104         * lstream.h:
5105         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5106         - Include character.h for `CHAR_ASCII_P'.
5107
5108         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5109
5110         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5111         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5112
5113         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.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         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5123         (BYTE_C0_P): Likewise.
5124         (BYTE_C1_P): Likewise.
5125         (Lstream_get_emchar_1): Likewise.
5126         (Lstream_fput_emchar): Likewise.
5127         (Lstream_funget_emchar): Likewise.
5128         (copy_internal_to_external): Likewise.
5129         (copy_external_to_internal): Likewise.
5130
5131         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5132         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5133
5134         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5135         (BYTE_ASCII_P): Moved to mb-1byte.h.
5136
5137 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5138
5139         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5140
5141         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5142         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5143         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5144         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5145         (VALIDATE_CHARPTR_FORWARD): Likewise.
5146         (simple_charptr_emchar): Moved to mb-multibyte.h.
5147         (simple_set_charptr_emchar): Likewise.
5148         (simple_charptr_copy_char): Likewise.
5149         (non_ascii_charptr_emchar): Likewise.
5150         (non_ascii_set_charptr_emchar): Likewise.
5151         (non_ascii_charptr_copy_char): Likewise.
5152         (charptr_emchar): Moved to mb-*byte.h.
5153         (set_charptr_emchar): Likewise.
5154         (charptr_copy_char): Likewise.
5155
5156         * mb-1byte.h, mb-multibyte.h: New files.
5157
5158 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5159
5160         * mb-utf-8.h (MULTIBYTE): New macro.
5161         (MAX_EMCHAR_LEN): Moved from buffer.h.
5162         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5163
5164         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5165
5166         * mb-lb.h, multibyte.h: New files.
5167
5168         * char-1byte.h (Charset_ID): Moved from buffer.h.
5169         (MIN_LEADING_BYTE): Likewise.
5170         (LEADING_BYTE_ASCII): Likewise.
5171         (NUM_LEADING_BYTES): Likewise.
5172         (CHARSETP): Likewise.
5173         (CHARSET_BY_LEADING_BYTE): Likewise.
5174         (XCHARSET_LEADING_BYTE): Likewise.
5175         (XCHARSET_GRAPHIC): Likewise.
5176         (XCHARSET_COLUMNS): Likewise.
5177         (XCHARSET_DIMENSION): Likewise.
5178         (CHAR_CHARSET): Likewise.
5179         (CHAR_LEADING_BYTE): Likewise.
5180         (BREAKUP_CHAR): Likewise.
5181         (Vcharset_ascii): Likewise.
5182
5183         * buffer.h: Include multibyte.h unconditionally.
5184         (VALID_CHARPTR_P): Moved to multibyte.h.
5185         (ASSERT_VALID_CHARPTR): Likewise.
5186         (REAL_INC_CHARPTR): Likewise.
5187         (REAL_INC_CHARBYTIND): Likewise.
5188         (REAL_DEC_CHARPTR): Likewise.
5189         (INC_CHARPTR): Likewise.
5190         (INC_CHARBYTIND): Likewise.
5191         (DEC_CHARPTR): Likewise.
5192         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5193         (VALIDATE_CHARPTR_FORWARD): Likewise.
5194         (charptr_n_addr): Likewise.
5195         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5196         (simple_charptr_emchar): Moved to multibyte.h.
5197         (simple_set_charptr_emchar): Likewise.
5198         (simple_charptr_copy_char): Likewise.
5199         (non_ascii_charptr_emchar): Likewise.
5200         (non_ascii_set_charptr_emchar): Likewise.
5201         (non_ascii_charptr_copy_char): Likewise.
5202         (charptr_emchar): Likewise.
5203         (set_charptr_emchar): Likewise.
5204         (charptr_copy_char): Likewise.
5205         (charptr_emchar_n): Likewise.
5206         (Charset_ID): Moved to char-1byte.h.
5207         (Vcharset_ascii): Likewise.
5208         (CHAR_CHARSET): Likewise.
5209         (CHAR_LEADING_BYTE): Likewise.
5210         (LEADING_BYTE_ASCII): Likewise.
5211         (NUM_LEADING_BYTES): Likewise.
5212         (MIN_LEADING_BYTE): Likewise.
5213         (CHARSETP): Likewise.
5214         (CHARSET_BY_LEADING_BYTE): Likewise.
5215         (XCHARSET_LEADING_BYTE): Likewise.
5216         (XCHARSET_GRAPHIC): Likewise.
5217         (XCHARSET_COLUMNS): Likewise.
5218         (XCHARSET_DIMENSION): Likewise.
5219         (BREAKUP_CHAR): Likewise.
5220
5221 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5222
5223         * character.h: Add document about interface for characters.
5224
5225         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5226         (MAKE_CHAR): Delete comment about
5227         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5228         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5229         (BREAKUP_CHAR): Modify name of arguments.
5230         (CHAR_CHARSET): Modify name of argument.
5231
5232         * buffer.h: Delete document about Emchar accessors.
5233
5234 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5235
5236         * character.h (CHAR_INTP): Moved from buffer.h
5237         (CHAR_OR_CHAR_INTP): Likewise.
5238         (XCHAR_OR_CHAR_INT): Likewise.
5239         (CHECK_CHAR_COERCE_INT): Likewise.
5240
5241         * buffer.h (CHAR_INTP): Moved to character.h
5242         (CHAR_OR_CHAR_INTP): Likewise.
5243         (XCHAR_OR_CHAR_INT): Likewise.
5244         (CHECK_CHAR_COERCE_INT): Likewise.
5245
5246 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5247
5248         * character.h:
5249         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5250         - Include char-1byte.h, char-lb.h or char-ucs.h.
5251
5252         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5253
5254         * buffer.h: Include character unconditionally.
5255         (valid_char_p): Moved to char-*.h.
5256         (non_ascii_valid_char_p): Moved to char-lb.h.
5257
5258         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5259
5260 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5261
5262         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5263         in UTF-2000 because it is not ported yet and not to use
5264         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5265         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5266         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5267
5268         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5269         (CHAR_ASCII_P): Moved from character.h.
5270
5271         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5272         (CHAR_ASCII_P): Likewise.
5273         (CHAR_FIELD1_MASK): Deleted.
5274         (CHAR_FIELD2_MASK): Deleted.
5275         (CHAR_FIELD3_MASK): Deleted.
5276         (MAX_CHAR_BASIC_LATIN): New macro.
5277         (CHAR_FIELD1): Deleted.
5278         (CHAR_FIELD2_INTERNAL): Deleted.
5279         (CHAR_FIELD3_INTERNAL): Deleted.
5280         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5281         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5282         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5283         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5284         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5285         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5286         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5287         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5288         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5289         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5290         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5291         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5292         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5293         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5294         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5295         (MIN_CHAR_COMPOSITION): Deleted.
5296         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5297         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5298
5299 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5300
5301         * buffer.h: Include mb-utf-8.h in UTF-2000.
5302
5303         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5304
5305         * mb-utf-8.h: New file.
5306
5307 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5308
5309         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5310         instead of `int'.
5311
5312         * mule-charset.h, buffer.h (Charset_ID): New type.
5313
5314 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5315
5316         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5317         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5318         instead of `MULE_CHAR_PRIVATE_OFFSET',
5319         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5320         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5321         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5322
5323         * character.h (Vcharset_japanese_jisx0212): New variable
5324         definition.
5325
5326 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5327
5328         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5329         (charset_by_attributes): Delete array about direction.
5330         (latin_a_char_to_charset): New variable in UTF-2000.
5331         (latin_a_char_to_byte1): New variable in UTF-2000.
5332         (latin_a_char_to_byte2): New variable in UTF-2000.
5333         (Qucs_bmp): New variable.
5334         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5335         `Bufbyte'.
5336         (next_allocated_2_byte_leading_byte): Likewise.
5337         (non_ascii_set_charptr_emchar): Likewise.
5338         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5339         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5340         `charset_by_attributes'.
5341         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5342         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5343         and `CHARSET_BY_LEADING_BYTE'.
5344         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5345         `utf-2000-version' to `vars_of_mule_charset'.
5346         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5347         define `leading-code-private-11' in UTF-2000; move setting of
5348         `utf-2000-version' from `syms_of_mule_charset'.
5349         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5350         UTF-2000.
5351
5352         * character.h (Charset_ID): New type.
5353         (LEADING_BYTE_UCS_BMP): New macro.
5354         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5355         (CHARSET_ID_OFFSET_94): New macro.
5356         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5357         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5358         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5359         final-byte.
5360         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5361         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5362         (CHARSET_ID_OFFSET_96): New macro.
5363         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5364         CHARSET_ID_OFFSET_96 and final-byte.
5365         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5366         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5367         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5368         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5369         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5370         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5371         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5372         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5373         (LEADING_BYTE_THAI_TIS620): Likewise.
5374         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5375         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5376         (CHARSET_ID_OFFSET_94x94): New macro.
5377         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5378         CHARSET_ID_OFFSET_94x94 and final-byte.
5379         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5380         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5381         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5382         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5383         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5384         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5385         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5386         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5387         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5388         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5389         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5390         (CHARSET_TYPE_128X128): New macro.
5391         (CHARSET_TYPE_256X256): New macro.
5392         (XCHARSET_PRIVATE_P): Delete unconditionally.
5393         (charset_by_attributes): Delete array about direction.
5394         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5395         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5396         (MIN_CHAR_94): New macro.
5397         (MAX_CHAR_94): New macro.
5398         (MIN_CHAR_96): New macro.
5399         (MAX_CHAR_96): New macro.
5400         (MIN_CHAR_94x94): New macro.
5401         (MAX_CHAR_94x94): New macro.
5402         (MIN_CHAR_96x96): New macro.
5403         (MAX_CHAR_96x96): New macro.
5404         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5405         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5406         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5407         - 32)'.
5408         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5409         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5410         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5411         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5412         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5413         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5414         `XCHARSET_LEADING_BYTE' to make code-point.
5415         (latin_a_char_to_charset): New variable.
5416         (latin_a_char_to_byte1): New variable.
5417         (latin_a_char_to_byte2): New variable.
5418         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5419         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5420         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5421
5422         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5423         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5424         (find_charsets_in_emchar_string): Likewise.
5425         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5426
5427         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5428         `int'.
5429         (decode_coding_iso2022): Likewise.
5430
5431         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5432         of `unsigned char'.
5433
5434         * redisplay.c (redisplay_text_width_emchar_string): Use
5435         `Charset_ID' instead of `unsigned char'.
5436         (redisplay_frame_text_width_string): Likewise.
5437
5438         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5439         `unsigned char'.
5440
5441         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5442         instead of `unsigned char'.
5443         (face_cachel_charset_font_metric_info): Likewise.
5444
5445         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5446         (get_non_ascii_char_table_value): Likewise.
5447         (get_char_table): Likewise.
5448         (put_char_table): Likewise.
5449         (map_over_other_charset): Likewise.
5450         (map_char_table): Likewise.
5451
5452         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5453         instead of `unsigned char'.
5454
5455 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5456
5457         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5458         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5459
5460         * mule-charset.c (leading_code_private_11): Don't define in
5461         UTF-2000.
5462
5463         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5464         in UTF-2000 because it is not ported yet and not to use
5465         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5466
5467 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5468
5469         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5470
5471 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5472
5473         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5474         in UTF-2000.
5475
5476         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5477         of unsigned char to store leading-byte.
5478
5479         * chartab.c (get_non_ascii_char_table_value): Don't use
5480         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5481
5482         * file-coding.c (encode_coding_big5): Delete bogus implementation
5483         in UTF2000.
5484
5485         * character.h (LEADING_BYTE_*): Delete definition for
5486         non-UTF-2000.
5487         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5488         (LEADING_BYTE_PREFIX_P): Deleted.
5489         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5490         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5491         (BUFBYTE_LEADING_BYTE_P): Deleted.
5492         (CHARSET_PRIVATE_P): Deleted unconditionally.
5493         (rep_bytes_by_first_byte): Deleted unconditionally.
5494         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5495         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5496         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5497         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5498         (CHAR_FIELD2): Deleted.
5499         (CHAR_FIELD3): Deleted.
5500         (MAKE_CHAR): Delete definition for non-UTF-2000.
5501         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5502         (breakup_char_1): New implementation.
5503         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5504         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5505
5506 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5507
5508         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5509         condition.
5510
5511 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5512
5513         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5514         (CHARSET_PRIVATE_P): Likewise.
5515         (XCHARSET_PRIVATE_P): Likewise.
5516         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5517
5518         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5519         UTF2000.
5520         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5521
5522 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5523
5524         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5525         (NUM_LEADING_BYTES): Changed from 128 to 256.
5526         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5527         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5528         UTF2000.
5529         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5530
5531         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5532         UTF2000.
5533         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5534         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5535         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5536         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5537         (Qchinese_cns11643_3): New variable in UTF2000.
5538         (Qchinese_cns11643_4): New variable in UTF2000.
5539         (Qchinese_cns11643_5): New variable in UTF2000.
5540         (Qchinese_cns11643_6): New variable in UTF2000.
5541         (Qchinese_cns11643_7): New variable in UTF2000.
5542         (syms_of_mule_charset): Define `chinese-cns11643-3',
5543         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5544         and `chinese-cns11643-7' in UTF2000.
5545         (vars_of_mule_charset): Initialize
5546         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5547         + 1 in UTF2000.
5548         (complex_vars_of_mule_charset): Setup charset
5549         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5550         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5551
5552 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5553
5554         * mule-charset.c: Move setting for `leading-code-private-11' from
5555         `syms_of_mule_charset' to `vars_of_mule_charset'.
5556
5557 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5558
5559         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5560         and `NUM_LEADING_BYTES' in assert.
5561
5562 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5563
5564         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5565         instead of 128.
5566         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5567         `NUM_LEADING_BYTES' instead of 128.
5568
5569 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5570
5571         * mule-charset.h (charset_by_leading_byte): Use
5572         `NUM_LEADING_BYTES' instead of 128.
5573         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5574
5575         * mule-charset.c (charset_by_leading_byte): Use
5576         `NUM_LEADING_BYTES' instead of 128.
5577         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5578
5579         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5580         128.
5581
5582 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5583
5584         * mule-charset.c (syms_of_mule_charset): Update to
5585         0.4 (Shin-Imamiya).
5586
5587 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5588
5589         * file-coding.c (encode_coding_sjis): New implementation for
5590         UTF2000.  (decode_coding_sjis): Ditto.
5591
5592 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5593
5594         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5595         Don't define in UTF2000.
5596
5597         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5598         defined.
5599
5600         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5601         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5602         MULE.
5603
5604 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5605
5606         * config.h.in (CHAR_IS_UCS4): New macro.
5607
5608         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5609         conventional MULE representation.
5610         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5611
5612         * mule-charset.h: Reverted to original.
5613
5614         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5615         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5616         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5617
5618         * character.h: New file.
5619
5620         * file-coding.c (Fmake_coding_system): Set 1 to
5621         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5622         defined.
5623         (encode_coding_no_conversion): New implementation for UTF2000.
5624
5625         * file-coding.h (struct Lisp_Coding_System): Add new member
5626         `fixed.size'.
5627
5628 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5629
5630         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5631         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5632         (encode_coding_iso2022): New implementation for UTF2000.
5633
5634 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5635
5636         * mule-canna.c (c2mu): New implementation for UTF2000.
5637         (m2c): Likewise.
5638
5639 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5640
5641         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5642
5643 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5644
5645         * file-coding.c (reset_encoding_stream): Set 0 to
5646         `str->iso2022.current_char_boundary' in UTF2000.
5647         (encode_utf8): Don't define in UTF2000.
5648         (encode_coding_utf8): New implementation for UTF-8 representation
5649         of UTF2000.
5650         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5651
5652 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5653
5654         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5655
5656         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5657         UTF2000.
5658         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5659
5660         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5661
5662         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5663         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5664         as UTF-8 in UTF2000.
5665         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5666         (non_ascii_valid_char_p): Don't define in UTF2000.
5667         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5668         (Lstream_get_emchar_1): Likewise.
5669         (utf-2000-version): New variable in UTF2000.
5670
5671         * lread.c (read_escape): Add new reader `u'.
5672
5673         * insdel.c (three_to_one_table): Don't define in UTF2000.
5674         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5675         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5676         UTF2000.
5677         (bytind_to_bufpos_func): Likewise.
5678         (buffer_mule_signal_inserted_region): Likewise.
5679         (vars_of_insdel): Don't initialize `three_to_one_table'.
5680         (init_buffer_text): Use `buf->text->mule_size' instead of
5681         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5682         UTF2000.
5683
5684         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5685         UTF-8 representation in UTF2000.
5686         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5687         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5688         (decode_coding_iso2022): Don't define local variable `lb' in
5689         UTF2000; don't use LEADING_BYTE in UTF2000; use
5690         `DECODE_ADD_UCS_CHAR' in UTF2000.
5691         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5692
5693         * config.h.in (UTF2000): New macro.
5694
5695         * buffer.h (struct buffer_text): Add new member `mule_size' and
5696         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5697         (valid_char_p): Return always 1 in UTF2000.
5698         (MAX_EMCHAR_LEN): 6 in UTF2000.
5699         (three_to_one_table): Don't define in UTF2000.
5700         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5701         UTF2000.
5702         (real_bytind_to_bufpos): Likewise.
5703
5704         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5705
5706 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5707
5708         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5709         representation change.
5710         (Vutf_2000_version): New variable.
5711         (leading_code_private_11): New variable.
5712         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5713         `leading-code-private-11'.
5714
5715         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5716         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5717         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5718         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5719         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5720         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5721         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5722         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5723         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5724         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5725         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5726         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5727         (MIN_CHAR_GREEK): New macro.
5728         (MAX_CHAR_GREEK): New macro.
5729         (MIN_CHAR_CYRILLIC): New macro.
5730         (MAX_CHAR_CYRILLIC): New macro.
5731         (MIN_CHAR_HEBREW): New macro.
5732         (MAX_CHAR_HEBREW): New macro.
5733         (MIN_CHAR_THAI): New macro.
5734         (MAX_CHAR_THAI): New macro.
5735         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5736         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5737         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5738         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5739         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5740         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5741         (CHAR_FIELD2): New inline function.
5742         (CHAR_FIELD3): New inline function.
5743         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5744         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5745         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5746         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5747         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5748         (MIN_CHAR_COMPOSITION): Likewise.
5749         (CHAR_LEADING_BYTE): Modified for character representation change.
5750         (MAKE_CHAR): Likewise.
5751
5752         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5753         (Vcharset_greek_iso8859_7): Likewise.
5754         (Vcharset_cyrillic_iso8859_5): Likewise.
5755         (Vcharset_hebrew_iso8859_8): Likewise.
5756         (Vcharset_thai_tis620): Likewise.
5757         (Vcharset_katakana_jisx0201): Likewise.
5758
5759 2005-02-06  Vin Shelton <acs@xemacs.org>
5760
5761         * XEmacs 21.4.17 is released
5762
5763 2005-01-31  Ben Wing  <ben@xemacs.org>
5764
5765         * emacs.c:
5766         Define assert_failed() always.
5767         * lisp.h:
5768         Always define ABORT().
5769
5770 2005-01-25  Ben Wing  <ben@xemacs.org>
5771
5772         * Makefile.in.in:
5773         * Makefile.in.in (%.o):
5774         Don't compile executable as Windows (-mwindows) under Cygwin.
5775         Semi-recent changes to Cygwin's executable-startup handling make
5776         it impossible to access the TTY this way.
5777
5778         Don't use special linker file under Cygwin (cygwin.sc) except
5779         when non-PDUMP (even in this case it is highly questionable); you
5780         get errors like
5781
5782       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
5783    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
5784
5785 2005-01-29  Ben Wing  <ben@xemacs.org>
5786
5787         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5788
5789         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
5790
5791 2005-01-29  Ben Wing  <ben@xemacs.org>
5792
5793         * bytecode.c (optimize_compiled_function):
5794         * print.c (FROB):
5795         * print.c (long_to_string):
5796         Add casts to avoid warning.
5797         
5798         * glyphs-eimage.c:
5799         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
5800         #### The better solution is to move the TIFF and JPEG code to
5801         different files.
5802         
5803         * glyphs-msw.c (mswindows_xbm_instantiate):
5804         Define __STDC__ to avoid problems with compface.h.
5805         
5806         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
5807         * EmacsShell-sub.c:
5808         * EmacsShell-sub.c (ABORT):
5809         * EmacsShell-sub.c (SuperClassRootGeometryManager):
5810         * EmacsShell-sub.c (RootGeometryManager):
5811         * EmacsShell.c:
5812         * EmacsShell.c (ABORT):
5813         * EmacsShell.c (EmacsShellUpdateSizeHints):
5814         * alloc.c (free_lcrecord):
5815         * alloca.c (i00afunc):
5816         * buffer.c (delete_from_buffer_alist):
5817         * buffer.c (MARKED_SLOT):
5818         * bytecode.c (execute_rare_opcode):
5819         * bytecode.c (optimize_byte_code):
5820         * bytecode.c (Ffetch_bytecode):
5821         * chartab.c (char_table_type_to_symbol):
5822         * chartab.c (Freset_char_table):
5823         * chartab.c (decode_char_table_range):
5824         * chartab.c (Fget_range_char_table):
5825         * chartab.c (check_valid_char_table_value):
5826         * chartab.c (map_char_table):
5827         * chartab.c (slow_map_char_table_fun):
5828         * chartab.c (chartab_instantiate):
5829         * cm.c (cmcheckmagic):
5830         * console-msw.c (DHEADER):
5831         * console.c (MARKED_SLOT):
5832         * data.c (finish_marking_weak_lists):
5833         * data.c (encode_weak_list_type):
5834         * debug.h (DASSERT):
5835         * device-gtk.c (gtk_init_device):
5836         * device-msw.c (mswindows_get_default_margin):
5837         * device-tty.c (tty_init_device):
5838         * device-x.c (get_device_from_display):
5839         * device-x.c (x_get_visual_depth):
5840         * doprnt.c (parse_doprnt_spec):
5841         * doprnt.c (get_doprnt_args):
5842         * dumper.c (pdump_get_indirect_count):
5843         * dumper.c (pdump_register_sub):
5844         * dumper.c (pdump_register_object):
5845         * dumper.c (pdump_register_struct):
5846         * dumper.c (pdump_dump_data):
5847         * dumper.c (pdump_reloc_one):
5848         * elhash.c (print_hash_table):
5849         * elhash.c (make_standard_lisp_hash_table):
5850         * elhash.c (hash_table_instantiate):
5851         * emacs.c:
5852         * emacs.c (Fforce_debugging_signal):
5853         * emacs.c (sort_args):
5854         * emacs.c (main):
5855         * emacs.c (assert_failed):
5856         * eval.c (throw_or_bomb_out):
5857         * eval.c (signal_1):
5858         * eval.c (Fsignal):
5859         * event-Xt.c:
5860         * event-Xt.c (emacs_Xt_mapping_action):
5861         * event-Xt.c (Xt_process_to_emacs_event):
5862         * event-msw.c:
5863         * event-stream.c (check_event_stream_ok):
5864         * event-stream.c (Fadd_timeout):
5865         * event-stream.c (Fadd_async_timeout):
5866         * event-stream.c (Fdiscard_input):
5867         * event-stream.c (execute_internal_event):
5868         * event-stream.c (Frecent_keys):
5869         * event-stream.c (extract_this_command_keys_nth_mouse_event):
5870         * event-stream.c (lookup_command_event):
5871         * event-unixoid.c (poll_fds_for_input):
5872         * events.c:
5873         * events.c (mark_event):
5874         * events.c (event_equal):
5875         * events.c (event_hash):
5876         * events.c (Fmake_event):
5877         * events.c (Fdeallocate_event):
5878         * events.c (event_chain_find_previous):
5879         * events.c (event_to_character):
5880         * events.c (format_event_object):
5881         * events.c (Fevent_type):
5882         * events.c (event_pixel_translation):
5883         * events.c (Fevent_properties):
5884         * extents.c (extent_in_region_p):
5885         * extents.c (print_extent):
5886         * extents.c (process_extents_for_insertion_mapper):
5887         * extents.c (report_extent_modification_mapper):
5888         * extents.c (glyph_layout_to_symbol):
5889         * faces.c (face_validate):
5890         * file-coding.c (eol_type_to_symbol):
5891         * file-coding.c (subsidiary_coding_system):
5892         * file-coding.c (Fcoding_system_type):
5893         * file-coding.c (Fcoding_system_property):
5894         * file-coding.c (mule_decode):
5895         * file-coding.c (mule_encode):
5896         * file-coding.c (encode_coding_ucs4):
5897         * file-coding.c (encode_coding_utf8):
5898         * file-coding.c (parse_iso2022_esc):
5899         * file-coding.c (encode_coding_iso2022):
5900         * fileio.c:
5901         * fns.c (concat):
5902         * fns.c (Fsubseq):
5903         * fns.c (mapcar1):
5904         * fns.c (Fbase64_encode_region):
5905         * fns.c (Fbase64_encode_string):
5906         * fns.c (Fbase64_decode_region):
5907         * fns.c (Fbase64_decode_string):
5908         * font-lock.c (find_context):
5909         * font-lock.c (context_to_symbol):
5910         * frame-gtk.c (gtk_set_frame_pointer):
5911         * frame-gtk.c (gtk_update_frame_external_traits):
5912         * frame-x.c (x_wm_mark_shell_size_user_specified):
5913         * frame-x.c (x_wm_mark_shell_position_user_specified):
5914         * frame-x.c (x_wm_set_shell_iconic_p):
5915         * frame-x.c (x_wm_set_cell_size):
5916         * frame-x.c (x_wm_set_variable_size):
5917         * frame-x.c (x_wm_store_class_hints):
5918         * frame-x.c (x_wm_maybe_store_wm_command):
5919         * frame-x.c (x_initialize_frame_size):
5920         * frame-x.c (x_update_frame_external_traits):
5921         * frame.c:
5922         * frame.c (delete_frame_internal):
5923         * frame.c (mouse_pixel_position_1):
5924         * frame.c (change_frame_size_1):
5925         * free-hook.c (check_free):
5926         * free-hook.c (check_realloc):
5927         * free-hook.c (note_block_input):
5928         * free-hook.c (log_gcpro):
5929         * gccache-gtk.c (gc_cache_lookup):
5930         * glyphs-eimage.c (tiff_memory_write):
5931         * glyphs-gtk.c (gtk_finalize_image_instance):
5932         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
5933         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
5934         * glyphs-gtk.c (gtk_xpm_instantiate):
5935         * glyphs-gtk.c (gtk_unmap_subwindow):
5936         * glyphs-gtk.c (gtk_map_subwindow):
5937         * glyphs-gtk.c (gtk_button_redisplay):
5938         * glyphs-msw.c:
5939         * glyphs-msw.c (init_image_instance_from_xbm_inline):
5940         * glyphs-x.c (init_image_instance_from_xbm_inline):
5941         * glyphs-x.c (extract_xpm_color_names):
5942         * glyphs-x.c (x_xpm_instantiate):
5943         * glyphs.c (get_image_instantiator_governing_domain):
5944         * glyphs.c (print_image_instance):
5945         * glyphs.c (image_instance_equal):
5946         * glyphs.c (image_instance_hash):
5947         * glyphs.c (encode_image_instance_type):
5948         * glyphs.c (make_image_instance_1):
5949         * glyphs.c (inherit_instantiate):
5950         * glyphs.c (image_instantiate):
5951         * glyphs.c (allocate_glyph):
5952         * glyphs.c (Fglyph_type):
5953         * glyphs.c (redisplay_subwindow):
5954         * glyphs.c (display_table_entry):
5955         * gtk-glue.c (xemacs_list_to_gtklist):
5956         * gtk-glue.c (xemacs_gtklist_to_list):
5957         * gtk-glue.c (xemacs_list_to_array):
5958         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
5959         * gutter.c (gutter_was_visible):
5960         * gutter.c (get_gutter_coords):
5961         * input-method-xlib.c (get_XIM_input):
5962         * insdel.c (bufpos_to_bytind_func):
5963         * insdel.c (bytind_to_bufpos_func):
5964         * insdel.c (move_gap):
5965         * intl.c (x_get_composed_input):
5966         * keymap.c (keymap_lookup_directly):
5967         * keymap.c (keymap_delete_inverse_internal):
5968         * keymap.c (ensure_meta_prefix_char_keymapp):
5969         * keymap.c (accessible_keymaps_mapper_1):
5970         * keymap.c (where_is_recursive_mapper):
5971         * lisp.h:
5972         * lisp.h (ABORT):
5973         * lread.c (read_atom):
5974         * lstream.c (Lstream_delete):
5975         * lstream.c (make_lisp_buffer_stream_1):
5976         * macros.c (pop_kbd_macro_event):
5977         * malloc.c (malloc):
5978         * malloc.c (free):
5979         * marker.c (bi_marker_position):
5980         * marker.c (set_bi_marker_position):
5981         * menubar-gtk.c (menu_descriptor_to_widget_1):
5982         * menubar-msw.c (prune_menubar):
5983         * menubar-x.c (set_frame_menubar):
5984         * mule-charset.c (get_unallocated_leading_byte):
5985         * mule-charset.h (CHAR_LEADING_BYTE):
5986         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
5987         * nt.c (init_environment):
5988         * nt.c (generate_inode_val):
5989         * ntproc.c (delete_child):
5990         * ntproc.c (_sys_read_ahead):
5991         * ntproc.c (create_child):
5992         * objects.c (color_instantiate):
5993         * objects.c (font_instantiate):
5994         * objects.c (face_boolean_instantiate):
5995         * print.c (printing_major_badness):
5996         * process-nt.c (nt_send_process):
5997         * process-unix.c (unix_send_process):
5998         * process.c (get_process):
5999         * ralloc.c (obtain):
6000         * ralloc.c (relinquish):
6001         * ralloc.c (relocate_blocs):
6002         * ralloc.c (resize_bloc):
6003         * ralloc.c (r_alloc_free):
6004         * ralloc.c (r_re_alloc):
6005         * ralloc.c (r_alloc_thaw):
6006         * ralloc.c (init_ralloc):
6007         * ralloc.c (Free_Addr_Block):
6008         * ralloc.c (r_alloc):
6009         * redisplay-gtk.c (gtk_output_display_block):
6010         * redisplay-msw.c (mswindows_output_display_block):
6011         * redisplay-output.c (get_next_display_block):
6012         * redisplay-output.c (get_cursor_size_and_location):
6013         * redisplay-output.c (redisplay_output_layout):
6014         * redisplay-output.c (redisplay_clear_region):
6015         * redisplay-tty.c (tty_output_display_block):
6016         * redisplay-x.c (x_output_display_block):
6017         * redisplay.c (add_propagation_runes):
6018         * redisplay.c (add_glyph_rune):
6019         * redisplay.c (create_text_block):
6020         * redisplay.c (add_margin_runes):
6021         * redisplay.c (create_left_glyph_block):
6022         * redisplay.c (create_right_glyph_block):
6023         * redisplay.c (create_string_text_block):
6024         * redisplay.c (regenerate_window):
6025         * redisplay.c (REGEN_INC_FIND_START_END):
6026         * redisplay.c (redisplay_frame):
6027         * redisplay.c (point_in_line_start_cache):
6028         * regex.c:
6029         * regex.c (ABORT):
6030         * regex.c (re_compile_fastmap):
6031         * regex.c (re_match_2_internal):
6032         * regex.c (regerror):
6033         * scrollbar-gtk.c (gtk_scrollbar_loop):
6034         * scrollbar-gtk.c (scrollbar_cb):
6035         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6036         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6037         * scrollbar-x.c (x_update_scrollbar_instance_status):
6038         * scrollbar-x.c (x_scrollbar_loop):
6039         * scrollbar-x.c (x_update_frame_scrollbars):
6040         * search.c (search_command):
6041         * search.c (Fmatch_data):
6042         * select-x.c (motif_clipboard_cb):
6043         * signal.c (interrupt_signal):
6044         * specifier.c (specifier_add_spec):
6045         * specifier.c (specifier_instance_from_inst_list):
6046         * specifier.c (specifier_instance):
6047         * specifier.h:
6048         * specifier.h (struct specifier_methods):
6049         * strftime.c (add_num_time_t):
6050         * sunplay.c (init_device):
6051         * symbols.c (Fsetplist):
6052         * symbols.c (do_symval_forwarding):
6053         * symbols.c (store_symval_forwarding):
6054         * symbols.c (Fset):
6055         * symbols.c (Fbuilt_in_variable_type):
6056         * symbols.c (decode_magic_handler_type):
6057         * symbols.c (handler_type_from_function_symbol):
6058         * syntax.c (update_syntax_cache):
6059         * sysdep.c (init_baud_rate):
6060         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6061         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6062         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6063         * toolbar.c (get_toolbar_coords):
6064         * ui-gtk.c (build_gtk_boxed):
6065         * ui-gtk.c (describe_gtk_arg):
6066         * ui-gtk.c (gtk_type_to_lisp):
6067         * ui-gtk.c (lisp_to_gtk_type):
6068         * ui-gtk.c (lisp_to_gtk_ret_type):
6069         * ui-gtk.c (lisp_to_flag):
6070         * unexnt.c (read_in_bss):
6071         * unexnt.c (map_in_heap):
6072         * window.c (real_window):
6073         * window.c (window_display_lines):
6074         * window.c (window_display_buffer):
6075         * window.c (set_window_display_buffer):
6076         * window.c (window_modeline_height):
6077         * window.c (unshow_buffer):
6078         * window.c (window_loop):
6079         * window.c (Fget_lru_window):
6080         * window.c (Fsplit_window):
6081         * window.c (Fset_window_configuration):
6082         * window.c (saved_window_index):
6083         * xgccache.c (gc_cache_lookup):
6084         abort() -> ABORT().  Eliminate preprocessor games with abort()
6085         since it creates huge problems in VC7, solvable only by including
6086         massive amounts of files in every compile (and not worth it).
6087
6088         * sysdep.c:
6089         * sysproc.h:
6090         Inclusion of process.h does not need to be before lisp.h any more.
6091         Move later and remove comment about abort().
6092
6093 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6094
6095         * regex.c (re_match_2_internal):
6096         Correctly initialize loop which clears uninitialized registers.
6097
6098 2005-01-28  Vin Shelton  <acs@xemacs.org>
6099
6100         * sheap.c (more_static_core): Applied Ben's version of the long
6101         string patch.
6102
6103 2005-01-24  Vin Shelton  <acs@xemacs.org>
6104
6105         * sheap.c (more_static_core): Reformatted printf string so
6106         gcc-3.3.3 will compile this on Cygwin.
6107
6108 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6109
6110         * console.c (function_key_map): Reference `key-binding'.
6111
6112         * keymap.c (Vkey_translation_map): Improve docstring.
6113
6114 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6115
6116         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6117         * window.c (window_loop): [fix] Take into account
6118         `allow-deletion-of-last-visible-frame' variable.
6119         * window.c (replace-buffer-in-windows): Ditto.
6120
6121 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6122
6123         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6124
6125 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6126
6127         * event-gtk.c: Recognise AltGr as a valid modifier.
6128
6129 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6130
6131         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6132
6133 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6134
6135         Fix backreference bug caught by test suite.
6136
6137         * regex.c (regex_compile):
6138         Make backref duplicate internal register.
6139
6140 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6141
6142         Documentation, code clarification, and warning suppression.
6143         
6144         * regex.c (regex_compile):
6145         Improve comments.
6146         (re_match_2_internal):
6147         Improve comments and avoid redundant braces.  [Most of the big hunk
6148         at l. 4710 is indentation; use diff -w to see the real changes.]
6149         (alt_match_null_string_p):
6150         (common_op_match_null_string_p):
6151         Avoid shadowing global on Mac OS X 10.4, at least.
6152
6153 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6154
6155         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6156         introduced with shy groups fix).  [Already applied, probably
6157         with the second "fix shy groups" patch of 2004-10-07.] 
6158
6159 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6160
6161         From Andrey Slusar <anrays@gmail.com>:
6162
6163         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6164
6165 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6166
6167         * Makefile (RECURSIVE_MAKE): Removed.
6168         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6169         handling parallel builds.
6170
6171 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6172
6173         * Makefile.in.in: Enable support for parallel builds.
6174
6175 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6176
6177         From Andrey Slusar <anrays@gmail.com>:
6178
6179         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6180         FreeBSD version is >= 199701 _and_ < 600006.
6181
6182 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6183
6184         * scrollbar.c (compute_scrollbar_instance_usage):
6185         Only call device method compute_scrollbar_instance_usage() if it
6186         is defined.
6187
6188 2004-12-05  Vin Shelton <acs@xemacs.org>
6189
6190         * XEmacs 21.4.16 is released
6191
6192 2004-12-04  Vin Shelton  <acs@xemacs.org>
6193
6194         * depend: Regenerated.
6195
6196 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6197
6198         * regex.c (re_match_2_internal): Map internal to external
6199         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6200         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6201
6202 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6203
6204         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6205         to fix a crash.  Also, check the buffer is live and it
6206         really exists in buffer_list.  If the buffer is not in the list,
6207         prepend it.
6208
6209 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6210
6211         Fix shy groups by implementing recording of all groups for
6212         repetition and backtracking.  Backport from 21.5.
6213         
6214         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6215         external_to_internal_register, external_to_internal_register_size,
6216         and update comments for re_nsub.
6217
6218         * regex.c (re_opcode_t): Update comments.
6219         (print_compiled_pattern): Ouput external_to_internal_register,
6220         external_to_internal_register_size, and re_ngroups for debugging.
6221         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6222         (regex_compile): Update header comment.
6223         Ensure that all groups are recorded so that repeat matches and
6224         backtracking work correctly.  Comment related warning for groups >
6225         255.
6226         (re_search_2): Construct map of API indexes (which count only
6227         nonshy groups) to internal register numbers, and keep it updated.
6228
6229 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6230
6231         * frame-gtk.c (gtk_make_frame_visible):
6232         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6233         show/hide.  This is what X uses and is prevents previously hidden
6234         widgets from suddenly reappearing.
6235         * gtk-xemacs.c (gtk_xemacs_paint):
6236         * gtk-xemacs.c (gtk_xemacs_draw):
6237         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6238         drawable.
6239         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6240         size and location changes so that they can be seen before the next
6241         idle event.  Without this rapid changes to scrollbar properties
6242         are not seen.
6243
6244 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6245
6246         * console-gtk.h:
6247         * console-gtk.h (struct gtk_frame):
6248         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6249           Add hash tables track tab_control callback data.
6250           Added #defines for GTK object data names.
6251           Declaration of gtk_widget_to_frame().
6252         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6253         * frame-gtk.c (gtk_widget_to_frame): New.
6254         * frame-gtk.c (gtk_create_widgets):
6255         * frame-gtk.c (allocate_gtk_frame_struct):
6256         * frame-gtk.c (gtk_mark_frame):
6257         Manage frame callbakc hash tables.
6258         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6259         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6260         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6261         of widget size.
6262         * glyphs-gtk.c (gtk_widget_query_geometry): New
6263         * glyphs-gtk.c (gtk_register_gui_item): New
6264         * glyphs-gtk.c (gtk_add_tab_item): New
6265         * glyphs-gtk.c (gtk_tab_control_callback): New
6266         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6267         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6268         Use correct list when loading item.
6269         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6270         Register new methods.
6271         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6272         default size, for widgets.
6273         * gui-x.c:  Improved comment.
6274         * menubar-gtk.c (__generic_button_callback): Use
6275         gtk_widget_to_frame instead of __get_channel.
6276         * scrollbar-gtk.c:
6277         * ui-gtk.c: Use symbolic names for GTK object data.
6278
6279 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6280
6281         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6282
6283 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6284
6285         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6286
6287 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6288
6289         * malloc.c (morecore): siz is a long because in some architectures
6290         (eg ia-64) an int cannot hold the address range.  Additional patch
6291         from the SuSe distribution.
6292
6293 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6294
6295         * emacs.c:
6296         * malloc.c: lim_data is a long because in some architectures
6297         (eg ia-64) an int cannot hold the address range.
6298         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6299         instead of ulimit() because ulimit() always returns -1.
6300
6301 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6302
6303         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6304
6305 2004-06-11  David Kastrup  <dak@gnu.org>
6306
6307         * search.c (match_limit): Don't flag an error if match-data
6308         exceeding the allocated search_regs.num_regs gets requested, just
6309         return Qnil.
6310
6311 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6312
6313         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6314         replace symbolic color entries with the real colors specified in
6315         xpm-color-symbols, before passing the XPM to gtk.
6316         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6317         instead of a GTK specific field, so that it is used in by generic
6318         code.
6319
6320 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6321
6322        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
6323         coredump from deref of NULL ptr (ExtData)
6324
6325 2004-04-19  Jerry James  <james@xemacs.org>
6326
6327         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
6328         VALBITS to compute the location of the sign bit.
6329         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
6330         of VALBITS with EMACS_INT_MAX.
6331         * events.c (Fevent_timestamp): Ditto.
6332         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
6333         compute the halfway point to timestamp wraparound.
6334         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
6335         EMACS_INT_MIN instead of using VALBITS.
6336         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
6337         incorrect number with VALBITS.
6338         * fns.c (Frandom): Correct number of integer bits in docstring.
6339         Use INT_VALBITS instead of VALBITS to compute the denominator.
6340         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
6341         build random numbers.
6342
6343 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6344         * event-gtk.c:
6345         * event-gtk.c (gtk_event_to_emacs_event):
6346         * menubar-gtk.c:
6347         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
6348         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
6349         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
6350         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
6351         * menubar-gtk.c (__activate_menu):
6352         * menubar-gtk.c (convert_underscores):
6353         * menubar-gtk.c (remove_underscores):
6354         * menubar-gtk.c (menu_convert):
6355         * menubar-gtk.c (menu_descriptor_to_widget_1):
6356         * menubar-gtk.c (menu_descriptor_to_widget):
6357         * menubar-gtk.c (menu_can_reuse_widget):
6358         * menubar-gtk.c (menu_create_menubar):
6359         * menubar-gtk.c (gtk_popup_menu):
6360         * menubar-gtk.c (Fgtk_build_xemacs_menu):
6361         Added support for Gtk menu bar and menu item mnemonics.
6362
6363 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6364
6365         * sysdll.c: (dll_function): Added support for finding symbols in
6366         Darwin shared libraries as well in Darwin bundles.
6367         * sysdll.c (image_for_address): New
6368         * sysdll.c (my_find_image): New
6369         * sysdll.c (search_linked_libs): New
6370
6371 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6372
6373         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
6374         return to GTK requires a different API to marshalling data to use
6375         as GTK parameters.
6376         * ui-gtk.c (lisp_to_gtk_ret_type): New.
6377
6378 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
6379
6380         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
6381
6382 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6383
6384         * glyphs.c (process_image_string_instantiator):
6385         (Fset_console_type_image_conversion_list):
6386         Stop GCC from warning about shadowing of `exp'.
6387
6388         * redisplay-x.c (x_output_string): Fix unsigned lossage.
6389
6390 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6391
6392         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
6393
6394 2004-02-03  Vin Shelton  <acs@xemacs.org>
6395
6396         * glyphs.c (image_instance_layout): Remove pointless assertion.
6397         * regex.c (regex_grow_registers): Return type is void.
6398
6399 2004-02-02  Vin Shelton <acs@xemacs.org>
6400
6401         * XEmacs 21.4.15 is released
6402
6403 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
6404
6405         * device-x.c (x_error_handler): Don't call stderr_out
6406
6407 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
6408
6409         * buffer.c (other-buffer): Clarify documentation of order of
6410         arguments for FSF Emacs.
6411
6412 2003-10-11  Olivier Galibert  <galibert@pobox.com>
6413
6414         * window.c (Fdelete_window): Dirty the mirror structure _before_
6415         marking the window deleted.
6416
6417 2003-09-15  Jerry James  <james@xemacs.org>
6418
6419         * event-msw.c (debug_mswin_messages): Conditionally compile
6420         messages missing from the Cygwin headers.
6421
6422 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
6423
6424         * data.c (eq_with_ebola_notice): Fix typo in comment.
6425         (Ftrue_list_p): Improve docstring.
6426
6427 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
6428
6429         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
6430
6431 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
6432
6433         * search.c (trivial_regexp_p): Regexps containing "\{" are
6434         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
6435         Stefan Monnier for suggesting a diagnosis.
6436
6437 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
6438
6439         * elhash.c (make-hash-table): Clarify use of :test #'equal.
6440
6441 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
6442
6443         * search.c (Fsearch_forward):
6444         (Fsearch_backward):
6445         Document negative count.
6446
6447 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
6448
6449         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
6450
6451 2003-09-13  Martin Buchholz  <martin@xemacs.org>
6452
6453         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
6454
6455 2003-09-15  Vin Shelton  <acs@xemacs.org>
6456
6457         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
6458         21.5.
6459
6460 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
6461
6462         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
6463         (re_search_2): Match the first byte of Bufbyte, not Emchar.
6464         (re_match_2_internal): Use TRANSLATE instead of
6465         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
6466         non-ASCII char case conversion.
6467
6468 2003-09-08  Mike Sperber  <mike@xemacs.org>
6469
6470         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
6471         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
6472
6473 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
6474
6475        * .gdbinit (pobj): fix printing of symbol name.
6476
6477 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
6478
6479         * frame-x.c (x_layout_widgets): When resizing is about to cause
6480         frame size slip, mark it for redisplay.
6481
6482 2003-08-18  Jerry James  <james@xemacs.org>
6483
6484         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
6485
6486 2003-09-03  Vin Shelton <acs@xemacs.org>
6487
6488         * XEmacs 21.4.14 is released
6489
6490 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
6491
6492         * config.h.in (REGEX_MALLOC): Make it configure'able.
6493
6494 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
6495
6496         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
6497         linking.
6498         * sysdll.c (dll_init):
6499         * sysdll.c (dll_open):
6500         * sysdll.c (dll_close):
6501         * sysdll.c (dll_function):
6502         * sysdll.c (dll_variable):
6503         * sysdll.c (dll_error):
6504         Add support for loading bundles using Darwin/MacOSX
6505         native API.
6506
6507 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
6508
6509         * process.c (start-process-internal): Document coding systems.
6510
6511 2003-07-30  Jerry James  <james@xemacs.org>
6512
6513         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
6514
6515 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
6516
6517         * event-msw.c (mswindows_enqueue_mouse_button_event):
6518         * event-msw.c (mswindows_wnd_proc):
6519           enqueue button event when scrollwheel event isn't handled by 
6520           mswindows_handle_mousewheel_event, such as when the scrollbars
6521           are not showing.
6522
6523 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
6524
6525         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
6526
6527 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
6528
6529         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
6530
6531 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
6532
6533         * regex.c (re_match_2_internal): Fix matching degenerate word
6534         boundaries.
6535
6536 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
6537
6538         * XEmacs 21.4.13 is released
6539
6540 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
6541
6542         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
6543         * lisp.h (<inttypes.h>):
6544         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
6545         the definition.
6546
6547 2003-03-15  Martin Buchholz  <martin@xemacs.org>
6548
6549         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
6550         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
6551         Result: "temacs can only be run in -batch mode."
6552         Fix: Check xemacs executable candidate for directory-ness.
6553
6554 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
6555
6556         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
6557           they conflict with <sys/types.h>.
6558
6559 2003-02-14  Martin Buchholz  <martin@xemacs.org>
6560
6561         * database.c: Berkeley DB wants __STDC__ to be defined.
6562
6563 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6564
6565         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
6566
6567 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6568
6569         * process-unix.c (unix_send_process): Fix C++ compile error.
6570
6571 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
6572
6573         * Added .dylib as an acceptable shared library file extension
6574         * to support MacOSX.
6575
6576 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6577
6578         * EmacsFrameP.h (EmacsFramePart):
6579         Kludge to allow compiling with Motif1, but linking with Motif2.
6580
6581 2003-01-28  Martin Buchholz  <martin@xemacs.org>
6582
6583         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
6584
6585
6586 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
6587
6588         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
6589
6590 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
6591
6592         * sysdll.c: Included lisp.h to define needed alloca_array.
6593
6594 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6595
6596         Make XEmacs redisplay 10 times faster.
6597         If, that is, you're using a slow X connection and MoveOpaque.
6598         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
6599         Use compress_motion = TRUE.
6600         * EmacsFrame.c (emacsFrameClassRec): 
6601         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
6602         * EmacsManager.c (emacsManagerClassRec):
6603         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
6604
6605 2003-01-30  Vin Shelton  <acs@xemacs.org>
6606
6607         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
6608
6609 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
6610
6611         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
6612         Patch by Martin Buchholz.
6613
6614 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
6615
6616         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
6617         Thanks to icc for warning and Martin Buchholz for reporting.
6618
6619 2003-01-29  Vin Shelton <acs@xemacs.org>
6620
6621         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
6622
6623         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
6624         remember to multiply by the element size.
6625
6626 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
6627
6628         * XEmacs 21.4.12 "Portable Code" is released.
6629
6630 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
6631
6632         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
6633         * s/cygwin.sc: new linker file.
6634
6635 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
6636
6637         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
6638
6639         * redisplay-x.c (x_output_string): Use X11-specified types.
6640         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
6641         * emacs.c (__free_hook): Use typeof with Intel compiler.
6642         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
6643
6644 2003-01-08  Andy Piper  <andy@xemacs.org>
6645
6646         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
6647         reserve size during unexec().
6648
6649 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
6650
6651         * process-unix.c (unix_create_process): Don't let outchannel block.
6652
6653 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
6654
6655         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
6656         Needed for IsBadReadPtr().
6657
6658 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
6659
6660         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
6661
6662 2002-12-14  Ben Wing  <ben@xemacs.org>
6663
6664         * callint.c: Declaration error.
6665         * dumper.c (pdump):
6666         * dumper.c (pdump_load): Warning fix.
6667         * process.c: GCPRO error.
6668         * glyphs.c (unmap_subwindow):
6669         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
6670         * event-stream.c (maybe_kbd_translate): Wrong argument to
6671         character_to_event().
6672
6673         * alloc.c (garbage_collect_1):
6674         * emacs.c:
6675         * emacs.c (debug_can_access_memory):
6676         * emacs.c (fatal_error_signal):
6677         * emacs.c (mswindows_handle_hardware_exceptions):
6678         * emacs.c (main_1):
6679         * emacs.c (main):
6680         * emacs.c (assert_failed):
6681         * emacs.c (syms_of_emacs):
6682         * lisp.h:
6683         * print.c:
6684         * print.c (std_handle_out_va):
6685         * print.c (write_string_to_stdio_stream):
6686         * print.c (write_fmt_string):
6687         * print.c (printing_badness):
6688         * print.c (printing_major_badness):
6689         * print.c (print_internal):
6690         * print.c (debug_print_no_newline):
6691         * print.c (debug_backtrace):
6692         Be more defensive in handling bad values when printing.  Add code
6693         from trunk involving inhibit_non_essential_printing_operations.
6694         When going down or in debug_print(), don't do external conversion
6695         and such and try really, really hard when printing to avoid core
6696         dumping.  Add force-debugging-signal, debug_break().
6697
6698 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
6699
6700         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
6701         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
6702
6703 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
6704
6705         * database.c: Fix open_database. Berkeley DB API has changed in
6706         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
6707
6708 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
6709
6710         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
6711
6712 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
6713
6714         * event-Xt.c (Xt_timeout):
6715         (Xt_timeout_callback):
6716         (emacs_Xt_add_timeout):
6717         (emacs_Xt_remove_timeout):
6718         (Xt_timeout_to_emacs_event):
6719         Turn completed_timeouts from a stack into a queue.  Fixes
6720         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
6721
6722 2002-11-07  Wolfram Gloger  <wg@malloc.de>
6723
6724         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
6725         * emacs.c (main): Assert that mmap'd allocation is disabled.
6726
6727 2002-10-14  Andy Piper  <andy@xemacs.org>
6728
6729         * glyphs-widget.c (layout_query_geometry): add in fiddle
6730         factor. Include border text in width layout calculation.
6731         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
6732
6733 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
6734
6735         * XEmacs 21.4.10 "Military Intelligence" is released.
6736
6737 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
6738
6739         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
6740         using the NAS private array SoundFileInfo that no longer exists in
6741         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
6742         and earlier.  This is broken for some versions between 1.5a and
6743         1.5f.
6744
6745 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
6746
6747         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
6748
6749         * emacs.c (shut_down_emacs): Improve crash message.
6750
6751 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
6752
6753         * file-coding.c (determine_real_coding_system): Check for coding
6754         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
6755         shebangs and Python PEP 263.
6756
6757 2002-10-08  Andy Piper  <andy@xemacs.org>
6758
6759         * glyphs-widget.c (layout_query_geometry): only resize dynamically
6760         if static sizes haven't been set.
6761
6762 2002-08-30  Mike Alexander  <mta@arbortext.com>
6763
6764         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
6765         to close a socket.
6766
6767 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
6768
6769         * callproc.c (child_setup): 21.4 doesn't have retry_close.
6770
6771 2002-09-20  Mike Sperber <mike@xemacs.org>
6772
6773         (This partially gets back my patch from 2002-07-20 without the
6774         bug.)
6775         * callproc.c (child_setup): Remove Ben's comment noting confusion
6776         over the file descriptors >= 3: close_process_descs() doesn't
6777         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
6778         * process-unix.c (unix_create_process): Call
6779         begin_dont_check_for_quit to inhibit unwanted interaction (and
6780         thus breaking of X event synchronicity) in the child.
6781
6782 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
6783
6784         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
6785         widget.
6786
6787 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
6788
6789         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
6790         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
6791         the xemacs process did not exit, but looped infinitely here.  This
6792         fixes that problem.
6793
6794 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6795
6796         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
6797         (find_context): Improve comments.
6798
6799         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
6800         (re_match_2): An XCHAR_TABLE operation was missing.
6801
6802         Many of the following changes were inspired by Andy Piper's (now
6803         obsolete) patch to make syntax-table text property lookup optional.
6804
6805         [Documentation]
6806
6807         * syntax.h (top level): Document semantics of syntax flags.
6808         * syntax.c (comstr_start, Fforward_comment): Improve comments.
6809         * syntax.c, syntax.h (top level): Document syntax cache better in
6810         comments.
6811
6812         [Instrument syntax caching (temporary change)]
6813
6814         * syntax.h (enum syntax_cache_statistics_functions, struct
6815         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
6816         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
6817         * syntax.c (scan_words, Fforward_comment, scan_lists,
6818         Fbackward_prefix_characters):
6819         * font-lock.c (find_context):
6820         Use them to instrument syntax caching. 
6821         * syntax.c (struct syntax_cache_statistics, scs_statistics,
6822         syntax_cache_statistics_function_names): New type and variables.
6823         * syntax.c (update_syntax_cache): Update and report statistics.
6824
6825         [Major syntax cache optimizations]
6826
6827         syntax.c (lookup_syntax_properties): Default off.
6828
6829         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
6830         * syntax.c (update_syntax_cache):
6831         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
6832
6833         [Minor syntax cache optimizations and code clarifications]
6834
6835         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
6836         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
6837         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
6838         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
6839         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
6840         (Code clarification.)
6841
6842         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
6843         scan_lists): Compute code from syncode, use Boolean macros instead
6844         of redundant masking operations.  (Code clarification; any decent
6845         compiler can do this optimization.)
6846
6847         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
6848         for clarity.
6849
6850         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
6851         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
6852         use F*_single_property_change instead of F*_extent_change.
6853         Currently F*_single_property_change is _much_ less efficient.
6854
6855         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
6856         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
6857         syntax_cache.object properly, don't leave Qt or Qnil.
6858         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
6859         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
6860         tests for Qt or Qnil.
6861
6862 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
6863
6864         * redisplay.c (point_in_line_start_cache): 
6865         * extents.c (print_extent_1):
6866         Fix warnings.
6867
6868         * extents.c (Fset_extent_property): Document `syntax-table' property.
6869
6870         * extents.h (Fnext_single_property_change): EXFUN it.
6871
6872 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6873
6874         * search.c (clear_unused_search_regs): New static function.
6875         (search_buffer): 
6876         (simple_search): 
6877         (boyer_moore):
6878         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
6879         Minor clarifications in comments.
6880
6881         * regex.c (re_match_2_internal): Ensure no stale submatches.
6882
6883 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6884
6885         * event-Xt.c (enqueue_focus_event): Add missing prototype.
6886
6887 2002-08-29  Jerry James  <james@xemacs.org>
6888
6889         * lisp.h: structrures -> structures.
6890
6891 2002-06-03  Andy Piper  <andy@xemacs.org>
6892
6893         * frame.c (frame_conversion_internal): add conversion appropriate
6894         for setting frame dimensions in pixels.
6895
6896         * console.h (struct console_methods): add device-specific widget
6897         layout functions.
6898
6899         * emacs.c (main_1): initialize glyph vars.
6900
6901         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
6902         (handle_focus_event_2): new function. Allow focus to
6903         be set to a particular window and widget.
6904         (enqueue_focus_event): new function. Create a
6905         synthetic focus event.
6906         (emacs_Xt_handle_magic_event): call
6907         handle_focus_event_2.
6908
6909         * frame.c (Fset_frame_pixel_height): new function. Allow
6910         pixel-based sizing. Does the right thing on character-oriented
6911         displays.
6912         (Fset_frame_pixel_width): ditto.
6913         (Fset_frame_pixel_size): ditto.
6914         (syms_of_frame): declare.
6915
6916         * general-slots.h: add :vertically-justify and
6917         :horizontally-justify.
6918
6919         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
6920         (mswindows_widget_border_width): new function.
6921         (mswindows_combo_box_instantiate): set border widths.
6922         (console_type_create_glyphs_mswindows): declare.
6923
6924         * glyphs-widget.c:
6925         (check_valid_justification): allow vertical and horizontal
6926         justification.
6927         (widget_border_width): new function. Call device methods.
6928         (widget_instance_border_width): ditto.
6929         (logical_unit_height): new function. Determine the height of a
6930         logical-unit. Logical units are intended to provide grid-like
6931         layout for subcontrols in a layout. If the layout is
6932         :vertically-justify top then subcontrols will be positioned on
6933         logical-unit boundaries, thus allowing adjacent subcontrols to
6934         line up.
6935         (widget_logical_unit_height): ditto for widgets.
6936         (redisplay_widget): misc cleanup.
6937         (widget_spacing): new function. Call device specific
6938         methods. Intended to be the default gap between adjacent widgets.
6939         (widget_query_geometry): use new spacing functions to determine
6940         appropriate geometry.
6941         (initialize_widget_image_instance): initialize horizontal and
6942         vertical justification.
6943         (widget_instantiate): use logica-units where appropriate for
6944         sizing large widgets.
6945         (button_query_geometry): use widget_instance_border_width.
6946         (tree_view_query_geometry): ditto.
6947         (tab_control_query_geometry): ditto.
6948         (edit_field_query_geometry): new function.
6949         (layout_update): pick up :justify, :horizontally-justify and
6950         :vertically-justify none of which worked previously. :justify is
6951         used as a fallback for both horizontal and vertical justification.
6952         (layout_query_geometry): use logical units to size appropriately.
6953         (layout_layout): ditto.
6954         (Fwidget_logical_to_character_width): new function. Allow users to
6955         convert from logical units to characters so that frame sizes can
6956         be set appropriately.
6957         (Fwidget_logical_to_character_height): ditto.
6958         (syms_of_glyphs_widget): declare.
6959         (image_instantiator_edit_fields): add edit_field_query_geometry.
6960         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
6961         :horizontally-justify.
6962         (specifier_vars_of_glyphs_widget): new function. Declare
6963         Vwidget_border_width which is not yet used.
6964
6965         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
6966         (x_widget_border_width): new function.
6967         (x_widget_instantiate): create a sensible name for widgets.
6968         (console_type_create_glyphs_x): declare x_widget_border_width.
6969
6970         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
6971         (struct Lisp_Image_Instance): add :vertically-justify and
6972         :horizontally-justify.
6973         (LAYOUT_JUSTIFY_TOP): new.
6974         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
6975         (ROUND_UP): new macro. Round argument up to next integral
6976         interval.
6977
6978         * redisplay-output.c (redisplay_output_layout): misc formatting.
6979
6980         * symsinit.h: declare specifier_vars_of_glyphs_widget.
6981
6982 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
6983
6984         * XEmacs 21.4.9 "Informed Management" is released.
6985
6986 2002-08-19  Andy Piper  <andy@xemacs.org>
6987
6988         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
6989         win32 format.
6990
6991         * realpath.c (xrealpath): normalize drive spec also so that dir
6992         sep chars are not mixed on cygwin.
6993
6994 2002-08-06  Jerry James  <james@xemacs.org>
6995
6996         * window.c (Fsplit_window): Count only half of the divider width
6997         against the left window when splitting horizontally. 
6998
6999 2002-06-24  Andy Piper  <andy@xemacs.org>
7000
7001         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7002         toolbar was cleared.
7003
7004         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7005         function. Split out from mswindows_output_frame_toolbars.
7006         (mswindows_output_frame_toolbars): move clear pieces to
7007         mswindows_output_frame_toolbars.
7008
7009         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7010         out from gtk_output_frame_toolbars.
7011         (gtk_output_frame_toolbars): move clear pieces to
7012         gtk_clear_frame_toolbars.
7013
7014         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7015         the frame is cleared. How this ever worked before is a mystery.
7016         (x_output_frame_toolbars): Only output toolbars.
7017         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7018
7019         * gutter.c (update_gutter_geometry):
7020         Mark frame layout changed.
7021         (update_frame_gutter_geometry, update_frame_gutters):
7022         Respect frame_layout_changed.
7023
7024         * console.h (struct console_methods): add
7025         clear_frame_toolbars_method.
7026
7027         * redisplay.c (redisplay_frame): call
7028         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7029
7030         * toolbar.h: declare update_frame_toolbars_geometry.
7031
7032         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7033         out from update_frame_toolbars.  Call clear_frame_toolbars.
7034         (update_frame_toolbars): only output, do not change geometry.
7035
7036         * redisplay.c: add frame_layout_changed.
7037
7038         * redisplay.h: add frame_layout_changed.
7039         (CLASS_RESET_CHANGED_FLAGS): set it.
7040         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7041         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7042         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7043
7044         * device.h (struct device): add frame_layout_changed.
7045         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7046
7047         * frame.h (struct frame): add frame_layout_changed.
7048         (MARK_FRAME_LAYOUT_CHANGED): new.
7049
7050 2002-06-30  Mike Alexander  <mta@arbortext.com>
7051
7052         * event-msw.c (mswindows_need_event): Don't wait for a new message
7053         if the queue is not empty.  Suggested by Paul Moore.
7054
7055 2002-06-12  Andy Piper  <andy@xemacs.org>
7056
7057         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7058         for printing on accurately.
7059
7060 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7061
7062         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7063         WM_ACTIVATE message. Make sure that the frame is visible if the
7064         window is visible. This seemss to fix the problem where XEmacs
7065         appears to freeze after switching desktops with certain virtual
7066         window managers.
7067         (debug_output_mswin_message): Added code to output message
7068         parameters for WM_WINDOWPOSCHANGED, 
7069         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7070
7071 2002-05-25  Andy Piper  <andy@xemacs.org>
7072
7073         * select-x.c (vars_of_select_x): Fix docstring of
7074         x-selection-strict-motif-ownership
7075
7076 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7077
7078         * keymap.c (get_keymap):
7079         Add comment about do_autoload GCPROs own args.
7080
7081 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7082
7083         * bytecode.c (execute_optimized_program): check_opcode ifdef
7084         ERROR_CHECK_BYTE_CODE.
7085
7086 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7087
7088         Thanks to Ben Wing and Michael Sperber.
7089
7090         * eval.c (Fcommand_execute):
7091         (Feval):
7092         (Ffuncall):
7093         (Fmacroexpand_internal):
7094         (function_argcount):
7095         callint.c (Fcall_interactively):
7096         Add comment about do_autoload GCPROs own args.
7097
7098         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7099
7100         * eval.c (Ffuncall): Extra braces to placate GCC.
7101
7102 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7103
7104         * backtrace.h (grow_specpdl):
7105         (SPECPDL_RESERVE):
7106         * EmacsFrame.c (EmacsFrameSetValues):
7107         * eval.c (grow_specpdl):
7108         * ExternalShell.c (hack_event_masks_1):
7109         * glyphs-x.c (convert_EImage_to_XImage): 
7110         (x_finalize_image_instance):
7111         * ralloc.c (page_size):
7112         (r_alloc_sbrk):
7113         * xgccache.c (gc_cache_hash):
7114         Fix unsigned comparison warnings.
7115
7116 2002-07-29  Jerry James  <james@xemacs.org>
7117
7118         * lread.c (locate_file): Any nonnegative return value indicates
7119         success if MODE is nonnegative.
7120
7121 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7122
7123         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7124         argument. 
7125
7126 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7127
7128         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7129
7130         * dumper.c (pdump_get_indirect_count):
7131         (pdump_scan_by_alignment):
7132         (pdump_dump_root_struct_ptrs):
7133         (pdump_dump_rtables):
7134         (pdump_dump_root_objects):
7135         (pdump):
7136         * nas.c (WaveOpenDataForReading):
7137         * fns.c (print_bit_vector):
7138         * font-lock.c (SINGLE_SYNTAX_STYLE):
7139         * glyphs.c (check_for_ignored_expose):
7140         (find_matching_subwindow):
7141         * glyphs-eimage.c:
7142         * imgproc.c (get_histogram):
7143         * redisplay.c (point_in_line_start_cache):
7144         * redisplay-output.c (redisplay_unmap_subwindows):
7145         * symbols.c (defsymbol_massage_name_1):
7146         (defkeyword_massage_name):
7147         (deferror_massage_name_and_message):
7148         * redisplay-x.c (x_output_string): 
7149         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7150         * frame.h (struct frame):
7151         * filelock.c (current_lock_owner):
7152         * doprnt.c (emacs_doprnt_1):
7153         * lisp.h (struct Lisp_Bit_Vector):
7154         (DO_REALLOC):
7155         Fix warnings.
7156
7157 2002-02-13  Ben Wing  <ben@xemacs.org>
7158
7159         * event-stream.c (reset_key_echo):
7160         * event-stream.c (reset_this_command_keys):
7161         * event-stream.c (execute_command_event):
7162         If console is dead as a result of C-x 5 0, then post-command stuff
7163         needs to be careful and do only non-console-specific stuff.
7164
7165 2002-07-01  Mike Sperber <mike@xemacs.org>
7166
7167         * process-unix.c (unix_send_process): Mark coding_outstream as
7168         non-open upon SIGPIPE.
7169
7170         * event-stream.c (Fnext_event): Reorder switch cases to something
7171         that makes sense.
7172
7173 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7174
7175         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7176         Don't bogusly reinitialize ascii_character property.
7177
7178 2002-07-08  Mike Sperber <mike@xemacs.org>
7179
7180         * process.c (Fstart_process_internal): Do error checking before we
7181         fork off the child, so the child can't muck with the state of the
7182         parent.
7183
7184 2002-07-08  Mike Sperber <mike@xemacs.org>
7185
7186         * ralloc.c (init_ralloc): Allocate properly for pdump.
7187
7188 2002-06-12  Andy Piper  <andy@xemacs.org>
7189
7190         * glyphs.c (query_string_geometry): check the string.
7191
7192         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7193         widget names.
7194
7195 2002-06-17  Jerry James  <james@xemacs.org>
7196
7197         * sysdll.c: Remove RTLD_GLOBAL initialization.
7198         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7199
7200 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7201
7202         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7203
7204 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7205
7206         * sysdep.c (sys_rename): Make sys_rename work for the case where
7207         Windows rename sets errno to EACCES if target file exists.
7208
7209 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7210
7211         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7212         Fix detection of metric units to work on Win95
7213
7214 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7215
7216         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7217
7218 2002-04-25  Andy Piper  <andy@xemacs.org>
7219
7220         * redisplay.c (create_text_block): Remove extra comment trailer.
7221
7222 2002-04-24  Andy Piper  <andy@xemacs.org>
7223
7224         * redisplay.c (create_text_block): Don't actually add propagation
7225         data if the line ends after we have added a glyph.
7226
7227 2002-04-22  Andy Piper  <andy@xemacs.org>
7228
7229         * extents.c (extent_fragment_update): check for glyphs we have
7230         previously displayed.
7231         * extents.c (print_extent_1): warning removal.
7232         * extents.h: change prototype.
7233         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7234         widths correctly for wide glyphs.
7235         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7236         * redisplay.c (prop_type): add PROP_GLYPH.
7237         * redisplay.c (struct prop_block): add glyph type
7238         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7239         to the propagation data.
7240         * redisplay.c (create_text_block): if there is a glyph in the
7241         propagation data use it to salt extent_fragment_update.
7242         * redisplay.c (create_string_text_block): ditto.
7243
7244 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7245
7246         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7247         * redisplay-output.c (compare_runes): Compare them.
7248         * redisplay.c: Update copyright date.
7249         * redisplay.c (pos_data): Add need_baseline_computation field.
7250         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7251         need_baseline_computation; zero yoffset. Set max_pixmap_height
7252         for all pixmaps, not just automatically positioned ones.
7253         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7254         * redisplay.c (calculate_baseline): New, compute textual baseline.
7255         * redisplay.c (add_glyph_rune): Call them.
7256         * redisplay.c (create_text_block): Likewise.
7257         * redisplay.c (create_overlay_glyph_block): Likewise.
7258         * redisplay.c (add_margin_runes): Likewise.
7259         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7260
7261         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7262         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7263         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7264         * redisplay-msw.c (mswindows_output_string): Likewise.
7265         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7266         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7267         * redisplay-x.c (x_output_display_block): Likewise.
7268
7269 2002-03-28  Ben Wing  <ben@xemacs.org>
7270
7271         * redisplay.c: Fixed bug in redisplay
7272         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7273         and down of the lines, since they're bigger than the line
7274         size. (It was seen most obviously when there's a horizontal scroll
7275         bar, e.g. do C-h a glyph or something like that.) The problem was
7276         that the glyph-contrib-p setting on glyphs was ignored even if it
7277         was set properly, which it wasn't until now.
7278
7279 2002-04-24  Andy Piper  <andy@xemacs.org>
7280
7281         * lisp.h (Dynarr_end): Fix definition.
7282
7283 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7284
7285         * redisplay.c (mark_redisplay): Remove call to
7286         update_frame_window_mirror.
7287
7288 2001-11-15  Andy Piper  <andy@xemacs.org>
7289
7290         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7291         cygwin (again).
7292
7293 2002-02-13  Andy Piper  <andy@xemacs.org>
7294
7295         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7296         we did in fact enqueue the XM_MAPFRAME event.
7297
7298 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7299
7300         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7301         to fix problem switching between virtual desktops under virtuawin
7302         virtual window manager.
7303
7304 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7305
7306         * event-msw.c: Typo fix.
7307         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7308         magic XM_MAPFRAME event has been sent.
7309
7310 2001-11-23  Andy Piper  <andy@xemacs.org>
7311
7312         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7313
7314 2001-11-21  Andy Piper  <andy@xemacs.org>
7315
7316         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7317         mouse events outside the frame.
7318
7319 2002-03-20  Andy Piper  <andy@xemacs.org>
7320
7321         * menubar-msw.c (mswindows_popup_menu): warning removal.
7322         * dialog-msw.c (dialog_popped_down): ditto.
7323
7324 2001-12-11  Andy Piper  <andy@xemacs.org>
7325
7326         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
7327         * dialog-msw.c (mswindows_make_dialog_box_internal): set
7328         popup_up_p.
7329         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
7330         * menubar-msw.c (mswindows_handle_wm_command): ditto.
7331         * menubar-msw.c (mswindows_popup_menu): ditto.
7332
7333 2001-10-29  Andy Piper  <andy@xemacs.org>
7334
7335         * dialog-msw.c (handle_directory_dialog_box): quit if the user
7336         cancels.
7337
7338 2002-01-03  Andy Piper  <andy@xemacs.org>
7339
7340         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
7341         letters.
7342         (xrealpath): ditto.
7343
7344 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
7345
7346         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
7347         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
7348         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7349         Detect and handle case where machine is set up for metric units
7350
7351 2002-04-02  Andy Piper  <andy@xemacs.org>
7352
7353         * dired-msw.c (mswindows_get_files): 
7354         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
7355         completely handled by XEmacs. Suggested by Thomas Vogler
7356         <mail@thomas-vogler.de>.
7357
7358 2001-11-14  Andy Piper  <andy@xemacs.org>
7359
7360         * nt.c (REG_ROOT): change registry key to XEmacs.
7361
7362 2002-04-27  Andy Piper  <andy@xemacs.org>
7363
7364         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
7365
7366 2002-04-26  Andy Piper  <andy@xemacs.org>
7367
7368         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
7369         behavior.
7370
7371 2002-03-14  Mike Alexander  <mta@arbortext.com>
7372
7373         * event-msw.c (mswindows_unwait_process): New, remove process from
7374         wait list
7375         * process-nt.c (nt_finalize_process_data): Call
7376         mswindows_unwait_process
7377         * console-msw.h: Declare mswindows_unwait_process
7378
7379 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
7380
7381         * editfns.c (Fdecode_time):
7382         (Fformat_time_string):
7383         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
7384         (make_time): Warning elimination (change arg name).
7385
7386 2001-11-24  Andy Piper  <andy@xemacs.org>
7387
7388         * window.c (Fsplit_window): Doc return type.
7389
7390 2002-04-01  Andy Piper  <andy@xemacs.org>
7391
7392         * emacs.c (Fkill_emacs): Only output message box in interactive
7393         mode.
7394
7395 2002-04-26  Andy Piper  <andy@xemacs.org>
7396  
7397         * config.h.in: pull in 21.5.x change to stop alloca warnings under
7398         cygwin.
7399
7400 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
7401
7402         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
7403         bit platform.
7404
7405 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
7406
7407         * XEmacs 21.4.8 "Honest Recruiter" is released.
7408
7409 2002-05-07  Nix  <nix@esperi.demon.co.uk>
7410
7411         Supersedes 2002-04-17 patch.
7412
7413         * process.h (PROCESS_LIVE_P): Use the process status as
7414         evidence of health, not the state of the input stream.
7415         (PROCESS_READABLE_P): Say if the process is readable
7416         from. (It may be dead nonetheless.)
7417         (CHECK_READABLE_PROCESS): Test for that condition.
7418
7419         * process.c (create_process): Use PROCESS_READABLE_P.
7420         (read_process_output, set_process_filter): Likewise.
7421
7422         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
7423         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
7424
7425         This code is #if 0'd, this is not the time to add new functions:
7426
7427         * process.c (Fprocess_readable_p): Report readability status.
7428         * process.c (Qprocess_readable_p): New, associated symbol...
7429         * process.c (syms_of_process): ... initialize it.
7430
7431 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
7432
7433         * XEmacs 21.4.7 "Economic Science" is released.
7434
7435 2002-04-17  Nix  <nix@esperi.demon.co.uk>
7436
7437         * process.h (PROCESS_LIVE_P): Use the process status as
7438         evidence of health, not the state of the input stream.
7439
7440 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
7441
7442         * sysdep.c (sys_siglist): change "signum" to "signal"
7443
7444 2001-04-21  Martin Buchholz  <martin@xemacs.org>
7445
7446         * s/darwin.h: New file.
7447         Thanks to Greg Parker <gparker@cs.stanford.edu>.
7448         
7449 2002-04-23  Andreas Jaeger  <aj@suse.de>
7450
7451         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
7452         which use lib64 for 64-bit libs.
7453         (START_FILES): Likewise.
7454
7455 2002-02-11  Mike Sperber  <mike@xemacs.org>
7456
7457         * device-x.c: 
7458         (x_IO_error_handler):
7459         (x_init_device): Temporarily keep device in static variable
7460         `device_being_initialized' so we can recover gracefully from
7461         internal XOpenDevice failure.  (XOpenDevice is documented to
7462         return NULL on failure, but sometimes calls the IO error handler
7463         instead.)
7464
7465 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
7466
7467         * dired.c (Ffile_name_all_completions): Change documentation --
7468         remove reference to completion-ignored-extensions.
7469         * dired.c (vars_of_dired): Change documentation for
7470         completion-ignored-extensions -- remove reference to
7471         file-name-all-completions.
7472
7473 2002-03-06  Jerry James  <james@xemacs.org>
7474
7475         * emodules.c (emodules_load): Fix multiple loading of same module.
7476
7477 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
7478         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
7479         RTLD_LAZY to avoid incorrect symbol binding when using nested
7480         shared libraries on Solaris.
7481
7482 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
7483
7484         * fileio.c (Ffind_file_name_handler): Improve docstring.
7485
7486 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
7487
7488         * fns.c (Fmapconcat): Improve docstring.
7489
7490 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
7491
7492         * device-gtk.c: Add prototype for
7493         emacs_gtk_selection_clear_event_handle.
7494         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
7495         selection.  Setup signal handler for "selection_clear_event"
7496         (emacs_gtk_selection_clear_event_handle).
7497
7498         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
7499         other applications owning the clipboard (based on
7500         x_handle_selection_clear).
7501
7502 2001-12-23  William M. Perry  <wmperry@gnu.org>
7503
7504         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
7505         
7506 2002-01-04  Martin Buchholz  <martin@xemacs.org>
7507
7508         * keymap.c (define_key_alternate_name): Parenthesize EQ.
7509
7510 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
7511
7512         * XEmacs 21.4.6 "Common Lisp" is released.
7513
7514 2001-12-16  Torsten Duwe  <duwe@caldera.de>
7515
7516         * search.c (Freplace_match): Add missing sub-expression functionality.
7517
7518         * buffer.c (decode_buffer): Add a check for pointer type to
7519         decode_buffer, before gcc's CSE optimization reorders a
7520         dereference in front of the allow_string test.
7521
7522 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
7523
7524         * window.c (window_loop): Fix bug that sometimes prevented
7525         window_loop() from iterating across multiple devices.  Also, at
7526         Ben's request, changed infloop-detecting code to abort() instead
7527         of silently terminating window_loop().
7528
7529 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
7530
7531         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
7532         * editfns.c (make_time): New function.
7533         (Fencode_time): Use it instead of wasteful_word_to_lisp.
7534         * lisp.h (make_time): Prototype and comment it.
7535         * dired.c (wasteful_word_to_lisp): Deprecate.
7536         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
7537
7538 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
7539
7540         * fileio.c (auto_save_1): Use current coding system, not
7541         escape-quoted.
7542
7543 2001-11-13  Ben Wing  <ben@xemacs.org>
7544
7545         * window.c:
7546         * window.c (window_truncation_on):
7547         * window.c (syms_of_window):
7548         truncate-partial-width-windows should respect the buffer being
7549         displayed, like other redisplay vars.
7550
7551 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
7552
7553         * event-stream.c (Fread_key_sequence): save current buffer.
7554
7555 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7556
7557         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
7558
7559 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7560
7561         * alloc.c (lcrecord_stats): Add space for types defined in modules.
7562
7563 2001-10-26  Mike Alexander  <mta@arbortext.com>
7564
7565         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
7566
7567 2001-10-25  Andy Piper  <andy@xemacs.org>
7568
7569         * ChangeLog:
7570         * dialog-msw.c (handle_directory_proc): new function.
7571          (handle_directory_dialog_box): new fucntion.
7572          (handle_file_dialog_box): use new directory dialog support.
7573          (mswindows_make_dialog_box_internal): ditto.
7574         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
7575         handling.
7576         (mswindows_find_frame): make global.
7577         * fileio.c (Fexpand_file_name): build fix.
7578         * general-slots.h: add Qdirectory.
7579         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
7580         handling.
7581         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
7582         cygwin not leaving win32 paths unchanged.
7583         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
7584         cygwin runtime to do path conversion.
7585         (Fmswindows_shell_execute): fix cygwin handling of URLs.
7586         (syms_of_win32): add new function.
7587         * window.c (window_loop): build fix.
7588
7589 2001-10-15  Andy Piper  <andy@xemacs.org>
7590
7591         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
7592
7593 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
7594
7595         * XEmacs 21.4.5 "Civil Service" is released.
7596
7597 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
7598
7599         * glyphs-x.c: Force buffer-tab highlight update when moving the
7600         buffer, avoiding an ugly black border, used for keyboard focus
7601         indication, on a widget that can never have keyboard focus, the
7602         buffer tab.
7603
7604 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
7605
7606         * process-unix.c (unix_open_multicast_group): Remove too much
7607         conversion between host and network byte order.
7608
7609 2001-09-10  Nix  <nix@esperi.demon.co.uk>
7610
7611         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
7612         before replacing them.
7613
7614         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
7615         operation.
7616
7617         * src/window.c (undedicate_windows): Use it.
7618         * src/window.h: Add prototype.
7619
7620 2001-09-17  Ben Wing  <ben@xemacs.org>
7621
7622         * fileio.c (normalize_filename):
7623         * fileio.c (Fexpand_file_name):
7624         Fix various C++ compile errors in Andy's recent code.
7625         
7626         * callint.c (Fcall_interactively):
7627         * editfns.c (Ftemp_directory):
7628         * editfns.c (Fuser_full_name):
7629         * emacs.c (argmatch):
7630         * lread.c (locate_file_map_suffixes):
7631         * redisplay-x.c (x_ring_bell):
7632         Fix sign-compare warnings.
7633         
7634 2001-09-08  Andy Piper  <andy@xemacs.org>
7635
7636         * fileio.c (normalize_filename): copied from nt.c
7637         * (Ffile_name_directory): enable win32 paths under cygwin.
7638         * (Ffile_name_nondirectory): ditto.
7639         * (directory_file_name): ditto.
7640         * (Fexpand_file_name): ditto.
7641         * (Ffile_truename): ditto.
7642         * (Fsubstitute_in_file_name): ditto.
7643         * (Ffile_name_absolute_p): ditto.
7644         * (Ffile_readable_p): ditto.
7645
7646 2001-09-08  Andy Piper  <andy@xemacs.org>
7647
7648         * device-msw.c (mswindows_finish_init_device): remove dde
7649         initialization.
7650         * device-msw.c (mswindows_init_dde): factor out from
7651         mswindows_finish_init_device()
7652         * device-msw.c (init_mswindows_very_early): new function
7653         initialize but don't enable dde.
7654         * emacs.c (main_1): call init_mswindows_very_early.
7655         * event-msw.c:
7656         * event-msw.c (mswindows_dde_callback): only execute when we are
7657         ready.
7658         * symsinit.h: declare init_mswindows_very_early.
7659
7660 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7661
7662         [sjt: This has been in 21.5 for months with no complaints.]
7663
7664         * console.h (struct console_methods): Added flags member.
7665         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
7666         (CONMETH_IMPL_FLAG):
7667         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
7668         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7669
7670         * device.c (window_system_pixelated_geometry): Use the above macros.
7671
7672         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
7673         implememntation flag.
7674         * device.h (DEVICE_DISPLAY_P): Use it.
7675
7676         * frame.c (delete_frame_internal): Use the above macro.
7677
7678         * redisplay.c (redisplay_device): Use it.
7679         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7680         (redisplay_frame): Ditto.
7681
7682         * device-msw.c (mswindows_device_implementation_flags): Removed.
7683         (msprinter_device_implementation_flags): Removed.
7684         (console_type_create_device_mswindows): Removed references to
7685         implementation_flags methods, set implementation flags here.
7686         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
7687
7688         * device-gtk.c (gtk_device_implementation_flags): Removed method.
7689         (console_type_create_device_gtk): Removed method declaration.
7690         Added commented out statement which semantically matches the
7691         commented out statement in the above removed method.
7692
7693 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
7694
7695         The attached patch fixes a few warnings. 
7696
7697         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
7698         * src/frame-gtk.c: guard against GNOME calls in GTK only
7699         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
7700         * src/select-gtk.c: prototype lisp_to_time
7701
7702 2001-06-08  Ben Wing  <ben@xemacs.org>
7703
7704         ------ gc-in-window-procedure fixes ------
7705         
7706         * alloc.c:
7707         * alloc.c (struct post_gc_action):
7708         * alloc.c (register_post_gc_action):
7709         * alloc.c (run_post_gc_actions):
7710         * alloc.c (garbage_collect_1):
7711         Create "post-gc actions", to avoid those dreaded "GC during window
7712         procedure" problems.
7713
7714         * event-msw.c:
7715         Abort, clean and simple, when GC in window procedure.  We want
7716         to flush these puppies out.
7717
7718         * glyphs-msw.c:
7719         * glyphs-msw.c (finalize_destroy_window):
7720         * glyphs-msw.c (mswindows_finalize_image_instance):
7721         Use a post-gc action when destroying subwindows.
7722
7723         * lisp.h:
7724         Declare register_post_gc_action().
7725
7726         * scrollbar-msw.c:
7727         * scrollbar-msw.c (unshow_that_mofo):
7728         Use a post-gc action when unshowing scrollbar windows, if in gc.
7729
7730         * redisplay.c (mark_redisplay):
7731         Add comment about the utter evilness of what's going down here.
7732
7733         ------ cygwin setitimer fixes ------
7734         
7735         * Makefile.in.in (sheap_objs):
7736         * Makefile.in.in (profile_objs):
7737         * Makefile.in.in (objs):
7738         Compile profile.c only when HAVE_SETITIMER.
7739         
7740         * nt.c (mswindows_sigset):
7741         * nt.c (mswindows_sighold):
7742         * nt.c (mswindows_sigrelse):
7743         * nt.c (mswindows_sigpause):
7744         * nt.c (mswindows_raise):
7745         * nt.c (close_file_data):
7746         Style fixes.
7747         
7748         * nt.c:
7749         Move setitimer() emulation to win32.c, because Cygwin needs it too.
7750         
7751         * profile.c:
7752         * profile.c (Fstart_profiling):
7753         * profile.c (Fstop_profiling):
7754         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
7755         instead of just plain setitimer().
7756         
7757         * signal.c:
7758         * signal.c (set_one_shot_timer):
7759         * signal.c (alarm):
7760         Define qxe_setitimer() as an encapsulation around setitimer() --
7761         call setitimer() directly unless Cygwin or MS Win, in which case
7762         we use our simulated version in win32.c.
7763         
7764         * systime.h:
7765         * systime.h (struct itimerval):
7766         * systime.h (ITIMER_REAL):
7767         Prototype mswindows_setitimer() and qxe_setitimer().  Long
7768         comment about "qxe" and the policy regarding encapsulation.
7769
7770         * win32.c:
7771         * win32.c (setitimer_helper_proc):
7772         * win32.c (setitimer_helper_period):
7773         * win32.c (setitimer_helper):
7774         * win32.c (mswindows_setitimer):
7775         Move setitimer() emulation here, so Cygwin can use it.
7776         Rename a couple of functions and variables to be longer and more
7777         descriptive.  In setitimer_helper_proc(), send the signal
7778         using either mswindows_raise() or (on Cygwin) kill().  If for
7779         some reason we are still getting lockups, we'll change the kill()
7780         to directly invoke the signal handlers.
7781
7782         ------ windows shell fixes ------
7783         
7784         * callproc.c:
7785         * ntproc.c:
7786         Comments about how these two files must die.
7787
7788         * callproc.c (init_callproc):
7789         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
7790         not just COMSPEC. (more correct and closer to FSF.) Don't
7791         force a value for SHELL into the environment. (Comments added
7792         to explain why not.)
7793         
7794         * nt.c (init_user_info):
7795         Don't shove a fabricated SHELL into the environment.  See above.
7796
7797 2001-06-01  Ben Wing  <ben@xemacs.org>
7798
7799         * Makefile.in.in (ldflags):
7800         eliminate that pesky "defaulting to 00401000" warning.
7801         * nt.h:
7802         eliminate warnings.
7803
7804 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
7805
7806         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
7807         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
7808
7809 2001-04-24  Jerry James <james@xemacs.org>
7810
7811         * faces.h: pass parameters to Fadd_spec_to_specifier in the
7812         correct order.
7813
7814 2001-06-01  Ben Wing  <ben@xemacs.org>
7815
7816         * event-msw.c (debug_mswin_messages):
7817         conditionalize the messages that were causing compile errors.
7818         (if only macros could generate #ifdef statements ...)
7819
7820 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
7821
7822         * XEmacs 21.4.4 "Artificial Intelligence" is released.
7823
7824 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7825
7826         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
7827
7828 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7829
7830         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
7831         * process-unix.c (unix_canonicalize_host_name):
7832         sysdep.c (init_system_name):
7833         Use it to conditionally support IPv6 canonicalization.
7834
7835 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
7836
7837         * event-msw.c:
7838         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
7839
7840 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
7841
7842         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
7843         attempt is made to scroll when no scroll bar is available.
7844
7845 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7846
7847         * input-method-motif.c (XIM_delete_frame): New callback.
7848         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
7849         got deleted from 21.4.3.)
7850
7851 2001-06-01  Ben Wing  <ben@xemacs.org>
7852
7853         * nt.c (mswindows_utime):
7854         * nt.c (close_file_data):
7855         fix off-by-one-indirection error.
7856
7857 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
7858
7859         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
7860         because set_file_times() now takes Lisp_Object path, instead of
7861         char*.
7862         * nt.c: Include buffer.h.
7863         * nt.c (convert_from_time_t): New.
7864         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
7865         not set mtime correctly.
7866         * nt.h: Declare mswindows_utime().
7867         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
7868         path, instead of char*.
7869         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
7870
7871 2001-05-30  Ben Wing  <ben@xemacs.org>
7872
7873         For 21.4:
7874
7875         (Stephen, just take all event-msw.c patches.  This includes
7876         the "iconify" fix below.)
7877
7878         * event-msw.c:
7879         * event-msw.c (mswindows_dequeue_dispatch_event):
7880         * event-msw.c (assert):
7881         * event-msw.c (emacs_mswindows_quit_p):
7882         * event-msw.c (debug_mswin_messages):
7883         * event-msw.c (debug_output_mswin_message):
7884         * event-msw.c (vars_of_event_mswindows):
7885         Fix yet more problems with C-g handling.
7886         Implement debug-mswindows-events.
7887         
7888 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7889
7890         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
7891         
7892 2001-05-23  Ben Wing  <ben@xemacs.org>
7893
7894         * event-msw.c (winsock_writer):
7895         * event-msw.c (winsock_closer):
7896         prior kludgy code was clobbering the buffer, thinking it was
7897         "unused" space to store an unneeded return value; instead, use
7898         the variable we've already got staring us in the face.
7899
7900 2001-05-17  Andy Piper  <andy@xemacs.org>
7901
7902         * sysfile.h: don't assume that file attributes are boolean
7903
7904 2001-05-23  Ben Wing  <ben@xemacs.org>
7905
7906         * device-msw.c (msprinter_init_device):
7907         signal an error rather than crash with an unavailable network
7908         printer (from Mike Alexander).
7909         
7910         * event-msw.c:
7911         * event-msw.c (struct winsock_stream):
7912         * event-msw.c (winsock_writer):
7913         * event-msw.c (winsock_closer):
7914         * event-msw.c (make_winsock_stream_1):
7915         cleanup headers.  fix (hopefully) an error with data corruption
7916         when sending to a network connection.
7917
7918         * fileio.c (Fexpand_file_name): Fix evil code that attempts
7919         to handle the ~user prefix by (a) always assuming we're referencing
7920         ourselves and not even verifying the user -- hence any file with
7921         a tilde as its first char is invalid! (b) if there wasn't a slash
7922         following the filename, the pointer was set *past* the end of
7923         file and we started reading from uninitialized memory.  Now we
7924         simply treat these as files, always.
7925
7926         * buffer.c (common_init_complex_vars_of_buffer): comment change.
7927         
7928 2001-05-19  Ben Wing  <ben@xemacs.org>
7929
7930         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
7931
7932         * process-nt.c:
7933         * process-nt.c (vars_of_process_nt):
7934         remove unused mswindows-quote-process-args.  rec for 21.4.
7935         
7936 2001-05-12  Ben Wing  <ben@xemacs.org>
7937
7938         * event-msw.c (mswindows_dde_callback):
7939         * event-msw.c (mswindows_wnd_proc):
7940         eliminate cygwin warnings.
7941
7942 2001-05-06  Ben Wing  <ben@xemacs.org>
7943
7944         * console-msw.h:
7945         * device-msw.c:
7946         * device-msw.c (print_dialog_worker):
7947         * device-msw.c (mswindows_handle_print_dialog_box):
7948         * device-msw.c (syms_of_device_mswindows):
7949         * dialog-msw.c (mswindows_make_dialog_box_internal):
7950         * general-slots.h:
7951         implement printing the selection when it's selected.
7952
7953 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
7954
7955         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
7956
7957 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7958
7959         * lisp.h (EMACS_INT_MAX): This should be one bit less since
7960         EMACS_INT is signed.
7961
7962 2001-04-15  Michael Lausch  <mla@1012surf.net>
7963
7964         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
7965         gtk_widget_request_size() to give scrollbar >0 width for
7966         GTK >1.2.8.
7967
7968 2001-05-30  William M. Perry  <wmperry@gnu.org>
7969
7970         * event-gtk.c: Check for buttons as modifier keys.
7971
7972 2001-05-25  Craig Lanning  <CraigL@Knology.net>
7973
7974         * s\mingw32.h:
7975         Properly find MinGW's <process.h> inside Cygwin's restructured
7976         include directories.  Don't try to include <cygwin/version.h>
7977         since we are dropping support for MinGW in versions of Cygwin
7978         earlier than b21.
7979         * nt.c:
7980         Drop support for MinGW in versions of Cygwin before b21.
7981         * sysdep.c:
7982         Properly find MinGW's <process.h> inside Cygwin's restructured
7983         include directories.
7984         * syswindows.h:
7985         Drop support for MinGW in versions of Cygwin before b21.
7986         * unexcw.c:
7987         Even though a.out.h is no longer detected by configure, allow
7988         MinGW to use it until we figure out how to do the job with Win32.
7989
7990 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
7991
7992         * syntax.c (find_start_of_comment):
7993         Fix `unbalanced parentheses' bug when dealing with mixed comment
7994         styles in c++/java/etc. mode
7995
7996 2001-05-29  Mike Alexander  <mta@arbortext.com>
7997
7998         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
7999         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8000
8001 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8002
8003         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8004
8005 2001-03-31  Mike Sperber <mike@xemacs.org>
8006
8007         * search.c (Freplace_match): Support FSF-style specification of
8008         match subexpression when applied to a buffer.
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-22  Isaac Hollander  <ysh@mindspring.com>
8015
8016         * Makefile.in.in: Use TAR macro instead of hardcoding
8017           tar.  Allows use of GNU tar instead of system tar
8018
8019 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8020
8021         * event-stream.c (is_scrollbar_event): add missing semicolon
8022
8023 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8024
8025         * XEmacs 21.4.3 "Academic Rigor" is released.
8026
8027 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8028
8029         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8030
8031 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8032
8033         * buffer.c (Vcase_fold_search): Remove obsolete
8034           comment about non ASCII case-fold-search.  This
8035           bug has been fixed by case-table changes.
8036
8037 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8038
8039         * event-msw.c: Restore include of events-mod.h.
8040
8041 2001-04-22   zhaoway  <zw@debian.org>
8042
8043         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8044         !HAVE_SCROLLBARS.
8045
8046 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8047
8048         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8049
8050 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8051
8052         * mule-charset.c (Fmake_charset): Add missing else.
8053
8054 2001-04-23  Ben Wing  <ben@xemacs.org>
8055
8056         * event-msw.c (FAKE_MOD_QUIT):
8057         * event-msw.c (mswindows_dequeue_dispatch_event):
8058         * event-msw.c (mswindows_wnd_proc):
8059         * event-msw.c (emacs_mswindows_quit_p):
8060         Get critical quit working.
8061
8062 2001-05-05  Ben Wing  <ben@xemacs.org>
8063
8064         * console-msw.h:
8065         * device-msw.c:
8066         * device-msw.c (mswindows_get_default_margin):
8067         * frame-msw.c (mswindows_size_frame_internal):
8068         * frame-msw.c (msprinter_init_frame_1):
8069         * frame-msw.c (vars_of_frame_mswindows):
8070         Change top/bottom margin defaults to 0.5 inches.
8071
8072 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8073
8074         Fix link error with gcc 3.0 on Linux.
8075         * terminfo.c (UP): Remove.
8076         * terminfo.c (BC): Remove.
8077         * terminfo.c (PC): Remove.
8078         They weren't used, and in any case, these symbols should be
8079         defined in the *library*.
8080
8081 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8082
8083         * s/aix4.h: Fix crash with xlc -O3.
8084         Improve comment explaining how -O3 works.
8085
8086 2001-04-15  Ben Wing  <ben@xemacs.org>
8087
8088         * event-stream.c:
8089         * event-stream.c (Fnext_event):
8090         * event-stream.c (is_scrollbar_event):
8091         * event-stream.c (execute_command_event):
8092         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8093         crash' problem.  His fix introduces other problems.  We filter
8094         out scrollbar events specifically, making them somewhat invisible
8095         to command-building, and not appearing in `this-command-keys'.
8096         More work is still needed (see comments in event-stream.c), but
8097         this fixes all the major problems.
8098
8099 2001-04-20  Ben Wing  <ben@xemacs.org>
8100
8101         * .cvsignore: Added stuff for Windows.
8102
8103 2001-04-28  Ben Wing  <ben@xemacs.org>
8104
8105         * buffer.c (Ferase_buffer):
8106         * editfns.c (buffer_insert1):
8107         * editfns.c (Finsert_before_markers):
8108         * editfns.c (Finsert_string):
8109         * editfns.c (Finsert_char):
8110         * editfns.c (Fdelete_region):
8111         * editfns.c (Fwiden):
8112         * editfns.c (Fnarrow_to_region):
8113         remove bogus lines setting zmacs_region_stays to 0.
8114         
8115 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8116
8117         * process-unix.c (unix_open_network_stream): If connect() fails
8118         invalidate file descriptor after closing it.
8119
8120 2001-03-08  Mike Alexander  <mta@arbortext.com>
8121
8122         * event-msw.c (mswindows_need_event_in_modal_loop):
8123         Don't dispatch a message if we didn't get one.
8124         (mswindows_need_event):
8125         Terminate the correct process when one exits instead of the first
8126         one on Vprocess_list and look for process termination when in
8127         mswindows_protect_modal_loop.
8128
8129 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8130
8131         * XEmacs 21.4.1 "Copyleft" is released.
8132
8133 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8134
8135         * input-method-motif.c (XIM_delete_frame): New callback.
8136         (XIM_init_frame): Register it.
8137
8138 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8139
8140         * XEmacs 21.4.0 "Solid Vapor" is released.
8141
8142 2001-04-15  Ben Wing  <ben@xemacs.org>
8143
8144         * cmdloop.c (call_command_loop):
8145         Fix braino in bit-rotting code.
8146         
8147 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8148
8149         * extents.c (Fset_extent_endpoints): Force creation of extent info
8150         in buffer_or_string.
8151
8152         * extents.c (process_extents_for_insertion_mapper): Correctly
8153         check for open-open zero-length extents.
8154
8155 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8156
8157         * lisp.h: New typedefs Memory_count, Element_count.
8158         * regex.c:
8159         * regex.h:
8160         Sign-compare warning elimination: several unsigned -> signed.
8161         Based on work by Ben Wing <ben@xemacs.org>.
8162
8163 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8164
8165         * XEmacs 21.2.47 "Zephir" is released.
8166
8167 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8168
8169         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8170
8171 2001-04-03  Mike Sperber <mike@xemacs.org>
8172
8173         * search.c: Revert previous patch due because of release.
8174
8175 2001-03-30  Ben Wing  <ben@xemacs.org>
8176
8177         * s\cygwin32.h:
8178         Add missing killpg prototype.
8179
8180         * elhash.c:
8181         Add a comment about fixing problems when a new entry is added
8182         while mapping.
8183
8184         * frame-msw.c (mswindows_init_frame_1):
8185         Fix compile warnings.
8186
8187         * menubar.c (vars_of_menubar):
8188         Provide `menu-accelerator-support' to indicate that we properly
8189         support %_ in menu specifications, so that package code can
8190         conditionalize on this (and remove %_ from menu specifications
8191         on older versions).
8192
8193         * event-msw.c:
8194         * scrollbar-msw.c:
8195         * scrollbar-msw.c (can_scroll):
8196         * scrollbar-msw.h:
8197         Fix handling of mouse wheel under Windows to follow standards --
8198         now scrolls window under pointer, not selected window.
8199
8200 2001-03-31  Mike Sperber <mike@xemacs.org>
8201
8202         * search.c (Freplace_match): Support FSF-style specification of
8203         match subexpression when applied to a buffer.
8204
8205 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8206
8207         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8208         function to modify KEYMAP, so map over a copy of the hash table.
8209
8210 2001-03-21  Martin Buchholz <martin@xemacs.org>
8211
8212         * XEmacs 21.2.46 "Urania" is released.
8213
8214 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8215
8216         * realpath.c (xrealpath): Make file-truename work with symlinks to
8217         /cygdrive paths on cygwin. Always lowercase drive-letters on
8218         native windows.
8219         (cygwin_readlink): Don't try to find canonical filename unless
8220         file exists.
8221
8222 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8223
8224         * ChangeLog: Log GTK merge.
8225
8226         * dumper.c:
8227         * select-x.c:
8228         * specifier.c:
8229         * symeval.h:
8230         Revert gratuitous whitespace changes from GTK merge.
8231
8232         * emacs.c: Document end of complex #ifdef @ l. 1495.
8233
8234
8235 2001-03-12  Andy Piper  <andy@xemacs.org>
8236
8237         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8238         have to do likewise.
8239
8240 2001-03-12  Andy Piper  <andy@xemacs.org>
8241
8242         * sysdep.c: we only support mingw now.
8243
8244 2001-03-09  Andy Piper  <andy@xemacs.org>
8245
8246         * unexcw.c (copy_executable_and_dump_data_section): making approx
8247         overrun a warning only.
8248
8249 2001-03-10  William M. Perry  <wmperry@aventail.com>
8250
8251         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8252         satisfy Stephen's identical-after-cpp plea.
8253
8254 2001-03-02  Ben Wing  <ben@xemacs.org>
8255
8256         * cmds.c:
8257         * cmds.c (Fforward_char):
8258         * syntax.c:
8259         * window.c:
8260
8261         Augment documentation of the most common motion commands to make
8262         note of the shifted-motion support.
8263         
8264 2001-03-02  Ben Wing  <ben@xemacs.org>
8265
8266         * nt.c (mswindows_fstat):
8267         * nt.c (mswindows_stat):
8268         * search.c (boyer_moore):
8269         Fix compile warnings under Windows.
8270         
8271         * sysdep.c (sys_readdir):
8272         Fix buggy filename-conversion code under Mule.
8273
8274 2001-03-09  William M. Perry  <wmperry@aventail.com>
8275
8276         * Makefile.in.in:
8277         * config.h.in:
8278         * console.c:
8279         * console.h:
8280         * device.c:
8281         * device.h:
8282         * dragdrop.c:
8283         * emacs.c:
8284         * event-stream.c:
8285         * events.c:
8286         * events.h:
8287         * faces.c:
8288         * frame.h:
8289         * general-slots.h:
8290         * glyphs.c:
8291         * gutter.c:
8292         * inline.c:
8293         * lisp.h:
8294         * lrecord.h:
8295         * make-src-depend:
8296         * redisplay-output.c:
8297         * redisplay.c:
8298         * symsinit.h:
8299         * sysfile.h:
8300         * toolbar.c:
8301         * window.c:
8302         The Great GTK Merge.
8303
8304         * ChangeLog.GTK:
8305         * console-gtk.c:
8306         * console-gtk.h:
8307         * device-gtk.c:
8308         * emacs-marshals.c:
8309         * emacs-widget-accessors.c:
8310         * event-gtk.c:
8311         * frame-gtk.c:
8312         * gccache-gtk.c:
8313         * gccache-gtk.h:
8314         * glade.c:
8315         * glyphs-gtk.c:
8316         * glyphs-gtk.h:
8317         * gtk-glue.c:
8318         * gtk-xemacs.c:
8319         * gtk-xemacs.h:
8320         * gui-gtk.c:
8321         * gui-gtk.h:
8322         * menubar-gtk.c:
8323         * native-gtk-toolbar.c:
8324         * objects-gtk.c:
8325         * objects-gtk.h:
8326         * redisplay-gtk.c:
8327         * scrollbar-gtk.c:
8328         * scrollbar-gtk.h:
8329         * select-gtk.c:
8330         * toolbar-gtk.c:
8331         * ui-byhand.c:
8332         * ui-gtk.c:
8333         * ui-gtk.h:
8334         The Great GTK Merge: new files.
8335
8336 2001-02-26  Ben Wing  <ben@xemacs.org>
8337
8338         Reapplied Lstream change.
8339
8340 2001-02-26  Ben Wing  <ben@xemacs.org>
8341
8342         Undid the last change, since it is more controversial than I
8343         thought.  It should be back in at some point soon.
8344         
8345 2001-02-25  Ben Wing  <ben@xemacs.org>
8346
8347         * buffer.c:
8348         * callproc.c (Fold_call_process_internal):
8349         * event-msw.c (ntpipe_slurp_reader):
8350         * event-msw.c (ntpipe_shove_writer):
8351         * event-msw.c (winsock_reader):
8352         * event-msw.c (winsock_writer):
8353         * file-coding.c:
8354         * file-coding.c (detect_eol_type):
8355         * file-coding.c (detect_coding_type):
8356         * file-coding.c (determine_real_coding_system):
8357         * file-coding.c (Fdetect_coding_region):
8358         * file-coding.c (decoding_reader):
8359         * file-coding.c (decoding_writer):
8360         * file-coding.c (mule_decode):
8361         * file-coding.c (Fdecode_coding_region):
8362         * file-coding.c (encoding_reader):
8363         * file-coding.c (encoding_writer):
8364         * file-coding.c (mule_encode):
8365         * file-coding.c (Fencode_coding_region):
8366         * file-coding.c (detect_coding_sjis):
8367         * file-coding.c (decode_coding_sjis):
8368         * file-coding.c (encode_coding_sjis):
8369         * file-coding.c (detect_coding_big5):
8370         * file-coding.c (decode_coding_big5):
8371         * file-coding.c (encode_coding_big5):
8372         * file-coding.c (detect_coding_ucs4):
8373         * file-coding.c (decode_coding_ucs4):
8374         * file-coding.c (encode_coding_ucs4):
8375         * file-coding.c (detect_coding_utf8):
8376         * file-coding.c (decode_coding_utf8):
8377         * file-coding.c (encode_coding_utf8):
8378         * file-coding.c (detect_coding_iso2022):
8379         * file-coding.c (decode_coding_iso2022):
8380         * file-coding.c (encode_coding_iso2022):
8381         * file-coding.c (decode_coding_no_conversion):
8382         * file-coding.c (encode_coding_no_conversion):
8383         * glyphs-x.c (write_lisp_string_to_temp_file):
8384         * gpmevent.c (tty_get_foreign_selection):
8385         * lisp.h:
8386         * lstream.c:
8387         * lstream.c (Lstream_flush_out):
8388         * lstream.c (Lstream_adding):
8389         * lstream.c (Lstream_write_1):
8390         * lstream.c (Lstream_write):
8391         * lstream.c (Lstream_raw_read):
8392         * lstream.c (Lstream_read_more):
8393         * lstream.c (Lstream_read):
8394         * lstream.c (Lstream_unread):
8395         * lstream.c (Lstream_fputc):
8396         * lstream.c (stdio_reader):
8397         * lstream.c (stdio_writer):
8398         * lstream.c (filedesc_reader):
8399         * lstream.c (filedesc_writer):
8400         * lstream.c (lisp_string_reader):
8401         * lstream.c (struct fixed_buffer_stream):
8402         * lstream.c (make_fixed_buffer_input_stream):
8403         * lstream.c (make_fixed_buffer_output_stream):
8404         * lstream.c (fixed_buffer_reader):
8405         * lstream.c (fixed_buffer_writer):
8406         * lstream.c (struct resizing_buffer_stream):
8407         * lstream.c (resizing_buffer_writer):
8408         * lstream.c (dynarr_writer):
8409         * lstream.c (lisp_buffer_reader):
8410         * lstream.c (lisp_buffer_writer):
8411         * lstream.h:
8412         * lstream.h (lstream_implementation):
8413         * lstream.h (struct lstream):
8414         * md5.c (Fmd5):
8415         * process-nt.c (nt_send_process):
8416         * process-unix.c (unix_send_process):
8417         
8418         Correct Lstream lossage due to mixing of signed and unsigned
8419         quantities.  All Lstream uses of size_t and ssize_t are now a
8420         single signed data type Lstream_data_count.  This fixes problems
8421         under Windows with sending large quantities of data to a process,
8422         and may well fix other subtle bugs.
8423
8424 2001-02-23  Martin Buchholz <martin@xemacs.org>
8425
8426         * XEmacs 21.2.45 "Thelxepeia" is released.
8427
8428 2001-02-21  Martin Buchholz  <martin@xemacs.org>
8429
8430         * lisp-union.h (XSETINT): 
8431         (XSETCHAR):
8432         (XSETOBJ): 
8433         Reverse previous change of 2001-02-06.
8434
8435 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
8436
8437         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
8438         buffers.
8439         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8440         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
8441         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
8442         * regex.c (POS_AS_IN_BUFFER): removed
8443         * regex.c (re_search_2):
8444         * regex.c (re_match_2):
8445         Don't use an offset of 1 when calculating buffer positions, since
8446         `BI_BUF_BEGV' does it already.
8447
8448 2001-02-18  Wim Dumon  <wim@easics.be>
8449
8450         * insdel.c (prepare_to_modify_buffer): Also check for
8451         supersession when clash-detection is enabled. 
8452
8453 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
8454
8455         * regex.c (re_match_2_internal):
8456         Convert temp characters from 'const unsigned char' to 're_char'.
8457         Fix crashing bug with extended characters under mule.
8458         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
8459         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
8460         font-lock, pdump, and new syntax-table code.
8461         * syntax.c (find_start_of_comment):
8462         (find_end_of_comment):
8463         (forward-comment):
8464         Fix crashing bugs involving moving beyond end of buffer.
8465         * syntax.c (find_start_of_comment):
8466         Fixed logic to allow proper detection of cases where the same
8467         character is used to end both a two-char comment start and a
8468         two-char comment end sequence. Fixes `(forward-comment -1)'.
8469         * syntax.c (find_start_of_comment):
8470         Return position just past last comment-end character for all cases
8471         (previously was only done for two-char comment-end sequences).
8472         * syntax.c (forward-comment):
8473         Take value returned from `find_end_of_comment', rather than
8474         incrementing it.
8475         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8476         Properly deal with BUFFERP (syntax_cache.object)
8477
8478 2001-02-17  Martin Buchholz  <martin@xemacs.org>
8479
8480         * alloc.c (Fgarbage_collect): 
8481         * alloc.c (make_bit_vector_from_byte_vector):
8482         -Wsign-compare-correctness.
8483
8484 2001-02-16  Martin Buchholz  <martin@xemacs.org>
8485
8486         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
8487         (XSETCHAR): Likewise.
8488         (XSETOBJ): Likewise.
8489
8490 2001-02-15  Martin Buchholz  <martin@xemacs.org>
8491
8492         * mule-canna.c (canna-func-delete_previous): 
8493         Rename to canna-func-delete-previous.
8494
8495 2001-02-14  Martin Buchholz  <martin@xemacs.org>
8496
8497         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
8498
8499 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
8500
8501         * font-lock.c (find_context): Fix C++ compile errors introduced by
8502         recent patch
8503
8504 2001-02-13  Martin Buchholz  <martin@xemacs.org>
8505
8506         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
8507         pragma, but earlier ones barf on the same pragma.
8508
8509 2001-02-06  Mike Sperber <mike@xemacs.org>
8510
8511         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
8512         `configure-mule-lisp-directory'.
8513
8514 2001-02-12  Martin Buchholz  <martin@xemacs.org>
8515
8516         Make sure dump-id.c is compiled in the same way as other .c's.
8517         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
8518         * dump-id.h: Remove.
8519         * emacs.c: Move dump-id.h into dumper.h.
8520         * dumper.h: Move dump-id.h into dumper.h.
8521         * Makefile.in.in:
8522         Use standard .c.o rule for building dump-id.o.
8523         Remove preprocessor flags from link command.
8524         Add dump-id.o to ${otherobjs} if PDUMP.
8525
8526 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
8527
8528         Port FSF 20.7 syntax table improvements.
8529         * syntax.c.
8530         * syntax.h.
8531
8532         Fixups for new syntax table stuff.
8533         * dired.c: Include syntax.c.
8534         (Fdirectory_files): Initialize regex_match_object and
8535         regex_emacs_buffer.
8536         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
8537         and Fget_char_property.
8538
8539         Use ported FSF 20.7 syntax table improvements.
8540         * font-lock.c.
8541         * regex.c.
8542         * search.c.
8543         
8544 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8545
8546         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
8547         Unixware's enum boolean from sys/types.h.
8548
8549 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8550
8551         Fix support for building with latest Purify.
8552         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
8553         (PURIFY_FLAGS): Likewise.
8554
8555 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8556
8557         * fileio.c (lisp_string_set_file_times): New.
8558         * fileio.c (Fcopy_file): Use it.
8559         Fixes bug:
8560         (copy-file filename non-ascii-filename t t)
8561         ==> No such file or directory, non-ascii-filename
8562
8563 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8564
8565         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
8566         USHRT_MAX seems clearer than ~0 anyways.
8567
8568 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8569
8570         dumper improvements.  Inspired by Olivier.
8571         * dumper.c (pdump_max_align): New.
8572         * dumper.c (pdump_add_entry): Use pdump_max_align.
8573         * dumper.c (pdump_get_entry_list): Likewise.
8574         * dumper.c (pdump_scan_by_alignment): Likewise.
8575         Don't iterate through unnecessary alignments.
8576         * dumper.c (pdump_file_get): No need to align result of malloc().
8577         * dumper.c (pdump_mallocadr): Remove.  
8578         The result of malloc() is guaranteed to be maximally aligned.
8579         * dumper.c: s/elmt/elt/g;
8580         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
8581         * dumper.c (pdump_alert_undump_object): Likewise.
8582         * dumper.c (pdump_align_table): 
8583         Don't support alignments > 64.
8584         Store ALIGNOF's, not shift counts, in table.
8585
8586 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8587
8588         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
8589         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
8590         * systime.h: Use HAVE_UTIME.
8591         * sysdep.c (struct utimbuf): Remove.
8592         * sysdep.c (set_file_times): Prefer utime() to utimes().
8593         * config.h.in (HAVE_UTIME): New.
8594         * config.h.in (HAVE_UTIME_H): Remove.
8595         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
8596
8597 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8598
8599         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
8600
8601 2001-02-08  Martin Buchholz  <martin@xemacs.org>
8602
8603         * s/irix6-0.h: Use the standard system memmove, not bcopy.
8604
8605 2001-02-08  Martin Buchholz <martin@xemacs.org>
8606
8607         * XEmacs 21.2.44 "Thalia" is released.
8608
8609 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8610
8611         Fixes crashes in kill-emacs on some systems.
8612         * process-unix.c (unix_kill_child_process):
8613         It's OK for kill() to fail with ESRCH.
8614
8615 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8616
8617         Contortions to make .gdbinit tricks work on most systems.
8618         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
8619         * alloc.c (dbg_valmask): Make non-const.
8620         * alloc.c (dbg_typemask): Make non-const.
8621         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
8622         * alloc.c (dbg_valbits): Make non-const.
8623         * alloc.c (dbg_gctypebits): Make non-const.
8624         * .gdbinit (decode_object): Make it work with AIX cc.
8625
8626 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8627
8628         * elhash.c (make_general_lisp_hash_table):
8629         Use simpler and more efficient calloc to clear entries.
8630
8631 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8632
8633         * window.c (window_scroll): Work around an AIX C compiler bug.
8634         Fixes 'scroll-up' does nothing problem with xlC.
8635
8636 2001-02-05  Martin Buchholz  <martin@xemacs.org>
8637
8638         * .gdbinit: Remove obsolete comment.
8639
8640 2001-01-31  Mike Alexander  <mta@arbortext.com>
8641
8642         * select.c (Fown_selection_internal): Set owned_p for device
8643         method correctly.
8644
8645 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8646
8647         Port to g++ 2.97.
8648         "not" cannot be used as a macro name as it is an operator in C++
8649         * config.h.in: Stop #defining `not'.
8650         * chartab.c (check_category_char): not ==> not_p
8651         * chartab.h: Likewise.
8652         * regex.c (re_match_2_internal): Likewise.
8653
8654 2001-02-02  Martin Buchholz  <martin@xemacs.org>
8655
8656         * lisp-disunion.h: Fix up comments.
8657
8658 2001-01-31  Martin Buchholz  <martin@xemacs.org>
8659
8660         * keymap.c (define_key_check_and_coerce_keysym):
8661         (syms_of_keymap):
8662         Support mouse-6 and mouse-7 bindings in the obvious way.
8663
8664 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8665
8666         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
8667
8668 2001-01-30  Martin Buchholz  <martin@xemacs.org>
8669
8670         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
8671         Previous patch missed DEFVAR_INT_MAGIC.
8672         Make sure future DEFVAR_foo use correct types.
8673         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
8674         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
8675         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
8676         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
8677         * (DEFVAR_INT): Likewise.
8678         * redisplay.c (vertical_clip): Should be of type Fixnum.
8679         * redisplay.c (horizontal_clip): Likewise.
8680         * lisp.h (dump_add_opaque_int): New.
8681         (dump_add_opaque_fixnum): New.
8682
8683 2001-01-29  Andy Piper  <andy@xemacs.org>
8684
8685         * glyphs-widget.c (check_valid_int_or_function): allow symbols
8686         since they can be eval'ed
8687
8688 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8689
8690         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
8691         Oops, XEmacs redefines `class'.  Use `typename' instead.
8692
8693 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8694
8695         * dumper.c: Fix C++ compile errors.
8696
8697 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8698
8699         * tparam.c: Use correct prototypes.
8700
8701 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8702
8703         * sysproc.h: #include util.h for NetBSD's openpty.
8704
8705 2001-01-27  Martin Buchholz  <martin@xemacs.org>
8706
8707         More 64-bit correctness.
8708         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
8709         Use a typedef `fixnum' for the type used for DEFVAR_INT.
8710         Fix up comments.
8711         This finally finishes the 64-bit SGI port.
8712         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
8713         * symbols.c: Fix up comments and type casts.
8714         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
8715         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
8716         * symeval.h (Fixnum): New type.
8717         * symeval.h (symbol_value_type): Fix up comment.
8718
8719         * commands.h:
8720         * nt.c:
8721         * emacs.c:
8722         * data.c:
8723         * redisplay.c:
8724         * abbrev.c:
8725         * dired-msw.c:
8726         * event-Xt.c:
8727         * eldap.c:
8728         * window.c:
8729         * sound.c:
8730         * event-stream.c:
8731         * eval.c:
8732         * buffer.c:
8733         * mule-canna.c: A million DEFVAR_INTs here...
8734         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
8735         * extents.c:
8736         * cmdloop.c:
8737         * lisp.h:
8738         * select-x.c:
8739         * console-x.h:
8740         * event-msw.c:
8741         * mule-wnnfns.c:
8742         * hpplay.c:
8743         * ralloc.c:
8744         * alloc.c:
8745         * keymap.c:
8746         * profile.c:
8747         s/int/Fixnum/g in DEFVAR_INT declarations.
8748
8749 2001-01-26  Martin Buchholz  <martin@xemacs.org>
8750
8751         Port pdump to SGI alignment-sensitive environment.
8752         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
8753         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
8754         properly aligned.
8755         Define and use aligned reading and writing macros.
8756         Use buffered stdio instead of posix i/o for faster dumping.
8757         Eliminate kludgy 256 byte space for header.
8758         Read and write from dump file using structs for alignment safety.
8759         * dumper.c (pdump_align_stream): New.
8760         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
8761         * dumper.c (PDUMP_READ_ALIGNED): New.
8762         * dumper.c (PDUMP_WRITE_ALIGNED): New.
8763         * dumper.c (pdump_static_Lisp_Object): New struct.
8764         * dumper.c (pdump_static_pointer): New struct.
8765         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
8766         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
8767         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
8768         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
8769
8770         * dumper.c (pdump_backtrace):
8771         * dumper.c (pdump_get_indirect_count):
8772         * dumper.c (pdump_register_object):
8773         * dumper.c (pdump_register_struct):
8774         * dumper.c (pdump_reloc_one):
8775         * dumper.c (pdump_scan_by_alignment):
8776         * dumper.c (pdump_dump_from_root_struct_ptrs):
8777         * dumper.c (pdump_dump_opaques):
8778         * dumper.c (pdump_dump_rtables):
8779         * dumper.c (pdump_dump_from_root_objects):
8780         * dumper.c (pdump):
8781         * dumper.c (pdump_load_finish):
8782         Use aligned reading and writing.
8783
8784         * dumper.c (pdump_free): Make static.
8785         * dumper.c (pdump_hFile): Likewise.
8786         * dumper.c (pdump_hMap): Likewise.
8787
8788 2001-01-26  Martin Buchholz <martin@xemacs.org>
8789
8790         * XEmacs 21.2.43 "Terspichore" is released.
8791
8792 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8793
8794         Type fiddling for window_config.saved_windows_count
8795         * window.c (struct window_config): 
8796         Make saved_windows_count member unsigned.
8797         * window.c (sizeof_window_config_for_n_windows): 
8798         Make parameter unsigned.
8799         * window.c (mark_window_config):
8800         * window.c (window_config_equal):
8801         * window.c (free_window_configuration):
8802         * window.c (Fset_window_configuration):
8803         * window.c (count_windows):
8804         * window.c (Fcurrent_window_configuration):
8805         * window.c (reinit_vars_of_window):
8806         Update all callers and users.
8807
8808 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8809
8810         Alignment correctness for flexible arrays.
8811         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
8812         Make alignment-correct. Add interesting comments.
8813         * alloc.c (size_vector):
8814         * alloc.c (make_vector_internal):
8815         * alloc.c (make_bit_vector_internal):
8816         * alloc.c (sweep_bit_vectors_1):
8817         * fns.c (size_bit_vector):
8818         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
8819         * window.c (sizeof_window_config_for_n_windows): 
8820         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
8821
8822 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8823
8824         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
8825
8826 2001-01-23  Andy Piper  <andy@xemacs.org>
8827
8828         * select.c (Fown_selection_internal): pass owned_p
8829
8830         * select-msw.c (mswindows_own_selection): New Signature.
8831
8832         * console.h (struct console_methods): add owned_p to
8833         _own_selection.
8834
8835         * select-x.c (x_own_selection): pass owned_p
8836         (hack_motif_clipboard_selection): use owned_p
8837         (vars_of_select_x): new variable -
8838         x_selection_strict_motif_ownership.
8839
8840 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8841
8842         * specifier.h (specifier_data_offset): Remove pointless parens.
8843         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
8844
8845 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8846
8847         Make Lisp_Object sizeof methods be alignment-correct.
8848         pdump must restore objects to the same alignment as the C compiler
8849         assumes.  It really matters on SGIs.
8850         * lstream.c (aligned_sizeof_lstream): New.
8851         (sizeof_lstream): Use aligned_sizeof_lstream.
8852         (Lstream_new): Likewise.
8853         * opaque.c (aligned_sizeof_opaque): New.
8854         (sizeof_opaque): Use aligned_sizeof_opaque.
8855         (make_opaque): Likewise.
8856         * specifier.c (aligned_sizeof_specifier): New.
8857         (sizeof_specifier): Use aligned_sizeof_specifier.
8858         (make_specifier_internal): Likewise.
8859
8860 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8861
8862         * lstream.h (struct lstream): Use max_align_t for trailing data.
8863         * specifier.h (struct Lisp_Specifier): Likewise.
8864
8865 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8866
8867         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
8868         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
8869         (CCL_SUSPEND): Likewise.
8870         (CCL_INVALID_CMD): Likewise.
8871         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
8872         (ccl_driver): Likewise.
8873         (CCL_WRITE_CHAR): Macro hygiene.
8874         (CCL_WRITE_STRING): Macro hygiene.
8875
8876 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8877
8878         Port "portable" dumper to SunOS 4 and HP-UX.
8879         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
8880         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
8881         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
8882
8883 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8884
8885         * lisp.h (ALIGNOF): A better definition for C++.
8886
8887 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8888
8889         Macro hygiene.
8890         Fix printf warnings: int format, long int arg.
8891         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
8892         (PUSH_FAILURE_POINT): Use correct printf formats.
8893         (POP_FAILURE_POINT): Use correct printf formats.  
8894         Use do {...} while (0)
8895
8896 2001-01-20  Martin Buchholz <martin@xemacs.org>
8897
8898         * XEmacs 21.2.42 "Poseidon" is released.
8899
8900 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8901
8902         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
8903
8904 2001-01-19  Martin Buchholz  <martin@xemacs.org>
8905
8906         De-kludgify FIXED_TYPE free list frobbing.
8907         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
8908         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
8909         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
8910         * alloc.c (Lisp_Free): New pseudo lisp object definition.
8911         * alloc.c (LRECORD_FREE_P): New.
8912         * alloc.c (MARK_LRECORD_AS_FREE): New.
8913         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
8914         * alloc.c (STRUCT_FREE_P): Deleted.
8915         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
8916         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
8917         * alloc.c (STRING_CHARS_FREE_P): New.
8918         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
8919         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
8920         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
8921         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
8922         * alloc.c (resize_string): Use new definitions.
8923         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
8924         * alloc.c (verify_string_chars_integrity): Use new definitions.
8925         * alloc.c (compact_string_chars): Use new definitions.
8926         * alloc.c: Update monster comments.
8927         * lrecord.h (lrecord_type): Add some new lrecord types for
8928         alloc.c's use.
8929
8930 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8931
8932         Improve alignment hackery.
8933         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
8934         (max_align_t): Moved from opaque.h - general purpose.
8935         (ALIGN_PTR): Use size_t, not long.
8936         * opaque.h (max_align_t): Move to lisp.h.
8937
8938 2001-01-18  Norbert Koch  <nk@LF.net>
8939
8940         * gui.h: Fix and add prototypes to fix build problems.
8941
8942 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8943
8944         temacs is going away, so `dump-temacs' is now a bad name.
8945         * .dbxrc (dump-temacs): Rename to `dmp'.
8946         * .gdbinit (dump-temacs): Rename to `dmp'.
8947
8948 2001-01-17  Andy Piper  <andy@xemacs.org>
8949
8950         * glyphs.c (print_image_instance): comment to make martin happy.
8951
8952         * glyphs-x.c (x_redisplay_widget): update faces after a frame
8953         change.
8954
8955         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
8956         activation.
8957         (mswindows_tab_control_redisplay): warning suppression.
8958
8959         * glyphs-widget.c (widget_update): re-write to cope with updated
8960         items.
8961         (widget_instantiate): use new gui_item functions.
8962         (tab_control_update): deleted.
8963         (progress_gauge_update): deleted.
8964         (image_instantiator_progress_guage): take out update reference.
8965         (image_instantiator_tree_view): ditto.
8966         (image_instantiator_tab_control): ditto.
8967
8968         * gui.c (widget_gui_parse_item_keywords): new function. Do things
8969         Right the new way.
8970         (gui_item_add_keyval_pair): re-write to cope with descriptors and
8971         return whether anything was changed.
8972         (update_gui_item_keywords): as it sounds.
8973
8974         * gui.h: declare widget_gui_parse_item_keywords.
8975
8976         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
8977         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
8978
8979 2001-01-17  Martin Buchholz <martin@xemacs.org>
8980
8981         * XEmacs 21.2.41 "Polyhymnia" is released.
8982
8983 2001-01-16  Didier Verna  <didier@xemacs.org>
8984
8985         * glyphs.c (image_instantiate): don't use fallbacks when
8986         instantiating a face's background pixmap by inheritance.
8987
8988 2001-01-14  Mike Sperber <mike@xemacs.org>
8989
8990         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
8991         Conditionalize accordingly.
8992
8993 2001-01-16  Martin Buchholz  <martin@xemacs.org>
8994
8995         * dumper.c (pdump_file_get): Fix a compiler warning.
8996
8997 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8998
8999         Make Purify happy when pdumping.
9000         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9001         iniitalizing all bits of new lisp object memory.
9002         * symbols.c (Fmake_local_variable): Likewise.
9003         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9004         * symbols.c (Fdefvaralias): Likewise.
9005         * mule-charset.c (vars_of_mule_charset): Likewise.
9006
9007 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9008         Add the `-nd' flag when running pre-dump operations under the debugger.
9009         * .dbxrc (run-temacs): Add `-nd'.
9010         * .dbxrc (update-elc): Likewise.
9011         * .dbxrc (dump-temacs): Likewise.
9012         * .gdbinit (run-temacs): Likewise.
9013         * .gdbinit (check-temacs): Likewise.
9014         * .gdbinit (update-elc): Likewise.
9015         * .gdbinit (dump-temacs): Likewise.
9016
9017 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9018
9019         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9020         export OBJECT_MODE=64
9021         configure --pdump --use-union-type=no
9022         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9023         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9024
9025         * miscplay.c (sndcnv8U_2mono):
9026         Avoid two uses of `++' in the same expression.
9027         Suppresses a GCC warning.
9028
9029 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9030
9031         Make sure future compilers don't miscompile alloc.c.
9032         * alloc.c:
9033         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9034         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9035
9036 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9037
9038         * dumper.c: A little post-pdump-rename comment fixup.
9039
9040 2001-01-09  Jerry James  <james@eecs.ku.edu>
9041
9042         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9043
9044 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9045
9046         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9047         script:
9048         #!/bin/sh
9049         replace_symbol () {
9050           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9051         }
9052
9053         replace_symbol pdump_wire_lists pdump_weak_object_chains
9054         replace_symbol pdump_wire_list dump_add_weak_object_chain
9055
9056         replace_symbol pdump_wires pdump_root_objects
9057         replace_symbol pdump_wire dump_add_root_object
9058
9059         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9060         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9061
9062         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9063         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9064         replace_symbol dumpstructinfo pdump_root_struct_ptr
9065         replace_symbol dumpstruct dump_add_root_struct_ptr
9066
9067         replace_symbol dumpopaque dump_add_opaque
9068         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9069         replace_symbol dumpopaqueinfos pdump_opaques
9070         replace_symbol dumpopaqueinfo pdump_opaque
9071
9072         replace_symbol nb_structdump nb_root_struct_ptrs
9073         replace_symbol nb_opaquedump nb_opaques
9074
9075         replace_symbol align_table pdump_align_table
9076         replace_symbol dump_header pdump_header
9077
9078         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9079         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9080
9081
9082 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9083
9084         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9085         optimizing bytecount_to_charcount().
9086
9087 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9088
9089         * config.h.in:
9090         (HAVE_DLFCN_H): Removed.
9091         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9092
9093 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9094
9095         Portable dumper maintainability improvements.
9096         * alloc.c (staticpro):
9097         * alloc.c (staticpro_nodump):
9098         * alloc.c (garbage_collect_1):
9099         * alloc.c (reinit_alloc_once_early):
9100         * alloc.c (init_alloc_once_early):
9101         * alloc.c: Move dumper functions to alloc.c.
9102         * dumper.c (pdump_backtrace):
9103         * dumper.c (pdump_dump_structs):
9104         * dumper.c (pdump_dump_opaques):
9105         * dumper.c (pdump_dump_rtables):
9106         * dumper.c (pdump_dump_wired):
9107         * dumper.c (pdump):
9108         * dumper.c (pdump_load_check):
9109         * dumper.c (pdump_load_finish):
9110         * dumper.c (pdump_file_unmap):
9111         * dumper.c (pdump_file_get):
9112         * dumper.c (pdump_resource_free):
9113         * dumper.c (pdump_resource_get):
9114         * dumper.c (pdump_file_free):
9115         * dumper.c (pdump_file_try):
9116         * dumper.c (pdump_load):
9117         Remove fixed size limits on staticpro(), staticpro_nodump(),
9118         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9119         Remove custom code for dumping lrecord_implementations_table - use
9120         dumpopaque instead.
9121         Remove (most of the) custom code for dumping staticpros - dump it
9122         like any other dynarr.
9123
9124         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9125         * dumper.c: Moved functions from alloc.c.
9126         * alloc.c (dumpstruct): Moved to dumper.c.
9127         * alloc.c (dumpopaque): Likewise.
9128         * alloc.c (pdump_wire): Likewise.
9129         * alloc.c (pdump_wire_list): Likewise.
9130
9131         * lisp.h (Dynarr_sizeof): New.
9132         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9133         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9134         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9135
9136         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9137         * lisp.h (dumpopaque): ditto.
9138         * lisp.h (pdump_wire): ditto.
9139         * lisp.h (pdump_wire_list): ditto.
9140
9141 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9142
9143         * make-src-depend (PrintPatternDeps):
9144         Use `sort' to make output independent of perl version.
9145
9146 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9147
9148         Port to Netbsd 1.5.
9149         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9150         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9151
9152 2001-01-03  Didier Verna  <didier@xemacs.org>
9153
9154         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9155         that `focus_frame' is alive before thinking of calling
9156         `redisplay_redraw_cursor' on it.
9157
9158 2001-01-08  Martin Buchholz <martin@xemacs.org>
9159
9160         * XEmacs 21.2.40 is released.
9161
9162 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9163
9164         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9165
9166 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9167
9168         * alloc.c (dbg_valmask): Make const.
9169         * alloc.c (dbg_typemask): Make const.
9170         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9171         * alloc.c (dbg_valbits): Make const.
9172         * alloc.c (dbg_gctypebits): Make const.
9173
9174 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9175
9176         * redisplay-x.c (x_bevel_area):
9177         redisplay.h (struct rune):
9178         Typo fixes in comments.
9179
9180 2001-01-05  Andy Piper  <andy@xemacs.org>
9181
9182         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9183         adjustment.
9184
9185         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9186
9187 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9188
9189         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9190
9191         * mule-ccl.c (stack_idx_of_map_multiple):
9192         Non const global data must not be initialized!
9193         Found by MIYASHITA Hisashi.
9194
9195 2001-01-02  Andy Piper  <andy@xemacs.org>
9196
9197         * frame.c (change_frame_size): make sure frame size is always
9198         marked as changed.
9199
9200         * glyphs.c (image_instance_layout): minor code reuse.
9201
9202         * window.c (Fcurrent_window_configuration): revert previous
9203         change.
9204
9205 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9206
9207         * glyphs.h:
9208         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9209
9210 2000-12-31  Andy Piper  <andy@xemacs.org>
9211
9212         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9213         when widget gets unmapped.
9214
9215         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9216         function. Make sure widgets losing focus don't just drop it.
9217         (handle_focus_event_1): record the widget with focus.
9218
9219 2000-12-31  Andy Piper  <andy@xemacs.org>
9220
9221         * window.c (allocate_window): use
9222         make_image_instance_cache_hash_table.
9223         (make_dummy_parent): ditto.
9224         (Fset_window_configuration): ditto.
9225
9226         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9227
9228         * glyphs.c (process_image_string_instantiator): use
9229         INSTANTIATOR_TYPE.
9230         (get_image_instantiator_governing_domain): ditto.
9231         (normalize_image_instantiator): ditto.
9232         (instantiate_image_instantiator): ditto.
9233         (make_image_instance_1): ditto.
9234         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9235         (instantiator_eq_equal): new function for use with instance hash
9236         tables.
9237         (instantiator_eq_hash): ditto.
9238         (make_image_instance_cache_hash_table): create a suitable hash
9239         table for storing image instances.
9240
9241         * elhash.h (hash_table_weakness): new internal weakness type
9242         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9243         declare new functions.
9244
9245         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9246         another weakness type for glyphs.
9247         (make_standard_lisp_hash_table): new function split out from
9248         make_general_lisp_hash_table.
9249         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9250         (hash_table_instantiate): ditto.
9251         (Fmake_hash_table): ditto.
9252
9253 2000-12-31  Martin Buchholz <martin@xemacs.org>
9254
9255         * XEmacs 21.2.39 is released.
9256
9257 2000-12-29  Andy Piper  <andy@xemacs.org>
9258
9259         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9260
9261         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9262         the frame has changed so that we pick up geometry changes such as
9263         menubar visibility.
9264
9265 2000-12-28  Andy Piper  <andy@xemacs.org>
9266
9267         * lastfile.c (my_ebss): make a char array so we can pad the
9268         bss. Fixes cygwin unexec.
9269
9270         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9271
9272 2000-12-26  Andy Piper  <andy@xemacs.org>
9273
9274         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9275         comments and try and be more precise about a non-/SIGIO world.
9276         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9277         SIGIO.
9278
9279         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9280         we don't normalize to zero width or height.
9281
9282 2000-12-24  Andy Piper  <andy@xemacs.org>
9283
9284         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9285
9286 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9287
9288         * s/sco5.h: SCO 5 has pty support.
9289
9290 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9291
9292         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9293         input-method-xlib.c contains whole contents of input-method-xfs.c,
9294         so we can use input-method-xlib.c's code for USE_XFONTSET
9295         using #ifdefs.
9296         * input-method-xfs.c: removed.
9297
9298 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9299
9300         * file-coding.h (enum coding_category_type): reorder enumerators to
9301         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9302         (now one greater than largest real coding_category_type enumerator).
9303         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9304         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9305         Fcoding_category_list, Fset_coding_priority_list,
9306         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9307         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9308
9309 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9310
9311         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9312         * redisplay-output.c (redisplay_output_window): Clear top of window
9313         when face is changed.
9314         * redisplay-x.c (x_redraw_exposed_window): Call
9315         redisplay_clear_top_of_window.
9316         * redisplay.h: Publish redisplay_clear_top_of_window.
9317
9318 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9319
9320         * buffer.c (Fkill_buffer): Map over all devices.
9321         * window.c (window_loop): Remove UNSHOW_BUFFER code.
9322         (list_windows): New function.
9323         (list_all_windows): Ditto.
9324         (Freplace_buffer_in_windows): Use them.
9325
9326 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
9327
9328         * database.c (berkdb_subtype): Recognize new subtype `queue'.
9329         (Fopen_database): Use `db_create' instead of `db_open'.
9330         (syms_of_database): Initialize Qqueue.
9331
9332 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9333
9334         * buffer.c (common_init_complex_vars_of_buffer): Initialize
9335         buffer_local_face_property.
9336         * buffer.h (struct buffer): New member buffer_local_face_property.
9337         * window.c (Fset_window_buffer):  Mark window's face as changed
9338         when buffer has buffer local face.
9339         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
9340         * objects.c (color_after_change): Set buffer_local_face_property
9341         when locale of face specifier is buffer.
9342         * objects.c (font_after_change): Ditto.
9343         * objects.c (face_boolean_after_change): Ditto.
9344         * glyphs.c (image_after_change): Ditto.
9345
9346 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9347
9348         * nt.c (mswindows_fstat): Report file permissions, volume serial
9349         number, etc. Code adapted from FSF Emacs 20.7.
9350
9351 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9352
9353         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
9354         of stat when we don't have symbolic links, to make sure
9355         mswindows_stat is called on mswindows.
9356
9357 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
9358
9359         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
9360
9361 2000-12-12  Martin Buchholz  <martin@xemacs.org>
9362
9363         * doprnt.c (emacs_doprnt_1): More printing fixes.
9364         Make printing of numbers compatible with libc and FSF Emacs.
9365         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
9366         Use the system printf to do most of the hard work of formatting,
9367         instead of doprnt_1().
9368         Calculate memory to allocate for format string.
9369         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
9370         (doprnt_1): Cleaner code and documentation.
9371
9372 2000-12-01  Jerry James  <james@eecs.ukans.edu>
9373
9374         * Makefile.in.in: Use the loop variable to install headers.
9375
9376 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9377
9378         * window.c (Fsplit_window): Don't invalidate face cache.
9379
9380 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9381
9382         * minibuf.c (Fall_completions): Undo the previous change
9383         which removed checking elements start with space.
9384
9385 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9386
9387         * mule-canna.c: Didier suppression.
9388
9389 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9390
9391         * mule-canna.c: rename static unsigned char buf[] to key_buffer
9392         (warning suppression).  Add English comment translations.
9393
9394 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9395
9396         * unexelfsgi.c (unexec): Better test for mmap failure.
9397
9398 2000-12-05  Martin Buchholz <martin@xemacs.org>
9399
9400         * XEmacs 21.2.38 is released.
9401
9402 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9403
9404         * redisplay.c (bar-cursor): Make a user variable.
9405
9406         * symsinit.h: Add init_postgresql_from_environment.
9407
9408 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9409
9410         * regex.c: Convert to clean C.
9411
9412 2000-12-05  Dan Holmsand  <dan@eyebee.com>
9413
9414         * realpath.c:
9415         Don't #include sysfile.h. Revert to duplicating PATH_MAX
9416         initialization.
9417         (sys_readlink): renamed to system_readlink to avoid conflict with
9418         the other sys_readlink.
9419
9420 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
9421
9422         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
9423
9424 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
9425
9426         * postgresql.c (init_postgresql_from_environment): new function.
9427         (vars_of_postgresql): Move code initializing Lisp variables out and
9428         into init_postgresql_from_environment.
9429         emacs.c (main_1): Call init_postgresql_from_environment if and only
9430         if running a dumped XEmacs.
9431
9432 2000-08-31  Dan Holmsand  <dan@eyebee.com>
9433
9434         * buffer.c: Make find-file-compare-truenames default to true on
9435         windows.
9436
9437         * realpath.c (win32_abs_start):
9438         (cygwin_readlink):
9439         (win32_readlink): New functions.
9440         (xrealpath): Return really real filenames on windows.
9441
9442         * fileio.c (Ffile_truename): Make file-truename work on windows.
9443
9444 2000-11-29  Didier Verna  <didier@xemacs.org>
9445
9446         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
9447         * faces.c (update_face_cachel_data): use it.
9448         * faces.c (add_face_cachel): use it. Complete background pixmap
9449         frobbing in face cache if `update_face_cachel_data' has not done so.
9450
9451 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
9452
9453         * search.c (string_match_1): Don't set last_thing_searched
9454         when search failed.
9455
9456 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
9457
9458         * buffer.c: Include casetab.h
9459         (common_init_complex_vars_of_buffer): Use new case-table object.
9460         * buffer.h: Include casetab.h
9461         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
9462         (DOWNCASE_TABLE_OF): Ditto.
9463         * bufslots.h: Remove char-tables and add case-table.
9464         * casetab.c: Include casetab.h
9465         (CASE_TABLE_P): Removed.
9466         (mark_case_table): New function.
9467         (allocate_case_table): New function.
9468         (Fcase_table_p): Use new case-table.
9469         (case_table_char): New function.
9470         (Fget_case_table): Ditto.
9471         (Fput_case_table): Ditto.
9472         (Fput_case_table_pair): Ditto.
9473         (Fcopy_case_table): Ditto.
9474         (Fcurrent_case_table): Return case-table.
9475         (Fstandard_case_table): Return case-table.
9476         (Fset_case_table): Fix doc-string.
9477         (set_case_table): Use case-table
9478         (syms_of_casetab): DEFSUBR new functions.
9479         (complex_vars_of_casetab): Set up standard case-table.
9480         * casetab.h: New file.
9481         * editfns.c: Include casetab.h
9482         (Fcompare_buffer_substrings): Use case-table.
9483         * inline.c: Include casetab.h
9484         * lisp.h: Remove bogus extern.
9485         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
9486         * search.c: Include casetab.h
9487         (TRANSLATE_ASCII): Removed.
9488         (TRANSLATE): Unconditionally translate character.
9489         (looking_at_1): Use case-table.
9490         (string_match_1): Ditto.
9491         (fast_string_match): Ditto.
9492         (search_command): Ditto.
9493         (search_buffer): Separate boyer_moore.  Check whether
9494         boyer_moore is possible.
9495         (simple_search): New function.
9496         (boyer_moore): Separated from search_buffer. Translate char.
9497
9498 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
9499
9500         * regex.c (RE_TR_ASCII): Removed.
9501         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
9502         (PATFETCH): Call PATFETCH_RAW.
9503         (PATFETCH_RAW): Fetch Emchar.
9504         (PATUNFETCH): Decrement charptr.
9505         (GET_BUFFER_SPACE): Rename b to buf_end.
9506         (BUF_PUSH): Ditto.
9507         (BUF_PUSH_2): Ditto.
9508         (BUF_PUSH_3): Ditto.
9509         (EXTEND_BUFFER): Ditto.
9510         (SET_LIST_BIT): Ditto.
9511         (regex_compile): Ditto.  Translate non ASCII char.
9512         (compile_range): Ditto.
9513         (re_search_2): Ditto.
9514         (re_match_2_internal): Compare Emchar.
9515         (bcmp_translate): Ditto.
9516
9517 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
9518
9519         * lisp.h (basic char/int typedefs):  comment improvement.
9520
9521 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
9522
9523         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
9524         unstomp inhibit_site_lisp.  Improve comments.
9525
9526 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
9527
9528         * mule-charset.c (Fcharset_property):  improve type checking, comments.
9529
9530 2000-11-28  Andy Piper  <andy@xemacs.org>
9531
9532         * redisplay-output.c (redisplay_output_subwindow): make sure we do
9533         clipped display for windows in the gutter also.
9534         (redisplay_display_boxes_in_window_p): change semantics of return
9535         codes to be more intuitive.
9536
9537         * gutter.h: declare display_boxes_in_gutter_p.
9538
9539         * gutter.c (display_boxes_in_gutter_p): new function for
9540         redisplay.
9541
9542 2000-11-22  Andy Piper  <andy@xemacs.org>
9543
9544         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
9545         autodetect domain.
9546
9547 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
9548
9549         * callproc.c (Fold_call_process_internal):
9550         * gpm.c (Freceive_gpm_event):
9551         (tty_get_foreign_selection): Might be just warning supression.
9552         * fileio.c (Fwrite_region_internal):
9553         (Fset_visited_file_modtime):
9554         * keymap.c (event_matches_key_specifier_p):
9555         Initialize GCPROed variable.
9556
9557         * menubar-x.c (command_builder_find_menu_accelerator):
9558         Initialize before use.
9559
9560 2000-11-23  Andy Piper  <andy@xemacs.org>
9561
9562         * unexcw.c (unexec): make the resulting executable executable.
9563
9564 2000-11-21  Martin Buchholz  <martin@xemacs.org>
9565
9566         * doc.c (get_doc_string):
9567         Use size_t, not int, for result of XSTRING_LENGTH.
9568
9569         * cmds.c (Fdelete_char):
9570         * cmds.c (Fpoint_at_eol):
9571         * cmds.c (Fself_insert_command):
9572         Use EMACS_INT, not int, for result of XINT.
9573         Someday, someone will want to insert more than 2**31 identical characters.
9574
9575         * cmds.c (Fdelete_char):
9576         * cmds.c (Fdelete_backward_char):
9577         * syntax.c (Fforward_word):
9578         * syntax.c (Fforward_comment):
9579         Make COUNT argument optional, for consistency with forward-char et al.
9580
9581 2000-11-22  Martin Buchholz  <martin@xemacs.org>
9582
9583         * lisp.h:
9584         * print.c (long_to_string):
9585         Return a useful value: the pointer at end of data written.
9586
9587         * doprnt.c:
9588         Use `static const char * const' for constant strings.
9589         (union printf_arg): Delete `i', `ui' members.
9590         (get_doprnt_args):
9591         (emacs_doprnt_1):
9592         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
9593         Do all printf-ing via the `l' specifier.
9594         Use EMACS_INT instead of int.
9595         Optimize.
9596
9597 2000-11-20  Didier Verna  <didier@xemacs.org>
9598
9599         * faces.c (update_face_cachel_data): don't frob the background
9600         pixmap when the window is being created. The face is needed but
9601         does not exist yet.
9602
9603 2000-11-20  Andy Piper  <andy@xemacs.org>
9604
9605         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
9606         messing with a debug environment.
9607
9608 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9609
9610         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
9611
9612 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9613
9614         * casetab.c (Fcase_table_p): Fix compile error and crash.
9615
9616 2000-11-18  Philip Aston  <philipa@mail.com>
9617
9618         * s/cygwin32.h: Cygwin has SVR4-like pty support.
9619
9620 2000-11-18  Martin Buchholz  <martin@xemacs.org>
9621
9622         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
9623         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
9624
9625 2000-11-17  Martin Buchholz  <martin@xemacs.org>
9626
9627         * config.h.in: Define HAVE_ELF_H if elf.h exists.
9628         * unexelf.c: Use HAVE_ELF_H.
9629         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
9630         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
9631         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
9632         Greg Harrington <greg_harrington@hotmail.com> provided a machine
9633         for testing.
9634         So this is an unexelfsgi.c from a different line of development.
9635
9636 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9637
9638         * regex.c (RE_TR_ASCII): New function.
9639         (RE_TRANSLATE): Call it.
9640
9641 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9642
9643         * buffer.h (TRT_TABLE_OF): Remove assert.
9644         (IN_TRT_TABLE_DOMAIN): Removed.
9645
9646 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9647
9648         * free-hook.c (log_gcpro):
9649         (show_gcprohist): Add support for GCPRO5.
9650
9651 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
9652
9653         * emacs.c (main_1): Improve -sd error message when --pdump=no.
9654
9655 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
9656
9657         * symeval.h: Declare flush_all_buffer_local_cache.
9658
9659         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
9660         (flush_buffer_local_cache): Added.
9661         (flush_all_buffer_local_cache): Added.
9662
9663         * lrecord.h: Remove unused XD_LO_RESET_NIL.
9664
9665         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
9666         (pdump_dump_data): Ditto.
9667         (pdump_reloc_one): Ditto.
9668         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
9669         before dumping.
9670
9671
9672 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9673
9674         * buffer.c: Remove if 0'ed entry.
9675         * buffer.h: Rewrite TRT to use char-table.
9676         * bufslots.h: Remove mirror tables.
9677         * casetab.c: Remove mirror tables.
9678         (CASE_TABLE_P): New macro.
9679         (Fcase_table_p): Element of a case table is string or char-table.
9680         (make_mirror_trt_table): Removed.
9681         (set_case_table): Setup char-table from strings for backward
9682         compatibility.
9683         * dired.c (Fdirectory_files):
9684         * dired-msw.c: (mswindows_get_files):
9685         * lisp.h: Change prototype of re_pattern_buffer.
9686         * regex.c: (RE_TRANSLATE): New macro.
9687         (TRANSLATE_P): Ditto.
9688         Change translate to type RE_TRANSLATE_TYPE.
9689         * regex.h: Define RE_TRANSLATE_TYPE
9690         * search.c (TRANSLATE): New macro.
9691         (TRANSLATE_ASCII): New macro.
9692         Translate table is changed to Lisp_Object.
9693         (signal_failure): Inhibit return.
9694
9695 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9696
9697         * device-msw.c:
9698         * eldap.c:
9699         * event-Xt.c:
9700         * event-stream.c:
9701         * print.c:
9702         Do UNGCPRO before return.
9703
9704 2000-11-14  Martin Buchholz <martin@xemacs.org>
9705
9706         * XEmacs 21.2.37 is released.
9707
9708 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9709
9710         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
9711         Add comments about discarded return value.
9712
9713 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9714
9715         * callint.c:
9716         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
9717
9718 2000-10-27  Andy Piper  <andy@xemacs.org>
9719
9720         * gutter.c (Fset_default_gutter_position): default left and right
9721         gutters to visible.
9722         (calculate_gutter_size): calculate resonable heuristic for left
9723         and right gutter sizes.
9724         (specifier_vars_of_gutter): change left and right gutter sizes to
9725         autodetect.
9726         (calculate_gutter_size_from_display_lines): new function.
9727         (output_gutter): check for resizing on left and right gutters.
9728         (clear_gutter): don't special case top and left gutters.
9729         (specifier_vars_of_gutter): use new signature for
9730         set_specifier_caching.
9731
9732         * glyphs-x.c (x_redisplay_widget): spelling fix.
9733         * glyphs.c (specifier_vars_of_glyphs):
9734         * menubar.c (specifier_vars_of_menubar):
9735         * redisplay.c (specifier_vars_of_redisplay):
9736         * toolbar.c (specifier_vars_of_toolbar):
9737         * window.c (specifier_vars_of_window):
9738         * scrollbar.c (specifier_vars_of_scrollbar):
9739         (complex_vars_of_scrollbar): use new signature for
9740         set_specifier_caching.
9741
9742         * specifier.c (set_specifier_caching): include recompute flag.
9743         (recompute_one_cached_specifier_in_window): always recompute if
9744         flag set.
9745         (recompute_one_cached_specifier_in_frame): ditto.
9746
9747         * specifier.h (struct specifier_caching): add recompute flag.
9748
9749 2000-10-24  Andy Piper  <andy@xemacs.org>
9750
9751         * unexcw.c (copy_executable_and_dump_data_section): add new
9752         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
9753         5.0 happy.
9754
9755 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9756
9757         * console-x.h (x_device): New member modifier_release_time.
9758         * event-Xt.c (x_handle_sticky_modifiers):
9759         Bound interval modifier keys are sticky.
9760         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
9761         * events.h: extern it.
9762
9763 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9764
9765         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
9766
9767 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9768
9769         * event-stream.c (execute_command_event): Preserve current_events
9770         and the like when event is misc-user-event.
9771         Inhibit quit during the call to maybe_echo_keys.
9772
9773 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9774
9775         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
9776         symlink when buffer is killed.
9777         (inhibit_clash_detection): New variable.
9778
9779 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9780
9781         * console.c (Fset_input_method): Trigger redisplay on tty.
9782
9783 2000-11-07  Martin Buchholz  <martin@xemacs.org>
9784
9785         * process.c (Fprocess_status): Revert to previous behavior:
9786         (process-status "nosuchprocess") ==> nil
9787
9788 2000-11-06  Martin Buchholz  <martin@xemacs.org>
9789
9790         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
9791         Work around another GCC 2.95.2 optimizer bug.
9792
9793 2000-11-02  Martin Buchholz  <martin@xemacs.org>
9794
9795         * process.c (Fget_process): Use LIST_LOOP_2.
9796         (kill_buffer_processes): Use LIST_LOOP_2.
9797
9798         * minibuf.c (Fall_completions):
9799         Delete old non-functional code for FSF fourth argument.
9800
9801         * frame.c (frame_matches_frame_spec):
9802         Renamed from `frame_matches_frametype'.  Update all callers.
9803         (device_matches_device_spec):
9804         Renamed from 'device_matches_console_spec'.  Update all callers.
9805
9806         * doc.c (Fsubstitute_command_keys):
9807         Remove buffer overflow crash.  Small code cleanups.
9808
9809         * casetab.c (check_case_table): Simpler code.
9810
9811         * window.c (Freplace_buffer_in_windows):
9812         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
9813         (and similar implementation) as Fdelete_windows_on.
9814         Update all callers.
9815
9816         * alloc.c (Fmake_list):
9817         * alloc.c (make_vector):
9818         * alloc.c (Fmake_vector):
9819         * alloc.c (make_bit_vector):
9820         * alloc.c (Fmake_bit_vector):
9821         * alloc.c (Fbit_vector):
9822         * alloc.c (Fmake_string):
9823         * alloc.c (Fpurecopy):
9824         * alloc.c (Fmemory_limit):
9825         * buffer.c:
9826         * buffer.c (Fget_buffer):
9827         * buffer.c (Fkill_buffer):
9828         * buffer.c (complex_vars_of_buffer):
9829         * bytecode.c (Fcompiled_function_stack_depth):
9830         * callint.c (Fprefix_numeric_value):
9831         * event-stream.c:
9832         * event-stream.c (Fread_key_sequence):
9833         * casetab.c:
9834         * casetab.c (Fcase_table_p):
9835         * casetab.c (check_case_table):
9836         * casetab.c (Fset_case_table):
9837         * casetab.c (Fset_standard_case_table):
9838         * chartab.c:
9839         * chartab.c (Fchar_table_type):
9840         * chartab.c (Freset_char_table):
9841         * chartab.c (Fget_char_table):
9842         * chartab.c (Fget_range_char_table):
9843         * chartab.c (Fput_char_table):
9844         * chartab.c (Fmap_char_table):
9845         * chartab.c (Fcategory_table_p):
9846         * chartab.c (Fcheck_category_at):
9847         * chartab.c (Fchar_in_category_p):
9848         * chartab.c (Fcategory_table):
9849         * chartab.c (Fcopy_category_table):
9850         * chartab.c (Fset_category_table):
9851         * chartab.c (Fcategory_designator_p):
9852         * chartab.c (Fcategory_table_value_p):
9853         * cmds.c (Fdelete_char):
9854         * cmds.c (Fdelete_backward_char):
9855         * cmds.c (Fself_insert_command):
9856         * cmds.c (Fself_insert_internal):
9857         * console.c (Fvalid_console_type_p):
9858         * console.c (Fcdfw_console):
9859         * console.c (Fconsole_type):
9860         * console.c (Fconsole_name):
9861         * console.c (Fconsole_device_list):
9862         * console.c (Fconsole_on_window_system_p):
9863         * data.c:
9864         * data.c (Feq):
9865         * data.c (Fold_eq):
9866         * data.c (Fsubr_interactive):
9867         * data.c (Fchar_to_int):
9868         * data.c (Fint_to_char):
9869         * data.c (Fsetcar):
9870         * data.c (Fsetcdr):
9871         * data.c (Fnumber_to_string):
9872         * data.c (Fstring_to_number):
9873         * data.c (Frem):
9874         * database.c (mark_database):
9875         * database.c (finalize_database):
9876         * database.c (Fdatabase_live_p):
9877         * database.c (Fdatabasep):
9878         * device-x.c (Fx_get_resource):
9879         * device.c (Fdfw_device):
9880         * dired.c:
9881         * dired.c (Ffile_name_completion):
9882         * dired.c (Ffile_name_all_completions):
9883         * dired.c (Fuser_name_completion):
9884         * dired.c (Fuser_name_completion_1):
9885         * dired.c (Fuser_name_all_completions):
9886         * doc.c (Fdocumentation):
9887         * doc.c (Fdocumentation_property):
9888         * doc.c (Fsubstitute_command_keys):
9889         * editfns.c:
9890         * editfns.c (Fchar_to_string):
9891         * editfns.c (Fstring_to_char):
9892         * editfns.c (Ftemp_directory):
9893         * editfns.c (Finsert_char):
9894         * editfns.c (Fbuffer_substring_no_properties):
9895         * editfns.c (Fnarrow_to_region):
9896         * editfns.c (Fchar_equal):
9897         * editfns.c (Fchar_Equal):
9898         * editfns.c (Ftranspose_regions):
9899         * emacs.c (Fdump_emacs):
9900         * eval.c (Fthrow):
9901         * eval.c (Fcommand_execute):
9902         * eval.c (Fautoload):
9903         * eval.c (Fbacktrace):
9904         * eval.c (Fbacktrace_frame):
9905         * events.c:
9906         * events.c (Fcopy_event):
9907         * events.c (Fcharacter_to_event):
9908         * events.c (Fevent_button):
9909         * events.c (Fevent_process):
9910         * extents.c:
9911         * extents.c (Fnext_extent_change):
9912         * extents.c (Fextent_property):
9913         * faces.c (Ffacep):
9914         * faces.c (Fmake_face):
9915         * file-coding.c:
9916         * file-coding.c (Fencode_shift_jis_char):
9917         * file-coding.c (Fencode_big5_char):
9918         * fileio.c (Ffile_name_directory):
9919         * fileio.c (Ffile_name_nondirectory):
9920         * fileio.c (Ffile_name_as_directory):
9921         * fileio.c (Fdirectory_file_name):
9922         * fileio.c (Ffile_truename):
9923         * fileio.c (Fsubstitute_in_file_name):
9924         * fileio.c (Ffile_modes):
9925         * fileio.c (Fset_file_modes):
9926         * fileio.c (Fset_default_file_modes):
9927         * fileio.c (Fverify_visited_file_modtime):
9928         * floatfns.c (Facos):
9929         * floatfns.c (Fasin):
9930         * floatfns.c (Fatan):
9931         * floatfns.c (Fcos):
9932         * floatfns.c (Fsin):
9933         * floatfns.c (Ftan):
9934         * floatfns.c (Fbessel_j0):
9935         * floatfns.c (Fbessel_j1):
9936         * floatfns.c (Fbessel_jn):
9937         * floatfns.c (Fbessel_y0):
9938         * floatfns.c (Fbessel_y1):
9939         * floatfns.c (Fbessel_yn):
9940         * floatfns.c (Ferf):
9941         * floatfns.c (Ferfc):
9942         * floatfns.c (Flog_gamma):
9943         * floatfns.c (Fexp):
9944         * floatfns.c (Fexpt):
9945         * floatfns.c (Flog):
9946         * floatfns.c (Flog10):
9947         * floatfns.c (Fsqrt):
9948         * floatfns.c (Fcube_root):
9949         * floatfns.c (Facosh):
9950         * floatfns.c (Fasinh):
9951         * floatfns.c (Fatanh):
9952         * floatfns.c (Fcosh):
9953         * floatfns.c (Fsinh):
9954         * floatfns.c (Ftanh):
9955         * floatfns.c (Fabs):
9956         * floatfns.c (Ffloat):
9957         * floatfns.c (Flogb):
9958         * floatfns.c (Fceiling):
9959         * floatfns.c (Ffloor):
9960         * floatfns.c (Fround):
9961         * floatfns.c (Ftruncate):
9962         * floatfns.c (Ffceiling):
9963         * floatfns.c (Fffloor):
9964         * floatfns.c (Ffround):
9965         * floatfns.c (Fftruncate):
9966         * fns.c (Fstring_equal):
9967         * fns.c (Fstring_lessp):
9968         * fns.c (concat2):
9969         * fns.c (concat3):
9970         * fns.c (vconcat2):
9971         * fns.c (vconcat3):
9972         * fns.c (Fsubstring):
9973         * fns.c (Fassoc):
9974         * fns.c (Fold_assoc):
9975         * fns.c (assoc_no_quit):
9976         * fns.c (Fassq):
9977         * fns.c (Fold_assq):
9978         * fns.c (assq_no_quit):
9979         * fns.c (Frassoc):
9980         * fns.c (Fold_rassoc):
9981         * fns.c (Frassq):
9982         * fns.c (Fold_rassq):
9983         * fns.c (rassq_no_quit):
9984         * fns.c (Fremassoc):
9985         * fns.c (remassoc_no_quit):
9986         * fns.c (Fremassq):
9987         * fns.c (remassq_no_quit):
9988         * fns.c (Fremrassoc):
9989         * fns.c (Fremrassq):
9990         * fns.c (remrassq_no_quit):
9991         * fns.c (Fsort):
9992         * fns.c (Fplist_get):
9993         * fns.c (Fplist_put):
9994         * fns.c (Fplist_remprop):
9995         * fns.c (Fplist_member):
9996         * fns.c (Flax_plist_get):
9997         * fns.c (Flax_plist_put):
9998         * fns.c (Flax_plist_remprop):
9999         * fns.c (Flax_plist_member):
10000         * fns.c (Fequal):
10001         * fns.c (Fold_equal):
10002         * fns.c (Frequire):
10003         * fns.c (Fbase64_encode_region):
10004         * fns.c (Fbase64_encode_string):
10005         * fns.c (Fbase64_decode_region):
10006         * frame.c:
10007         * frame.c (frame_matches_frame_spec):
10008         * frame.c (device_matches_device_spec):
10009         * frame.c (next_frame):
10010         * frame.c (previous_frame):
10011         * frame.c (Fnext_frame):
10012         * frame.c (Fprevious_frame):
10013         * frame.c (Fframe_property):
10014         * frame.c (Fset_frame_height):
10015         * frame.c (Fset_frame_size):
10016         * frame.h:
10017         * glyphs.c:
10018         * glyphs.c (if):
10019         * glyphs.c (decode_error_behavior_flag):
10020         * glyphs.c (Fmake_image_instance):
10021         * indent.c (Findent_to):
10022         * intl.c (Fignore_defer_gettext):
10023         * keymap.c (Fkeymapp):
10024         * keymap.c (Flookup_key):
10025         * lread.c:
10026         * lread.c (Fload_internal):
10027         * lread.c (Feval_buffer):
10028         * lread.c (Feval_region):
10029         * macros.c (Fexecute_kbd_macro):
10030         * marker.c (set_marker_internal):
10031         * marker.c (Fset_marker):
10032         * marker.c (set_marker_restricted):
10033         * marker.c (Fcopy_marker):
10034         * marker.c (noseeum_copy_marker):
10035         * menubar.c:
10036         * menubar.c (Fpopup_menu):
10037         * minibuf.c:
10038         * mule-charset.c (Fcharset_name):
10039         * mule-charset.c (Fchar_charset):
10040         * mule-charset.c (Fchar_octet):
10041         * mule-charset.c (Fsplit_char):
10042         * mule-wnnfns.c (Fwnn_open):
10043         * mule-wnnfns.c (Fwnn_dict_comment):
10044         * mule-wnnfns.c (Fwnn_quit_henkan):
10045         * mule-wnnfns.c (Fwnn_word_toroku):
10046         * mule-wnnfns.c (Fwnn_word_sakujo):
10047         * mule-wnnfns.c (Fwnn_word_use):
10048         * mule-wnnfns.c (Fwnn_hindo_set):
10049         * objects.c:
10050         * objects.c (Fmake_color_instance):
10051         * objects.c (Fmake_font_instance):
10052         * print.c (Fwrite_char):
10053         * process.c:
10054         * process.c (mark_process):
10055         * process.c (print_process):
10056         * process.c (get_process_from_usid):
10057         * process.c (Fprocessp):
10058         * process.c (Fprocess_live_p):
10059         * process.c (Fget_process):
10060         * process.c (Fget_buffer_process):
10061         * process.c (get_process):
10062         * process.c (Fprocess_id):
10063         * process.c (Fprocess_name):
10064         * process.c (Fprocess_command):
10065         * process.c (init_process_io_handles):
10066         * process.c (start_process_unwind):
10067         * process.c (Fstart_process_internal):
10068         * process.c (Fopen_multicast_group_internal):
10069         * process.c (Fset_process_window_size):
10070         * process.c (read_process_output):
10071         * process.c (send_process):
10072         * process.c (Fprocess_tty_name):
10073         * process.c (Fset_process_buffer):
10074         * process.c (Fprocess_buffer):
10075         * process.c (Fprocess_mark):
10076         * process.c (set_process_filter):
10077         * process.c (Fset_process_filter):
10078         * process.c (Fprocess_filter):
10079         * process.c (Fprocess_send_region):
10080         * process.c (Fprocess_send_string):
10081         * process.c (exec_sentinel):
10082         * process.c (Fset_process_sentinel):
10083         * process.c (Fprocess_sentinel):
10084         * process.c (status_notify):
10085         * process.c (Fprocess_status):
10086         * process.c (Fprocess_exit_status):
10087         * process.c (process_send_signal):
10088         * process.c (Fprocess_send_eof):
10089         * process.c (deactivate_process):
10090         * process.c (remove_process):
10091         * process.c (Fdelete_process):
10092         * process.c (kill_buffer_processes):
10093         * process.c (Fprocess_kill_without_query):
10094         * process.c (Fprocess_kill_without_query_p):
10095         * rangetab.c:
10096         * rangetab.c (Fget_range_table):
10097         * rangetab.c (Fput_range_table):
10098         * rangetab.c (Fremove_range_table):
10099         * rangetab.c (Fclear_range_table):
10100         * search.c:
10101         * search.c (Fskip_chars_forward):
10102         * search.c (Fskip_chars_backward):
10103         * search.c (Fskip_syntax_forward):
10104         * search.c (Fskip_syntax_backward):
10105         * search.c (search_command):
10106         * search.c (Freplace_match):
10107         * search.c (Fregexp_quote):
10108         * select.c (Fown_selection_internal):
10109         * select.c (Fselection_owner_p):
10110         * select.c (Fselection_exists_p):
10111         * select.c (Fget_selection_internal):
10112         * specifier.c:
10113         * symbols.c:
10114         * symbols.c (Fintern):
10115         * symbols.c (Fintern_soft):
10116         * symbols.c (Funintern):
10117         * symbols.c (Fapropos_internal):
10118         * symbols.c (Fset_default):
10119         * syntax.c:
10120         * syntax.c (Fsyntax_table_p):
10121         * syntax.c (Fcopy_syntax_table):
10122         * syntax.c (Fset_syntax_table):
10123         * syntax.c (Fchar_syntax):
10124         * syntax.c (syntax_match):
10125         * syntax.c (Fmatching_paren):
10126         * syntax.c (Fforward_word):
10127         * syntax.c (scan_lists):
10128         * syntax.c (Fscan_lists):
10129         * syntax.c (Fscan_sexps):
10130         * syntax.c (Fparse_partial_sexp):
10131         * toolbar.c (Fcheck_toolbar_button_syntax):
10132         * tooltalk.doc:
10133         * window.c:
10134         * window.c (Fwindowp):
10135         * window.c (Fwindow_live_p):
10136         * window.c (Fwindow_point):
10137         * window.c (Fdelete_window):
10138         * window.c (Fnext_window):
10139         * window.c (Fprevious_window):
10140         * window.c (Fother_window):
10141         * window.c (window_loop):
10142         * window.c (Fget_lru_window):
10143         * window.c (Fsplit_window):
10144         * window.c (Fenlarge_window):
10145         * window.c (Fenlarge_window_pixels):
10146         * window.c (Fshrink_window):
10147         * window.c (Fshrink_window_pixels):
10148         * window.c (change_window_height):
10149         * window.c (Fwindow_configuration_p):
10150         * window.c (Fcurrent_window_configuration):
10151         * window.h:
10152         * casefiddle.c (casify_object):
10153         * casefiddle.c (Fupcase):
10154         * casefiddle.c (Fdowncase):
10155         * casefiddle.c (Fcapitalize):
10156         * casefiddle.c (Fupcase_initials):
10157         * casefiddle.c (casify_region_internal):
10158         * casefiddle.c (casify_region):
10159         * casefiddle.c (Fupcase_region):
10160         * casefiddle.c (Fdowncase_region):
10161         * casefiddle.c (Fcapitalize_region):
10162         * casefiddle.c (Fupcase_initials_region):
10163         * casefiddle.c (Fupcase_word):
10164         * casefiddle.c (Fdowncase_word):
10165         * casefiddle.c (Fcapitalize_word):
10166         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10167         Replace 0 with '\0' when working with bytes.
10168         Replace initial "(" with "\(" in docstrings.
10169
10170 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10171
10172         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10173
10174         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10175
10176 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10177
10178         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10179
10180 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10181
10182         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10183         correctly.
10184
10185 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10186
10187         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10188         (inhibit_auto_save_session): New variable.
10189         (vars_of_fileio): Declare and initialize them.
10190         * fileio.c (Fdo_auto_save): Don't create session file if
10191         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10192
10193 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10194
10195         * sgiplay.c (play_internal): C++ compilability.
10196         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10197         * callproc.c (Fold_call_process_internal):
10198         Remove unused vars `env', `first'.
10199         * scrollbar.c (update_scrollbar_instance):
10200         #### unused var `current_window'.
10201         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10202         etc. within #ifdef NOT_YET.
10203         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10204         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10205         * specifier.c (specifier_instance):
10206         #### unused var `tag'.
10207         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10208
10209 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10210
10211         * fns.c (Fbutlast):
10212         * fns.c (list_sort):
10213         * fns.c (Ffillarray):
10214         * fns.c (bytecode_nconc2):
10215         * fns.c (Fnconc):
10216         * fns.c (mapcar1):
10217         * fns.c (Fmapconcat):
10218         Be pedantically 64-bit correct.  For the time when someone will
10219         want to have a list with length > 2**32.
10220
10221         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10222         Work around MIPSpro compiler bug.
10223
10224         * process-unix.c (unix_kill_child_process): Add snarky comment.
10225         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10226
10227         * config.h.in: Oops, _getpt ==> _getpty
10228
10229 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10230
10231         * config.h.in:
10232         * regex.c:
10233         Use void*, not char*, as return type of alloca().
10234
10235         * alloc.c (free_marker): Side effect inside assert expression!
10236
10237 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10238
10239         * mule-charset.c (Fset_charset_ccl_program): To check
10240         if the given ccl program is valid, use setup_ccl_program()
10241         instead of CHECK_VECTOR().
10242         (Fmake_charset): Likewise.
10243
10244 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10245
10246         * faces.c (get_extent_fragment_face_cache_index):
10247         Fix cachel.merged_faces memory leak.
10248
10249 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10250
10251         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10252         Reset MSB of octets obtained by DECODE_SJIS
10253         because of the incompatibility with Emacs.
10254         (ccl_driver)<CCL_ENCODE_SJIS>:
10255         Set MSB of octets before passing them to
10256         ENCODE_SJIS because of the incompatibility
10257         with Emacs.
10258
10259 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10260
10261         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10262         (DECLARE_LRECORD): Undo the last change.
10263         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10264
10265 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10266
10267         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10268         the implementation to lrecord_implementations_table.
10269
10270 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10271
10272         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10273         initial value of `lrecord_type_##c_name' and
10274         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10275         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10276         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10277         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10278         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10279
10280 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10281
10282         * miscplay.c (sndcnv8S_2mono):
10283         (sndcnv2monounsigned):
10284         (sndcnvULaw_2linear):
10285         (sndcnv16swap):
10286         Remove implementation-defined behavior.
10287
10288 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10289
10290         * input-method-xlib.c: Warning suppression.
10291
10292 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10293
10294         * mule-ccl.c: Sync up with Emacs 21.0.90.
10295         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10296         Do nothing.
10297         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10298         Likewise.
10299         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10300         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10301         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10302         leading char belongs to official 2-dimensional charset.
10303         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10304         write the given character as is.  Otherwise,
10305         if it is a multibyte char, convert it by
10306         non_ascii_set_charptr_emchar, then write it.
10307         (CCL_WRITE_STRING): Likewise.
10308         (ccl_get_compiled_code): New function.
10309         (setup_ccl_program): When ccl_prog is invalid,
10310         return -1.
10311         (Fregister_code_conversion_map): New function.
10312         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10313
10314         * mule-ccl.h: Sync up with Emacs 21.0.90.
10315         (Fregister_ccl_program): export it.
10316
10317         * redisplay-msw.c (separate_textual_runs):
10318         If ccl program is not valid, don't do ccl conversion.
10319
10320         * redisplay-x.c (separate_textual_runs): Ditto.
10321
10322         * file-coding.c (Fmake_coding_system):
10323         When type is ccl and value is vector, register it
10324         with a proper symbol.  And checks whether the
10325         given ccl program is valid.
10326         (mule_decode): When calling ccl_driver, if src indicates
10327         NULL pointer, set an empty string instead.
10328         (mule_encode): Likewise.
10329
10330 2000-10-11  Martin Buchholz  <martin@xemacs.org>
10331
10332         The following large batch of changes gets us back to a state of
10333         C++ compilability.  Extbyte is now a char, which means that
10334         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
10335
10336         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
10337
10338         * sound.c (Fplay_sound): Type correctness.
10339
10340         * select-x.c (hack_motif_clipboard_selection): Type correctness.
10341         (x_get_window_property): Type correctness.
10342         (receive_incremental_selection): unsigned char ==> Extbyte
10343         (selection_data_to_lisp_data): unsigned char ==> Extbyte
10344         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
10345         (Fx_store_cutbuffer_internal): Type correctness.
10346
10347         * process-unix.c (try_to_initialize_subtty): Type correctness.
10348
10349         * objects-x.c (x_print_color_instance): Type correctness.
10350         (x_print_font_instance): Type correctness.
10351         (x_list_fonts): SExtbyte ==> Extbyte.
10352         (valid_x_font_name_p): SExtbyte ==> Extbyte.
10353         (x_find_charset_font): SExtbyte ==> Extbyte.
10354         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
10355         (truename_via_XListFonts): SExtbyte ==> Extbyte.
10356         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
10357         Use bufbyte_strcmp.
10358
10359         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
10360         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
10361         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
10362         (BYTE_C0_P): Use bit ops for char-signedness safety.
10363         (BYTE_C1_P): Use bit ops for char-signedness safety.
10364         (CHARSET_BY_LEADING_BYTE):
10365         (CHARSET_BY_ATTRIBUTES):
10366         Always use inline function.
10367         Use type_checking_assert.
10368         Hide chlook.
10369
10370         * mule-charset.c (non_ascii_charptr_copy_char):
10371         Modify to work with both ASCII and non-ASCII characters.
10372         Improve docs and variable names.
10373         Replace over-clever fall-through switch with a simple loop.
10374         (Lstream_get_emchar_1):
10375         Replace over-clever fall-through switch with a simple loop.
10376
10377         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10378         Warning suppression.
10379
10380         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
10381         the return value of Lstream_getc, which could be EOF as well.
10382
10383         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
10384
10385         * lisp.h: Make Extbyte a char, not unsigned char, so that external
10386         APIs can be used on Extbytes without casts.  Risky!
10387         (SExtbyte): Remove.
10388         (UExtbyte): Remove.
10389
10390         * input-method-xlib.c (XIM_init_device):
10391         Use Xlib.h instead of IntrinsicP.h.
10392         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
10393         which will break in X11R7.
10394         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
10395         to call XRegisterIMInstantiateCallback with correct types.
10396
10397         * gui-x.c (button_item_to_widget_value): Type correctness.
10398
10399         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
10400
10401         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
10402         (xbm_instantiate_1): Type correctness.
10403         (BUILD_GLYPH_INST):  Type correctness.
10404
10405         * fileio.c (Fsubstitute_in_file_name): Type correctness.
10406
10407         * file-coding.c:
10408         (decode_coding_sjis):
10409         (decode_coding_big5):
10410         (decode_coding_ucs4):
10411         (decode_coding_utf8):
10412         (decode_coding_iso2022):
10413         (decode_coding_no_conversion):
10414         Make all decoding functions take an Extbyte * arg.
10415         (encode_coding_sjis):
10416         (encode_coding_big5):
10417         (encode_coding_ucs4):
10418         (encode_coding_utf8):
10419         (encode_coding_iso2022):
10420         (encode_coding_no_conversion):
10421         Make all encoding functions take a Bufbyte * arg.
10422         Use size_t instead of unsigned int for memory sizes.
10423         Only cast to unsigned char whenever dereferencing Extbyte *.
10424
10425         * doc.c (unparesseuxify_doc_string): Type correctness.
10426
10427         * console-x.c (split_up_display_spec):
10428         Rewrite without using details of internal string representation.
10429         (x_semi_canonicalize_device_connection): Type correctness.
10430
10431         * config.h.in:
10432         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
10433         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
10434         (HAVE_XFREE386): Removed.
10435
10436         * buffer.h (DEC_CHARPTR): `const' correctness.
10437         (bufbyte_strcmp): New.
10438         (bufbyte_memcmp): New.
10439
10440         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
10441
10442         * buffer.h (XCHAR_OR_CHAR_INT):
10443         Always use inline function.
10444         Remove redundant type checking assert() - XINT will abort quite nicely.
10445
10446 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10447
10448         * search.c (Freplace_match): Set newtext to an empty string.
10449
10450 2000-10-10  Martin Buchholz  <martin@xemacs.org>
10451
10452         * s/decosf1-3.h: Remove #include of stropts.h
10453         * s/ptx.h: Remove #include of stropts.h
10454         * s/usg5-4.h: Remove #include of stropts.h
10455         * sysproc.h:
10456         * config.h.in:
10457         Use stropts.h, not sys/stropts.h.
10458         Use strtio.h, not sys/strtio.h.
10459
10460 2000-10-04  Martin Buchholz <martin@xemacs.org>
10461
10462         * XEmacs 21.2.36 is released.
10463
10464 2000-09-21  Andy Piper  <andy@xemacs.org>
10465
10466         * glyphs-x.c (x_redisplay_widget): make sure non-structural
10467         changes still involve copying the widget tree.
10468         (update_widget_face): make sure a change is register in the widget
10469         tree. Call update_tab_widget_face appropriately.
10470         (update_tab_widget_face): ditto.
10471         (x_tab_control_redisplay): make sure non-structural changes still
10472         involve copying the widget tree.
10473
10474 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
10475
10476         * lread.c (locate_file): Check the path element is non-nil.
10477
10478 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10479
10480         * lisp.h: Warning suppression for SCO compilers.
10481
10482         * redisplay-tty.c (reset_tty_modes): Fix crash.
10483         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
10484
10485 2000-09-27  Martin Buchholz  <martin@xemacs.org>
10486
10487         Big signal/process handling overhaul.  Bugs fixed:
10488         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
10489         M-x comint-kill-subjob should work for both values nil and t of
10490         process-connection-type. It was broken on most platforms.
10491         Testing on Irix and Cygwin still needed.  Other plaforms tested.
10492         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
10493         * process-unix.c: Signal/Process handling overhaul.
10494         (pty_name): make 64 bytes, as `expect' does, for paranoia.
10495         (allocate_pty): Use all available modern methods of allocating
10496         ptys, falling back to old style BSD allocation as a last resort.
10497         Use allegedly more secure Unix98 pty allocation by default.
10498         (allocate_pty_the_old_fashioned_way): New. the last resort.
10499         (unix_create_process): Push ptem, ldterm, ttcompat where
10500         available.  Autoconfiscate.
10501         (try_to_initialize_subtty): New.
10502         (unix_kill_child_process): Proper signal handling for ptys on most
10503         platforms, using special knowledge of AIX, BSD, etc...
10504         (unix_create_process): Always disconnect_controlling_terminal() for
10505         subprocesses, whether using ptys or not.
10506         * process.h: Remove old getpt-dependent PTY code.
10507         * process.c (Fprocess_send_signal): New, obvious generic function.
10508         (decode_signal): New.
10509         (Finterrupt_process):
10510         (Fkill_process):
10511         (Fquit_process):
10512         (Fstop_process):
10513         (Fcontinue_process):
10514         (Fsignal_process): Use decode_signal.
10515         (process_send_signal):
10516         Many docstring corrections.
10517         Allow any signal to be sent to a process object.
10518         * config.h.in: Add symbols for big signal/process overhaul.
10519         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
10520         * sysproc.h: Include process-related headers, where available:
10521         sys/stropts.h sys/strtio.h pty.h libutil.h
10522         * s/irix4-0.h:
10523         * s/irix5-0.h:
10524         * s/cygwin32.h:
10525         * s/gnu.h:
10526         * s/linux.h:
10527         * s/hpux.h:
10528         * s/aix3-1.h:
10529         Remove old S&M pty stuff.
10530         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
10531         * systty.h: Simplify cpp hackery, improve comments.
10532         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
10533
10534         * editfns.c (Fformat_time_string):
10535         Be a little more paranoid with the return value of ctime.
10536
10537         * fileio.c (check_executable):
10538         (check_writable):
10539         Use symbolic constants X_OK, W_OK.
10540
10541         * console-x.c (split_up_display_spec): Fix a warning.
10542
10543 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10544
10545         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
10546         * ntproc.c (sys_spawnve): make_string ==> build_string
10547         Small clarity improvements.
10548
10549 2000-09-30  Martin Buchholz  <martin@xemacs.org>
10550
10551         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
10552
10553         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
10554
10555         * config.h.in (HAVE_STRCASECMP): Remove.
10556
10557 2000-09-29  Martin Buchholz  <martin@xemacs.org>
10558
10559         * redisplay-output.c (redisplay_output_pixmap):
10560         Cleaner and possibly more 64-bit correct code.
10561
10562 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
10563
10564         * dumper.c (pdump_load_finish): move restoration of
10565         `noninteractive1' to emacs.c (main_1).
10566         * emacs.c (main_1): protect LISP-visible command-line flags
10567         from pdump_load().
10568
10569 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
10570
10571         * Makefile.in.in (versionclean):  Use EXE_TARGET and
10572         DUMP_TARGET instead of literal program names.
10573
10574 2000-09-20  Martin Buchholz  <martin@xemacs.org>
10575
10576         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
10577
10578 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10579
10580         * *: Spelling mega-patch
10581
10582 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10583
10584         * fns.c (bad_bad_turtle):
10585         Delete "Eek!" comment, since we fixed the bug to which it refers.
10586
10587 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10588
10589         * alloca.c: Replace REGISTER with register.
10590
10591 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
10592
10593         * file-coding.c (ucs_to_char): Use countof.
10594
10595 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10596
10597         * file-coding.c: (ucs_to_char):
10598         (complex_vars_of_file_coding):
10599         Use countof instead of sizeof.
10600         Use CHECK_NATNUM instead of CHECK_INT.
10601
10602         * sysdep.c (strcasecmp): Remove.
10603         * device-x.c (ascii_strcasecmp): New.
10604         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
10605         Avoid using non-standard non-portable strcasecmp.
10606
10607 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10608
10609         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
10610         * font-lock.c: remove reference to emacsfns.h.
10611         * search.c: small doc improvement.
10612         * event-Xt.c: correct file names in comments.
10613         * console-x.h Correct file names in comments.
10614         * frame.c: Correct file names in comments.
10615         * event-stream.c: remove Energize from comments.
10616
10617 2000-09-15  Martin Buchholz  <martin@xemacs.org>
10618
10619         * symeval.h (DEFERROR_STANDARD):
10620         (DEFERROR):
10621         (DEFSYMBOL):
10622         (DEFSYMBOL_NO_DUMP):
10623         (DEFSYMBOL_MULTIWORD_PREDICATE):
10624         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
10625         (DEFKEYWORD):
10626         The construct &##name is not sensible C.
10627         Fixes compilation errors with Unixware native compiler.
10628
10629 2000-09-14  Martin Buchholz  <martin@xemacs.org>
10630
10631         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
10632         (next_frame_internal): Removed.  We now just have next_frame.
10633         (next_frame):
10634         Write a simpler and cleaner one-pass algorithm.
10635         Remove called_from_delete_device arg and #ifdefed-out code.
10636         (previous_frame):
10637         Renamed from prev_frame.  Update callers.
10638         Cleaned up to have an analogous implementation to next_frame.
10639         (other_visible_frames_internal): Remove the
10640         called_from_delete_device bogus arg, and hence, remove this
10641         function.  Just use other_visible_frames().
10642
10643         * window.c (Fnext_window):
10644         Prettify docstring.
10645         Since next_frame() is guaranteed to return a frame, remove check
10646         for nil inserted in previous patch.
10647         (Fprevious_window):
10648         Prettify docstring.
10649         Make code look more like Fnext_window.
10650         (window_loop):
10651         Respect the `console' arg when iterating through windows.
10652         Fixes bug: (get-buffer-window buffer t device) not respecting
10653         the `device' arg.
10654         This function needs more work, as others have pointed out.
10655
10656         * frame.h: Rename prev_frame to previous_frame.
10657         device_matches_console_spec no longer takes a `frame' arg.
10658
10659         * s/gnu.h:
10660         * s/linux.h:
10661         * s/hpux.h:
10662         Use EMACS_BLOCK_SIGNAL instead of sigblock.
10663         From "Golubev I. N." <gin@mo.msk.ru>.
10664
10665         * make-src-depend: Fix typo.
10666
10667 2000-09-13  Martin Buchholz  <martin@xemacs.org>
10668
10669         * window.c (Fnext_window):
10670         next_frame() might return nil, not a frame.
10671         Fixes this crash:
10672         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10673
10674         * frame.c (next_frame_internal):
10675         We've passed a frame if we've passed its device.
10676         Fixes this crash:
10677         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10678 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
10679
10680 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10681
10682         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10683         Allow option to suppress accelerators in menu/dialog items.
10684         (populate_or_checksum_helper): Pass dialog title through above.
10685
10686 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10687
10688         * event-msw.c (mswindows_key_to_emacs_keysym):
10689         Add "pause" key, fix "menu" key.
10690
10691 2000-09-09  Martin Buchholz  <martin@xemacs.org>
10692
10693         * eval.c (reinit_vars_of_eval):
10694         Increase max_lisp_eval_depth to 1000,
10695         required for thai-xtis.el to byte-compile under some circumstances.
10696
10697 2000-09-04  Martin Buchholz  <martin@xemacs.org>
10698
10699         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
10700         From Kenichi Handa.
10701
10702 2000-09-01  Martin Buchholz  <martin@xemacs.org>
10703
10704         * make-src-depend: Make the generated Makefiles smaller.
10705
10706         * s/hpux.h (SETUP_SLAVE_PTY):
10707         Provide a %d in the format string for the errno argument.
10708
10709         * editfns.c (Ftemp_directory):
10710         Warning fix.
10711         Avoid buffer overrun on very long file name.
10712
10713         * input-method-xlib.c (XIM_init_device):
10714         6th parameter of XRegisterIMInstantiateCallback has different
10715         pointer types on different OSes, so simply cast to (void *).
10716
10717         * unexhp9k800.c: Warning fixes.  Fiddly changes.
10718
10719         * sysdll.c (dll_open):
10720         shl_load will hang hard if passed a NULL filename.
10721         Simply return NULL for compatibility with dlopen.
10722         * sysdll.c: Conform to XEmacs coding standards.
10723
10724         * sysdep.c (get_pty_max_bytes):
10725         Support pty input lines longer than 512 bytes on HP-UX 10.20.
10726
10727 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10728
10729         * tooltalk.c: Add #include <syssignal.h>
10730
10731 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
10732
10733         * s/hpux.h: Don't use undefined function sigunblock().
10734
10735 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10736
10737         * config.h.in: Add HAVE_BALLOON_HELP.
10738         * emacs.c: Use HAVE_BALLOON_HELP.
10739         * Makefile.in.in (x_objs):
10740         Make Balloon Help conditional on finding shape.h.
10741
10742 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
10743
10744         * syntax.c (regex_emacs_buffer_p): New variable.
10745         * syntax.h (regex_emacs_buffer_p): extern.
10746         * search.c (looking_at_1):
10747         (string_match_1):
10748         (fast_string_match):
10749         (search_buffer): Set regex_emacs_buffer_p.
10750         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
10751         when before_dot, at_dot, after_dot.
10752
10753 2000-08-23  Andy Piper  <andy@xemacs.org>
10754
10755         * gui-x.c (popup_selection_callback): Only set action_occurred
10756         when we really have an image instance.
10757         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
10758
10759 2000-08-23  Andy Piper  <andy@xemacs.org>
10760
10761         * gui-msw.c (mswindows_handle_gui_wm_command): set
10762         action_occurred.
10763         * gui-x.c (popup_selection_callback): ditto.
10764
10765         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
10766         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
10767         (struct Lisp_Image_Instance): add action_occurred flag.
10768
10769         * glyphs.c (redisplay_subwindow): use action_occurred flag.
10770         (image_instance_changed): ditto.
10771         (reset_frame_subwindow_instance_cache): only unmap windows - do
10772         not remove them from the cache also.
10773
10774         * glyphs-widget.c (tab_control_update): better debug.
10775         (progress_gauge_update): ditto.
10776         (layout_update): ditto.
10777         (layout_instantiate): ditto.
10778         (tab_control_order_only_changed): cope with null pending items.
10779
10780         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
10781         debug. Force selection of an item when an action occurred. Cope
10782         with null pending_items.
10783         (mswindows_progress_gauge_redisplay): better debug.
10784         * glyphs-x.c (x_tab_control_redisplay): ditto.
10785
10786         * redisplay.c (redisplay_frame): reset the frame cache if the
10787         frame is garbaged.
10788
10789         * window.c (Fset_window_configuration): potentially re-enable
10790         frame cache reset.
10791         (window_unmap_subwindows): need to finalize instances here since
10792         it is only used in mark_window_as_deleted.
10793
10794 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
10795
10796         * nas.c (SndOpenDataForReading):
10797         nas.c (WaveOpenDataForReading):
10798         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
10799         Somehow escaped from the 2000-08-14 patch.
10800
10801 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
10802
10803         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
10804         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
10805
10806 2000-08-21  Andy Piper  <andy@xemacs.org>
10807
10808         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
10809         window if it is not already displayed.
10810
10811         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
10812         it is not already displayed.
10813
10814         * window.c (Fset_window_configuration): don't reset the frame
10815         cache.
10816
10817         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
10818         instances from the frame cache if we are actually finalizing them.
10819         (reset_frame_subwindow_instance_cache): reset frame cache only
10820         after unmapping everything.
10821         (map_subwindow): set displayed flag after mapping.
10822
10823 2000-08-21  Martin Buchholz  <martin@xemacs.org>
10824
10825         * data.c (indirect_function):
10826         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
10827
10828         * eval.c (function_argcount):
10829         Use original function when signaling errors.
10830
10831 2000-08-18  Andy Piper  <andy@xemacs.org>
10832
10833         * frame.c (delete_frame_internal): use new
10834         free_frame_subwindow_instances name.
10835
10836         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
10837         (add_tab_item): make return type correct.
10838         (mswindows_tab_control_instantiate): assert index of tab.
10839         (mswindows_tab_control_redisplay): Re-code to use
10840         gui_item_equal_sans_selected and gui_item_list_find_selected.
10841
10842         * glyphs-widget.c (tab_control_update): Correct comment.
10843
10844         * window.c (window_unmap_subwindows): use new
10845         unmap_subwindow_instance_cache_mapper.
10846         (window_unmap_subwindows_cache_mapper): deleted.
10847         (Fset_window_configuration): comparisons should now be with
10848         EQ. Preserve the subwindow instance cache across configuration
10849         changes.
10850         (allocate_window): ditto.
10851         (make_dummy_parent): ditto.
10852
10853         * glyphs.c (free_frame_subwindow_instances): rename from
10854         free_frame_subwindow_instance_cache. finalize all instances rather
10855         than just those in the display cache.
10856         (finalize_all_subwindow_instances): walk windows unmapping and
10857         finalizing subwindows.
10858         (unmap_subwindow_instance_cache_mapper): moved from
10859         window.c. Allow finalization as well as unmapping.
10860
10861         * gui.c (gui_item_list_find_selected): new function.
10862
10863         * gui.h (gui_item_list_find_selected): declare.
10864
10865         * glyphs-x.c (x_tab_control_redisplay): pick tab
10866         explicitly. Re-code to use gui_item_equal_sans_selected and
10867         gui_item_list_find_selected.
10868
10869         * glyphs-x.h: add lwlib-utils.h
10870
10871         * buffer.c (Frecord_buffer): undo previous change.
10872
10873 2000-08-09  Vin Shelton  <acs@xemacs.org>
10874
10875         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
10876         possible.  Create temporary files more securely.  The patch was
10877         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
10878         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
10879         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
10880         for details.
10881
10882 2000-08-07  Ben Wing  <ben@xemacs.org>
10883
10884         * getloadavg.c: remove duplicate (and windows-breaking)
10885         includes of fcntl.h and sys/file.h.
10886
10887         * nt.c: remove duplicate getloadavg() definition.
10888
10889         * sysdll.h (Qdll_filename_encoding): add missing stand-in
10890         encodings.
10891
10892 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10893
10894         * eval.c (function_argcount): If function needs to be autoloaded
10895         actually use the loaded definition.
10896         GCPRO function.
10897
10898 2000-08-05  Ben Wing  <ben@xemacs.org>
10899
10900         * getloadavg.c: add prototype for getloadavg().  remove
10901         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
10902         of the code).  remove duplicate header includes.
10903
10904         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
10905
10906         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
10907         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
10908         useful load average.
10909
10910         * alloc.c (reinit_alloc_once_early): removed references to
10911         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
10912         the lisp vars are the only things referencing the malloc_sbrk_*
10913         vars, and they were already if 0'd out.  these vars only exist
10914         in the older malloc.c, which is basically unused, and they're
10915         only for informational purposes.
10916
10917         * m\*.h: removed useless VIRT_ADDR_VARIES.
10918
10919         * m\powerpc.h: removed stray NO_ARG_ARRAY.
10920
10921 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10922
10923         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
10924         color if the image is a mono pixmap.
10925
10926 2000-07-30  Ben Wing  <ben@xemacs.org>
10927
10928         * Makefile.in.in (release):
10929         Remove stray @.
10930
10931         * buffer.c (directory_is_current_directory):
10932         * dired-msw.c (mswindows_get_files):
10933         * dired.c:
10934         * dired.c (Fdirectory_files):
10935         * dired.c (file_name_completion_stat):
10936         * dired.c (Ffile_attributes):
10937         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
10938         preprocessor tricks, to avoid problems on some machines
10939         (e.g. SCO).
10940
10941         * callproc.c (egetenv): GC docs.
10942
10943         * console-msw.h:
10944         * console-msw.h (struct mswindows_dialog_id):
10945         * lrecord.h (lrecord_type):
10946         New object for use with MSW dialogs.
10947
10948         * console.h (struct console_methods):
10949         New enable/disable frame methods, for proper modal dialogs.
10950
10951         * device-msw.c (msprinter_default_printer): Fix to follow
10952         proper Mule conventions.
10953
10954         * device-msw.c:
10955         * device-msw.c (signal_open_printer_error):
10956         * device-msw.c (msprinter_init_device):
10957         * device-msw.c (ensure_not_printing):
10958         * device-msw.c (plist_get_margin):
10959         * device-msw.c (Fmsprinter_select_settings):
10960         * device-msw.c (finalize_devmode):
10961         * device-msw.c (Fmsprinter_settings_despecialize):
10962         * device-msw.c (signal_enum_priner_error):
10963         * extents.c (decode_extent):
10964         * extents.c (decode_map_extents_flags):
10965         * extents.c (decode_extent_at_flag):
10966         * extents.c (Fextent_at):
10967         * extents.c (Fextents_at):
10968         * extents.c (symbol_to_glyph_layout):
10969         [[[[2]]]] Use structured errors.
10970
10971         * dialog-msw.c:
10972         * dialog-msw.c (mswindows_is_dialog_msg):
10973         * dialog-msw.c (mark_mswindows_dialog_id):
10974         * dialog-msw.c (dialog_proc):
10975         * dialog-msw.c (handle_question_dialog_box):
10976         * dialog-msw.c (syms_of_dialog_mswindows):
10977         Define new object to clean up marking; use it as a dialog identifier.
10978         Call new delete-dialog-box-hook.
10979
10980         * dialog-x.c (dbox_selection_callback):
10981         * dialog-x.c (dbox_descriptor_to_widget_value):
10982         * dialog-x.c (x_make_dialog_box_internal):
10983         Call new delete-dialog-box-hook.
10984         Return an id.
10985
10986         * dialog.c:
10987         * dialog.c (syms_of_dialog):
10988         * dialog.c (vars_of_dialog):
10989         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
10990
10991         * eval.c:
10992         * eval.c (signal_call_debugger):
10993         when noninteractive, output stack traces on the console instead
10994         of in a (never-seen) buffer.
10995
10996         * eval.c (signal_type_error):
10997         * eval.c (invalid_argument_2):
10998         * lisp.h:
10999         new funs for use w/structured errors.
11000
11001         * event-Xt.c:
11002         * event-Xt.c (x_to_emacs_keysym):
11003         * event-Xt.c (describe_event):
11004         * event-Xt.c (emacs_Xt_event_handler):
11005         * event-Xt.c (vars_of_event_Xt):
11006         * event-msw.c:
11007         * event-msw.c (mswindows_wnd_proc):
11008         * event-msw.c (vars_of_event_mswindows):
11009         rename {x,mswindows}-debug-events to debug-{}-events for
11010         consistency with other debug-foo variables.
11011
11012         * event-stream.c:
11013         document next-event more clearly.
11014
11015         * fileio.c (Ffile_name_directory):
11016         * fileio.c (Ffile_name_nondirectory):
11017         * fileio.c (Funhandled_file_name_directory):
11018         * fileio.c (file_name_as_directory):
11019         * fileio.c (Ffile_name_as_directory):
11020         * fileio.c (directory_file_name):
11021         * fileio.c (Fdirectory_file_name):
11022         * fileio.c (Fmake_temp_name):
11023         * fileio.c (Ffile_truename):
11024         * fileio.c (Fsubstitute_in_file_name):
11025         * fileio.c (expand_and_dir_to_file):
11026         * fileio.c (barf_or_query_if_file_exists):
11027         * fileio.c (check_executable):
11028         * fileio.c (Ffile_exists_p):
11029         * fileio.c (Ffile_writable_p):
11030         * fileio.c (Ffile_directory_p):
11031         * fileio.c (Ffile_regular_p):
11032         * fileio.c (Ffile_modes):
11033         * fileio.c (Ffile_newer_than_file_p):
11034         * fileio.c (Fverify_visited_file_modtime):
11035         * fileio.c (Fset_visited_file_modtime):
11036         * fileio.c (auto_save_1):
11037         (1). (2).
11038         fix up gcpro's.
11039
11040         * frame-msw.c:
11041         * frame-msw.c (mswindows_init_frame_1):
11042         * frame-msw.c (mswindows_enable_frame):
11043         * frame-msw.c (error_frame_unsizable):
11044         * frame-msw.c (msprinter_init_frame_1):
11045         * frame-msw.c (msprinter_init_frame_3):
11046         * frame-msw.c (console_type_create_frame_mswindows):
11047         (2).
11048         implement new enable/disable frame methods.
11049
11050         * frame-x.c:
11051         * frame-x.c (x_enable_frame):
11052         * frame-x.c (console_type_create_frame_x):
11053         implement new enable/disable frame methods.
11054
11055         * frame.c:
11056         * frame.c (Fdisable_frame):
11057         * frame.c (syms_of_frame):
11058         * frame.h (struct frame):
11059         implement new enable/disable frame methods/functions.
11060
11061         * general-slots.h:
11062         add initial-focus.
11063
11064         * glyphs-msw.c (mswindows_widget_instantiate):
11065         comment that initial-focus should be implemented.
11066
11067         * glyphs-widget.c:
11068         * glyphs-widget.c (check_valid_instantiator):
11069         * glyphs-widget.c (check_valid_orientation):
11070         * glyphs-widget.c (check_valid_tab_orientation):
11071         * glyphs-widget.c (check_valid_justification):
11072         * glyphs-widget.c (check_valid_border):
11073         * glyphs-widget.c (check_valid_callback):
11074         * glyphs-widget.c (check_valid_int_or_function):
11075         * glyphs-widget.c (check_valid_string_or_vector):
11076         * glyphs-widget.c (check_valid_item_list_1):
11077         * glyphs-widget.c (widget_validate):
11078         * glyphs-widget.c (combo_box_validate):
11079         * glyphs-widget.c (widget_instantiate):
11080         * glyphs-widget.c (syms_of_glyphs_widget):
11081         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11082         * glyphs-widget.c (image_instantiator_combo_box):
11083         * glyphs-widget.c (image_instantiator_scrollbar):
11084         * glyphs-widget.c (image_instantiator_tab_control):
11085         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11086         (2).
11087         support (unimplemented) keyword initial-focus.
11088         reindent long macros.
11089
11090         * glyphs-x.c (x_redisplay_widget):
11091         * glyphs-x.c (x_button_instantiate):
11092         * glyphs-x.c (x_button_redisplay):
11093         * glyphs-x.c (x_progress_gauge_instantiate):
11094         * glyphs-x.c (x_edit_field_instantiate):
11095         * glyphs-x.c (x_combo_box_instantiate):
11096         * glyphs-x.c (x_tab_control_instantiate):
11097         * glyphs-x.c (x_label_instantiate):
11098         * gui-x.c:
11099         * gui-x.c (button_item_to_widget_value):
11100         * gui-x.c (gui_items_to_widget_values_1):
11101         * gui-x.c (gui_item_children_to_widget_values):
11102         * gui-x.c (gui_items_to_widget_values):
11103         * gui-x.h:
11104         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11105         add new flag to gui-parsing routines to indicate whether
11106         accelerator specs should be supported.
11107
11108         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11109
11110         * glyphs.h (struct Lisp_Image_Instance):
11111         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11112         add initial-focus flag.
11113
11114         * gui.c:
11115         * gui.c (syms_of_gui):
11116         * gui.c (vars_of_gui):
11117         clean up menu-no-selection-hook.
11118
11119         * gui.h:
11120         support delete-dialog-box-hook.
11121
11122         * lread.c (Fload_internal):
11123         * lread.c (locate_file_in_directory_mapper):
11124         (1).
11125
11126         * lrecord.h:
11127         * lrecord.h (struct toolbar_button):
11128         * lrecord.h (syms_of_toolbar):
11129         document how to create a new object.
11130
11131         * menubar-msw.c (mswindows_char_is_accelerator):
11132         may be called on frames w/o menus.
11133
11134         * menubar.c (vars_of_menubar):
11135         clean up :filter docs.
11136
11137         * nt.c (readdir):
11138         * ntproc.c:
11139         (1).
11140
11141         * process-nt.c:
11142         * process-nt.c (validate_signal_number):
11143         * process-nt.c (signal_cannot_launch):
11144         * process-nt.c (nt_create_process):
11145         * process-nt.c (nt_send_process):
11146         * process-nt.c (nt_kill_child_process):
11147         * process-nt.c (nt_open_network_stream):
11148         * process-nt.c (syms_of_process_nt):
11149         (2).
11150         delete quote-handling.  call new lisp code that does it better.
11151
11152         * process-unix.c (connect_to_file_descriptor):
11153         * process-unix.c (allocate_pty):
11154         * process-unix.c (unix_send_process):
11155         * process-unix.c (unix_kill_child_process):
11156         * process-unix.c (unix_open_network_stream):
11157         * process-unix.c (unix_open_multicast_group):
11158         (1). (2).
11159
11160         * process.c:
11161         * process.c (Fstart_process_internal):
11162         (2).  need to canonicalize process path even if absolute.
11163
11164         * select-msw.c (symbol_to_ms_cf):
11165         * select-msw.c (ms_cf_to_symbol):
11166         * select-msw.c (cf_is_autofreed):
11167         * select-msw.c (mswindows_destroy_selection):
11168         * select.c:
11169         * select.c (syms_of_select):
11170         * select.h:
11171         support dibv5, fix bugs. (from Mike Alexander)
11172
11173         * select.c (Fget_selection_internal):
11174         * select.c (select_convert_out):
11175
11176         * sysdep.c:
11177         * sysdep.c (xemacs_stat):
11178         renamed.
11179
11180         * sysdep.c (mkdir):
11181         * sysdep.c (rmdir):
11182         but keep original stat() here because we provide encapsulation
11183         around these funs.
11184
11185         * sysfile.h:
11186         * sysfile.h (fstat):
11187         remove stat garbage.
11188
11189         * syswindows.h:
11190         fix X/MSW conflict.
11191         don't include tchar.h.  it's inappropriate because it makes
11192         compile-time distinctions when we want runtime distinctions.
11193         (we provide our own tchar replacements)
11194
11195         * toolbar.c:
11196         use default object printer for toolbar-button.
11197
11198         * unexcw.c:
11199         make sure we don't encapsulate.
11200
11201         * window.c (vars_of_window):
11202         emphasize that temp-buffer-show-hook is obsolete.
11203
11204 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11205
11206         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11207         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11208
11209         * events.c (Fevent_timestamp_lessp):
11210         Not 64-bit clean.  Use EMACS_INT, not int.
11211
11212 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11213
11214         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11215         unsigned int and changed the last enum to
11216         lrecord_type_last_built_in_type.
11217         (lrecord_implementations_table): changed prototype to know how
11218         long the array is supposed to be.
11219         (lrecord_type_count): new unsigned int to keep track of the
11220         current number of lisp lrecord types.
11221         (DEFINE_EXTERNAL_LRECORD):
11222         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11223         dynamic-modules to declare new lisp types. They are the same
11224         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11225         int for each new type, and increment lrecord_type_count by 1.
11226
11227         * alloc.c (lrecord_implementations_table): Changed to reference
11228         lrecord_type_last_built_in_type for the size of the array.
11229         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11230
11231 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11232
11233         * glyphs.h (check_valid_item_list): Renamed from
11234         check_valid_item_list_1.
11235
11236 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11237
11238         * select.c (Qselect_coerce): New.
11239         * select.c (Vselection_coercion_alist): New.
11240         * select.c (syms_of_select): Declare.
11241         * select.c (get-selection-internal): Use it.
11242         Use the new select-coerce functionality.
11243
11244         * select.c (select_coerce): New.
11245         * select.h (select_coerce): Declare.
11246         New function to coerce one type of data into another.
11247
11248 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11249
11250         * callproc.c (Fcall_process_internal):
11251         (Fcall_process_internal):
11252         * process-unix.c (unix_create_process):
11253         Save and restore the value of errno, so that error messages are accurate.
11254
11255 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11256
11257         * elhash.c (print_hash_table):
11258         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11259         Prettify docstrings and indentation.
11260
11261 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11262
11263         * window.c (Fwindow_pixel_edges): Subtract frame border and
11264         gutter size.
11265
11266 2000-07-31  Andy Piper  <andy@xemacs.org>
11267
11268         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11269         will acknowledge the change.
11270
11271         * glyphs.h: declare tab_control_order_only_changed.
11272
11273         * glyphs-x.c (x_tab_control_redisplay): use
11274         tab_control_order_only_changed.
11275
11276         * glyphs-widget.c (tab_control_order_only_changed): new function.
11277
11278         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11279         tab_control_order_only_changed.
11280
11281         * gui.c (gui_item_equal_sans_selected): new function.
11282         (gui_item_equal): use it.
11283
11284         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11285         :properties in favor of :items..
11286
11287         * glyphs-widget.c (check_valid_item_list): rename from
11288         check_valid_item_list_1.
11289         (check_valid_item_list_1): renamed.
11290         (combo_box_validate): deprecate :properties in favor of :items.
11291         (widget_instantiate): ditto.
11292         (tab_control_update): ditto.
11293         (image_instantiator_combo_box): ditto.
11294         (image_instantiator_tree_view): ditto.
11295         (image_instantiator_tab_control): ditto.
11296         (layout_post_instantiate): remove dead code.
11297
11298         * print.c (debug_print_no_newline): only write to debugger if in
11299         WIN32_NATIVE.
11300
11301         * elhash.c (Fmake_hash_table): update doc string.
11302
11303         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11304         messages whilst in GC. This at least stops XEmacs crashing but has
11305         the potential for wierd behaviour.
11306
11307 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11308
11309         * config.h.in:
11310         Make existence of s&m files optional.
11311
11312         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11313         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11314         * s/gnu.h: Remove HAVE_GETLOADAVG.
11315         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11316         * s/sol2.h: Remove HAVE_GETLOADAVG.
11317         * lisp.h: Remove getloadavg() declaration.
11318         * fns.c:
11319         Include <sys/loadavg.h> if available.
11320         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11321         * config.h.in:  Group together getloadavg()-related macros.
11322         Use only configure-time tests to detect getloadavg().
11323
11324 2000-07-30  Martin Buchholz  <martin@xemacs.org>
11325
11326         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
11327
11328 2000-07-25  Andy Piper  <andy@xemacs.org>
11329
11330         * syswindows.h: add tchar.h for native builds.
11331
11332         * frame.c (syms_of_frame): remove set-glyph-image.
11333
11334         * general-slots.h: add Qset_glyph_image.
11335
11336         * glyphs-widget.c (layout_update): add domain arg to
11337         set-glyph-image.
11338         (syms_of_glyphs_widget): remove set-glyph-image.
11339
11340 2000-07-23  Ben Wing  <ben@xemacs.org>
11341
11342         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
11343         Vpopup_frame_list.
11344
11345 2000-07-22  Andy Piper  <andy@xemacs.org>
11346
11347         * symsinit.h: add syms_of_win32().
11348
11349         * gui-msw.c (syms_of_gui_mswindows): remove
11350         Fmswindows_shell_execute.
11351         (Fmswindows_shell_execute): moved to win32.c.
11352
11353         * emacs.c (main_1): add syms_of_win32 ().
11354
11355         * win32.c (init_potentially_nonexistent_functions): rewrite in
11356         compiler-friendly terms.
11357         (Fmswindows_shell_execute): move here from gui-msw.c.
11358         (syms_of_win32): new.
11359
11360         * device-msw.c (Fmswindows_printer_list): clean up args to
11361         EnumPrinters.
11362         Don't include tchar under cygwin or mingw.
11363         (msprinter_default_printer): make cygwin-friendly.
11364
11365 2000-07-21  Andy Piper  <andy@xemacs.org>
11366
11367         * glyphs-widget.c (image_instantiator_tree_view): use tab
11368         control's update function.
11369         (layout_property): new function. Retrieve items.
11370
11371         * glyphs-msw.c (mswindows_tree_view_redisplay): new
11372         function. Re-populate the tree view from the pending items.
11373
11374         * glyphs.c (instantiate_image_instantiator): Make sure the domain
11375         is designated the parent if the domain is an image instance. This
11376         is needed so that dirtiness can be cascade up the hierarchy and
11377         thus for layout children to be redisplayed correctly.
11378         (allocate_image_instance): rename glyph -> parent.
11379
11380         * redisplay.h: change redisplay_output_layout signature.
11381
11382         * redisplay-msw.c (mswindows_output_display_block): use domain
11383         arg.
11384
11385         * redisplay-x.c (x_output_display_block): use domain arg.
11386
11387 2000-07-10  Andy Piper  <andy@xemacs.org>
11388
11389         * window.c (Fset_window_configuration): add comment.
11390
11391         * redisplay-output.c (compare_runes):
11392         (redisplay_output_subwindow): redisplay rather than update subwindow.
11393         (redisplay_output_layout): ditto.
11394
11395         * redisplay-msw.c (mswindows_frame_output_end):
11396         (mswindows_frame_output_end): make defer window pos optional.
11397
11398         * lisp.h: add Flast.
11399
11400         * glyphs.h (struct image_instantiator_methods): add dest_mask top
11401         normalize method. Change update method to be for changed
11402         instantiators. Add redisplay method. Change signature of layout
11403         method.
11404         (struct Lisp_Image_Instance): add instantiator.
11405         (IMAGE_INSTANCE_INSTANTIATOR): new.
11406         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
11407         (XIMAGE_INSTANCE_INSTANTIATOR): new.
11408         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
11409
11410         * glyphs.c:
11411         (find_instantiator_differences): new function.
11412         (Fset_instantiator_property): new convenience function.
11413         (check_image_instance_structure): strictly check for vector
11414         instantiators.
11415         (normalize_image_instantiator): make non-static.
11416         (instantiate_image_instantiator): pass on dest_mask and use new
11417         signatures for image_instance_layout and friends.
11418         (mark_image_instance): mark the instantiator. Mark the subwindow
11419         face not the widget face.
11420         (image_instance_equal): add instantiator.
11421         (image_instance_hash): ditto.
11422         (allocate_image_instance): ditto.
11423         (Fset_image_instance_property): removed.
11424         (Fimage_instance_file_name): ditto.
11425         (Fcolorize_image_instance): ditto.
11426         (image_instance_layout): add offsets to be set.
11427         (update_image_instance): new function. update an image instance
11428         from its changed instantiator.
11429         (inherit_normalize): add dest_mask.
11430         (xbm_normalize): ditto.
11431         (xface_normalize): ditto.
11432         (xpm_normalize): ditto.
11433         (text_update): set_property -> update.
11434         (image_instantiate): use the glyph identity as a hash key, not the
11435         instantiator.
11436         (glyph_width): use new image_instance_layout signature.
11437         (glyph_ascent): ditto.
11438         (glyph_descent): ditto.
11439         (glyph_height): ditto.
11440         (glyph_query_geometry): ressurrect.
11441         (glyph_layout): ditto.
11442         (redisplay_subwindow): update -> redisplay.
11443         (syms_of_glyphs): add Fset_instantiator_property.
11444         (image_instantiator_format_create): set_property -> update.
11445
11446         * glyphs-x.c:
11447         (autodetect_normalize): add dest_maks to signature.
11448         (x_redisplay_subwindow): update -> redisplay.
11449         (x_redisplay_widget): ditto.
11450         (x_button_redisplay): ditto.
11451         (x_progress_gauge_redisplay): ditto.
11452         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
11453         stacking order.
11454         (console_type_create_glyphs_x): update -> redisplay.
11455         (image_instantiator_format_create_glyphs_x): ditto.
11456
11457         * glyphs-widget.c:
11458         (check_valid_instantiator): disallow glyphs in the instantiator,
11459         they must now be vectors.
11460         (check_valid_instantiator_list): ditto.
11461         (glyph_instantiator_to_glyph): use internal symbol rather than
11462         intern.
11463         (widget_update): renamed from widget_set_property. Call cascaded
11464         update methods.
11465         (redisplay_widget): renamed from update_widget.
11466         (widget_layout): image_instance_layout now takes position as well
11467         as size.
11468         (widget_normalize): ditto.
11469         (widget_instantiate): ditto.
11470         (tab_control_query_geometry) ditto.:
11471         (tab_control_update): renamed from tab_control_set_property.
11472         (progress_gauge_update): set_property -> update.
11473         (layout_normalize): rewrite so that child instantiators are
11474         normalized also.
11475         (layout_update): new function. Create glyphs from the normalized
11476         children and cope with any other layout keywords. We do not
11477         instantiate children here that will be take care of by
11478         redisplay_output_layout.
11479         (layout_instantiate): call layout_update and not much else.
11480         (layout_post_instantiate): not sure whether this is needed
11481         anymore.
11482         (layout_query_geometry): query glyph geometry rather than
11483         image_instance geometry.
11484         (layout_layout): set offsets from pass in parameters. Use glyph
11485         geometry and layout functions rather than image instance ones.
11486         (native_layout_layout): ditto.
11487         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
11488         (image_instantiator_widget): set_property -> update.
11489         (image_instantiator_buttons): ditto.
11490         (image_instantiator_progress_guage): ditto.
11491         (image_instantiator_tab_control): ditto.
11492         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
11493         (image_instantiator_layout): add update method.
11494
11495         * glyphs-msw.c (bmp_normalize):
11496         (mswindows_resource_normalize): add dest_mask so that it can be
11497         proprogated by layout_normalize.
11498         (begin_defer_window_pos): make optional because it may not be the
11499         right thing to do and it introduces differences with X.
11500         (mswindows_unmap_subwindow): ditto.
11501         (mswindows_map_subwindow): ditto.
11502         (mswindows_redisplay_subwindow): renamed from
11503         mswindows_update_subwindow.
11504         (mswindows_redisplay_widget): ditto.
11505         (mswindows_button_redisplay): renamed from
11506         mswindows_button_update. Update is now what the instantiation
11507         function does for a changed instantiator.
11508         (mswindows_progress_gauge_instantiate): set the progress value
11509         here if appropriate.
11510         (mswindows_tab_control_redisplay): cope with re-ordering of the
11511         members of the tab widget by simply selecting the new top
11512         widget. This makes things appear ok if you click on a tab.
11513         (mswindows_combo_box_instantiate): image_instance_layout now takes
11514         position as well as size.
11515         (mswindows_progress_gauge_redisplay): renamed from
11516         mswindows_progress_gauge_update.
11517         (console_type_create_glyphs_mswindows): fix update -> redisplay.
11518         (image_instantiator_format_create_glyphs_mswindows): ditto.
11519
11520         * glyphs-eimage.c (jpeg_normalize):
11521         (gif_normalize):
11522         (png_normalize):
11523         (tiff_normalize): add dest_mask so that it can be proprogated by
11524         layout_normalize.
11525
11526         * elhash.c:
11527         (print_hash_table):
11528         (hash_table_weakness_validate):
11529         (decode_hash_table_weakness):
11530         (Fhash_table_weakness):
11531         (Fhash_table_type):
11532         (syms_of_elhash): use Ben's naming scheme for hashtable types..
11533
11534         * console.h (struct console_methods): move update_* to
11535         redisplay_*.
11536
11537 2000-07-20  Ben Wing  <ben@xemacs.org>
11538
11539         * *.[ch] (XSETOBJ): remove unused middle argument.
11540         lisp-disunion.h: correct wrap_object() to one argument.
11541
11542 2000-07-15  Ben Wing  <ben@xemacs.org>
11543
11544         * s/cygwin32.h:
11545         * s/cygwin32.h (CYGWIN_CONV_PATH):
11546         Add missing logb prototype for v1.1.
11547         Use post-b20 names and alias to pre-b20 names when pre-b20.
11548
11549         * s/windowsnt.h: [5].
11550
11551 2000-07-15  Ben Wing  <ben@xemacs.org>
11552
11553         * Makefile.in.in (x_objs):
11554         * Makefile.in.in (sheap_objs):
11555         * Makefile.in.in (objs):
11556         added win32.o, cosmetic cleanups.
11557
11558         * alloc.c (Fmake_byte_code):
11559         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
11560         etc. macros which declare their own args now.
11561
11562         * alloc.c (syms_of_alloc):
11563         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
11564
11565         * buffer.c:
11566         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
11567
11568         * buffer.c (Fget_file_buffer):
11569         Fixed GCPRO problem.
11570
11571         * buffer.c (get_truename_buffer):
11572         Fixed comment about GC checking.
11573
11574         * buffer.c (syms_of_buffer):
11575         Undeclared those dedicated frame funs.
11576         [2].
11577
11578         * buffer.h:
11579         Define convenience macros for internal/external conversions.
11580         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
11581         and Qenvironment_variable_encoding for cleaner code.
11582
11583         * bufslots.h:
11584         Remove dedicated-frame; in lisp.
11585
11586         * bytecode.c (funcall_compiled_function):
11587         [1].
11588
11589         * bytecode.c (syms_of_bytecode):
11590         [2].
11591
11592         * console-msw.c:
11593         * console-msw.c (mswindows_show_console): Rewrote.
11594
11595         * console-msw.c (Fmswindows_debugging_output): New.
11596         Sends to OutputDebugString (special MSWin debugger interface).
11597
11598         * console-msw.c (Fmswindows_message_box):
11599         Fixed stupid bugs so it works when called from kill-emacs.
11600
11601         * console-msw.c (syms_of_console_mswindows):
11602         Declare Fmswindows_debugging_output.
11603
11604         * console-msw.h:
11605         New MSWin prototypes.
11606
11607         * console-msw.h (struct mswindows_frame):
11608         New entry last-click-mods for improved button-modifier support.
11609
11610         * console-msw.h (FRAME_MSWINDOWS_POPUP):
11611         New struct entry `popup' with corresponding accessor.
11612
11613         * console-x.c:
11614         * console-x.c (split_up_display_spec):
11615         * console-x.c (get_display_arg_connection):
11616         * console-x.c (x_semi_canonicalize_console_connection):
11617         * console-x.c (x_canonicalize_device_connection):
11618         [[[6]]]: Change char to more specific type.
11619         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
11620
11621         * console-x.c (x_semi_canonicalize_console_connection):
11622         * console-x.c (x_canonicalize_device_connection):
11623         [[[9]]]: Fix up error signalling to use new structured error system.
11624
11625         * console-x.h:
11626         [[[4]]]: Define codesys aliases:
11627         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
11628         Qx_color_name_encoding, Qx_display_name_encoding.
11629
11630         * console.h (struct console_methods):
11631         New method make_dialog_box_internal supersedes older
11632         popup_dialog_box method.
11633
11634         * data.c:
11635         Define many new errors, part of new structured errors.
11636
11637         * data.c (init_errors_once_early):
11638         * data.c (syms_of_data):
11639         [2].
11640
11641         * device-msw.c (mswindows_init_device):
11642         [[[5]]]: Cleanup to support NT 3.51.
11643
11644         * device-msw.c (decode_devmode): Cleanup.
11645
11646         * device-msw.c (mswindows_handle_print_setup_dialog_box):
11647         * device-msw.c (mswindows_handle_print_dialog_box):
11648         * device-msw.c (mswindows_handle_page_setup_dialog_box):
11649         * device-msw.c (syms_of_device_mswindows):
11650         Delete the dialog box primitives recently introduced by Kirill and
11651         instead interface to general dialog box interface.
11652
11653         * device-x.c:
11654         * device-x.c (compute_x_app_name):
11655         * device-x.c (x_init_device):
11656         * device-x.c (Fx_valid_keysym_name_p):
11657         * device-x.c (Fx_set_font_path):
11658         [6].
11659         [7].
11660
11661         * device.h (wrap_device): New.
11662         First of its kind; meant to replace XSETDEVICE.
11663
11664         * dialog-msw.c: Many file-dialog symbols.
11665
11666         * dialog-msw.c (mswindows_register_popup_frame): New.
11667         * dialog-msw.c (mswindows_is_dialog_msg): New.
11668         For supporting kbd traversal in dialog boxes.
11669
11670         * dialog-msw.c (dialog_proc):
11671         Support hitting ESC in dialogs.
11672
11673         * dialog-msw.c (struct):
11674         Common dialog box errors.
11675
11676         * dialog-msw.c (handle_file_dialog_box): New.
11677         Add file dialog code.
11678
11679         * dialog-msw.c (handle_question_dialog_box):
11680         Redo existing code to support new question dialog syntax.
11681
11682         * dialog-msw.c (console_type_create_dialog_mswindows):
11683         We support new dialog console method.
11684
11685         * dialog-msw.c (syms_of_dialog_mswindows):
11686         * dialog-msw.c (vars_of_dialog_mswindows):
11687         New file dialog symbols, vars.
11688
11689         * dialog-x.c:
11690         * dialog-x.c (maybe_run_dbox_text_callback):
11691         * dialog-x.c (dbox_descriptor_to_widget_value):
11692         * dialog-x.c (x_make_dialog_box_internal):
11693         * dialog-x.c (console_type_create_dialog_x):
11694         Mule-ize entire file.
11695         Redo to support question dialog syntax.
11696         [6].
11697
11698         * dialog.c:
11699         * dialog.c (Fmake_dialog_box_internal):
11700         * dialog.c (syms_of_dialog):
11701         Kill old popup-dialog-box, replace with new primitive.
11702         Just call device method or signal error.
11703
11704         * eldap.c (Fldap_open):
11705         * eldap.c (Fldap_search_basic):
11706         * eldap.c (Fldap_add):
11707         * eldap.c (Fldap_modify):
11708         [1].
11709         [7].
11710
11711         * emacs.c:
11712         * emacs.c (make_arg_list_1):
11713         * emacs.c (make_arg_list):
11714         Mule-ize call to dll_init().
11715         [6].
11716         [8].
11717
11718         * emacs.c (make_argc_argv):
11719         * emacs.c (free_argc_argv):
11720         * emacs.c (init_cmdargs):
11721         * emacs.c (main_1):
11722         * emacs.c (Fkill_emacs):
11723         * emacs.c (Fdump_emacs):
11724         Update comments about what can be used in syms_* etc.
11725         Call init_win32() when necessary.
11726         Fix up MS Win dialog box in kill-buffer to actually work right.
11727         [7].
11728
11729         * eval.c:
11730         * eval.c (For):
11731         * eval.c (Fand):
11732         * eval.c (Fprogn):
11733         * eval.c (Fprog1):
11734         * eval.c (Fprog2):
11735         * eval.c (FletX):
11736         * eval.c (Flet):
11737         * eval.c (condition_case_3):
11738         * eval.c (Feval):
11739         * eval.c (function_argcount):
11740         * eval.c (funcall_lambda):
11741         [1].
11742
11743         * eval.c (type_error): New.
11744         * eval.c (maybe_type_error): New.
11745         * eval.c (continuable_type_error): New.
11746         * eval.c (maybe_continuable_type_error): New.
11747         * eval.c (type_error_with_frob): New.
11748         * eval.c (maybe_type_error_with_frob): New.
11749         * eval.c (continuable_type_error_with_frob): New.
11750         * eval.c (maybe_continuable_type_error_with_frob): New.
11751         New functions for use with structured errors.
11752
11753         * event-Xt.c:
11754         * event-Xt.c (x_event_to_emacs_event):
11755         Buttons are now modifiers too.
11756
11757         * event-Xt.c (emacs_Xt_current_event_timestamp):
11758         Implement new event method.
11759         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
11760
11761         * event-msw.c:
11762         * event-msw.c (ntpipe_shove_writer): [5].
11763         * event-msw.c (mswindows_enqueue_mouse_button_event):
11764         * event-msw.c (mswindows_drain_windows_queue):
11765         * event-msw.c (mswindows_wnd_proc): [7].
11766         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
11767         * event-msw.c (mswindows_modifier_state):
11768         Throughout: support new button modifiers.
11769
11770         * event-msw.c (emacs_mswindows_current_event_timestamp):
11771         Implement new event method.
11772         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
11773
11774         * event-stream.c:
11775         * event-stream.c (event_stream_current_event_timestamp): New.
11776         * event-stream.c (maybe_kbd_translate): New functionality.
11777         * event-stream.c (vars_of_event_stream):
11778         Document new kbd-translate-table functionality.
11779
11780         * event-stream.c (Fcurrent_event_timestamp): New.
11781         New primitive for use in fabricated events.
11782         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
11783
11784         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
11785
11786         * events.c:
11787         * events.c (Fmake_event):
11788         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
11789         [1].
11790         [9].
11791
11792         * events.c (format_event_object): fix gcc warnings.
11793
11794         * events.c (Fevent_timestamp): Document new primitives.
11795
11796         * events.c (TIMESTAMP_HALFSPACE): New.
11797
11798         * events.c (Fevent_timestamp_lessp): New.  New primitive for
11799         comparing timestamps correctly (half-space algorithm).
11800
11801         * events.c (Fevent_modifier_bits): Doc fix.
11802
11803         * events.c (Fevent_modifiers): Major doc addition.
11804         * events.c (event_x_y_pixel_internal): Typo fix.
11805         * events.c (syms_of_events): Declare new primitives.
11806
11807         * events.h:
11808         Update long comment for button modifiers, timestamps.
11809
11810         * events.h (struct event_stream):
11811         New current_event_timestamp method.
11812
11813         * extents.c:
11814         * extents.c (extent_in_region_p):
11815         * extents.c (decode_extent):
11816         * extents.c (Fset_extent_parent):
11817         * extents.c (decode_map_extents_flags):
11818         Fix gcc warnings.
11819         [9].
11820
11821         * extents.c (struct extent_at_arg):
11822         * extents.c (decode_extent_at_flag):
11823         * extents.c (extent_at_mapper):
11824         * extents.c (extent_at_bytind):
11825         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
11826         * extents.c (Fextents_at): New primitive. [9].
11827         * extents.c (symbol_to_glyph_layout): [9].
11828         Support new primitive `extents-at'.
11829
11830
11831         * extents.c (get_text_property_bytind):
11832         extent_at_bytind has another arg.
11833         [9].
11834
11835         * extents.c (syms_of_extents): New primitive.
11836
11837         * file-coding.c (Fmake_coding_system): [1].
11838         * file-coding.c (subsidiary_coding_system): fix gcc warning
11839         * file-coding.c (syms_of_file_coding): [2].
11840
11841         * fileio.c (Fexpand_file_name):
11842         * fileio.c (Fsysnetunam):
11843         * fileio.c (Ffile_exists_p):
11844         * fileio.c (Ffile_executable_p):
11845         * fileio.c (Fverify_visited_file_modtime):
11846         Clean up GCPROing.
11847
11848         * fileio.c (syms_of_fileio): [2].
11849
11850         * filelock.c (lock_file_1):
11851         * filelock.c (current_lock_owner):
11852         * filelock.c (lock_if_free):
11853         * filelock.c (lock_file):
11854         * filelock.c (unlock_file):
11855         Clean up GCPROing.
11856
11857         * fns.c (concat): Fix gcc warning.
11858
11859         * fns.c (Fmember):
11860         * fns.c (Fold_member):
11861         * fns.c (Fmemq):
11862         * fns.c (Fold_memq):
11863         * fns.c (memq_no_quit):
11864         * fns.c (Fassoc):
11865         * fns.c (Fold_assoc):
11866         * fns.c (Fassq):
11867         * fns.c (Fold_assq):
11868         * fns.c (assq_no_quit):
11869         * fns.c (Frassoc):
11870         * fns.c (Fold_rassoc):
11871         * fns.c (Frassq):
11872         * fns.c (Fold_rassq):
11873         * fns.c (rassq_no_quit):
11874         * fns.c (Fdelete):
11875         * fns.c (Fold_delete):
11876         * fns.c (Fdelq):
11877         * fns.c (Fold_delq):
11878         * fns.c (delq_no_quit):
11879         * fns.c (Fremassoc):
11880         * fns.c (Fremassq):
11881         * fns.c (remassq_no_quit):
11882         * fns.c (Fremrassoc):
11883         * fns.c (Fremrassq):
11884         * fns.c (remrassq_no_quit):
11885         * fns.c (Freverse):
11886         * fns.c (mapcar1):
11887         [1].
11888
11889         * frame-msw.c (mswindows_init_frame_1):
11890         * frame-msw.c (mswindows_delete_frame):
11891         Register popups with dialog code so keyboard traversing works.
11892
11893         * frame-tty.c (tty_raise_frame_no_select): [1].
11894
11895         * frame-x.c:
11896         * frame-x.c (x_set_frame_text_value):
11897         * frame-x.c (x_set_frame_properties):
11898         * frame-x.c (x_create_widgets):
11899         [7].
11900
11901         * frame.c:
11902         * frame.c (Fmouse_pixel_position): Minor doc fixes.
11903
11904         * frame.h (wrap_frame): New.
11905         Macro like wrap_device.
11906
11907         * general.c:
11908         * general.c (SYMBOL):
11909         * general.c (syms_of_general):
11910         Major reorg.  This is now just a wrapper and symbols themselves
11911         are listed in general-slots.h.
11912
11913         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
11914         * glyphs-msw.c (mswindows_resource_instantiate): [5].
11915
11916         * glyphs-msw.c (mswindows_native_layout_instantiate):
11917         Add DS_CONTROL so keyboard traversal will work.
11918
11919         * glyphs-widget.c:
11920         * glyphs-widget.c (syms_of_glyphs_widget):
11921         Move some symbols to general-slots.h.
11922
11923         * glyphs-x.c:
11924         * glyphs-x.c (xbm_instantiate_1):
11925         * glyphs-x.c (x_xbm_instantiate):
11926         * glyphs-x.c (x_xface_instantiate):
11927         * glyphs-x.c (autodetect_instantiate):
11928         * glyphs-x.c (cursor_font_instantiate):
11929         * glyphs-x.c (x_update_widget):
11930         * glyphs-x.c (x_widget_instantiate):
11931         * glyphs.c (bitmap_to_lisp_data):
11932         * glyphs.c (pixmap_to_lisp_data):
11933         [7].
11934
11935         * glyphs.c (syms_of_glyphs):
11936         [2].
11937
11938         * gui-x.c:
11939         * gui-x.c (print_widget_value):
11940         * gui-x.c (menu_separator_style_and_to_external):
11941         * gui-x.c (add_accel_and_to_external):
11942         * gui-x.c (button_item_to_widget_value):
11943         * gui-x.c (gui_items_to_widget_values_1):
11944         * gui-x.c (gui_items_to_widget_values):
11945         * gui-x.c (syms_of_gui_x):
11946         * gui-x.c (vars_of_gui_x):
11947         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
11948         [9].
11949
11950         * gui-x.h:
11951         Muleize, prototype changes matching gui-x.c.
11952
11953         * gui.c:
11954         * gui.c (separator_string_p):
11955         * gui.c (gui_item_add_keyval_pair):
11956         * gui.c (make_gui_item_from_keywords_internal):
11957         * gui.c (signal_too_long_error):
11958         * gui.c (parse_gui_item_tree_item):
11959         * gui.c (syms_of_gui):
11960         * gui.c (vars_of_gui):
11961         * gui.h:
11962         menu-no-selection-hook moved here (used by MSWin).
11963         Move some symbols to general-slots.h.
11964         [6].
11965         [9].
11966
11967         * insdel.c (get_buffer_pos_char):
11968         * insdel.c (get_buffer_range_char):
11969         Add GC comments.
11970
11971         * keymap.c (keymap_lookup_directly):
11972         * keymap.c (keymap_store):
11973         * keymap.c (ensure_meta_prefix_char_keymapp):
11974         * keymap.c (describe_map):
11975         * keymap.h:
11976         Support new button modifiers.
11977
11978         * lisp-disunion.h (wrap_object):
11979         * lisp-disunion.h (XSETOBJ):
11980         Rename make_obj to wrap_object.
11981
11982         * lisp-union.h:
11983         * lisp-union.h (make_int):
11984         * lisp-union.h (make_char):
11985         Support wrap_object.
11986
11987         * lisp.h:
11988         * lisp.h (LIST_LOOP):
11989         * lisp.h (EXTERNAL_LIST_LOOP):
11990         * lisp.h (LIST_LOOP_2):
11991         * lisp.h (EXTERNAL_LIST_LOOP_1):
11992         * lisp.h (EXTERNAL_LIST_LOOP_2):
11993         * lisp.h (EXTERNAL_LIST_LOOP_3):
11994         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
11995         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
11996         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
11997         * lisp.h (EXTERNAL_ALIST_LOOP_5):
11998         * lisp.h (EXTERNAL_ALIST_LOOP_6):
11999         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12000         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12001         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12002         * lisp.h (struct Lisp_Symbol):
12003         * lisp.h (maybe_continuable_error_with_frob):
12004         Fix up section comments.
12005         Add new types for char to indicate usage.
12006         Delete symbols auto-generated from general-slots.h.
12007         Add prototypes for structured error functions.
12008         Add long comments describing looping macros and change interface
12009         so that lvalues are automatically declared.
12010         Add NO_DECLARE macro in case callers want to declare lvalues
12011         themselves.
12012
12013         * lread.c (read_syntax_error):
12014         * lread.c (continuable_read_syntax_error):
12015         * lread.c (read_structure):
12016         * lread.c (sequence_reader):
12017         * lread.c (read_list_conser):
12018         * lread.c (read_compiled_function):
12019         Rename syntax_error and continuable_syntax_error to avoid clash
12020         with same-named structured error functions.
12021
12022         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12023         * menubar-msw.c (populate_menu_add_item):
12024         * menubar-msw.c (populate_or_checksum_helper):
12025         [5].
12026         [9].
12027
12028         * menubar-x.c:
12029         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12030         Mule-ize whole file.
12031
12032         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12033
12034         * mule-charset.c (Fmake_charset):
12035         * mule-wnnfns.c (Fwnn_set_param):
12036         [1].
12037
12038         * ntproc.c (create_child):
12039         * ntproc.c (Fwin32_set_current_locale):
12040         Add comments portending doom.
12041
12042         * objects-msw.c:
12043         * objects-msw.c (old_font_enum_callback_2):
12044         * objects-msw.c (font_enum_callback_1):
12045         * objects-msw.c (mswindows_enumerate_fonts):
12046         [5].
12047
12048         * objects-x.c:
12049         * objects-x.c (allocate_nearest_color):
12050         * objects-x.c (x_parse_nearest_color):
12051         * objects-x.c (x_initialize_color_instance):
12052         * objects-x.c (x_print_color_instance):
12053         * objects-x.c (x_finalize_color_instance):
12054         * objects-x.c (x_valid_color_name_p):
12055         * objects-x.c (x_initialize_font_instance):
12056         * objects-x.c (x_print_font_instance):
12057         * objects-x.c (valid_x_font_name_p):
12058         * objects-x.c (truename_via_FONT_prop):
12059         * objects-x.c (truename_via_random_props):
12060         * objects-x.c (truename_via_XListFonts):
12061         * objects-x.c (x_font_truename):
12062         * objects-x.c (x_font_instance_truename):
12063         * objects-x.c (x_font_instance_properties):
12064         * objects-x.c (x_list_fonts):
12065         * objects-x.c (x_find_charset_font):
12066         Mule-ize entire file.
12067         [7].
12068
12069         * objects-x.h:
12070         Mule-verify.
12071
12072         * print.c:
12073         * print.c (std_handle_out_external):
12074         * print.c (debug_print_no_newline):
12075         * print.c (syms_of_print):
12076         Output to all debugger kinds in debug-print.
12077         Fix console-output code under MSWin to actually work.
12078
12079         * process-nt.c (send_signal):
12080         * process-nt.c (nt_create_process):
12081         Use newer Unicode macros.
12082
12083         * process-unix.c (unix_create_process):
12084         * process-unix.c (unix_canonicalize_host_name):
12085         * process-unix.c (unix_open_network_stream):
12086         [7].
12087
12088         * scrollbar-x.c:
12089         Mule-verify.
12090
12091         * search.c (syms_of_search):
12092         [2].
12093
12094         * select-msw.c (mswindows_destroy_selection):
12095         Use LIST_LOOP_2.
12096
12097         * select-x.c (symbol_to_x_atom):
12098         [7].
12099
12100         * select.c (syms_of_select):
12101         [2].
12102
12103         * sound.c (Fplay_sound_file):
12104         [7].
12105
12106         * specifier.c:
12107         * specifier.c (decode_specifier_type):
12108         * specifier.c (Fvalid_specifier_locale_type_p):
12109         * specifier.c (check_valid_locale_or_locale_type):
12110         * specifier.c (decode_locale):
12111         * specifier.c (decode_locale_type):
12112         * specifier.c (decode_locale_list):
12113         * specifier.c (check_valid_domain):
12114         * specifier.c (decode_specifier_tag_set):
12115         * specifier.c (Fcanonicalize_tag_set):
12116         * specifier.c (Fdefine_specifier_tag):
12117         * specifier.c (Fspecifier_tag_predicate):
12118         * specifier.c (check_valid_inst_list):
12119         * specifier.c (check_valid_spec_list):
12120         * specifier.c (decode_how_to_add_specification):
12121         * specifier.c (check_modifiable_specifier):
12122         * specifier.c (specifier_add_spec):
12123         * specifier.c (boolean_validate):
12124         * specifier.c (display_table_validate):
12125         [9].
12126
12127         * specifier.c (syms_of_specifier):
12128         Move some symbols to general-slots.h.
12129         [2].
12130
12131         * symbols.c:
12132         * symbols.c (Fmapatoms):
12133         * symbols.c (Fapropos_internal):
12134         Add GCPROs.
12135
12136         * symbols.c (set_default_buffer_slot_variable):
12137         * symbols.c (set_default_console_slot_variable):
12138         [1].
12139
12140         * symbols.c (defsymbol_massage_name_1):
12141         * symbols.c (defkeyword_massage_name):
12142         * symbols.c (deferror_1):
12143         * symbols.c (deferror):
12144         * symbols.c (deferror_massage_name_and_message):
12145         * symeval.h:
12146         * symeval.h (DEFSYMBOL):
12147         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12148
12149         * symbols.c (syms_of_symbols):
12150         [2].
12151
12152         * symsinit.h:
12153         * symsinit.h (init_win32): New.
12154         Also new is syms_of_dialog_mswindows.
12155
12156         * syswindows.h:
12157         Add new Unicode macros, missing Cygwin wide-char functions,
12158         convenience conversion macros for Qmswindows_tstr, macros for
12159         encapsulating required MSWin <-> Cygwin filename conversions,
12160         prototype for dynamically-extracted (not in NT 3.51) functions.
12161
12162         * toolbar-x.c:
12163         Mule-verify.
12164
12165         * tooltalk.c (Fadd_tooltalk_message_arg):
12166         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12167         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12168         [7].
12169
12170         * tooltalk.c (syms_of_tooltalk):
12171         [2].
12172
12173         * unexnt.c:
12174         * unexnt.c (unexec):
12175         Fix up headers, declaration of unexec() to be more standard.
12176
12177 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12178
12179         * offix.h: Revert change to guard macros - they're used in offix.c!
12180
12181 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12182
12183         * lisp.h: Defsubred Fdelete.
12184
12185         * console-msw.h:  (msprinter_default_printer): Added.
12186
12187         * console-msw.c (msprinter_canonicalize_console_connection):
12188         (msprinter_canonicalize_device_connection): Added.
12189
12190         * device-msw.c (msprinter_default_printer):
12191         (Fmswingows_get_default_printer):
12192         (signal_enum_priner_error):
12193         (Fmswingows_printer_list): Added.
12194
12195 2000-07-19  Martin Buchholz <martin@xemacs.org>
12196
12197         * XEmacs 21.2.35 is released.
12198
12199 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12200
12201         * select-x.c (x_handle_selection_request):
12202         Text selected in xemacs and pasted into xterm failed to appear.
12203         Spelling fixes and cosmetic changes.
12204
12205 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12206
12207         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12208         XEmacs frame (fix for doubling chars in dialog boxes).
12209
12210 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12211
12212         * select.c (select_convert_in, select_convert_out):
12213         Don't call intern() every time.
12214
12215         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12216         * select.c (vars_of_select): Initialise them.
12217
12218 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12219
12220         * select.c (selection-coercible-types): New.
12221
12222         * select.c (own-selection-internal):
12223         * select.c (get-selection-internal):
12224         MULE bug fix - these should default to COMPOUND_TEXT and not
12225         STRING for MULE. I think.
12226
12227         * select.c (select_convert_out): Use selection-coercible-types
12228         to find types that we can attempt to perform coercions on.
12229
12230 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12231
12232         * mule-wnnfns.c:
12233         * mule-canna.c:
12234         Add coding: cookie to identify encoding.
12235
12236         * mule-canna.c (CANNA_mode_keys): make static.
12237         Use proper prototypes, even for functions of no arguments.
12238         Remove external prototype for Fding().
12239
12240         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12241
12242         * select.c (syms_of_select): Add missing DEFSUBR.
12243
12244 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12245
12246         * select.c (get_selection_internal, own_selection_internal):
12247         Make the type default to STRING, rather than placing a nil type
12248         into Vselection_alist.
12249
12250 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12251
12252         * gpmevent.c (tty_selection_exists_p):
12253         * gpmevent.c (tty_own_selection):
12254         Updated parameter lists.
12255
12256 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12257
12258         * select.h (selection-alist): Removed declaration.
12259
12260         * select.h (get_local_selection):
12261         * select.c (get_local_selection):
12262         Made static.
12263
12264         * select.h (convert_selection): Removed declaration.
12265         * select.c (convert_selection): Removed.
12266         This function belongs in Lisp.
12267
12268         * select.h (select_convert_in): Declare.
12269         * select.h (select_convert_out): Declare.
12270         * select.c (select_convert_in): New.
12271         * select.c (select_convert_out): New.
12272         New conversion functions for other files to call.
12273
12274         * select.h (select_notify_buffer_kill): Declare.
12275         * select.c (select_notify_buffer_kill): New.
12276         New functions that get called from kill-buffer.
12277
12278         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12279         X-specific lisp code.
12280
12281         * select.h: Declare some of the lisp-visible functions for
12282         external use.
12283
12284         * select.c (clean_local_selection_data): Removed. This was
12285         a disgusting function, and previously should have been in
12286         select-x.c in any case. The functionality is now provided
12287         in select-convert-from-integer (select.el).
12288
12289         * select.c (available-selection-types): Fixed stupidity where
12290         INTEGER and ATOM got added twice. Also add STRING when we see an
12291         extent.
12292
12293         * select.c (get-selection-internal): Removed symbol stripping. No
12294         longer causes conversion when data comes from the internal cache.
12295
12296         * select.c (syms_of_select): Added new functions.
12297
12298         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12299         error checking - previously this called abort!
12300
12301         * select-x.c (x_own_selection): Changed comment.
12302
12303         * select-x.c (x_handle_selection_request): Use select_convert_out.
12304         Don't mess with selection-alist; it's an internal variable of select.c.
12305
12306         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12307
12308         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12309         rather than messing with selection-alist.
12310
12311         * select-msw.c (mswindows_get_foreign_selection):
12312         Use TO_INTERNAL_FORMAT rather than hacking.
12313
12314 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12315
12316         * process-unix.c (unix_open_multicast_group):
12317         (unix_open_multicast_group): Remove useless casts.
12318
12319 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12320
12321         * sound.c (Fplay_sound): Fix `unused variable' warning.
12322
12323         * emacs.c (main): Use correct type for _environ on SCO5.
12324
12325 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
12326
12327         * console.h (own_selection_method):
12328         * console.h (selection_exists_p_method):
12329         * console.h (available_selection_types_method): New.
12330         * console.h (register_selection_data_type_method): New.
12331         * console.h (selection_data_type_name): New.
12332
12333         * console-msw.h (mswindows_destroy_selection): Declare it.  New
12334         function & alist to track GlobalAlloc()'d handles that need
12335         releasing when the clipboard data gets replaced or emptied.
12336
12337         * event-msw.c (mswindows_wnd_proc): Call it.
12338
12339         * lisp.h, general.c (Qappend): New symbol representing a
12340         `how-to-add' mode.
12341
12342         * select.c (own-selection-internal):
12343         * select.c (selection-exists-p):
12344         * select.c (available-selection-types): New.
12345         * select.c (register-selection-data-type): New.
12346         * select.c (selection-data-type-name): New.  New functions to deal
12347         with device-specific selection data formats.
12348         * select.c (selection-converter-out-alist): Renamed.
12349         * select.c (selection-converter-in-alist): New.
12350         * select.c (selection-appender-alist): New.  Added new alists.
12351         * select.c (syms_of_select, vars_of_select): Added new symbols &
12352         variables.
12353         * select.c (get_local_selection): Split.
12354         * select.c: Removed spurious type checking - selections may now be
12355         of any type, not just strings.
12356         * select.c (own-selection-internal):
12357
12358         * select.h, select.c (convert_selection): New. Created
12359         convert_selection() function based on get_local_selection().
12360         * select.h, select.c (QCF_*): New symbols representing mswindows
12361         clipboard formats.
12362         * select.h, select.c (Qreplace_all, Qreplace_existing): New
12363         symbols representing `how-to-add' modes.
12364
12365         * select-msw.c (x_sym_p): New.
12366         * select-msw.c (symbol_to_ms_cf): New.
12367         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
12368         symbols & clipboard formats. Can also handle string names.
12369         * select-msw.c (mswindows_own_selection):
12370         * select-msw.c (mswindows_selection_exists_p):
12371         Added `data-type' parameter. Use it.
12372         * select-msw.c (mswindows_available_selection_types): New.
12373         * select-msw.c (mswindows_register_selection_data_type): New.
12374         * select-msw.c (mswindows_selection_data_type_name): New.
12375         * select-msw.c (mswindows_own_selection):
12376         * select-msw.c (mswindows_get_foreign_selection):
12377         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
12378         * select-msw.c (console_create_select_mswindows): Added new methods.
12379         * select-msw.c (mswindows_destroy_selection): New.
12380         * select-msw.c (Vhandle_alist): New list.
12381         * select-msw.c (mswindows_own_selection):
12382
12383         * select-x.c (x_own_selection):
12384         * select-x.c (x_selection_exists_p):
12385         * select-x.c: Added some comments about maybe using new
12386         functionality.
12387         * select-x.c (x_own_selection):
12388
12389         * specifier.c: Remove definition of Qappend (now in general.c)
12390         * specifier.c (syms_of_specifier): Remove Qappend.
12391
12392 2000-07-12  Martin Buchholz  <martin@xemacs.org>
12393
12394         * config.h.in: Add socklen_t.
12395
12396         * s/decosf4-0.h: No special compiler flags needed or desired.
12397         In particular, undefine _BSD for DEC OSF 4.0.
12398
12399 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12400
12401         * redisplay-msw.c (msprinter_frame_output_end): Added.
12402         (console_type_create_redisplay_mswindows): Referred the above.
12403
12404         * frame.c (setup_frame_without_minibuffer): Do not create a
12405         default minibuffer frame on a printer device.
12406
12407         * frame-msw.c (apply_dc_geometry): Added.
12408         (msprinter_start_page):
12409         (msprinter_init_frame_3):
12410         (msprinter_eject_page): Use it.
12411
12412         * console-msw.h (struct msprinter_frame): Added pix_left and top,
12413         and removed residual duplex and orientation properties.
12414
12415 2000-07-11  Martin Buchholz  <martin@xemacs.org>
12416
12417         * eval.c (function_argcount): Work around a DEC CC compiler bug.
12418
12419         * unexalpha.c: Remove system prototypes from C sources!
12420
12421 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
12422
12423         * eval.c: Remove references to M-x edit-options in DEFUNs for
12424         `defvar' and `defconst'.
12425
12426 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12427
12428         * config.h.in: Remove SMART_INCLUDE hackery.
12429
12430         PostgreSQL hacking:
12431         * config.h.in: Don't use SMART_INCLUDE.
12432
12433         * postgresql.h: Include libpq-fe.h here.  Fix typo.
12434         * inline.c: Simply #include "postgresql.h"
12435         * postgresql.c:
12436         - Don't use SMART_INCLUDE
12437         - Use simply "const".
12438         - Use standard doc string conventions.
12439         - Use correct type for result of PQstatus.
12440
12441 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12442
12443         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
12444
12445         C++ compilation changes.
12446         * config.h.in (EXTERN_C): Define.
12447         * config.h.in (not): This is also a C++ keyword.
12448         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
12449         * cm.c: Use EXTERN_C.
12450         * redisplay-tty.c: Use EXTERN_C.
12451         * sysdep.c: Use EXTERN_C.  Remove Gould support.
12452
12453 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12454
12455         * general.c: Remove duplicate definition for Qfunction.
12456
12457 2000-07-08  Ben Wing  <ben@xemacs.org>
12458
12459         * device-msw.c (msprinter_init_device):
12460         * device-msw.c (sync_printer_with_devmode):
12461         * device-msw.c (handle_devmode_changes):
12462         * device-msw.c (print_dialog_worker):
12463         * device-msw.c (Fmsprinter_apply_settings):
12464         * device-msw.c (hash_devmode):
12465         * device-msw.c (Fmsprinter_settings_despecialize):
12466         use Qmswindows_tstr, not Qctext.
12467
12468         * vm-limit.c (check_memory_limits):
12469         avoid infinite loop printing warning messages.
12470
12471 2000-07-05  Craig Lanning  <lanning@scra.org>
12472
12473         * Makefile.in.in: Add support for including the Windows resources
12474         when building with the cygwin and mingw targets.
12475
12476         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
12477         not set or not correct.
12478         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
12479         (init_initial_directory): Don't try to use $PWD on the
12480         WIN32_NATIVE target.
12481
12482         * s\cygwin32.h:
12483         [[Add -mwindows to eliminate console window.]] not required --ben
12484         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12485         (MAIL_USE_POP): removed; now handled by configure.
12486
12487         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
12488         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
12489         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12490         (MAIL_USE_POP): removed; now handled by configure.
12491         (ENCAPSULATE_STAT): from Dan Holmsand, added.
12492         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
12493         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
12494         constant string.
12495         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
12496         up from <winsock.h> via systime.h.
12497         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
12498         (getpagesize): from Dan Holmsand, added.
12499         Added #endif which was left dangling by Ben's mega patch; added
12500         comment to help prevent this in the future.
12501
12502         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
12503
12504 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12505
12506         * console-msw.h (struct mswindows_device): Removed unnecessary
12507         cached device geometry values.
12508         Added update_tick and an accessor macro.
12509         (Lisp_Devmode): Added lrecord declaration.
12510         (struct msprinter_device): Contain devmode as a Lisp object.
12511         Added mswindows_get_selected_frame_hwnd();
12512
12513         * console.h (struct console_methods): Indentation nitpicking.
12514
12515         * device-msw.c (mswindows_init_device): Do not initialize geometry
12516         cache. Initialize update tick.
12517         (mswindows_device_system_metrics): Ask the device for its geometry.
12518         (global_free_2_maybe):
12519         (devmode_to_hglobal):
12520         (handle_printer_changes):
12521         (ensure_not_printing):
12522         (print_dialog_worker):
12523         (Fmsprinter_print_setup_dialog):
12524         (Fmsprinter_print_dialog):
12525         (plist_get_margin):
12526         (plist_set_margin):
12527         (Fmsprinter_page_setup_dialog): Added functions.
12528         (sync_printer_with_devmode):
12529         (handle_devmode_changes):
12530         (Fmsprinter_get_settings):
12531         (Fmsprinter_select_settings):
12532         (Fmsprinter_apply_settings):
12533         (allocate_devmode):
12534         (Fmsprinter_settings_copy):
12535         (Fmsprinter_settings_despecialize):
12536         (print_devmode):
12537         (finalize_devmode):
12538         (equal_devmode):
12539         (hash_devmode): Added functions
12540         (syms_of_device_mswindows): Init devmode lrecord class.
12541
12542         * device.h: Added an exfun for find-device.
12543
12544         * event-msw.c (mswindows_wnd_proc): Do not update the cached
12545         geometry; although, recreate the device compatible DC.
12546
12547         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
12548         (msprinter_init_frame_3):
12549         (msprinter_frame_property):
12550         (msprinter_internal_frame_property_p):
12551         (msprinter_frame_properties):
12552         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
12553         print job properties (will move to device settings).
12554
12555         * lisp.h: Added symbols.
12556
12557         * general.c (syms_of_general): Declared them.
12558
12559         * hash.c (string_hash): Added.
12560
12561         * lrecord.h (lrecord_type): Added devmode lrecord type.
12562
12563 2000-07-02  Mike Sperber <mike@xemacs.org>
12564
12565         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
12566         FreeBSD 4.0.
12567
12568 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
12569
12570         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
12571         integer.
12572
12573 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
12574
12575         * data.c (Fstring_to_number): Don't recognize floating point if
12576         base is not 10.
12577
12578 2000-06-22  Martin Buchholz  <martin@xemacs.org>
12579
12580         * glyphs-widget.c (tab_control_query_geometry):
12581         (widget_query_geometry):
12582         (button_query_geometry):
12583         * glyphs.c (text_query_geometry):
12584         Enforce type correctness.
12585
12586 2000-06-18  Martin Buchholz  <martin@xemacs.org>
12587
12588         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
12589         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
12590
12591 2000-06-17  Martin Buchholz  <martin@xemacs.org>
12592
12593         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
12594         conflicts with gcc's fixincluded version of FOO.h.
12595
12596         * glyphs.h (image_instance_geometry): Remove trailing `,'
12597
12598 2000-06-08  Mike Alexander  <mta@arbortext.com>
12599
12600         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
12601         (shove_thread): Don't write the same output twice
12602         (make_ntpipe_output_stream): Increase priority of shove thread
12603         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
12604         chance to run
12605         (ntpipe_shove_closer): Don't delete the pipe until we're done with
12606         it.
12607
12608 2000-06-12  Ben Wing  <ben@xemacs.org>
12609
12610         * s\mingw32.h (sigset):
12611         * s\windowsnt.h (sigset):
12612         rename msw_ to mswindows_ for consistency with general convention.
12613
12614 2000-06-12  Ben Wing  <ben@xemacs.org>
12615
12616         * console-msw.c:
12617         * console-msw.c (mswindows_get_console_hwnd):
12618         * console-msw.c (mswindows_ensure_console_allocated):
12619         * console-msw.c (mswindows_hide_console):
12620         * console-msw.c (mswindows_show_console):
12621         * console-msw.c (mswindows_ensure_console_buffered):
12622         * console-msw.c (mswindows_output_console_string):
12623         * console-msw.c (mswindows_windows9x_p):
12624         * console-msw.h:
12625         * device-msw.c (mswindows_get_workspace_coords):
12626         * device-msw.c (mswindows_device_system_metrics):
12627         * dialog-msw.c (mswindows_popup_dialog_box):
12628         * event-msw.c (mswindows_wnd_proc):
12629         * frame-msw.c (mswindows_size_frame_internal):
12630         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12631         * menubar-msw.c (displayable_menu_item):
12632         * menubar-msw.c (mswindows_char_is_accelerator):
12633         * nt.c:
12634         * nt.c (mswindows_sigset):
12635         * nt.c (mswindows_sigrelse):
12636         * nt.c (mswindows_sigpause):
12637         * nt.c (mswindows_raise):
12638         * nt.c (timer_proc):
12639         * ntproc.c:
12640         * ntproc.c (find_child_console):
12641         * ntproc.c (sys_kill):
12642         * print.c:
12643         * print.c (std_handle_out_external):
12644         * process-nt.c (find_child_console):
12645         * process-nt.c (send_signal_the_95_way):
12646         * process-nt.c (ensure_console_window_exists):
12647         * process-nt.c (nt_create_process):
12648         * syssignal.h:
12649         rename msw_ to mswindows_ for consistency with general convention.
12650
12651         * emacs.c:
12652         * dumper.c:
12653         include nt.h, not syswindows.h.
12654
12655         * nt.c (mswindows_fstat):
12656         * nt.c (mswindows_stat):
12657         prefix mswindows_ instead of attempting to directly override the
12658         library functions.  fix declarations.
12659
12660         * nt.h:
12661         include syswindows.h.  move some sysdep.h stuff here.
12662
12663         * ntheap.h:
12664         include syswindows.h, not <windows.h>.
12665
12666         * ntplay.c:
12667         clean up headers.
12668
12669         * sysdep.c:
12670         clean up headers.
12671
12672         * sysdep.c (sys_fstat):
12673         * sysdep.c (sys_stat):
12674         call mswindows versions when appropriate.
12675
12676         * sysdep.h:
12677         move mswin decls to nt.h.
12678
12679         * syswindows.h:
12680         add long comment describing appropriate use of the various windows
12681         headers.
12682
12683 2000-06-11  Ben Wing  <ben@xemacs.org>
12684
12685         * device-x.c: Correct doc string for sixth arg of x-get-resource.
12686
12687 2000-06-10  Ben Wing  <ben@xemacs.org>
12688
12689         * Makefile.in.in (release):
12690         Correction to make sure xemacs.exe always dumped when correct.
12691
12692         * alloca.c:
12693         * balloon_help.c:
12694         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
12695
12696         * buffer.c (set_buffer_internal):
12697         [[[[2]]]]: Remove HAVE_FEP code.
12698
12699         * buffer.c (init_initial_directory):
12700         [3].
12701
12702         * bytecode.c:
12703         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
12704         individual files.
12705
12706         * callproc.c:
12707         * callproc.c (call_process_cleanup):
12708         * callproc.c (Fold_call_process_internal):
12709         * callproc.c (child_setup):
12710         * callproc.c (getenv_internal):
12711         * callproc.c (init_callproc):
12712         * callproc.c (vars_of_callproc):
12713         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
12714         __CYGWIN32__ -> CYGWIN.
12715         DOS_NT -> WIN32_NATIVE.
12716         Remove MSDOS support/references, converting to WIN32_NATIVE
12717           where correct.
12718         __MINGW32__ -> MINGW.
12719         Fix windows.h includes.
12720         Remove bogus HAVE_NTGUI.
12721
12722         * config.h.in:
12723         [2].
12724
12725         * console-msw.c:
12726         mswindows_message_outputted added for use in allowing startup
12727         errors on the console to be seen.
12728
12729         * console-msw.c (msw_ensure_console_allocated):
12730         * console-msw.c (msw_output_console_string):
12731         * console-msw.c (DHEADER):
12732         * console-msw.c (DOPAQUE_DATA):
12733         * console-msw.c (DEVENT):
12734         * console-msw.c (DCONS):
12735         * console-msw.c (DCONSCDR):
12736         * console-msw.c (DSTRING):
12737         * console-msw.c (DVECTOR):
12738         * console-msw.c (DSYMBOL):
12739         * console-msw.c (DSYMNAME):
12740         Fix warnings.
12741
12742         * console-stream.c (stream_init_console):
12743         Fix text/binary problems.
12744
12745         * device-msw.c:
12746         * device-msw.c (mswindows_finish_init_device):
12747         * device-msw.c (mswindows_delete_device):
12748         [1].
12749
12750         * device.c (handle_asynch_device_change):
12751         [3].
12752
12753         * dgif_lib.c:
12754         * dgif_lib.c (DGifOpenFileName):
12755         * dgif_lib.c (DGifOpenFileHandle):
12756         * dgif_lib.c (DGifGetLine):
12757         * dgif_lib.c (DGifGetPixel):
12758         Added config.h/lisp.h, fix up includes.
12759         [1].
12760
12761         * dired-msw.c:
12762         [4].
12763
12764         * dired.c:
12765         * dired.c (file_name_completion):
12766         * dired.c (Ffile_attributes):
12767         * dired.c (syms_of_dired):
12768         [1].
12769
12770         * dumper.c:
12771         * dumper.c (pdump_file_unmap):
12772         * dumper.c (pdump_load):
12773         [1].
12774
12775         * editfns.c:
12776         * editfns.c (Ftemp_directory):
12777         * editfns.c (user_login_name):
12778         * editfns.c (Fuser_real_login_name):
12779         * editfns.c (get_home_directory):
12780         [1].
12781
12782         * elhash.c (finish_marking_weak_hash_tables):
12783         [[[[5]]]]: Fix GCC warnings.
12784
12785         * emacs.c:
12786         * emacs.c (mswindows_handle_hardware_exceptions):
12787         * emacs.c (make_arg_list_1):
12788         * emacs.c (main_1):
12789         * emacs.c (Fkill_emacs):
12790         * emacs.c (Fdump_emacs):
12791         [1].
12792         Fix problems with nested crashes, add long comment.
12793
12794         * event-Xt.c (init_event_Xt_late):
12795         [1].
12796
12797         * event-msw.c:
12798         * event-msw.c (mswindows_dde_callback):
12799         * event-msw.c (mswindows_handle_sticky_modifiers):
12800         * event-msw.c (mswindows_wnd_proc):
12801         [1].
12802         [5].
12803
12804         * events.c (character_to_event):
12805         [1].
12806
12807         * fileio.c:
12808         * fileio.c (Ffile_name_directory):
12809         * fileio.c (Ffile_name_nondirectory):
12810         * fileio.c (directory_file_name):
12811         * fileio.c (Fexpand_file_name):
12812         * fileio.c (Fsubstitute_in_file_name):
12813         * fileio.c (Ffile_name_absolute_p):
12814         * fileio.c (check_executable):
12815         * fileio.c (Ffile_readable_p):
12816         * fileio.c (Ffile_accessible_directory_p):
12817         * fileio.c (Ffile_modes):
12818         * fileio.c (Funix_sync):
12819         * fileio.c (vars_of_fileio):
12820         [1]. [4].
12821
12822         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
12823
12824         Expand getdefdir defn.
12825         Fix bogus rename() comment.
12826
12827         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
12828         to use standard XEmacs include files, e.g. sysfile.h, rather
12829         than system-specific includes.
12830
12831         * fns.c:
12832         * fns.c (Fsubseq):
12833         [5]. [6].
12834
12835         * frame.c (vars_of_frame):
12836         [1].
12837
12838         * getloadavg.c:
12839         * getloadavg.c (getloadavg):
12840         [1]. [6].
12841         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
12842         (We don't use it elsewhere in the code; just add a comment.)
12843
12844         * gif_io.c:
12845         [6].
12846         Add config.h.
12847
12848         * glyphs-msw.c:
12849         * glyphs-msw.c (mswindows_resource_instantiate):
12850         [1].
12851
12852         * glyphs-x.c (x_native_layout_instantiate):
12853         [5].
12854
12855         * gui-msw.c (Fmswindows_shell_execute):
12856         [1].
12857
12858         * insdel.c:
12859         [4].
12860
12861         * lisp.h:
12862         [4]. [5].
12863
12864         * lread.c (locate_file_in_directory_mapper):
12865         [1].
12866
12867         * lstream.c:
12868         [4].
12869
12870         * mem-limits.h:
12871         * mem-limits.h (get_lim_data):
12872         [1].
12873
12874         * menubar-msw.c:
12875         [4].
12876
12877         * ndir.h:
12878         [1].
12879
12880         * nt.c:
12881         * nt.c (getwd):
12882         * nt.c (closedir):
12883         * nt.c (rva_to_section):
12884         * nt.c (mswindows_executable_type):
12885         [1]. [6].
12886         Fix closedir() defn.
12887
12888         * nt.h:
12889         [[[[8]]]]: *_OK defs moved to sysfile.h.
12890
12891         * ntproc.c:
12892         [6]. [7].
12893
12894         * objects-x.c:
12895         [4].
12896
12897         * print.c:
12898         * print.c (std_handle_out_external):
12899         [1]. [4].
12900
12901         * process-nt.c:
12902         * process-nt.c (nt_create_process):
12903         [6].
12904         try to fix process quoting somewhat.
12905
12906         * process-unix.c (unix_create_process):
12907         [1].
12908
12909         * process.c:
12910         * process.c (vars_of_process):
12911         Add Vnull_device.
12912
12913         * process.h:
12914         [1].
12915
12916         * realpath.c:
12917         * realpath.c (xrealpath):
12918         [1].
12919
12920         * redisplay-tty.c (init_tty_for_redisplay):
12921         [3].
12922
12923         * redisplay.c:
12924         [4]. [6].
12925
12926         * scrollbar-msw.c:
12927         [4].
12928
12929         * sheap.c:
12930         * sheap.c (more_static_core):
12931         * sheap.c (report_sheap_usage):
12932         [5]. [6].
12933
12934         * signal.c:
12935         * signal.c (alarm_signal):
12936         [1]. [6].
12937
12938         * sound.c:
12939         [6].
12940
12941         * strftime.c:
12942         * strftime.c (zone_name):
12943         [1]. [5].
12944
12945         * symsinit.h (init_sunpro):
12946         [1].
12947
12948         * syscommctrl.h:
12949         commctrl.h not in Cygwin b20.1.
12950
12951         * sysdep.c:
12952         * sysdep.c (endif):
12953         * sysdep.c (sys_subshell):
12954         * sysdep.c (init_baud_rate):
12955         * sysdep.c (emacs_get_tty):
12956         * sysdep.c (emacs_set_tty):
12957         * sysdep.c (tty_init_sys_modes_on_device):
12958         * sysdep.c (init_system_name):
12959         * sysdep.c (sys_open):
12960         * sysdep.c (interruptible_open):
12961         * sysdep.c (sys_fopen):
12962         * sysdep.c (sys_mkdir):
12963         * sysdep.c (sys_rename):
12964         * sysdep.c (get_process_times_1):
12965         [1]. [6].
12966
12967         * sysdep.h:
12968         [1].
12969
12970         * sysdir.h:
12971         * sysdir.h (DIRENTRY_NONEMPTY):
12972         [1]. [6].
12973
12974         * sysdll.c (dll_init):
12975         * sysdll.h:
12976         [1].
12977
12978         * sysfile.h:
12979         [1]. [6]. [8].
12980         added text/binary defs.
12981
12982         * sysfloat.h:
12983         [1].
12984
12985         * sysproc.h:
12986         * sysproc.h (EDESTADDRREQ):
12987         * sysproc.h (poll_fds_for_input):
12988         [1]. [6].
12989
12990         * syspwd.h:
12991         [6].
12992
12993         * syssignal.h:
12994         [1].
12995
12996         * systime.h:
12997         [1]. [6].
12998
12999         * systty.h:
13000         [1].
13001
13002         * syswindows.h:
13003         [1].
13004         Always define WIN32_LEAN_AND_MEAN.
13005
13006         * unexcw.c (unexec):
13007         [5].
13008
13009         * unexec.c:
13010         * unexec.c (copy_text_and_data):
13011         * unexec.c (adjust_lnnoptrs):
13012         [1].
13013
13014         * unexnt.c:
13015         * unexnt.c (_start):
13016         [1].
13017
13018 2000-06-07  Ben Wing  <ben@xemacs.org>
13019
13020         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13021         was used only as a model.  We've long since extracted any useful
13022         logic or code out of this. (I just did an exhaustive search.)
13023
13024         * s\msdos.h: Removed.
13025
13026         * s\windows95.h: Removed.
13027
13028 2000-06-10  Ben Wing  <ben@xemacs.org>
13029
13030         * s\cygwin32.h:
13031         [1]. [5].
13032         Don't use extern with fun defs.
13033
13034         * s\mingw32.h:
13035         [1]. [7].
13036         Remove nt\inc include.
13037         Remove getdisk, getdefdir. (The former is unused, the latter
13038         expanded in fileio.h.)
13039
13040         * s\windowsnt.h:
13041         * s\windowsnt.h (WIN32_NATIVE):
13042         * s\windowsnt.h (HAVE_STRCASECMP):
13043         [1]. [7].
13044         Add long comment about preprocessor changes.
13045         Remove getdisk, getdefdir. (The former is unused, the latter
13046         expanded in fileio.h.)
13047
13048 2000-06-10  Ben Wing  <ben@xemacs.org>
13049
13050         * m\arm.h:
13051         * m\delta.h:
13052         * m\intel386.h:
13053         * m\sequent.h:
13054         * m\template.h:
13055         * m\windowsnt.h:
13056         [1].
13057         Remove bogus/unused NO_SOCK_SIGIO.
13058
13059 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13060
13061         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13062         not an Emchar.
13063
13064 2000-06-04  Mike Sperber <mike@xemacs.org>
13065
13066         * casetab.c (set_case_table): For `set-standard-case-table',
13067         actually deposit the new case tables where the rest of XEmacs can
13068         see them.
13069
13070 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13071
13072         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13073
13074 2000-06-05  Ben Wing  <ben@xemacs.org>
13075
13076         * callproc.c (child_setup): Don't do close_load_descs() under
13077         MS Windows.  Put in a comment explaining why.
13078
13079 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13080
13081         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13082         Toolkit shell" which breaks `kill-compilation' on Windows NT
13083         native, retaining STDERR handling improvements.
13084
13085 2000-06-01  Andreas Jaeger  <aj@suse.de>
13086
13087         * s/s390.h: Support for S390, based on a patch by Martin
13088         Schwidefsky <schwidefsky@de.ibm.com>.
13089
13090 2000-05-30  Andy Piper  <andy@xemacs.org>
13091
13092         * window.c (allocate_window):
13093         (make_dummy_parent):
13094         (Fset_window_configuration): use new hashtable type.
13095
13096         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13097         (struct image_instantiator_methods):
13098         (struct Lisp_Image_Instance): make instance geometry signed.
13099
13100         * glyphs.c (instantiate_image_instantiator):
13101         (image_instance_query_geometry):
13102         (image_instance_layout):
13103         (image_instance_layout):
13104         (query_string_geometry):
13105         (text_query_geometry):
13106         (image_instantiate):
13107         (image_instantiate):
13108         (cache_subwindow_instance_in_frame_maybe):
13109         (subwindow_query_geometry): make instance geometry signed.
13110
13111         * glyphs-widget.c (widget_query_geometry):
13112         (widget_layout):
13113         (button_query_geometry):
13114         (tree_view_query_geometry):
13115         (tab_control_query_geometry):
13116         (layout_query_geometry):
13117         (layout_layout):
13118         (native_layout_layout): make instance geometry signed.
13119
13120 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13121
13122         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13123         constant.
13124
13125         * general.c (syms_of_general): Add Qfull_assoc symbol.
13126
13127         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13128         correctly.
13129         (decode_weak_list_type): Decode full-assoc type.
13130         (encode_weak_list_type): Encode full-assoc type.
13131         (Fmake_weak_list): Update doc string.
13132
13133 2000-05-30  Andy Piper  <andy@xemacs.org>
13134
13135         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13136
13137         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13138         (decode_hash_table_weakness): ditto.
13139         (Fhash_table_weakness): ditto.
13140         (Fhash_table_type): ditto.
13141         (finish_marking_weak_hash_tables): ditto.
13142         (hash_table_weakness_validate): ditto.
13143         (syms_of_elhash): ditto.
13144
13145 2000-05-28  Martin Buchholz <martin@xemacs.org>
13146
13147         * XEmacs 21.2.34 is released.
13148
13149 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13150
13151         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13152         start cache.
13153         (updating_line_start_cache): Gone.
13154         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13155         generic code to force a minimum of 1 line laid out in the
13156         CMOTION_DISP case.
13157
13158 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13159
13160         * glyphs.c (instantiate_image_instantiator): Check for initialized
13161         height & width no longer special cases IMAGE_NOTHING.
13162         (nothing_instantiate): Set height and width of instance.
13163
13164 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13165
13166         * unexelf.c (unexec): Search for ".data" section.
13167         Initialize new_data2_offset from old_data_index.
13168         Remove redundant check for ElfW.
13169
13170 2000-05-23  Andy Piper  <andy@xemacs.org>
13171
13172         * glyphs.c (get_image_instantiator_governing_domain): allow more
13173         specific domains as the governing domain rather than expecting an
13174         exact match. This fixes problems with layouts.
13175
13176 2000-05-22  Andy Piper  <andy@xemacs.org>
13177
13178         * redisplay-output.c (compare_runes): check for non-images
13179
13180         * glyphs.c (set_glyph_dirty_p): ditto.
13181         (update_glyph_cachel_data): ditto.
13182
13183         * glyphs-widget.c (layout_post_instantiate): ditto.
13184         (layout_post_instantiate): ditto.
13185
13186         * event-msw.c (mswindows_wnd_proc): warning removal.
13187
13188 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13189
13190         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13191
13192         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13193
13194         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13195
13196         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13197         (mswindows_executable_type): mingw32 now has enough headers for
13198         this to work.
13199
13200 2000-05-20  Andy Piper  <andy@xemacs.org>
13201
13202         * console-msw.c (mswindows_output_last_error): ; -> ,
13203
13204 2000-05-12  Andy Piper  <andy@xemacs.org>
13205
13206         * console-msw.c (FROB): compare ints with ints.
13207
13208 2000-05-11  Andy Piper  <andy@xemacs.org>
13209
13210         * glyphs-x.c (x_finalize_image_instance): make minimal build
13211         happy.
13212
13213 2000-05-20  Ben Wing  <ben@xemacs.org>
13214
13215         * event-Xt.c:
13216         * event-Xt.c (vars_of_event_Xt):
13217         move modifier-keys-are-sticky to event-stream.c.
13218
13219         * event-msw.c:
13220         * event-msw.c (mswindows_enqueue_mouse_button_event):
13221         * event-msw.c (key_needs_default_processing_p):
13222         * event-msw.c (XEMSW_LCONTROL):
13223         * event-msw.c (mswindows_handle_sticky_modifiers):
13224         * event-msw.c (FROB):
13225         * event-msw.c (clear_sticky_modifiers):
13226         * event-msw.c (output_modifier_keyboard_state):
13227         * event-msw.c (output_alt_keyboard_state):
13228         * event-msw.c (mswindows_wnd_proc):
13229         * event-msw.c (mswindows_modifier_state):
13230         * event-msw.c (emacs_mswindows_handle_magic_event):
13231         implement sticky modifiers.
13232
13233         * event-stream.c:
13234         * event-stream.c (vars_of_event_stream):
13235         move modifier-keys-are-sticky here.
13236
13237         * lisp.h:
13238         add CHECK_FUNCTION.
13239
13240         * rangetab.c:
13241         implement map-range-table.
13242
13243
13244 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13245
13246         * redisplay-tty.c (reset_tty_modes):
13247         (tty_redisplay_shutdown): Adjust argument type to
13248         tty_frame_output_end.
13249
13250 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13251
13252         * eval.c (Fbacktrace): Don't output a line with only right
13253         parenthesis.
13254
13255 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13256
13257         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13258         (Fpq_reset_poll): Ditto.
13259
13260 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13261
13262         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13263
13264 2000-05-16  Ben Wing  <ben@xemacs.org>
13265
13266         * buffer.c:
13267         * buffer.c (dfc_convert_to/from_internal_format):
13268         * buffer.c (reinit_vars_of_buffer):
13269         Fix conversion functions to allow reentrancy.
13270
13271         * console-msw.c:
13272         * console-msw.c (mswindows_output_last_error):
13273         New fun, generally useful -- output a human-readable
13274         version of GetLastError() on the console.
13275
13276         * console-msw.h:
13277         * console-msw.h (struct mswindows_frame):
13278         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13279
13280         * console-stream.c (stream_output_begin):
13281         * console-stream.c (stream_output_end):
13282         * console-stream.c (stream_output_vertical_divider):
13283         * console-stream.c (stream_clear_region):
13284         * console-stream.c (stream_flash):
13285         * console-stream.c (console_type_create_stream):
13286         Delete blank stream methods, not needed.
13287
13288         * console.h (struct console_methods):
13289         Split begin/end methods into window and frame.
13290
13291         * event-msw.c:
13292         * event-msw.c (mswindows_handle_paint):
13293         * event-msw.c (output_alt_keyboard_state):
13294         * event-msw.c (mswindows_wnd_proc):
13295         * event-msw.c (vars_of_event_mswindows):
13296         Comment about problems with ignored-expose.
13297         Define mswindows-debug-events; not really implemented.
13298
13299         * frame-msw.c (mswindows_init_frame_1):
13300         random cleanups.
13301
13302         * glyphs-msw.c:
13303         * glyphs-msw.c (begin_defer_window_pos):
13304         * glyphs-msw.c (mswindows_unmap_subwindow):
13305         * glyphs-msw.c (mswindows_map_subwindow):
13306         * glyphs-msw.c (mswindows_resize_subwindow):
13307         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13308
13309         * glyphs.c (make_image_instance_1):
13310         Fix crash.
13311
13312         * gutter.c (Fredisplay_gutter_area):
13313         Use new begin/end methods.
13314
13315         * lisp.h (Dynarr_new2):
13316         New creation fun.
13317
13318         * redisplay-msw.c:
13319         * redisplay-msw.c (mswindows_frame_output_begin):
13320         * redisplay-msw.c (mswindows_frame_output_end):
13321         * redisplay-msw.c (console_type_create_redisplay_mswindows):
13322         New begin/end methods -- handle DeferWindowPos.
13323
13324         * redisplay-output.c (redisplay_move_cursor):
13325         * redisplay-output.c (redraw_cursor_in_window):
13326         * redisplay-output.c (redisplay_update_line):
13327         * redisplay-output.c (redisplay_output_window):
13328         New begin/end methods.
13329
13330         * redisplay-tty.c:
13331         * redisplay-tty.c (tty_frame_output_begin):
13332         * redisplay-tty.c (tty_frame_output_end):
13333         * redisplay-tty.c (console_type_create_redisplay_tty):
13334         New begin/end methods.
13335
13336         * redisplay-x.c:
13337         * redisplay-x.c (x_window_output_begin):
13338         * redisplay-x.c (x_window_output_end):
13339         * redisplay-x.c (console_type_create_redisplay_x):
13340         New begin/end methods.
13341
13342         * redisplay.c (redisplay_frame):
13343         * redisplay.c (Fredisplay_echo_area):
13344         New begin/end methods.
13345         use MAYBE_DEVMETH for clear_frame; it may not exist.
13346
13347         * window.h (WINDOW_XFRAME):
13348         WINDOW_XFOO macros -- get locale and decode struct pointer.
13349
13350
13351 2000-05-12  Ben Wing  <ben@xemacs.org>
13352
13353         * emacs.c:
13354         * emacs.c (ensure_no_quitting_from_now_on):
13355         * emacs.c (fatal_error_signal):
13356         * emacs.c (mswindows_handle_hardware_exceptions):
13357         * emacs.c (main):
13358         * emacs.c (Fkill_emacs):
13359         * emacs.c (shut_down_emacs):
13360         * emacs.c (assert_failed):
13361         various improvements in fatal error handling.
13362
13363         * eval.c:
13364         move preparing_for_armageddon to emacs.c.
13365
13366         * lisp.h:
13367         declare fatal_error_in_progress.
13368
13369         * print.c:
13370         * print.c (std_handle_out_external):
13371         * print.c (std_handle_out_va):
13372         * print.c (stderr_out):
13373         * print.c (stdout_out):
13374         use console under mswin when no standard output.
13375         don't do code conversion during fatal error.
13376
13377         * scrollbar.c (Fscrollbar_page_up):
13378         * scrollbar.c (Fscrollbar_page_down):
13379         fix missing else.  reindent.
13380
13381 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
13382
13383         Emergency fix.
13384
13385         * glyphs.h (GLYPH_CACHEL_DESCENT):
13386         (GLYPH_CACHEL_DESCENT):
13387         (GLYPH_CACHEL_DESCENT):
13388         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
13389         used in case these are inline functions.
13390         Use more absurd values to error check.
13391
13392         include window.h for error check functions.
13393
13394 2000-05-11  Ben Wing  <ben@xemacs.org>
13395
13396         * cmdloop.c (Freally_early_error_handler):
13397         Display message box under windows; otherwise, message will disappear
13398         before it can be viewed.
13399
13400         * console-msw.c:
13401         * console-msw.c (Fmswindows_message_box):
13402         * console-msw.c (FROB):
13403         * console-msw.c (syms_of_console_mswindows):
13404         Define new fun `mswindows-message-box'.
13405         #### I will merge this into `popup-dialog-box'; just give me
13406         a bit of time.
13407
13408         * general.c:
13409         * general.c (syms_of_general):
13410         Some new symbols used in `mswindows-message-box'.
13411
13412         * glyphs.c:
13413         * glyphs.c (Fset_image_instance_property):
13414         put warning in this fun.
13415
13416         * glyphs.h:
13417         * glyphs.h (GLYPH_CACHEL_WIDTH):
13418         * glyphs.h (GLYPH_CACHEL_ASCENT):
13419         * glyphs.h (GLYPH_CACHEL):
13420         * glyphs.h (GLYPH_CACHEL_GLYPH):
13421         define error-checking versions to try to catch a bug i've seen --
13422         redisplay gets in an infinite loop because the glyph width of the
13423         continuation glyph is 65535.
13424
13425         * lisp.h:
13426         Extern message-box stuff.
13427
13428         * window.c (allocate_window):
13429         * window.c (make_dummy_parent):
13430         * window.c (Fset_window_configuration):
13431         Use EQUAL not EQ for subwindow caches to make them work a bit
13432         better. (Something is still very broken.)
13433
13434
13435 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13436
13437         * glyphs.c (image_instantiate): Suppress gcc warnings.
13438         (Fmake_image_instance): Fix doc string.
13439         * specifier.c (Fmake_specifier): Ditto.
13440
13441 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
13442
13443         * paths.h.in (PATH_LOCK): Removed.
13444         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
13445         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
13446
13447 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13448
13449         * fns.c (Ffeaturep): Update e-mail address in doc-string.
13450         Document (featurep '(and xemacs 21.02)).
13451
13452 2000-05-09  Ben Wing  <ben@xemacs.org>
13453
13454         * buffer.c (complex_vars_of_buffer):
13455         update modeline-format doc.
13456
13457         * device.h:
13458         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
13459
13460         * emacs.c:
13461         timeline of all released versions of Emacs, for use in creating
13462         authorship comments and in synching up.
13463
13464         * glyphs-widget.c (image_instantiator_buttons):
13465         * glyphs-widget.c (image_instantiator_edit_fields):
13466         * glyphs-widget.c (image_instantiator_combo_box):
13467         * glyphs-widget.c (image_instantiator_scrollbar):
13468         * glyphs-widget.c (image_instantiator_progress_guage):
13469         * glyphs-widget.c (image_instantiator_tree_view):
13470         * glyphs-widget.c (image_instantiator_tab_control):
13471         * glyphs-widget.c (image_instantiator_labels):
13472         * glyphs-widget.c (image_instantiator_layout):
13473         * glyphs-widget.c (image_instantiator_native_layout):
13474         rename decode_domain method to governing_domain.
13475
13476         * glyphs.c:
13477         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
13478         * glyphs.c (add_entry_to_device_ii_format_list):
13479         make sure we don't put an entry more than once into the list.
13480         * glyphs.c (check_instance_cache_mapper):
13481         *************************************************************
13482         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13483         HAVE BEEN GETTING.
13484         *************************************************************
13485         * glyphs.c (get_image_instantiator_governing_domain):
13486         clean up, expand on new concept of governing domain.
13487         * glyphs.c (instantiate_image_instantiator):
13488         * glyphs.c (allocate_image_instance):
13489         use governing_domain instead of cache_domain in naming.
13490         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
13491         * glyphs.c (make_image_instance_1):
13492         * glyphs.c (Fmake_image_instance):
13493         allow for any domain (not just device), and process the
13494         governing domain correctly.  very big doc fix.
13495         * glyphs.c (Fimage_instance_domain):
13496         new primitive, to retrieve the governing domain of an image instance.
13497         * glyphs.c (image_instantiate):
13498         use new governing_domain stuff.  this fixes a crash you could get
13499         by instantiating certain widget glyphs in frame locales. (should
13500         signal an error instead of crashing.)
13501         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
13502         * glyphs.c (Fglyphp): clean up doc.
13503         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
13504         * glyphs.c (syms_of_glyphs):
13505         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
13506         * glyphs.c (image_instantiator_format_create): add some comments about
13507         bogus code.
13508         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
13509         for current-display-table. (Apparently Hrjove implemented in 1998 a
13510         design I wrote up in 1996, but didn't update the doc string.)
13511
13512         * glyphs.h: clean up a doc string.
13513         * glyphs.h (governing_domain):
13514         * glyphs.h (struct image_instantiator_methods):
13515         changes for governing_domain stuff.
13516
13517         * gutter.c:
13518         * gutter.c (Fgutter_specifier_p):
13519         * gutter.c (Fgutter_size_specifier_p):
13520         * gutter.c (Fgutter_visible_specifier_p):
13521         * objects.c:
13522         * objects.c (Fcolor_specifier_p):
13523         * objects.c (Ffont_specifier_p):
13524         * objects.c (Fface_boolean_specifier_p):
13525         doc strings moved to make-*-specifier.
13526
13527         * redisplay.c (add_disp_table_entry_runes_1):
13528         * redisplay.c (generate_fstring_runes):
13529         * redisplay.c (screen):
13530         add random comments and doc strings.
13531
13532         * specifier.c:
13533         * specifier.c (Fmake_specifier):
13534         major overhaul of this doc string.
13535
13536         * specifier.c (Fvalid_specifier_domain_p):
13537         comment about the bogosity of image instances being domains.
13538         * specifier.c (decode_domain):
13539         now non-static, used in glyphs.c.
13540         * specifier.c (specifier_instance):
13541         comment about the bogosity of image instances being domains.
13542         * specifier.c (Fgeneric_specifier_p):
13543         move doc string to make-generic-specifier.
13544         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
13545         rebackslashify.
13546
13547         * specifier.h:
13548         * specifier.h (DOMAIN_FRAME):
13549         * specifier.h (DOMAIN_LIVE_P):
13550         * specifier.h (DOMAIN_XDEVICE):
13551         rebackslashify.
13552         add comments about problems with these macros.
13553         prototype for decode_domain.
13554
13555         * toolbar.c:
13556         * toolbar.c (Ftoolbar_specifier_p):
13557         move doc string to `make-toolbar-specifier'.
13558
13559         * window.c (window_unmap_subwindows_cache_mapper):
13560         *************************************************************
13561         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13562         HAVE BEEN GETTING.
13563         *************************************************************
13564
13565 2000-05-09  Andy Piper  <andy@xemacs.org>
13566
13567         * glyphs.h: declare reset_frame_subwindow_instance_cache.
13568
13569         * window.c (Fset_window_configuration): reset the frame subwindow
13570         cache and re-initialize the window subwindow caches.
13571
13572         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
13573
13574 2000-05-09  Ben Wing  <ben@xemacs.org>
13575
13576         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
13577         DWORD.
13578
13579 2000-04-26  Mike Woolley  <mike@bulsara.com>
13580
13581         * ntheap.c: Changed recreate_heap to limit the amount reserved
13582         for the heap to that which is actually available. Also now
13583         displays a message box (with some dignostics) in the event that
13584         it still can't start.
13585
13586 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
13587
13588         * callproc.c (Fold_call_process_internal): GCPRO path
13589
13590 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
13591
13592         Patch by Bill Perry.
13593
13594         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
13595         back data instead of #ifdef.
13596         (Fscrollbar_page_down): ditto.
13597
13598 2000-05-07  Ben Wing  <ben@xemacs.org>
13599
13600         * buffer.h:
13601         Kludge for defining Qmswindows_tstr.
13602
13603         * nt.c:
13604         * nt.c (open_input_file):
13605         * nt.c (open_output_file):
13606         * nt.c (rva_to_section):
13607         * nt.c (mswindows_executable_type):
13608         Move all memory-mapped-file routines here (some were in unexnt.c,
13609         which is bad because they are used by process-nt.c, and unexnt
13610         won't be around when portable dumping).  Synched the above routines
13611         with FSF 20.6.
13612
13613         * nt.h:
13614         Removed ifdef'd out bogus code.
13615         Fixed some prototypes.
13616
13617         * nt.h (file_data):
13618         * nt.h (OFFSET_TO_RVA):
13619         * nt.h (RVA_TO_OFFSET):
13620         * nt.h (RVA_TO_PTR):
13621         Moved the memory-mapped-file structures, macros and prototypes
13622         here, to parallel nt.c.  ntheap.h should really be removed
13623         entirely, and it's a non-portable-dumper specific file.
13624
13625         * ntheap.h (round_to_next):
13626         Moved the memory-mapped-file structures, macros and prototypes
13627         to nt.h.
13628
13629         * ntproc.c (compare_env):
13630         Moved rva_to_section and mswindows_executable_type to nt.c.
13631         Moved compare_env to process-nt.c.
13632         ntproc.c will die, one day.
13633
13634         * ntproc.c (sys_spawnve):
13635         Account for win32_ -> mswindows_.
13636
13637         * process-nt.c:
13638         * process-nt.c (struct nt_process_data):
13639         * process-nt.c (ensure_console_window_exists):
13640         * process-nt.c (compare_env):
13641         * process-nt.c (nt_create_process):
13642         * process-nt.c (nt_kill_process_by_pid):
13643         * process-nt.c (syms_of_process_nt):
13644         * process-nt.c (vars_of_process_nt):
13645         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
13646         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
13647         changes).  Eliminate our old `nt-quote-process-args' mechanism.
13648         Synch up nt_create_process with FSF 20.6 sys_spawnve.
13649         Move compare_env here from ntproc.c.
13650
13651         * process.c (Fprocess_send_region):
13652         Takes an optional fourth argument, BUFFER, which should fix some
13653         problems with call-process.
13654
13655         * syscommctrl.h:
13656         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
13657
13658         * syswindows.h:
13659         Move ICC_BAR_CLASSES to syscommctrl.h.
13660         Add preliminary macros for MSWindows/Mule.  More to come.
13661
13662         * unexnt.c:
13663         * unexnt.c (unexec):
13664         open_output_file moved to nt.c.
13665
13666
13667 2000-05-05  Andy Piper  <andy@xemacs.org>
13668
13669         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
13670         instance from the frame cache also since GC may catch up too late
13671         to make frame deletion sane.
13672
13673 2000-05-04  Andy Piper  <andy@xemacs.org>
13674
13675         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
13676         (x_finalize_image_instance): ungcpro on deletion.
13677
13678         * glyphs.c (image_instantiator_format_create): give pointers a
13679         query geometry method so that the geometry is at least set.
13680
13681         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
13682         initialize layouts if using widgets.
13683
13684 2000-05-03  Andy Piper  <andy@xemacs.org>
13685
13686         * nt.c: remove bogus reference to sysmmsystem.h
13687
13688         * gui-x.c (popup_selection_callback): fix no selection abort.
13689
13690 2000-05-02  Andy Piper  <andy@xemacs.org>
13691
13692         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
13693         (mswindows_widget_instantiate): ditto.
13694
13695         * glyphs-widget.c (initialize_widget_image_instance): initialize
13696         children correctly.
13697         (widget_instantiate): cope with children and items in the same
13698         instance.
13699
13700         * glyphs.c (mark_image_instance): cope with children as a first
13701         class member.
13702         (image_instance_equal): ditto.
13703         (image_instance_hash): ditto.
13704         (image_instance_changed): ditto.
13705
13706 2000-04-30  Andy Piper  <andy@xemacs.org>
13707
13708         * glyphs.c (subwindow_query_geometry): new function. Return some
13709         defaults.
13710         (subwindow_instantiate): don't assign dimensions if none have been
13711         given.
13712         (image_instantiator_format_create): add subwindow_query_geometry.
13713         (print_image_instance): cope with layouts as widgets.
13714
13715 2000-04-29  Andy Piper  <andy@xemacs.org>
13716
13717         * frame.c (delete_frame_internal): call
13718         free_frame_subwindow_instance_cache so that all subwindows are
13719         finalized before their parent.
13720         (mark_frame): remove subwindow_cachels.
13721         (Fmake_frame): remove subwindow_cachel manipulation.
13722         (allocate_frame_core): subwindow_instance_cache is a weak list.
13723         (delete_frame_internal): set subwindow_instance_cache to nil.
13724
13725         * glyphs-msw.c (mswindows_finalize_image_instance): make double
13726         finalization safe.
13727         (mswindows_finalize_image_instance): use the device
13728         not the domain as the domain may have died already.
13729
13730         * glyphs-x.c (x_finalize_image_instance): ditto.
13731         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
13732         HEIGHT.
13733
13734         * redisplay-output.c (redisplay_unmap_subwindows): update for
13735         subwindow instance cache as a weak list.
13736         (redisplay_unmap_subwindows_maybe): ditto.
13737         (redisplay_unmap_subwindows_except_us): ditto.
13738
13739         * glyphs.c (unmap_subwindow): error checking will check the domain
13740         so don't deal with it here. Don't use cachels anymore.
13741         (map_subwindow): ditto.
13742         (update_subwindow_cachel_data): remove old accessor names.
13743         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
13744         (Fresize_subwindow): don't update cachel.
13745         (mark_subwindow_cachels):
13746         (update_subwindow_cachel_data):
13747         (add_subwindow_cachel):
13748         (get_subwindow_cachel_index):
13749         (update_subwindow_cachel):
13750         (reset_subwindow_cachels):
13751         (mark_subwindow_cachels_as_not_updated): deleted.
13752         (cache_subwindow_instance_in_frame_maybe): new function. Add a
13753         subwindow instance to the frame cache.
13754         (find_matching_subwindow): update for subwindow instance cache as
13755         a weak list.
13756         (update_widget_instances): ditto.
13757         (image_instance_type_to_mask):inlined.
13758         (free_frame_subwindow_instance_cache): new function. finalize all
13759         subwindows that are instantiated.
13760
13761         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
13762         of cachel information.
13763         (IMAGE_INSTANCE_DISPLAY_X):
13764         (IMAGE_INSTANCE_DISPLAY_Y):
13765         (IMAGE_INSTANCE_DISPLAY_WIDTH):
13766         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
13767         (XIMAGE_INSTANCE_DISPLAY_X):
13768         (XIMAGE_INSTANCE_DISPLAY_Y):
13769         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
13770         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
13771         remove subwindow_cachel structure and function references.
13772         (image_instance_type_to_mask): inline from glyphs.c
13773
13774         * redisplay.c (redisplay_frame): remove subwindow_cachel
13775         references.
13776
13777         * frame.h (struct frame): remove subwindow_cachels.
13778         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
13779
13780         * frameslots.h: add subwindow_instance_cache.
13781
13782         * window.c (replace_window): check subwindow cache of replacement.
13783         (window_unmap_subwindows_cache_mapper):
13784         (window_unmap_subwindows): new functions. Unmap all subwindows
13785         cached on this window.
13786         (mark_window_as_deleted): unmap all subwindows.
13787
13788 2000-04-27  Andy Piper  <andy@xemacs.org>
13789
13790         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
13791
13792         * glyphs-widget.c (widget_layout): return something.
13793         (layout_layout): return something. Fail if not initialized.
13794         (layout_query_geometry): ditto.
13795         (image_instantiator_native_layout): new function. Initialized the
13796         native layout type.
13797         (widget_instantiate): don't do layout stuff here.
13798
13799         * glyphs.c (instantiate_image_instantiator): reorded calling or
13800         instantiate and post_instantiate with layout in between.
13801         (image_instance_layout): be more selective about deciding whether
13802         the layout has been done or not.
13803
13804         * glyphs.h (struct image_instantiator_methods): return a value
13805         from layout_method.
13806
13807 2000-04-26  Andy Piper  <andy@xemacs.org>
13808
13809         * glyphs.c (allocate_image_instance): make initial width and
13810         height unspecified. Set initialized to 0.
13811
13812         * syscommctrl.h new file. Encapsulates commctrl.h.
13813
13814         * syswindows.h new file. Encapsulates windows.h.
13815
13816         * ntplay.c: use new syswindows.h and syscommctrl.h header.
13817         * nt.c: ditto.
13818         * console-msw.h: ditto.
13819
13820         * redisplay-tty.c (tty_output_display_block): remove layout references.
13821
13822         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
13823         window handle rather than just the frame.
13824
13825         * glyphs.c (mark_image_instance): remove layout references.
13826         (print_image_instance): ditto.
13827         (image_instance_equal): ditto.
13828         (image_instance_hash): ditto.
13829         (decode_image_instance_type): ditto.
13830         (encode_image_instance_type): ditto.
13831         (image_instantiate): ditto.
13832         (allocate_glyph): ditto.
13833         (Fimage_instance_height): ditto.
13834         (Fimage_instance_width): ditto.
13835         (update_subwindow): ditto.
13836
13837         * redisplay-x.c (x_output_display_block): recode for layouts as
13838         widgets.
13839
13840         * redisplay-output.c (redisplay_output_layout): recode for layouts
13841         as widgets.
13842         (compare_runes): remove layout references.
13843
13844         * redisplay-msw.c (mswindows_output_display_block): recode for
13845         layouts as widgets.
13846
13847         * glyphs-widget.c (image_instantiator_layout): remove
13848         layout_possible_dest_types.
13849         (layout_possible_dest_types): deleted.
13850
13851         * glyphs.h (image_instance_type): remove layout references.
13852         (struct Lisp_Image_Instance): ditto. Add initialized flag.
13853         (IMAGE_INSTANCE_INITIALIZED): new accessor.
13854         (XIMAGE_INSTANCE_INITIALIZED): ditto.
13855
13856 2000-04-25  Andy Piper  <andy@xemacs.org>
13857
13858         * glyphs-widget.c (image_instantiator_buttons):
13859         (image_instantiator_edit_fields):
13860         (image_instantiator_combo_box):
13861         (image_instantiator_scrollbar):
13862         (image_instantiator_progress_guage):
13863         (image_instantiator_tree_view):
13864         (image_instantiator_tab_control):
13865         (image_instantiator_labels):
13866         (image_instantiator_layout): call default post_instantiate method.
13867         (widget_post_instantiate): new function. Simply lays out the
13868         widgets.
13869
13870         * glyphs.h (struct image_instantiator_methods): add
13871         post_instantiate method.
13872
13873         * glyphs.c (instantiate_image_instantiator): add post_instantiate
13874         method calls.
13875
13876 2000-04-23  Andy Piper  <andy@xemacs.org>
13877
13878         * glyphs.h (struct image_instantiator_methods): add
13879         decode_domain_method.
13880         (struct Lisp_Image_Instance): remove subwindow frame - it can be
13881         derived from the domain.
13882         (IMAGE_INSTANCE_FRAME): new accessor.
13883         (XIMAGE_INSTANCE_FRAME): ditto.
13884
13885         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
13886         instead of _SUBWINDOW_FRAME.
13887         (finalize_image_instance): ditto.
13888         (Fimage_instance_foreground): ditto.
13889         (Fimage_instance_background): ditto.
13890         (image_instantiate): ditto.
13891         (update_subwindow_cachel): ditto.
13892         (update_subwindow): ditto.
13893         (unmap_subwindow): ditto.
13894         (map_subwindow): ditto
13895         (subwindow_instantiate): ditto.
13896         * glyphs-msw.c (mswindows_update_widget): ditto.
13897         (mswindows_progress_gauge_instantiate): ditto.
13898         (mswindows_tab_control_update): ditto.
13899         * glyphs-x.c (x_update_widget): ditto.
13900         (x_widget_instantiate): ditto.
13901         (x_tab_control_instantiate): ditto.
13902         (x_tab_control_update): ditto.
13903         * event-msw.c (mswindows_wnd_proc): ditto
13904
13905         * glyphs-widget.c (image_instantiator_layout): use
13906         subwindow_decode_domain.
13907         (image_instantiator_buttons): ditto.
13908         (image_instantiator_edit_fields): ditto.
13909         (image_instantiator_combo_box): ditto.
13910         (image_instantiator_scrollbar): ditto.
13911         (image_instantiator_progress_guage): ditto.
13912         (image_instantiator_tree_view): ditto.
13913         (image_instantiator_tab_control): ditto.
13914         (image_instantiator_labels): ditto.
13915         (image_instantiator_layout): ditto.
13916
13917         * glyphs.c: add instance error checking to many functions.
13918         (instantiate_image_instantiator): decode device from cache_domain.
13919         (image_instantiate): partially rewrite by using
13920         decode_image_instantiator_domain to determine what domain the
13921         instance needs to be cached in.
13922         (decode_image_instantiator_domain): new function. Determine what
13923         domain the image needs to be cached in.
13924         (check_window_subwindow_cache): new error checking function.
13925         (check_instance_cache_mapper): ditto.
13926         (check_image_instance_structure): ditto.
13927         (subwindow_decode_domain): new function. Encodes a window as a
13928         subwindow's cache domain.
13929         (image_instantiator_format_create): use it for text and
13930         subwindows.
13931
13932 2000-04-21  Andy Piper  <andy@xemacs.org>
13933
13934         * glyphs.c (image_instance_device): new function.
13935         (image_instance_frame): new function.
13936         (image_instance_window): new function.
13937         (image_instance_live_p): new function.
13938
13939         * window.c (mark_window_as_deleted): reset the subwindow_instance_
13940         cache to nil.
13941
13942         * glyphs.h (struct Lisp_Image_Instance): device->domain.
13943         (IMAGE_INSTANCE_DOMAIN): new accessor.
13944         (XIMAGE_INSTANCE_DOMAIN): ditto.
13945
13946         * glyphs-x.c (x_finalize_image_instance): device->domain.
13947
13948         * glyphs-msw.c (init_image_instance_geometry): device->domain.
13949         (mswindows_finalize_image_instance): ditto.
13950
13951         * glyphs-eimage.c (jpeg_instantiate): device->domain.
13952         (gif_instantiate): ditto.
13953         (png_instantiate): ditto.
13954         (tiff_instantiate): ditto.
13955
13956         * glyphs.c (instantiate_image_instantiator): use domain rather
13957         than device.
13958         (mark_image_instance): device -> domain.
13959         (print_image_instance): ditto.
13960         (finalize_image_instance): ditto.
13961         (image_instance_equal): ditto.
13962         (allocate_image_instance): ditto.
13963         (Fcolorize_image_instance): ditto.
13964         (query_string_geometry): ditto.
13965         (image_instantiate): ditto
13966         (query_string_font): ditto.
13967         (image_instantiate): ditto.
13968         (update_subwindow): ditto.
13969         (unmap_subwindow): ditto.
13970         (map_subwindow): ditto.
13971         (subwindow_instantiate): ditto.
13972
13973         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
13974         (DOMAIN_FRAME): ditto.
13975         (DOMAIN_WINDOW): ditto.
13976         (DOMAIN_LIVE_P): ditto.
13977         (XDOMAIN_DEVICE): ditto.
13978         (XDOMAIN_FRAME): ditto.
13979         (XDOMAIN_WINDOW): ditto.
13980
13981         * specifier.c (Fvalid_specifier_domain_p): add image instances as
13982         a valid specifier domain.
13983
13984 2000-04-19  Andy Piper  <andy@xemacs.org>
13985
13986         * glyphs-widget.c (syms_of_glyphs_widget): remove
13987         widget-callback-current-channel.
13988         (vars_of_glyphs_widget): ditto.
13989         * glyphs.h: ditto
13990
13991         * gui.c (get_gui_callback): revert to previous behaviour.
13992
13993 2000-04-18  Andy Piper  <andy@xemacs.org>
13994
13995         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
13996         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
13997         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
13998
13999         * glyphs.c (image_instance_equal): add margin_width.
14000         (image_instance_hash): ditto.
14001
14002         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14003         (layout_query_geometry): ditto.
14004         (layout_layout): ditto.
14005         (syms_of_glyphs_widget): add margin-width.
14006         (image_instantiator_layout): allow margin-width.
14007
14008         * glyphs.c (update_widget_instances): make a normal function.
14009         (syms_of_glyphs): remove Qupdate_widget_instances.
14010         * glyphs.h: ditto.
14011
14012         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14013         so that we don't corrupt ideas about the last event or
14014         command. Remove widget-callback-current-channel fiddling.
14015         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14016
14017 2000-05-01  Martin Buchholz <martin@xemacs.org>
14018
14019         * XEmacs 21.2.33 is released.
14020
14021 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14022
14023         * make-src-depend: Allow dots in header file name.
14024
14025 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14026
14027         * mule-charset.h (struct charset_lookup): Add
14028         next_allocated_1_byte_leading_byte and
14029         next_allocated_2_byte_leading_byte.
14030         * mule-charset.c: Move above two variables so that those values
14031         will be dumped.
14032
14033 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14034
14035         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14036         when string length is zero.
14037         (find_charsets_in_emchar_string): Ditto.
14038
14039 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14040
14041         * lisp.h: extern Qdialog and Qmenubar.
14042
14043         * gui-x.c: added events.h.
14044                 also fixed typo which made the file uncompilable.
14045
14046         * general.c: Added Qmenubar and Qdialog
14047
14048 2000-04-28  Ben Wing  <ben@xemacs.org>
14049
14050         * frame-msw.c (mswindows_init_frame_1):
14051         * frame-msw.c (mswindows_mark_frame):
14052         * event-msw.c (mswindows_enqueue_dispatch_event):
14053         * console-msw.h:
14054         * console-msw.h (struct mswindows_frame):
14055         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14056         there are now three hash tables for callbacks.
14057         mswindows_enqueue_dispatch_event is no longer static.
14058
14059         * dialog-x.c (maybe_run_dbox_text_callback):
14060         * dialog-x.c (dbox_descriptor_to_widget_value):
14061         switch to new cons3 form for callbacks.
14062
14063         * glyphs-msw.c (mswindows_register_gui_item):
14064         * glyphs-msw.c (mswindows_widget_instantiate):
14065         * glyphs-msw.c (add_tree_item):
14066         * glyphs-msw.c (add_tab_item):
14067         new image instance parameter, so it can be passed to callback-ex.
14068         respect :callback-ex as well as :callback.
14069
14070         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14071         add :callback-ex.
14072
14073         * glyphs.c (print_image_instance):
14074         prettify, e.g. now prints widget type.
14075
14076         * gui-x.h:
14077         certain funs have new image instance parameter.
14078
14079         * gui.c:
14080         * gui.c (get_gui_callback):
14081         * gui.c (gui_item_add_keyval_pair):
14082         * gui.c (gui_item_init):
14083         * gui.c (gui_add_item_keywords_to_plist):
14084         * gui.c (mark_gui_item):
14085         * gui.c (gui_item_hash):
14086         * gui.c (gui_item_equal):
14087         * gui.c (copy_gui_item):
14088         * gui.c (syms_of_gui):
14089         recognize callback-ex in a number of places.
14090         also, fix the annoying "can't get out of yes-no dialog" bug.
14091
14092         * gui.h:
14093         * gui.h (struct Lisp_Gui_Item):
14094         recognize callback-ex in a number of places.
14095
14096         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14097         new parameter in button_item_to_widget_value.
14098
14099         * glyphs-x.c (x_update_widget):
14100         * glyphs-x.c (x_button_instantiate):
14101         * glyphs-x.c (x_button_update):
14102         * glyphs-x.c (x_progress_gauge_instantiate):
14103         * glyphs-x.c (x_edit_field_instantiate):
14104         * glyphs-x.c (x_combo_box_instantiate):
14105         * glyphs-x.c (x_tab_control_instantiate):
14106         * glyphs-x.c (x_label_instantiate):
14107         new image instance parameter in various places.
14108
14109         * event-Xt.c:
14110         * event-Xt.c (enqueue_Xt_dispatch_event):
14111         this fun gets exported.
14112
14113         * gui-msw.c:
14114         * gui-msw.c (mswindows_handle_gui_wm_command):
14115         handle both :callback and :callback-ex, and generate our own
14116         event because it's one of the callback-ex arguments.
14117
14118         * gui-x.c:
14119         * gui-x.c (popup_selection_callback):
14120         handle both :callback and :callback-ex, and generate our own
14121         event because it's one of the callback-ex arguments.
14122         * gui-x.c (button_item_to_widget_value):
14123         * gui-x.c (gui_items_to_widget_values_1):
14124         * gui-x.c (gui_item_children_to_widget_values):
14125         * gui-x.c (gui_items_to_widget_values):
14126         new image instance parameter in various places.
14127
14128         * fns.c (Freplace_list):
14129         fix small typo in doc string.
14130
14131         * lisp.h:
14132         declare enqueue_Xt_dispatch_event.
14133
14134 2000-04-28  Ben Wing  <ben@xemacs.org>
14135
14136         * buffer.c:
14137         * buffer.c (Frecord_buffer):
14138         * buffer.c (syms_of_buffer):
14139         delete record-buffer-hook.
14140
14141         * fns.c:
14142         * fns.c (Freplace_list):
14143         * fns.c (syms_of_fns):
14144         new primitive replace-list.
14145
14146         * frameslots.h:
14147         slot for old buffer-alist.
14148
14149         * lisp.h:
14150         exfun replace-list.
14151
14152         * redisplay.c:
14153         * redisplay.c (redisplay_frame):
14154         * redisplay.c (syms_of_redisplay):
14155         * redisplay.c (vars_of_redisplay):
14156         new hook buffer-list-changed-hook.
14157         call it.
14158
14159 2000-04-27  Ben Wing  <ben@xemacs.org>
14160
14161         * extents.h: extern in_modeline_generation.
14162
14163         * redisplay.c (generate_formatted_string_db): set
14164         in_modeline_generation.
14165
14166         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14167         flags if in modeline generation.  otherwise frame-modified-tick
14168         is ticked far too often.
14169         Declare in_modeline_generation.
14170
14171 2000-04-26  Ben Wing  <ben@xemacs.org>
14172
14173         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14174         option.
14175         (vars_of_emacs): add quick-build as an error-checking option.
14176         A bit kludgy, but there doesn't seem much point in creating
14177         a real var for this.
14178
14179         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14180
14181 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14182
14183         * redisplay.h (struct display_line): Add a new variable,
14184         line_continuation.
14185
14186         * redisplay.c (create_text_block): Set dl->line_continuation if
14187         the line continues.
14188         (create_string_text_block): Ditto.
14189         (regenerate_window_incrementally): Use line_continuation instead
14190         of searching continuation glyph.
14191         (add_margin_runes): Call add_glyph_rune.
14192         (add_glyph_rune): Handle margin glyph.
14193
14194 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14195
14196         * filelock.c (fill_in_lock_file_name):
14197         ANSIfy.
14198         Check for IS_ANY_SEP instead of '/'.
14199         (lock_file_1):
14200         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14201         Never check errno without first seeing that system call failed.
14202         (unlock_file): Add GCPRO.
14203         (Flock_buffer): Fix docstring.
14204         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14205
14206 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14207
14208         * sysdep.c (get_pty_max_bytes):
14209         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14210         strings longer than 252 bytes.
14211
14212         * md5.c: Unconditionally include ANSI header <limits.h>
14213
14214         * glyphs-x.c (convert_EImage_to_XImage):
14215         * lisp-union.h (union Lisp_Object):
14216         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14217
14218 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14219
14220         * filelock.c (current_lock_owner): Remove unused variable o, p.
14221
14222 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14223
14224         * callint.c: Remove multiply defined symbol Qlet
14225         (syms_of_callint): ditto.
14226
14227 2000-04-14  Andy Piper  <andy@xemacs.org>
14228
14229         * general.c (syms_of_general): add last-command, this-command, let
14230         and funcall.
14231
14232         * lisp.h: declare various symbols.
14233
14234         * glyphs.h: declare Qwidget_callback_current_channel;
14235
14236         * glyphs-widget.c (syms_of_glyphs_widget): add
14237         Qgui_callback_current_channel.
14238         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14239
14240         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14241         widget-callback-current-channel when invoking the interactive
14242         arg. Also bind last-command and next-command when invoking the
14243         widget updates.
14244         * gui-x.c (popup_selection_callback): ditto.
14245
14246         * gui.c (get_gui_callback): massage args so that we are always
14247         calling eval. This allows us to add our own variable bindings
14248         outside.
14249
14250         * glyphs-x.c (x_button_instantiate): use
14251         gui_items_to_widget_values since this is GC safe.
14252         (x_progress_gauge_instantiate): ditto.
14253         (x_edit_field_instantiate): ditto.
14254         (x_label_instantiate): ditto.
14255
14256         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14257         (emacs_Xt_event_widget_focus_out): new function
14258         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14259         focus.
14260         (emacs_Xt_event_add_widget_actions): new function. add focus
14261         functions as actions.
14262         (init_event_Xt_late): use it.
14263
14264 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14265
14266         * event-stream.c (Fdispatch_event): Doc fix.
14267
14268 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14269
14270         * postgresql.c: Remove all references to PQsetenv*.
14271
14272         * postgresql.h: Remove references to PGsetenvHandler object.
14273         * lrecord.h (lrecord_type): Ditto.
14274
14275 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14276
14277         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14278         real_heigh and real_width members, and accessor macros for these.
14279
14280         * glyphs-msw.c (init_image_instance_geometry): New function.
14281         (init_image_instance_from_dibitmap): Use it.
14282         (mswindows_resource_instantiate): Use it.
14283         (init_image_instance_from_xbm_inline): Use it.
14284         (mswindows_initialize_image_instance_mask): Use real bitmap
14285         geometry.
14286         (mswindows_create_resized_bitmap): Ditto.
14287         (mswindows_create_resized_mask): Ditto.
14288
14289         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14290         and bitmap to their surface size.
14291
14292 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14293
14294         * process-unix.c (unix_send_process): Guard against process MIA
14295         after Faccept_process_output.
14296
14297 2000-04-11  Ben Wing  <ben@xemacs.org>
14298
14299         * eval.c (unbind_to_hairy): fix brokenness introduced by
14300         nanosecond speed improvements.
14301
14302 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14303
14304         * sunplay.c (init_device): To play sounds correctly, the device
14305         apparently needs to be initialized at least once by XEmacs.  Make
14306         it so.
14307
14308 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14309
14310         * redisplay.c (add_margin_runes): Add text image glyph
14311           handling.
14312
14313 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14314
14315         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14316         gcc is newer than 2.5.
14317
14318 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14319
14320         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14321
14322         * fns.c (size_bit_vector):
14323         * alloc.c (size_vector):
14324         (make_vector_internal):
14325         (make_bit_vector_internal):
14326         (sweep_bit_vectors_1):
14327         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
14328
14329 2000-04-06  Andy Piper  <andy@xemacs.org>
14330
14331         * gmalloc.c (malloc): undo previous change.
14332         (malloc): ditto.
14333         (free): ditto.
14334         (realloc): ditto.
14335
14336 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
14337
14338         * line-number.c (buffer_line_number): Revert to former version.
14339
14340 2000-04-06  Andy Piper  <andy@xemacs.org>
14341
14342         * gmalloc.c (malloc): add error checking.
14343         (malloc): ditto.
14344         (free): ditto.
14345         (realloc): ditto.
14346
14347         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
14348         button_item_to_widget_value arg.
14349
14350         * glyphs-x.c (x_button_instantiate): add extra
14351         button_item_to_widget_value arg.
14352         (x_progress_gauge_instantiate): ditto.
14353         (x_edit_field_instantiate): ditto.
14354         (x_label_instantiate): ditto.
14355
14356         * gui-x.c (gui_items_to_widget_values_1): add extra
14357         button_item_to_widget_value arg.
14358         (button_item_to_widget_value): add extra menu_item_p arg.
14359
14360         * gui-x.h: change signature of button_item_to_widget_value.
14361
14362         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
14363         button_item_to_widget_value arg.
14364
14365 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
14366
14367         * buffer.h (struct buffer): auto_save_modified should be long.
14368
14369 2000-04-05  Andy Piper  <andy@xemacs.org>
14370
14371         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
14372         type.
14373         (button_query_geometry): give a little more room so that athena
14374         buttons fit.
14375
14376 2000-04-05  Andy Piper  <andy@xemacs.org>
14377
14378         * faces.c (complex_vars_of_faces): The widget face should inherit
14379         the font of the gui-element face.
14380
14381 2000-04-04  Andy Piper  <andy@xemacs.org>
14382
14383         * glyphs-x.c (x_button_update): new function. unconditionally
14384         update a button's state when the instance is dirty.
14385         (image_instantiator_format_create_glyphs_x): add x_button_update.
14386         (x_widget_instantiate): remove old resize cruft.
14387
14388 2000-04-02  Andy Piper  <andy@xemacs.org>
14389
14390         * frame.c (change_frame_size_1): The introduction of gutters means
14391         that we need to allow 0 as a potential frame dimension.
14392
14393 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14394
14395         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
14396         image glyph if allow_cursor.
14397         (add_hscroll_rune): Don't allow cursor to border glyph.
14398         (create_text_block): Ditto.
14399
14400         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
14401         text not in buffer.
14402         (redisplay_output_layout): Call ensure_face_cachel_complete for
14403         text image glyph.
14404
14405
14406 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14407
14408         * redisplay.c (add_glyph_rune): Adding text image as text runes.
14409
14410         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
14411         not in buffer
14412
14413         * redisplay-tty.c (tty_output_display_block): Delete the routine
14414         for text image glyph
14415         * redisplay-x.c (x_output_display_block): ditto
14416         * redisplay-msw.c (mswindows_output_display_block): ditto
14417
14418 2000-02-02  Mike Alexander  <mta@arbortext.com>
14419
14420         Note: Some of these were committed by accident as part of other
14421         patches.
14422
14423         * regex.c (regex_compile): Avoid compiler warnings.
14424
14425         * ntproc.c (sys_spawnve): Avoid compiler warnings.
14426
14427         * nt.h: Declare term_ntproc correctly.
14428
14429         * nt.c: Remove incorrect declaration of get_home_directory which
14430         is declared correctly in lisp.h.
14431
14432         * keymap.c (get_keyelt): Avoid compiler warnings.
14433         (raw_lookup_key_mapper): Avoid compiler warnings.
14434
14435         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
14436
14437         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
14438
14439         * filemode.c (mode_string): Avoid compiler warnings.
14440
14441         * file-coding.c (Fcoding_system_aliasee): Add return statement to
14442         avoid warning.
14443
14444         * events-mod.h: Undef some things that winuser.h defines differently.
14445
14446         * data.c (Faset): Avoid compiler warnings.
14447
14448         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
14449
14450 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14451
14452         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
14453         Fall through to simple beep on error.
14454         Replace "extern" by real header file.
14455
14456         * linuxplay.c: Use nativesound.h
14457         (play_sound_data): Return error code. Be less verbose on error.
14458
14459         * sunplay.c: Use nativesound.h
14460         (play_sound_data): Return error code. Be less verbose on error.
14461
14462         * ntplay.c: Use nativesound.h
14463         (play_sound_data): Return fake error code
14464
14465         * sgiplay.c: Use nativesound.h
14466         (play_sound_data): Return error code
14467
14468         * hpplay.c: Use nativesound.h, partially implement
14469         new error code. Break compilation until finished.
14470         (play_sound_data): error code.
14471
14472         * nativesound.h (play_sound_file):
14473           (play_sound_data): Prototype in new header.
14474
14475 2000-03-31  Andy Piper  <andy@xemacs.org>
14476
14477         * glyphs-widget.c: (button_query_geometry): new function. Adjust
14478         for toggle and radio buttons.
14479         (image_instantiator_buttons): use it.
14480
14481 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14482
14483         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
14484         (x_update_horizontal_scrollbar_callback): Return if no mirror was
14485         found. Scrollbar event probably belonged to some old config.
14486
14487 2000-03-31  Andy Piper  <andy@xemacs.org>
14488
14489         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
14490         than 1.
14491         (initialize_widget_image_instance): default layout to
14492         LAYOUT_HORIZONTAL rather than 0.
14493         (widget_instantiate): reverse the item list at the end rather than
14494         every iteration.
14495         (layout_layout): re-code for the border text at the front of the
14496         item list rather than at the end.
14497         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
14498         provided by the user.
14499         (widget_query_geometry): comment.
14500
14501 2000-03-30  Andy Piper  <andy@xemacs.org>
14502
14503         * glyphs-widget.c (image_instantiator_layout): allow standard
14504         widget keywords in layouts.
14505
14506         * gutter.c (output_gutter): cope with nil gutter contents.
14507
14508         * frame.c (Fset_frame_properties): add gutter docs.
14509
14510 2000-03-29  Andy Piper  <andy@xemacs.org>
14511
14512         * toolbar-msw.c (TBSTYLE_FLAT): add.
14513         (mswindows_output_toolbar): minor fiddling.
14514
14515 2000-03-29  Andy Piper  <andy@xemacs.org>
14516
14517         * gutter.c (output_gutter): force gutter size recalculation if
14518         what we are trying to display won't fit.
14519         (update_gutter_geometry): new function. A per-gutter version of
14520         update_frame_gutter_geometry.
14521         (update_frame_gutter_geometry): use it.
14522         (redraw_exposed_gutter): add extra debugging output.
14523
14524 2000-03-28  Mike Alexander  <mta@arbortext.com>
14525
14526         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
14527         (pdump_file_unmap): Implement it on Windows
14528         (pdump_file_get): Save alocated handles for pdump_file_unmap
14529
14530 2000-03-28  Andy Piper  <andy@xemacs.org>
14531
14532         * gui.c (get_gui_callback): treat Quit specially.
14533
14534 2000-03-27  Andy Piper  <andy@xemacs.org>
14535
14536         * glyphs.c (image_instantiate): be careful to check in the same
14537         way we assigned.
14538
14539 2000-03-27  Didier Verna  <didier@xemacs.org>
14540
14541         * config.h.in: define the proper SMART_INCLUDE macro.
14542         handle renaming of `foo_h_path' to `foo_h_file'.
14543
14544         * database.c: ditto.
14545
14546         * emacs.c: ditto.
14547
14548         * linuxplay.c: ditto.
14549
14550         * terminfo.c: ditto.
14551
14552         * tooltalk.h: ditto.
14553
14554 2000-03-27  Andy Piper  <andy@xemacs.org>
14555
14556         * glyphs-msw.c (mswindows_update_widget): make sure the widget
14557         gets updated whenever the face might have changed.
14558
14559 2000-03-26  Mike Alexander  <mta@arbortext.com>
14560
14561         * dumper.c (pdump_resource_free): Fix the comment.
14562
14563 2000-03-21  Olivier Galibert  <galibert@pobox.com>
14564
14565         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
14566
14567 2000-03-22  Mike Alexander  <mta@arbortext.com>
14568
14569         * dumper.c: Include Windows headers on Windows
14570         (pdump_resource_free): Add a body to the function
14571         (pdump_load): exe_name -> exe_path and add some comments.
14572
14573 2000-03-25  Mike Alexander  <mta@arbortext.com>
14574
14575         * gui.c (copy_gui_item_tree): Return a value in all cases
14576
14577 2000-03-21  Didier Verna  <didier@xemacs.org>
14578
14579         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
14580         lwlib/config.h.in.
14581         (SMART_INCLUDE): new macro.
14582         (POSTGRES_INCLUDE): new macro to include postgresql headers from
14583         the proper location.
14584
14585         * postgresql.c: use it.
14586
14587         * inline.c: ditto.
14588
14589 2000-03-24  Andy Piper  <andy@xemacs.org>
14590
14591         * gutter.c (redraw_exposed_gutters): must be "in display" when we
14592         do this.
14593
14594 2000-03-24  Andy Piper  <andy@xemacs.org>
14595
14596         * redisplay-output.c (compare_runes): use image_instance_changed
14597         to detect changes. Do not depend on glyphs_changed, only depend on
14598         dirtiness.
14599          (redisplay_output_layout): add debug messages.
14600         (compare_runes): ditto.
14601
14602         * glyphs.h: declare new functions.
14603         (struct Lisp_Image_Instance): remove percent and associated
14604         accessors.
14605
14606         * gui.h: declare new copying functions.
14607
14608         * gui.c (copy_gui_item_tree): new function.
14609         (copy_gui_item): new function.
14610         (gui_item_id_hash): revert to standard hash.
14611         (gui_item_hash): ditto.
14612         (gui_item_hash_internal): deleted.
14613         (mark_gui_item): mark value.
14614         (gui_item_add_keyval_pair): add value.
14615         (gui_item_init): ditto.
14616         (gui_add_item_keywords_to_plist): ditto.
14617         (gui_item_equal): ditto.
14618         (syms_of_gui): add Q_value.
14619
14620         * glyphs-x.c (x_progress_gauge_update): use pending items and
14621         value for setting the state.
14622         (x_update_widget): don't set items from pending here.
14623
14624         * glyphs-widget.c (update_widget): update items here.
14625         (progress_gauge_set_property): use items for storing value. Put
14626         new value in pending items.
14627
14628         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
14629         items for new value. Convert percent -> value.
14630         (mswindows_tab_control_update): don't update items here.
14631
14632         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
14633         (update_subwindow): ditto.
14634         (image_instance_changed): new function. Compare hash values and
14635         past and present widget items.
14636         (image_instantiate): We more careful about where we instantiate
14637         things.
14638         (image_instantiate): add error checking.
14639
14640         * gutter.c (syms_of_gutter): use -hook.
14641
14642 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
14643
14644         * console-tty.c (Fset_console_tty_input_coding_system): Use
14645         Qkeyboard.
14646         (Fset_console_tty_output_coding_system): Use Qterminal.
14647         (tty_init_console): Use Qkeyboard and Qterminal.
14648
14649 2000-03-21  Ben Wing  <ben@xemacs.org>
14650
14651         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
14652         From Mike Alexander <mta@arbortext.com>.
14653
14654 2000-03-21  Ben Wing  <ben@xemacs.org>
14655
14656         * event-msw.c (mswindows_need_event): Horrible kludge to fix
14657         process brokenness.  Proper implementation to come.
14658         * callproc.c:
14659         Rename call-process-internal to old-call-process-internal.
14660         New impl. in process.el.
14661
14662 2000-03-21  Martin Buchholz  <martin@xemacs.org>
14663
14664         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
14665
14666 2000-03-20  Andy Piper  <andy@xemacs.org>
14667
14668         * glyphs.c (full_list_hash): make hashes of the same elements in
14669         different orders return different values.
14670
14671 2000-03-20  Martin Buchholz <martin@xemacs.org>
14672
14673         * XEmacs 21.2.32 is released.
14674
14675 2000-03-20  Martin Buchholz  <martin@xemacs.org>
14676
14677         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
14678         (DFC_MALLOC_USE_CONVERTED_DATA):
14679         Add aliasing-safe casts to allow use with char* or unsigned char*
14680         lvalues.
14681
14682         * eldap.c (Fldap_open):
14683         (Fldap_search_basic):
14684         (Fldap_add):
14685         (Fldap_modify):
14686         Make C++-compilable.
14687         Make sure GCPRO'ed variables are initialized.
14688         Use temp variables to avoid repeated calls to Flength.
14689
14690 2000-03-16  Martin Buchholz  <martin@xemacs.org>
14691
14692         * sysfile.h:
14693         Make sure PATH_MAX is always defined.
14694         Include limits.h for PATH_MAX.
14695         Deprecate use of MAXPATHLEN.
14696
14697 2000-03-10  Martin Buchholz  <martin@xemacs.org>
14698
14699         * emacs.c: Add reinit_vars_of_fileio.
14700         * symsinit.h: Add reinit_vars_of_fileio.
14701         * fileio.c (reinit_vars_of_fileio): New.
14702         * fileio.c (Fmake_temp_name):
14703         Initialize temp_name random number from microseconds to make
14704         collisions even less likely.  Initialize always at process startup
14705         time.  (make-temp-name) used to return the same file name twice in
14706         a row when PDUMP.
14707         Random stylistic fiddling.
14708         Comment fixes.
14709
14710 2000-03-20  Andy Piper  <andy@xemacs.org>
14711
14712         * glyphs.c (image_instantiate): allow text glyphs to be
14713         instantiated in the minibuffer window.
14714
14715 2000-03-19  Andy Piper  <andy@xemacs.org>
14716
14717         * glyphs.c (image_instance_hash): be careful about which items we
14718         hash on.
14719
14720         * glyphs-widget.c (tab_control_set_property): record into pending
14721         items rather than the actual items.
14722
14723         * glyphs-x.c (x_update_widget): use pending items to update with.
14724
14725         * glyphs-msw.c (mswindows_tab_control_update): use pending items
14726         to update with.
14727
14728         * glyphs.c (mark_image_instance): mark pending items.
14729
14730         * window.c (Fset_window_configuration): record the buffer.
14731         (Fselect_window): totally revert previous change which breaks many
14732         things.
14733
14734 2000-03-18  Andy Piper  <andy@xemacs.org>
14735
14736         * glyphs-msw.c (mswindows_tab_control_update): force selected
14737         item.
14738
14739         * glyphs.c (image_instantiate): don't allow the minibuffer as a
14740         window domain cache, otherwise we get inconsistencies at
14741         startup. There is something fishy at startup which can lead to the
14742         minibuffer being the selected window when the gutter content is
14743         instantiated.
14744
14745         * gui.c (parse_gui_item_tree_list): add probably unnecessary
14746         gcpros.
14747         (parse_gui_item_tree_children): ditto.
14748         (parse_gui_item_tree_item): ditto.
14749
14750         * glyphs.c (Fupdate_widget_instances): return something.
14751
14752 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
14753
14754         * window.c (Fselect_window): Undo 2000-03-17 change.
14755
14756 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
14757
14758         * postgresql.c (Fpq_setenv): Remove this turkey when linking
14759         against v7.0 libraries.  Insta-coredump city until the postgres
14760         folks fix it.
14761
14762 2000-03-17  Andy Piper  <andy@xemacs.org>
14763
14764         * faces.c (complex_vars_of_faces): don't give the widget face an
14765         inherited background pixmap.
14766
14767         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
14768         selected item.
14769
14770         * event-stream.c (Fdispatch_non_command_events): return something.
14771
14772         * gutter.c (output_gutter): use widget face.
14773         (clear_gutter): ditto.
14774
14775         * NEWS: adjust again.
14776
14777         * window.c (Fselect_window): make sure this runs to completion to
14778         avoid oddities with Fset_window_configuration.
14779         (Fcurrent_window_configuration): in general do not save the
14780         minibuffer as the selected window.
14781
14782         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
14783
14784 2000-03-16  Olivier Galibert  <galibert@pobox.com>
14785
14786         * emacs.c (Frunning_temacs_p): Revert previous patch.
14787         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
14788
14789 2000-03-16  Andy Piper  <andy@xemacs.org>
14790
14791         * glyphs-x.c (x_tab_control_update): if no widget values then
14792         return.
14793
14794         * NEWS: update for new features.
14795
14796         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
14797         synthetic event to the native system.
14798         (reinit_vars_of_event_Xt): set force_event_pending to
14799         emacs_Xt_force_event_pending.
14800
14801         * events.h (struct event_stream): add force_event_pending.
14802
14803         * specifier.c (recompute_one_cached_specifier_in_window): add
14804         comment.
14805
14806         * redisplay.c (redisplay_frame): don't call
14807         update_frame_subwindows. Reset subwindow cachels when
14808         subwindows_changed, removing this was an optimization too far.
14809
14810         * redisplay-output.c (compare_runes): reorganize so that we catch
14811         glyph changes when we want them. Set optimize_output when this
14812         would help layouts.
14813         (redisplay_output_layout): remove frame_really_changed, use
14814         optimize_output instead.
14815
14816         * redisplay-msw.c (mswindows_output_display_block): reset
14817         optimize_output after outputting a glyph.
14818         * redisplay-x.c (x_output_display_block): ditto.
14819         * redisplay-tty.c (tty_output_display_block): ditto.
14820
14821         * gutter.c: (specifier_vars_of_gutter): use new spec changed
14822         functions.
14823         (gutter_specs_changed): do specific gutter positions.
14824         (top_gutter_specs_changed): new function. Only update the
14825         specified gutter specs.
14826         (bottom_gutter_specs_changed): ditto.
14827         (left_gutter_specs_changed): ditto.
14828         (right_gutter_specs_changed): ditto.
14829
14830         * gui.c (gui_item_hash_internal): new function, does a real hash.
14831         (gui_item_id_hash): use it.
14832         (gui_item_hash): hash the eval'ed gui_item.
14833
14834         * gui-x.c (popup_selection_callback): send an eval event to call
14835         Fupdate_widget_instances.
14836
14837         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
14838         to call Fupdate_widget_instances.
14839
14840         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
14841         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
14842
14843         * glyphs.c: (update_frame_subwindows): deleted.
14844         (Fupdate_widget_instances): new function for updating the dirty
14845         state of widgets that might have changed.
14846         (syms_of_glyphs): add Qupdate_widget_instances.
14847         (full_list_hash): hash a list completely.
14848         (image_instance_hash): use it for items and properties.
14849
14850         * frame-msw.c (mswindows_size_frame_internal): remove unused
14851         variable.
14852
14853         * faces.h (struct face_cachel): fix comment.
14854
14855         * event-stream.c (Fdispatch_non_command_events): new
14856         function. Process non-command events, forcing an event cycle
14857         beforehand.
14858         (syms_of_event_stream): declare.
14859         (event_stream_force_event_pending): new function. Force an event
14860         on the native event queue so that an event cycle will occur next
14861         time we check.
14862
14863         * event-msw.c:
14864         (struct ntpipe_shove_stream):
14865         (mswindows_enqueue_dispatch_event):
14866         (mswindows_dequeue_dispatch_event):
14867         (mswindows_cancel_dispatch_event):
14868         (mswindows_pump_outstanding_events):
14869         (mswindows_drain_windows_queue):
14870         (mswindows_handle_paint):
14871         (mswindows_wnd_proc):
14872         (mswindows_key_to_emacs_keysym):
14873         (get_process_input_waitable):
14874         (emacs_mswindows_delete_stream_pair): re-indent file.
14875         (mswindows_need_event): do not process further fds if the windows
14876         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
14877         fixes the 100% cpu problem.
14878         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
14879
14880 2000-03-15  Olivier Galibert  <galibert@pobox.com>
14881
14882         * alloc.h: New.
14883         * dumper.h: New.
14884         * dumper.c: New.
14885
14886         * emacs.c: Moved dump file searching to dumper.c.
14887         (Frunning_temacs_p): Fixed.
14888
14889         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
14890         last_lrecord_type_index_assigned.
14891
14892 2000-02-20  Olivier Galibert  <galibert@pobox.com>
14893
14894         * symsinit.h: Added reinit parameter to init_console_stream
14895         declaration.
14896
14897         * lisp.h: Added file parameter to pdump_load declaration.
14898
14899         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
14900         support.  Added dump file searching.
14901
14902         * config.h.in: Added EMACS_PROGNAME.
14903
14904         * console-stream.c (init_console_stream): Fix reinitialisation
14905         when running from temacs.
14906
14907         * alloc.c (pdump): Add id support.
14908         (pdump_load): Add file parameter and signature/id support.
14909
14910         * Makefile.in.in: Add full pdump support.
14911
14912 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
14913
14914         * postgresql.c: Update documentation to reflect latest code
14915         status.
14916         (print_result): Show tuple counts in printed representation when
14917         appropriate.
14918         (Fpq_put_nbytes): MULE-ize.
14919         (Fpq_get_line_async): Ditto.
14920
14921 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14922
14923         * postgresql.c (Fpq_lo_import): Fix return value.
14924         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
14925
14926 2000-03-13  Ben Wing  <ben@xemacs.org>
14927
14928         * alloc.c (pdump_load):
14929         Fix compile warning under mswin.
14930
14931 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14932
14933         * postgresql.c: Mule-ization, bug fixes.
14934         Use PG_CODING to encapsulate coding system name changes.
14935         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
14936         (pg-coding-system): Create.
14937
14938         (Fpq_conn_defaults): Mule-ize.
14939         (Fpq_connectdb): Mule-ize & bug fix.
14940         (Fpq_connect_start): Mule-ize.
14941         (Fpq_set_client_encoding): Mule-ize.
14942         (Fpq_finish): Document `DEAD' connection status.
14943         (Fpq_clear): Ditto.
14944         (Fpq_pgconn): Mule-ize.
14945         (Fpq_exec): Mule-ize & bug fix.
14946         (Fpq_send_query): Ditto.
14947         (Fpq_get_result): Ditto.
14948         (Fpq_res_status): Mule-ize.
14949         (Fpq_result_error_message): Mule-ize.
14950         (Fpq_ntuples): fix comments.
14951         (Fpq_fname): Mule-ize.
14952         (Fpq_fnumber): Mule-ize.
14953         (Fpq_ftype): fix comments.
14954         (Fpq_get_value): Mule-ize.
14955         (Fpq_cmd_status): Ditto.
14956         (Fpq_cmd_tuples): Ditto.
14957         (Fpq_oid_value): Ditto.
14958         (Fpq_notifies): Ditto.
14959         (Fpq_lo_import): Ditto.
14960         (Fpq_lo_export): Ditto.
14961         (Fpq_get_line): Ditto.
14962         (Fpq_put_line): Mule-ize and bug fix.
14963         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
14964
14965 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14966
14967         * postgresql.c (vars_of_postgresql): Mule-ize.
14968         (Fpq_conn_defaults): Ditto.
14969
14970 2000-03-12  Ben Wing  <ben@xemacs.org>
14971
14972         * alloc.c (Fmake_byte_code):
14973         * alloc.c (debug_string_purity_print):
14974         * alloc.c (pdump_backtrace):
14975         * alloc.c (pdump_get_indirect_count):
14976         * alloc.c (pdump_register_sub):
14977         * alloc.c (pdump_register_object):
14978         * alloc.c (pdump_register_struct):
14979         * alloc.c (pdump_dump_data):
14980         * alloc.c (pdump_reloc_one):
14981         Minor cleanups.
14982
14983         * console-msw.c:
14984         * console-msw.c (GetConsoleHwnd):
14985         * console-msw.c (msw_hide_console):
14986         * console-msw.c (msw_show_console):
14987         * console-msw.c (msw_ensure_console_buffered):
14988         * console-msw.c (msw_output_console_string):
14989         * console-msw.c (console_type_create_mswindows):
14990
14991         a) Added functions to manipulate the console window for use with
14992         shell support.
14993
14994         b) Added support for writing text to the console, which is now
14995         used under Windows when xemacs is not being run non-interactively,
14996         to write text that would otherwise be destined for stdout because
14997         under these circumstances, text written to stdout tends to
14998         disappear and not be seen.
14999
15000         * console-msw.h:
15001         * event-Xt.c:
15002         * event-Xt.c (x_event_to_emacs_event):
15003         * event-Xt.c (describe_event_window):
15004         * events-mod.h (XEMACS_MOD_CONTROL):
15005         * events.c:
15006         * events.c (Fmake_event):
15007         * events.c (character_to_event):
15008         * events.c (event_to_character):
15009         * events.c (format_event_object):
15010         * events.c (Fevent_modifiers):
15011         * events.h:
15012         * events.h (struct key_data):
15013         * events.h (struct button_data):
15014         * events.h (struct misc_user_data):
15015         * frame-x.c (Fcde_start_drag_internal):
15016         * frame-x.c (Foffix_start_drag_internal):
15017         * gpmevent.c (Freceive_gpm_event):
15018         * keymap.c:
15019         * keymap.c (bucky_sym_to_bucky_bit):
15020         * keymap.c (control_meta_superify):
15021         * keymap.c (make_key_description):
15022         * keymap.c (keymap_lookup_directly):
15023         * keymap.c (create_bucky_submap):
15024         * keymap.c (keymap_store):
15025         * keymap.c (define_key_check_and_coerce_keysym):
15026         * keymap.c (define_key_parser):
15027         * keymap.c (define_key_alternate_name):
15028         * keymap.c (Fdefine_key):
15029         * keymap.c (raw_lookup_key_mapper):
15030         * keymap.c (struct map_keymap_unsorted_closure):
15031         * keymap.c (map_keymap_unsorted_mapper):
15032         * keymap.c (map_keymap_sort_predicate):
15033         * keymap.c (map_keymap_sorted):
15034         * keymap.c (accessible_keymaps_mapper_1):
15035         * keymap.c (where_is_recursive_mapper):
15036         * keymap.c (describe_map_mapper):
15037         * keymap.c (describe_map_sort_predicate):
15038         * keymap.c (describe_map):
15039         * keymap.c (complex_vars_of_keymap):
15040         And a number of other files, the key modifier preprocessor
15041         constants that xemacs uses have names that conflict with constants
15042         defined under MS Windows for other purposes, so they were renamed
15043         to begin with the prefix XEMACS_. The variables that hold such
15044         modifiers were changed to consistently be of type int to fix
15045         various compile warnings.
15046
15047         * console.c (complex_vars_of_console):
15048         * device.c:
15049         * device-msw.c:
15050         * device-msw.c (mswindows_finish_init_device):
15051         * device-msw.c (msw_get_workspace_coords):
15052         * device-msw.c (mswindows_device_system_metrics):
15053         and various other files, added support for a new
15054         device property called offset-workspace which returns the position
15055         of the upper left corner of the workspace area and goes along with
15056         the existing size-workspace property.
15057
15058         * dialog-msw.c:
15059         * dialog-msw.c (push_bufbyte_string_as_unicode):
15060         * dialog-msw.c (mswindows_popup_dialog_box):
15061         Added support for XEmacs-style accelerator specifications in
15062         button text.  Note: I didn't add support for this under X Windows,
15063         and somebody needs to do this.
15064
15065         * dialog.c:
15066         * dialog.c (Fpopup_dialog_box):
15067         Documented the support for accelerators that was just mentioned.
15068
15069         editfns.c (get_home_directory): Changed behavior under Windows
15070         when HOME not defined; former behavior was irretrievably broken.
15071
15072         * emacs.c:
15073         * emacs.c (main_1):
15074         * emacs.c (main):
15075         * minibuf.c (clear_echo_area_internal):
15076         * minibuf.c (echo_area_append):
15077         * print.c:
15078         * print.c (std_handle_out_external):
15079         * print.c (std_handle_out_va):
15080         * print.c (fatal):
15081         * print.c (write_string_to_stdio_stream):
15082         * print.c (output_string):
15083         * print.c (debug_print):
15084         * print.c (debug_backtrace):
15085         * print.c (debug_short_backtrace):
15086         Cleaned up the code that prints text to stdout so that this can be
15087         changed to output into a console window instead under MS Windows,
15088         as described above.
15089
15090         * eval.c:
15091         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15092         * eval.c (internal_catch):
15093         * eval.c (unwind_to_catch):
15094         * eval.c (throw_or_bomb_out):
15095         * eval.c (condition_case_1):
15096         * eval.c (signal_1):
15097         * eval.c (check_error_state_sanity):
15098         * eval.c (call_with_suspended_errors_1):
15099         * eval.c (call_with_suspended_errors):
15100         * eval.c (reinit_vars_of_eval):
15101         Added code to catch throw loops and check for a pesky bug that may
15102         be gone now.
15103
15104         * event-msw.c:
15105         * event-msw.c (key_needs_default_processing_p):
15106         * event-msw.c (mswindows_wnd_proc):
15107         * event-msw.c (mswindows_modifier_state):
15108         * event-msw.c (emacs_mswindows_quit_p):
15109         * event-msw.c (vars_of_event_mswindows):
15110         a) Added support for using the alt key to select menu items as is
15111         standard under MS Windows.  This is controlled using the variable
15112         menu-accelerator-enabled, just like under X Windows.  There is an
15113         option on the options menu to turn this support on.  I really
15114         think that it should be on by default under Windows, but I'm not
15115         going to make this change yet.
15116
15117         b)  Added support for dynamic display size changes under Windows.
15118
15119         * event-stream.c:
15120         * event-stream.c (maybe_echo_keys):
15121         * event-stream.c (Fnext_event):
15122         * event-stream.c (command_builder_find_leaf):
15123         * event-stream.c (lookup_command_event):
15124         * event-stream.c (execute_command_event):
15125         * event-stream.c (pre_command_hook):
15126         * event-stream.c (post_command_hook):
15127         * event-stream.c (syms_of_event_stream):
15128         * event-stream.c (vars_of_event_stream):
15129         * event-stream.c (complex_vars_of_event_stream):
15130         * events.h (struct command_builder):
15131
15132         a) Tried to clean up a little bit the horribly written x-specific
15133         accelerator code that crept into this file.  I moved this code
15134         into menubar-x.c where it belongs. I also needed to move the
15135         command builder structure into the file events.h because it is
15136         accessed directly by this accelerator code.  What I didn't do, but
15137         which should be done at some point, is to properly abstract this
15138         code using device methods instead of the kludgy way that it
15139         currently hooks into the event code.
15140
15141         b) Added the lisp variables this-command-properties and
15142         last-command- properties, which should be used to synchronize two
15143         adjacent commands in preference to playing games with the variable
15144         this-command, which is typically what happens.
15145
15146         c) Added some slightly nasty code to hook into the lisp support
15147         for shifted- motion-key selection.  This is actually necessary for
15148         somewhat complicated reasons, which are described in
15149         simple.el. (NB: I think the proper thing would be to have the code
15150         that calls the pre and post command hooks also call out to generic
15151         lisp functions in simple.el, where all built-in stuff could be
15152         added.  I will think about this more.)
15153
15154         * event-unixoid.c (poll_fds_for_input):
15155         * lread.c (readchar):
15156         * redisplay-tty.c (tty_clear_frame):
15157         * redisplay-x.c (x_get_gc):
15158         * signal.c (interrupt_signal):
15159         And a whole bunch of other files: fixed up places that printed
15160         directly to stderr to instead call the function stderr_out so that
15161         the changes I made under Windows work correctly.
15162
15163         * filemode.c (mode_string):
15164         Warning fixes.
15165
15166         * frame-msw.c:
15167         * frame-msw.c (mswindows_size_frame_internal):
15168         Fixed the computation of frame size and position to keep the frame
15169         within the workspace area, rather than within the physical
15170         dimensions of the screen, so that the frame doesn't overlap window
15171         manager decorations, such as the start menu and toolbar, typically
15172         at the bottom of the screen.
15173
15174         * frame.c (vars_of_frame):
15175         Changed the default frame title format under MS Windows to consist
15176         of buffername-XEmacs, which is standard under MS Windows.  I think
15177         it might be a good idea to change this everywhere because I think
15178         it is superior to the current frame title format, but this is the
15179         kind of change that is likely to cause some people to get annoyed,
15180         so I'm not making it.
15181
15182         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15183
15184         * gui-msw.c (mswindows_handle_gui_wm_command):
15185         Fixed compile warnings.
15186
15187         * gui-x.c:
15188         * gui-x.c (strdup_and_add_accel):
15189         * gui-x.c (button_item_to_widget_value):
15190         * gui-x.h:
15191         Added code to automatically put an accelerator onto the beginning
15192         of menu items that don't have one as is now the standard, and is
15193         described more later.  Also fixed things so that the menu item
15194         name can be an evaluated expression, again a new standard.
15195
15196         * gui.c:
15197         * gui.c (gui_item_add_keyval_pair):
15198         * gui.c (make_gui_item_from_keywords_internal):
15199         * gui.c (gui_add_item_keywords_to_plist):
15200         * gui.c (gui_item_accelerator):
15201         * gui.c (gui_name_accelerator):
15202         * gui.c (gui_item_included_p):
15203         * gui.c (gui_item_display_flush_left):
15204         * gui.c (gui_item_display_flush_right):
15205         * gui.c (parse_gui_item_tree_item):
15206         * gui.c (parse_gui_item_tree_children):
15207         * gui.c (parse_gui_item_tree_list):
15208         Mule-ized.  Cleanup.  GCPRO addition.
15209
15210         * line-number.c (buffer_line_number):
15211         * lisp.h:
15212         * lisp.h (EMACS_INT_MAX):
15213         Added the manifest constant EMACS_INT_MIN corresponding to the
15214         existing constant EMACS_INT_MAX.  This is partially to fix compile
15215         warnings under Windows, and partly for cleanliness.
15216
15217         * menubar-msw.c:
15218         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15219         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15220         * menubar-msw.c (displayable_menu_item):
15221         * menubar-msw.c (populate_menu_add_item):
15222         * menubar-msw.c (populate_or_checksum_helper):
15223         * menubar-msw.c (populate_menu):
15224         * menubar-msw.c (update_frame_menubar_maybe):
15225         * menubar-msw.c (prune_menubar):
15226         * menubar-msw.c (msw_char_is_accelerator):
15227         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15228         * menubar-msw.c (mswindows_handle_wm_command):
15229         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15230         * menubar-msw.c (mswindows_handle_wm_initmenu):
15231         * menubar-msw.c (mswindows_update_frame_menubars):
15232         * menubar-msw.c (mswindows_free_frame_menubars):
15233         * menubar-msw.c (mswindows_popup_menu):
15234         Fixed a bug in handling accelerators where an extra character
15235         would be displayed in the menu item.  Also generalized the
15236         function displayable_menu_item because it is now used by the
15237         dialog box code as well.  And finally, added code in the functions
15238         that create the menubar to extract a list of accelerators for the
15239         top level menubar, which is used in the event code to determine
15240         whether a particular alt-key combination should be used to invoke
15241         a menu item, or should be passed through to access the standard
15242         XEmacs keymap binding for this key combination.
15243
15244         Much needed GCPROing.
15245
15246         * menubar-x.c:
15247         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15248         * menubar-x.c (menu_item_descriptor_to_widget_value):
15249         * menubar-x.c (restore_in_menu_callback):
15250         * menubar-x.c (x_popup_menu):
15251         * menubar-x.c (menu_move_up):
15252         * menubar-x.c (menu_move_down):
15253         * menubar-x.c (menu_move_left):
15254         * menubar-x.c (menu_move_right):
15255         * menubar-x.c (menu_select_item):
15256         * menubar-x.c (command_builder_operate_menu_accelerator):
15257         * menubar-x.c (menu_accelerator_junk_on_error):
15258         * menubar-x.c (command_builder_find_menu_accelerator):
15259         * menubar-x.c (Faccelerate_menu):
15260         * menubar.h:
15261         Moved a whole bunch of code here that was previously in
15262         event-stream.c as described above.  There is also code connected
15263         to the new standard of adding an accelerator to the beginning of
15264         menu items that don't have one as described above and below.
15265
15266         * menubar.c:
15267         * menubar.c (menu_parse_submenu_keywords):
15268         * menubar.c (Fmenu_find_real_submenu):
15269         * menubar.c (Fnormalize_menu_item_name):
15270         * menubar.c (syms_of_menubar):
15271         * menubar.c (vars_of_menubar):
15272         * menubar.c (complex_vars_of_menubar):
15273
15274         a) Cleaned up a bunch of documentation and improved it.
15275
15276         b) XEmacs now automatically adds an accelerator onto the beginning
15277         of any menu items that don't have one.  I did this because there
15278         will inevitably be some menu items on the main menubar that don't
15279         have accelerators on them because the package that adds that
15280         particular menu item hasn't yet been fixed up to have accelerators
15281         in them and it looked rather strange to have some items with and
15282         some items without accelerators, especially since even in items
15283         without accelerators, you can, at least under windows, still
15284         access the item through an accelerator corresponding to the first
15285         character in the item's name.  If people don't like this behavior,
15286         I can add a variable to turn it off optionally, but I'm not sure
15287         this is a good idea because we really do need to have accelerators
15288         on all of the menu items, and if a package doesn't like the
15289         accelerators being put on the first character, then it should put
15290         the accelerators where they belong.
15291
15292         c) I made a behavior change, which is that the descriptor that
15293         specifies the text of the menu item, which formerly was just a
15294         string, can now also be an evaluated expression.  This makes this
15295         descriptor parallel with all of the others, which could also be
15296         evaluated expressions.  This also obviates the need for the
15297         keyword :label, which was previously listed in the documentation
15298         as unimplemented, and which was for the same purpose.
15299
15300         d) GCPROing.
15301
15302         * ntproc.c:
15303         * ntproc.c (new_child):
15304         * ntproc.c (sys_spawnve):
15305         * ntproc.c (find_child_console):
15306         * ntproc.c (sys_kill):
15307         Fixed compile warnings.  By the way, this file should really go
15308         away entirely, and this will happen as soon as Kirill makes his
15309         final round of process cleanups, which affect the function
15310         call-process.
15311
15312         * process-nt.c:
15313         * process-nt.c (struct nt_process_data):
15314         * process-nt.c (find_process_from_pid):
15315         * process-nt.c (send_signal_the_nt_way):
15316         * process-nt.c (enable_child_signals):
15317         * process-nt.c (find_child_console):
15318         * process-nt.c (send_signal_the_95_way):
15319         * process-nt.c (nt_finalize_process_data):
15320         * process-nt.c (ensure_console_window_exists):
15321         * process-nt.c (nt_create_process):
15322         * process-nt.c (nt_kill_child_process):
15323         * process-nt.c (nt_kill_process_by_pid):
15324         * process-nt.c (nt_open_network_stream):
15325         * process-nt.c (vars_of_process_nt):
15326         Copied over code from Emacs 20.5 to correctly send signals to sub-
15327         processes under Windows 95.  Also added code to automatically
15328         create and hide console window when a sub-process is created under
15329         Windows 95, which obviates the need for the separate runemacs.exe
15330         executable, and finally implemented some variables that were
15331         implemented in Emacs 20.5, but previously not in XEmacs.  These
15332         include mswindows- start-process-share-console and
15333         mswindows-start-process-inherit-error-mode. (Both of these only
15334         apply to Windows 95.)
15335
15336         * regex.c (regex_compile): Fixed a compile warning.
15337
15338         * select-msw.c:
15339         * select-msw.c (mswindows_own_selection):
15340         * select-msw.c (mswindows_get_foreign_selection):
15341         * select-msw.c (mswindows_disown_selection):
15342         * select-msw.c (console_type_create_select_mswindows):
15343         * select-msw.c (syms_of_select_mswindows):
15344         Cleaned up the file and implemented the device method
15345         selection_exists_p, which had accidentally been left out.  Also
15346         removed four lisp functions that were remnants from before the
15347         time when the selection code was properly device abstracted.
15348         These functions are no longer needed because there are generic
15349         equivalents, and because they were added recently and don't exist
15350         in FSF Emacs, I don't think there's any problem with just deleting
15351         them.
15352
15353         * sysdep.c:
15354         * sysdep.c (sys_subshell):
15355         Fixed a compile warning, although in this case there's probably
15356         something wrong with this code, and it ought to be looked into
15357         more thoroughly by somebody who understands it.
15358
15359         * window.c:
15360         * window.c (Fwindow_text_area_height):
15361         * window.c (Fwindow_width):
15362         * window.c (Fwindow_full_width):
15363         * window.c (Fwindow_pixel_width):
15364         * window.c (debug_print_window):
15365         * window.c (syms_of_window):
15366         Added functions window-text-area-height and window-full-width,
15367         which are functions for returning various width and height
15368         characteristics of a window. (One of these functions is necessary
15369         for making the file dialog box work correctly, and the other one
15370         was added for completeness.)  Also added a table to the
15371         documentation for window-height which describes the entire scheme
15372         for accessing width and height characteristics of a window.
15373
15374 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15375
15376         * nt.c (fstat): Added a comment for another problem with
15377         non-encapsulated [f]stat(), reported by Adrian Aichner
15378         <aichner@ecf.teradyne.com>.
15379
15380 2000-03-11  Andy Piper  <andy@xemacs.org>
15381
15382         * window.c (make_dummy_parent): initialize subwindow instance
15383         cache.
15384         (Fset_window_configuration): zero extent_modiff.
15385
15386 2000-03-10  Andy Piper  <andy@xemacs.org>
15387
15388         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
15389         more changes can be triggered.
15390         (Fredisplay_frame): ditto.
15391         (Fredraw_device): ditto.
15392         (Fredisplay_device): ditto.
15393         (redisplay_frame): make non-static.
15394         (redisplay_frame): call update_frame_gutter_geometry outside of
15395         display proper.
15396
15397         * gutter.h: declare update_frame_gutter_geometry.
15398
15399         * redisplay.h: declare redisplay_frame.
15400
15401         * gutter.c (update_frame_gutter_geometry): move geometry changes
15402         in update_frame_gutters here. Geometry changes can only occur
15403         outside of redisplay.
15404         (update_frame_gutters): remove geometry change code.
15405         (Fredisplay_gutter_area): make sure that we are in display when we
15406         update and that we have flushed any size changes.
15407
15408 2000-03-11  Andy Piper  <andy@xemacs.org>
15409
15410         * alloc.c (pdump_dump_data): remove i & count shadows.
15411
15412 2000-02-27  Mike Alexander  <mta@arbortext.com>
15413
15414         * sysdep.h: Declare pdump_read_file
15415
15416         * sysdep.c (pdump_read_file): New function
15417
15418         * alloc.c (pdump_load): Call pdump_read_file to get the portable
15419         dump data
15420
15421 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15422
15423         * lrecord.h: add `lrecord_type_pgsetenv'.
15424
15425 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
15426
15427         * symsinit.h: declare (vars|syms)_of* functions.
15428         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
15429
15430 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
15431
15432         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
15433
15434         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
15435         GCCs.
15436
15437         * emacs.c (main_1): Call postgres initialization code.
15438
15439         * postgresql.h: New file.  PostgreSQL RDBMS support.
15440         * postgresql.c: New file.
15441
15442 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
15443
15444         * redisplay-output.c (redisplay_output_display_block): Disable
15445         redundant code.
15446
15447 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15448
15449         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
15450         (Fcanna_henkan_next): Ditto.
15451         (Fcanna_bunsetu_henkou): Ditto.
15452         (Fcanna_henkan_kakutei): Ditto.
15453         (Fcanna_henkan_end): Ditto.
15454         (Fcanna_henkan_quit): Ditto.
15455         (Fcanna_henkan_next): Set retun value correctly.
15456         (c2mu): Use unsigned char instead of signed char.
15457
15458 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15459
15460         * emacs.c (main_1): Always call syms_of_gui.
15461         * inline.c: include gui.h
15462
15463 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15464
15465         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
15466         converted to Lisp_Object.
15467         (Qtop_bottom): New variable.
15468         (syms_of_redisplay): Initialize it.
15469         * redisplay.h (Vvisible_bell): Ditto.
15470         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
15471         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
15472         only flash top and bottom.
15473
15474 2000-03-08  Andy Piper  <andy@xemacs.org>
15475
15476         * buffer.c (Frename_buffer): record new buffer name the right way.
15477
15478 2000-03-08  Andy Piper  <andy@xemacs.org>
15479
15480         * glyphs.c (update_subwindow): increase hash depth so that widget
15481         items get picked up properly.
15482
15483         * redisplay-output.c (compare_runes): increase hash depth so that
15484         widget items get picked up properly.
15485
15486 2000-03-08  Andy Piper  <andy@xemacs.org>
15487
15488         * gutter.c (output_gutter): add some debug.
15489
15490         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
15491         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
15492         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
15493
15494         * redisplay-output.c (compare_runes): use display_hash to
15495         determine if glyphs really are not the same.
15496
15497         * glyphs.c (update_subwindow): check display_hash to see if
15498         anything really needs to be updated. If not then do
15499         nothing. Record the display_hash after updating.
15500         (image_instance_equal): compare the image_instance face also.
15501
15502 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
15503
15504         * redisplay.h: Fix comment style.
15505
15506 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15507
15508         * consle-msw.h (struct mswindows_frame):
15509         Added new member paint_pending to indicate whether a WM_PAINT
15510         magic event has been queued for this frame.
15511
15512         * event-msw.c (mswindows_drain_windows_queue):
15513         Don't queue a WM_PAINT magic event if one is already queued.
15514         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
15515
15516         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
15517
15518 2000-03-07  Didier Verna  <didier@xemacs.org>
15519
15520         * dired.c: #include `regex.h' after `sysfile.h'.
15521
15522 2000-03-06  Martin Buchholz  <martin@xemacs.org>
15523
15524         * sound.c (init_nas_sound): Fix compiler warning.
15525
15526         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
15527         (FREE_STRUCT_P):
15528         (MARK_STRUCT_AS_FREE):
15529         (MARK_STRUCT_AS_NOT_FREE):
15530         Make `gcc -fstrict-aliasing' work properly.
15531
15532 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15533
15534         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
15535         (mswindows_delete_device): Call CoUnnitialize().
15536
15537         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
15538
15539 2000-02-25    <CraigL@DyCon.com>
15540
15541         * process-nt.c: MinGW now has <shellapi.h>, but still needs
15542         <errno.h>.
15543
15544         * sysdep.c: This extern declaration for environ prevents MinGW
15545         from finding the variable in CRTDLL.DLL.
15546
15547         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
15548         windows headers.
15549         (SHGFI_EXETYPE): ..
15550         (WM_MOUSEWHEEL): ..
15551         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
15552         definitions.
15553         (MMRESULT): Removed, now defined in cygwin's windows headers.
15554         (TIMECAPS): ..
15555         (uid_t,gid_t,pid_t,ssize_t): ..
15556         (_timeb): Removed, MinGW defines both _timeb and timeb.
15557         (HAVE_H_ERRNO): Added.
15558         (HAVE_TZNAME): Added, configure is not detecting this.
15559
15560 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
15561
15562         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
15563         * syntax.c (syntax_match): Use it.
15564
15565         * cmds.c: Import auto-fill-chars from FSF Emacs.
15566         (Vauto_fill_chars): New variables.
15567         (internal_self_insert): Check Vauto_fill_chars.
15568         (vars_of_cmds):
15569         Declare auto-fill-chars as a Lisp variable and initialize it.
15570
15571 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15572
15573         * fileio.c (Fmake_symbolic_link):
15574         (Ffile_symlink_p):
15575         Run handlers even if local machine doesn't have symlinks.
15576
15577 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15578
15579         * event-msw.c (mswindows_drain_windows_queue):
15580         Don't generate paint magic events for non-XEmacs frames.
15581
15582 2000-03-05  Andy Piper  <andy@xemacs.org>
15583
15584         * redisplay.c (redisplay_frame): generate_displayable_area and
15585         friends assumes that we are not in GC, we therefore have to make
15586         sure that this doesn't happen.
15587
15588         * gutter.c (calculate_gutter_size): generate_displayable_area
15589         assumes that we are not in GC, we therefore have to make sure that
15590         this doesn't happen.
15591
15592 2000-03-05  Martin Buchholz  <martin@xemacs.org>
15593
15594         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
15595
15596 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15597
15598         * redisplay.c (regenerate_window): Make sure we set a sane value
15599         for end_pos even if we jump out of the loop.
15600         (regenerate_window): Answer Ben's question :-).
15601         (start_end_of_last_line): Add may_error argument.
15602         (start_of_last_line):
15603         (end_of_last_line): Pass may_error = 0.
15604         (end_of_last_line_may_error): New function.
15605         (pixel_to_glyph_translation): Use it, so we don't crash in
15606         event_to_glyph.
15607
15608 2000-03-04  Andy Piper  <andy@xemacs.org>
15609
15610         * window.h (struct window): add gutter_extent_modiff.
15611
15612         * window.c (allocate_window): zero out gutter_extent_modiff.
15613
15614         * redisplay.h: declare sync_display_line_structs.
15615
15616         * redisplay.c (add_glyph_rune): add a better comment.
15617
15618         * redisplay-output.c (sync_display_line_structs): made non-static.
15619         (compare_runes): remove unneccesary glyph cachel access.
15620
15621         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
15622
15623         * gutter.c (output_gutter): don't output the gutter if extent
15624         changes only involve extents in buffers. use 4 sets of display
15625         lines.
15626         (gutter_extent_signal_changed_region_maybe): new function. Mark
15627         extents in gutters as changed.
15628         (update_frame_gutters): use 4 sets of display lines.
15629         (reset_gutter_display_lines): ditto.
15630         (free_frame_gutters): ditto.
15631         (redraw_exposed_gutter): force output of gutters.
15632
15633         * frame.h (struct frame): add 4 sets of gutter display lines.
15634
15635         * extents.c: (extent_changed_for_redisplay): signal changes to
15636         extents in strings in the gutter as well as extents in buffers.
15637
15638 2000-03-02  Andy Piper  <andy@xemacs.org>
15639
15640         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
15641
15642         * frame.c (Fmake_frame): make sure the gutters get initialized
15643         after the frame is visible.
15644         (set_frame_selected_window): re-arrange compilation macros a
15645         little.
15646         (change_frame_size_1): mark gutters changed.
15647
15648         * device.c (Fset_device_class): mark gutters changed.
15649
15650 2000-03-01  Andy Piper  <andy@xemacs.org>
15651
15652         * window.c (window_top_frame_gutter_height): deleted.
15653         (window_bottom_frame_gutter_height): ditto.
15654         (window_left_frame_gutter_height): ditto.
15655         (window_right_frame_gutter_height): ditto.
15656         (window_top_gutter_height): don't use them.
15657         (window_bottom_gutter_height): ditto.
15658         (window_left_gutter_width): ditto.
15659         (window_right_gutter_width): ditto.
15660         (Fsplit_window): ditto.
15661         (Fwindow_pixel_edges): don't use border dimensions here.
15662
15663         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
15664         (update_scrollbar_instance): ditto.
15665
15666         * redisplay.c (generate_modeline): don't take gutters into account.
15667         (generate_modeline): ditto.
15668         (redisplay_frame): small gutter display optimization.
15669
15670         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
15671
15672         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
15673         gutters into account.
15674
15675         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
15676         for window position and type.
15677
15678         * gutter.c (get_gutter_coords): fix for frame gutters.
15679         (update_frame_gutters): update frame geometry if the gutters have
15680         changed.
15681         (init_frame_gutters): record current gutter geometries.
15682
15683         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
15684         var.
15685         (mswindows_widget_instantiate): ditto.
15686
15687         * frame.h (struct frame): add current_gutter_bounds.
15688
15689         * frame.c (change_frame_size_1): position window and minibuffer
15690         appropriately taking into account the frame gutters.
15691
15692         * frame-x.c: (x_initialize_frame_size): take into account the
15693         frame gutters.
15694
15695 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15696
15697         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
15698
15699 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15700
15701         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
15702
15703 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15704
15705         * file-coding.c (reset_decoding_stream): Clear previous
15706         detection state when autodetect.
15707
15708 2000-02-29  Didier Verna  <didier@xemacs.org>
15709
15710         * extents.c (set_extent_glyph_1): don't require extents to be
15711         attached.
15712
15713 2000-02-27  Andy Piper  <andy@xemacs.org>
15714
15715         * gutter.c (Fset_default_gutter_position): don't default left and
15716         right gutter visibility to t.
15717         (Fset_default_gutter_position): run
15718         default-gutter-position-changed-hook.
15719         (syms_of_gutter): add default-gutter-position-changed-hook.
15720
15721 2000-02-26  Andy Piper  <andy@xemacs.org>
15722
15723         * specifier.c (Fmake_specifier): add gutter references.
15724
15725         * gutter.h (RAW_WINDOW_GUTTER): new macro.
15726
15727         * lisp.h: declare Fvalid_plist_p.
15728
15729         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
15730         as changed.
15731         (default_gutter_visible_p_changed_in_window): invalidate gutter as
15732         well as its visibility so that it gets reconstructed.
15733         (construct_window_gutter_spec): new function. Construct a string
15734         to be displayed in the gutter from a plist of strings. Take care
15735         to only use elements that are declared as visible.
15736         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
15737         WINDOW_GUTTER.
15738         (gutter_validate): allow plists of strings in the specifier.
15739         (gutter_specs_changed): construct the real_gutter from the gutter
15740         specs using construct_window_gutter_spec.
15741         (gutter_visible_validate): gutter-visible is a new specifier type.
15742         (Fgutter_visible_specifier_p): new function for the new specifier.
15743         (syms_of_gutter): declare gutter-visible and
15744         Fgutter_visible_specifier_p.
15745         (specifier_type_create_gutter): intitalize new gutter-visible
15746         specifier.
15747         (reinit_specifier_type_create_gutter): ditto.
15748         (specifier_vars_of_gutter): use new specifier type for gutter
15749         visibility.
15750         (init_frame_gutters): construct real_gutter correctly.
15751         (Fgutter_specifier_p): beef up documentation.
15752         (Fgutter_size_specifier_p): ditto.
15753
15754         * winslots.h: add real_gutter slots.
15755
15756 2000-02-25  Andy Piper  <andy@xemacs.org>
15757
15758         * device-msw.c: Be kind to older cygwin versions. From Raymond
15759         Toy <toy@rtp.ericsson.se>.
15760
15761         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
15762         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
15763
15764 2000-02-25  Martin Buchholz  <martin@xemacs.org>
15765
15766         * elhash.c (MARK_OBJ): Practice macro hygiene.
15767
15768 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15769
15770         * miscplay.c: s/__inline__/inline/g;
15771         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
15772         (get_device_compdc): INLINE ==> static inline
15773         * *.[ch]: Change INLINE to INLINE_HEADER globally.
15774         find -name '*.h' | \
15775         xargs global-replace \
15776         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
15777
15778 2000-02-25  Andy Piper  <andy@xemacs.org>
15779
15780         * window.c (window_top_frame_gutter_height): new function.
15781         (window_top_window_gutter_height): ditto.
15782         (window_top_gutter_height): use them.
15783         (window_bottom_frame_gutter_height): new function.
15784         (window_bottom_window_gutter_height): ditto.
15785         (window_bottom_gutter_height): use them.
15786         (window_left_window_gutter_width): new function.
15787         (window_left_frame_gutter_width): ditto.
15788         (window_left_gutter_width): use them.
15789         (window_right_window_gutter_width): new function.
15790         (window_right_frame_gutter_width): ditto.
15791         (window_right_gutter_width): use them.
15792         (window_pixel_height): new function. calulate window pixel height
15793         with frame gutter involvement.
15794         (Fsplit_window): calculate new sizes taking frame gutters into
15795         account.
15796         (window_char_height_to_pixel_height): don't include frame gutters.
15797         (window_char_height): use window_pixel_height.
15798         (window_pixheight): rename from window_pixel_height.
15799         (change_window_height): use it.
15800         (window_pixel_height_to_char_height): don't include frame gutters.
15801         (window_char_width_to_pixel_width): ditto.
15802
15803 2000-02-25  Andy Piper  <andy@xemacs.org>
15804
15805         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
15806         if it is.
15807
15808 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15809
15810         * alloc.c (staticpro):
15811         (staticpro_nodump):
15812         (dumpstruct):
15813         (dumpopaque):
15814         (pdump_wire):
15815         (pdump_wire_list):
15816         (compact_string_chars):
15817         (pdump_dump_wired):
15818         Convert:  if (foo) abort();  ==>  assert (! foo);
15819
15820         * eldap.c (Fldap_search_basic):
15821         (Fldap_add):
15822         (Fldap_modify):
15823         (Fldap_delete):
15824         Fix compiler warnings, and possible crashes if (random) return
15825         value were to be used.
15826
15827 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15828
15829         * device-msw.c: Workaround ResetDC failure.
15830
15831         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
15832         applying a devmode.
15833
15834         * redisplay-msw.c (get_frame_dc): Added start_page_p.
15835         (mswindows_text_width): Do not start printer page.
15836
15837         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
15838
15839         * glyphs-msw.c: Added image methods to msprinter console and
15840         msprinter-specific image instantiation.
15841
15842 2000-02-20  Mike Alexander  <mta@arbortext.com>
15843
15844         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
15845         to avoid crashes when selection-sets-clipboard is on
15846         (mswindows_own_selection): ditto
15847
15848 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15849
15850         * glyphs-msw.c:
15851         * redisplay-msw.c (get_frame_dc):
15852         (get_frame_compdc):
15853         * console-msw.h:
15854         * device-msw.c (mswindows_init_device):
15855         (mswindows_delete_device):
15856         (msprinter_init_device):
15857         (msprinter_delete_device):
15858         * frame-msw.c (mswindows_init_frame_1):
15859         (mswindows_delete_frame):
15860         (msprinter_init_frame_3):
15861         (msprinter_delete_frame): Move compatible DC to device object from
15862         frame object, for both mswindows and msprinter. Only one at a time
15863         is needed, it is a real waste to have one per frame!
15864
15865 2000-02-23  Andy Piper  <andy@xemacs.org>
15866
15867         * glyphs.c: add dynamic width and height elements.
15868         (image_instance_equal): ditto.
15869
15870         * glyphs-widget.c (widget_query_geometry): calculate width and
15871         height dynamically if required.
15872         (initialize_widget_image_instance): initialize dynamic dimensions.
15873         (widget_instantiate): pick-up dynamic dimensions.
15874
15875         * glyphs.h (struct Lisp_Image_Instance): add width and height for
15876         dynamic determination. Add appropriate macros.
15877
15878         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
15879         dimensions safe.
15880         (WINDOW_GUTTER_SIZE): ditto.
15881         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
15882
15883         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
15884         inline.
15885         (get_frame_dc): ditto.
15886
15887         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
15888         here.
15889
15890 2000-02-23  Martin Buchholz <martin@xemacs.org>
15891
15892         * XEmacs 21.2.31 is released.
15893
15894 2000-02-22  Ben Wing <ben@xemacs.org>
15895
15896         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
15897
15898 2000-02-22  Andy Piper  <andy@xemacs.org>
15899
15900         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
15901
15902 2000-02-21  Mike Sperber <mike@xemacs.org>
15903
15904         * .dbxrc:
15905         * .gdbinit:
15906         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
15907         variables.
15908
15909 2000-02-21  Mike Sperber <mike@xemacs.org>
15910
15911         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
15912
15913 2000-02-21  Martin Buchholz <martin@xemacs.org>
15914
15915         * XEmacs 21.2.30 is released.
15916
15917 2000-02-20  Martin Buchholz  <martin@xemacs.org>
15918
15919         Performance hacking.
15920         * *.c (syms_of_*):
15921         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
15922         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
15923         * emacs.c (main_1):
15924         * lisp.h (DEFUN):
15925         * console.c (DEFVAR_CONSOLE_LOCAL_1):
15926         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
15927         * symeval.h (DEFVAR_SYMVAL_FWD):
15928         * symbols.c (guts_of_unbound_marker):
15929         Make all c_readonly objects also lisp_readonly and marked for life.
15930         * lrecord.h (struct lrecord_implementation):
15931         Document flags better.
15932         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
15933         * lrecord.h (DECLARE_LRECORD):
15934         * lrecord.h (XSETRECORD):
15935         * lrecord.h (RECORDP):
15936         * lrecord.h (RECORD_TYPEP):
15937         * lrecord.h (RECORD_MARKER): New.
15938         * lrecord.h (error_check_*):
15939         * lrecord.h (CONCHECK_NONRECORD):
15940         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
15941         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
15942         * lrecord.h (set_lheader_implementation):
15943         * lrecord.h (enum lrecord_type): New.
15944         * symeval.h (SYMBOL_VALUE_MAGIC_P):
15945         * alloc.c (disksave_object_finalization_1):
15946         * alloc.c (mark_object):
15947         * alloc.c (lrecord_type_index):
15948         * alloc.c (tick_lcrecord_stats):
15949         * alloc.c (Fgarbage_collect):
15950         * alloc.c (init_alloc_once_early):
15951         * alloc.c (pdump_load):
15952         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
15953         * alloc.c (lrecord_type_index): Delete.
15954         Make lisp object type indexes be constant.
15955           Makes (byte-compile) 5% faster.
15956         Put all marker functions into their own array.
15957           Makes (garbage-collect) 5% faster.
15958         Optimize SYMBOL_VALUE_MAGIC_P.
15959           Makes (byte-compile) 2-3% faster.
15960         * config.h.in (gc_checking_assert): New.
15961         * alloc.c: Use gc_checking_assert().
15962         * .dbxrc: Make compatible with new object type implementation.
15963         * .gdbinit: Make compatible with new object type implementation.
15964         * alloc.c: Delete all symbols defined only for debugging, such as
15965         Lisp_Type_Vector and lrecord_charset.
15966
15967 2000-02-21  Andy Piper  <andy@xemacs.org>
15968
15969         * gui-msw.c (Fmswindows_shell_execute): fix file location
15970         problems.
15971
15972         * buffer.c (Fkill_buffer): remove buffer from alist buffer
15973         unshowing so that set_window_buffer doesn't undo
15974         kill_buffer_hook's hard work.
15975
15976         * glyphs-widget.c (tab_control_query_geometry): don't count the
15977         first item when calculating geometry.
15978
15979         * glyphs.c (map_subwindow): remove redundant code.
15980         (update_frame_subwindows): be more circumspect about when to
15981         update subwindows.
15982
15983         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
15984         when items haven't changed. Update faces if faces have changed as
15985         well as just the widget face.
15986         (x_tab_control_update): Update faces if faces have changed as well
15987         as just the widget face.
15988
15989 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15990
15991         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
15992         registration.
15993         (build_syscolor_string): Use mswindows_color_to_string to try to
15994         get a named color.
15995         (mswindows_device_system_metrics): Reverse the foreground and
15996         background colors so that they match the documentation.
15997
15998         * objects-msw.c: (mswindows_X_color_map): tweak some values so
15999         they match the default Windows palette.
16000         (mswindows_color_to_string): New function.
16001
16002 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16003
16004         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16005
16006 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16007
16008         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16009         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16010
16011         * symbols.c (init_symbols_once_early): Removed obsolete
16012         DATA_SEG_BITS related kludge.
16013         (defvar_magic): Ditto.
16014
16015         * malloc.c: Removed obsolete DATA_SEG_BITS
16016         * ralloc.c: Ditto.
16017         * mem-limits.h: Ditto.
16018
16019         * Makefile.in.in: Removed obsolete HAVE_SHM
16020         * emacs.c: Ditto.
16021
16022 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16023
16024         *  device-msw.c (mswindows_delete_device): Free DDE string
16025         handles.
16026
16027 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16028
16029         * keymap.c (get_keyelt):
16030         * unexnt.c (unexec):
16031         * vm-limit.c (memory_warnings):
16032         * ntheap.c (recreate_heap):
16033         * ntheap.h (UNINIT_PTR):
16034         * select-msw.c (Fmswindows_get_clipboard):
16035         (Fmswindows_set_clipboard):
16036         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16037         * objects-msw.c:
16038         * menubar-msw.c (displayable_menu_item):
16039         * glyphs-msw.c:
16040         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16041         * sysdep.c (sys_subshell):
16042         * process-nt.c (nt_create_process):
16043         * nt.c (normalize_filename):
16044         (dostounix_filename):
16045         (unixtodos_filename):
16046         * ntproc.c (win32_executable_type):
16047         * ntplay.c (play_sound_data_1):
16048         (play_sound_file):
16049         * editfns.c (get_home_directory):
16050         * event-msw.c (struct winsock_stream):
16051         (mswindows_dde_callback):
16052         * device-msw.c (msprinter_init_device):
16053         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16054
16055         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16056         mswindows_clear_toolbar were swapped!
16057
16058         * objects-msw.c:(colormap_t):
16059         (fontmap_t):
16060         * emacs.c (struct standard_args): Fixed const jumble.
16061
16062         * glyphs-widget.c (update_widget): Fixed comparison notation.
16063
16064         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16065
16066         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16067         __declspec(noreturn) syntax.
16068
16069 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16070
16071         * eldap.c (Fldap_open):
16072         (Fldap_search_basic):
16073         (Fldap_add):
16074         (Fldap_modify):
16075         Use new coding system conversion macros.
16076
16077 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16078
16079         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16080
16081 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16082
16083         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16084         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16085
16086         * eldap.c (Qadd, Qreplace): New constant symbols
16087         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16088         interruptions by XEmacs signals
16089         Remove unnecessary calls to slow_down_interrupts and
16090         speed_up_interrupts
16091         (Fldap_search_basic): Renamed from Fldap_search_internal
16092         Added new optional parameter VERBOSE that triggers the
16093         display of progress messages
16094         Remove unnecessary calls to slow_down_interrupts and
16095         speed_up_interrupts
16096         LDAP result code analysis rewritten
16097         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16098         (syms_of_eldap): Define the new symbols and functions
16099
16100
16101 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16102
16103         * realpath.c: Determine PATH_MAX maximally portably.
16104
16105         * insdel.c (bytecount_to_charcount): Optimize.
16106         The function used to be optimized for entirely ASCII sequences.
16107         Now it is optimized for successive characters from the same
16108         charset.  This also wins big for _mostly_ ASCII sequences.
16109
16110         * fileio.c (Ffile_truename): convert return from realpath() using
16111         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16112         - Rewrite GCPROing slightly.
16113
16114         * sysdep.c (sys_open): Do filename conversion, like all other
16115         sys_* functions.  Fixes bug:
16116         (let ((file-name-coding-system 'iso-8859-2))
16117            (write-region x y latin2-name))
16118         ==> writes filename using internal encoding.
16119
16120 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16121
16122         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16123         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16124         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16125         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16126         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16127         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16128         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16129         (CONST_IF_NOT_DEBUG): Delete.
16130         * alloc.c (this_one_is_unmarkable): Delete.
16131         (mark_object): Don't check for this_one_is_unmarkable. Use the
16132         c_readonly flag instead.
16133         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16134
16135 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16136
16137         * event-msw.c (mswindows_drain_windows_queue):
16138         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16139         away redundant repaint events.
16140
16141 2000-02-17  Andy Piper  <andy@xemacs.org>
16142
16143         * redisplay.h: declare mark_redisplay_structs.
16144
16145         * redisplay.c (redisplay_window):
16146         (redisplay_frame): don't check subwindows_state_changed.
16147         (mark_redisplay): mark gutters here.
16148
16149         * glyphs.c: (instantiate_image_instantiator): always layout if we
16150         haven't done so already.
16151         (allocate_image_instance): don't mark as dirty.
16152         (update_subwindow): bind inhibit_quit.
16153
16154         * gutter.c (mark_gutters): new function.
16155
16156         * glyphs-x.c (x_update_widget): Always resize to get round a
16157         widget bug.
16158
16159         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16160         breaking absolutely everything.
16161
16162         * gutter.h: declare mark_gutters.
16163
16164 2000-02-16  Martin Buchholz <martin@xemacs.org>
16165
16166         * XEmacs 21.2.29 is released.
16167
16168 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16169
16170         * fns.c (size_bit_vector): Fix computation of the size.
16171
16172 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16173
16174         * *.[ch]: Change CONST to const globally.
16175         find -name '*.[ch]' | \
16176         xargs global-replace \
16177         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16178         - Remove vestigial references to CONST_IS_LOSING
16179
16180 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16181
16182         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16183         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16184         events instead of dispatching them directly.
16185         (mswindows_handle_paint): New function to do repainting.
16186         (mswindows_wnd_proc):
16187         (emacs_mswindows_handle_magic_event): Call above function.
16188
16189 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16190
16191         * objects-msw.c (mswindows_create_font_variant): Return the new
16192         font handle.
16193         (initialize_font_instance): Get font metrics from the underlined
16194         variant of the font to cope with the case where the underlined
16195         font has a bigger descent.
16196
16197 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16198
16199         * gui.c (gui_item_accelerator): Return the first underlined
16200         character in item name.
16201
16202 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16203
16204         * lisp.h: Added Qprinter.
16205
16206         * general.c (syms_of_general): Initialized it.
16207
16208         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16209         (get_frame_dc):
16210         (get_frame_compdc): Made inline.
16211
16212         * console.h (struct console_methods): Added eject_page method.
16213
16214         * frame.h: Added FRAME_DISPLAY_P and friends.
16215         Aligned backslahes in many macros in more readable fashion.
16216         Added page_number to struct frame, and an accessor macro
16217         for it.
16218
16219         * defice.h: Added DEVICE_DISPLAY_P and friends.
16220
16221         * device.c (Fdevice_printer_p): Used these.
16222
16223         * frame.c (allocate_frame_core): Initialize page number.
16224         (Fprint_job_page_number):
16225         (Fprint_job_eject_page): Implemented.
16226
16227         * frame-msw.c (msprinter_eject_page): Added method.
16228         (msprinter_start_page): Added.
16229
16230         * window.c (Fwindow_truncated_p): Fixed docstring.
16231         (Fwindow_last_line_visible_height): Implemented.
16232
16233 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16234
16235         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16236
16237 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16238
16239         * syntax.c (scan_words): Always advance at least one character.
16240
16241 2000-02-13  Andy Piper  <andy@xemacs.org>
16242
16243         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16244         to make sure the glyph is in the cachels.
16245
16246         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16247         global image instance flag.
16248         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16249         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16250
16251         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16252         (Fset_image_instance_property): mark layout as changed.
16253         (invalidate_glyph_geometry_maybe): mark layout as changed.
16254         (glyph_width): use new NEEDS_LAYOUT macro.
16255         (glyph_ascent): ditto.
16256         (glyph_descent): ditto.
16257         (glyph_height): ditto.
16258         (image_instance_layout): mark layout as clean after laying out.
16259         (update_subwindow): don't mark layout as clean here.
16260
16261         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16262         should no longer be needed.
16263
16264         * glyphs-x.c (x_update_widget): sanitize asserts.
16265         (x_finalize_image_instance): sanitize assignment to widgets.
16266
16267         * glyphs-widget.c (widget_instantiate): don't need to clear the
16268         layout flag here.
16269
16270 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16271
16272         * sysdep.c (getcwd): Use standard prototype.
16273         * sysdep.h (getcwd): Use standard prototype.
16274
16275         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16276         (sequence, start, end).
16277         Remove redundant type checking.
16278         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16279         view of `caller-protects') to avoid a crash where the real fix was
16280         found elsewhere.
16281
16282 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16283
16284         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16285
16286         * s/sol2.h: Remove feature macro initialization.
16287
16288         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16289         (vector_hash): New.  Code from internal_hash.
16290         * lrecord.h:
16291         Fix up allocation subsystem comments.
16292
16293         * config.h.in: Add __EXTENSIONS__ for Solaris.
16294
16295         * systime.h (EMACS_GETTIMEOFDAY): New.
16296         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16297         Remove Solaris-specific code.
16298         Use void* for the (ignored) second arg for gettimeofday().
16299
16300         * elhash.c (hash_table_hash): Implement it, finally.
16301         * elhash.c:  Use hashcode_t.
16302
16303         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16304         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16305
16306         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16307         * fns.c (size_bit_vector):
16308         * alloc.c (size_vector):
16309         (make_vector_internal):
16310         (make_bit_vector_internal):
16311         (sweep_bit_vectors_1):
16312         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16313
16314 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16315
16316         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16317         Include strings.h to avoid warnings for bzero and strcasecmp.
16318
16319 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16320
16321         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
16322         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
16323
16324         * fns.c (size_bit_vector): New.  Declare bit vectors as a
16325         sequence.
16326
16327 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16328
16329         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
16330         use a value field instead.
16331         (symbol_value_forward_forward): Use value field.
16332         (DEFVAR_SYMVAL_FWD): Use value field.
16333         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
16334         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
16335         (DEFVAR_CONST_INT): Ditto.
16336         (DEFVAR_BOOL): Ditto.
16337         (DEFVAR_CONST_BOOL): Ditto.
16338         (DEFVAR_INT_MAGIC): Ditto.
16339         (DEFVAR_BOOL_MAGIC): Ditto.
16340
16341         * symbols.c (guts_of_unbound_marker): Use value field.
16342         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
16343         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
16344
16345         * lisp.h: Declare dumpopaque and noninteractive1.
16346
16347         * alloc.c (dumpopaque): Added.
16348         (pdump_dump_opaquevec): Added.
16349         (pdump): Call pdump_dump_opaquevec to dump opaque data.
16350         (pdump_load): Reload opaque data.  Sync noninteractive1 with
16351         noninteractive.
16352
16353 2000-02-10  Andy Piper  <andy@xemacs.org>
16354
16355         * glyphs.c (image_instance_layout): if the size changes, mark it
16356         as such.
16357
16358         * redisplay-output.c (redisplay_output_layout): Update the
16359         subwindow here.
16360         (redisplay_output_subwindow): ditto.
16361
16362         * glyphs.c (update_subwindow): make sure we reset flags for
16363         layouts as well as everything else.
16364
16365         * glyphs-widget.c (layout_layout): don't need to set the instances
16366         dimensions here.
16367
16368 2000-02-09  Martin Buchholz  <martin@xemacs.org>
16369
16370         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
16371         not HAVE_DLOPEN, which is a lower-level thing.
16372
16373         * .cvsignore: Ignore gmon.out
16374
16375 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
16376
16377         * .cvsignore: Ignore portable dumper xemacs.dmp file
16378
16379 2000-02-09  Andy Piper  <andy@xemacs.org>
16380
16381         * redisplay-output.c (redisplay_output_layout): be more clever
16382         about when we output based on the changed flags.
16383
16384         * glyphs.h (struct image_instantiator_methods): add update_method.
16385         (struct Lisp_Image_Instance): add changed flags. Declare new
16386         macros for manipulating them.
16387
16388         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
16389         (image_instance_parent_glyph): find an image_instance's parent
16390         glyph or image_instance.
16391         (image_instance_layout): mark the size as changed.
16392         (set_image_instance_dirty_p): new function. mark an image
16393         instance, plus all of its parents, as dirty.
16394         (Fset_image_instance_property): use it.
16395         (Fglyph_animated_timeout_handler): use it.
16396         (update_subwindow): call update_widget and device methods for
16397         update_subwindow. Mark all changed flags as clean.
16398         (Fresize_subwindow): mark size as changed.
16399
16400         * glyphs-x.c (x_finalize_image_instance): try and detect gc
16401         failures.
16402         (x_update_subwindow): only resize subwindows here.
16403         (x_update_widget): new function. Update all changed properties of
16404         a widget.
16405         (x_resize_subwindow): deleted.
16406         (x_widget_set_property): deleted.
16407         (x_progress_gauge_set_property): deleted.
16408         (x_progress_gauge_update): new function. Implement recorded
16409         changes.
16410         (x_tab_control_update): ditto.
16411         (x_tab_control_set_property): deleted.
16412         (console_type_create_glyphs_x): declare new functions.
16413         (image_instantiator_format_create_glyphs_x): ditto.
16414
16415         * glyphs-widget.c (widget_set_property): mark text changed.
16416         (update_widget): new function. Update properties of a widget.
16417         (widget_instantiate): for layouts make sure we set their
16418         children's parent correctly.
16419         (tab_control_set_property): new function. Record changes that will
16420         take place under redisplay's control.
16421         (progress_gauge_set_property): ditto.
16422         (image_instantiator_progress_guage): declare new functions.
16423         (image_instantiator_tab_control): ditto.
16424
16425         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
16426         now.
16427         (mswindows_update_widget): new function. Update all properties on
16428         a widget that have changed.
16429         (mswindows_button_update): new function. Update a button's set
16430         state.
16431         (mswindows_tab_control_update): new function. Update the items in
16432         a tab.
16433         (mswindows_tab_control_set_property): deleted.
16434         (mswindows_progress_gauge_update): new function. Update the
16435         progress gauge's progress.
16436         (mswindows_widget_set_property): deleted. This is all done
16437         asynchronously now.
16438         (mswindows_progress_gauge_set_property): ditto.
16439         (console_type_create_glyphs_mswindows): declare new methods.
16440         (image_instantiator_format_create_glyphs_mswindows): ditto.
16441
16442         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
16443         (msprinter_set_frame_properties): ditto.
16444
16445         * console.h (struct console_methods): Add update_widget_method.
16446
16447 2000-02-09  Andy Piper  <andy@xemacs.org>
16448
16449         * gui-msw.c (Fmswindows_shell_execute): Make
16450         mswindows-shell-execute industrial strength.
16451
16452 2000-02-08  Martin Buchholz  <martin@xemacs.org>
16453
16454         * lrecord.h: Make macro argument `props' match member function `plist'.
16455         * fns.c (Fget):
16456         * fns.c (Fput):
16457         * fns.c (Fremprop):
16458         * fns.c (Fobject_plist):
16459         * alloc.c:
16460         * symbols.c:
16461         Object property list frobbing cleanup.
16462         - Allow any lisp object (compared with `eq'), not just symbols, as
16463           keys in object plists.
16464         - Move symbol plist frobbing into symbols.c, where it belongs.
16465         - Move string plist frobbing into alloc.c, where it belongs.
16466         - Everything's an lrecord now, so no need to test for symbolp, etc.
16467         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
16468
16469         * extents.c: Reorder code to remove declarations.
16470
16471         * frame.h (store_in_alist): Remove useless declaration.
16472
16473 2000-02-07  Martin Buchholz  <martin@xemacs.org>
16474
16475         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
16476         * config.h.in: Add HAVE_XCONVERTCASE.
16477
16478 2000-02-07  Andy Piper  <andy@xemacs.org>
16479
16480         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
16481         it breaks many things.
16482
16483 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
16484
16485         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
16486         actually can start a common comment type.
16487         * src/syntax.h (SYNTAX_END_P): ditto for end.
16488
16489 2000-02-07  Martin Buchholz <martin@xemacs.org>
16490
16491         * XEmacs 21.2.28 is released.
16492
16493 2000-02-06  Martin Buchholz  <martin@xemacs.org>
16494
16495         * event-Xt.c (x_keysym_to_character): New.
16496         (maybe_define_x_key_as_self_inserting_character): New.
16497         (x_has_keysym): New.
16498         Auto-define all keys on the keyboard as self-insert-key.
16499
16500 2000-02-02  Martin Buchholz  <martin@xemacs.org>
16501
16502         * menubar.c (vars_of_menubar): A small code simplification.
16503
16504         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
16505
16506         * ExternalShell.c:
16507         * ExternalClient.c:
16508         * EmacsShell-sub.c:
16509         * EmacsManager.c:
16510         * EmacsFrame.c:
16511         Use consistent style for specifying X resources.
16512
16513         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
16514         This makes (dontusethis-set-symbol-value-handler) actually usable.
16515
16516         * lrecord.h (lrecord_decription_type):
16517         * alloc.c (pdump_register_sub):
16518         (pdump_dump_data):
16519         (pdump_reloc_one):
16520         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
16521         Comply with XEmacs coding style.
16522         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
16523         args, and XD_LISP_OBJECT_ARRAY with 3 args.
16524
16525         * keymap.c (Faccessible_keymaps):
16526         Make (accessible-keymaps map "\C-h") do the Right Thing.
16527         Make (accessible-keymaps map []) do the Right Thing.
16528         Make (accessible-keymaps map "") do the Right Thing.
16529         (check_keymap_definition_loop): New function.
16530         (keymap_store_internal): Keep luser from shooting self in foot,
16531           via (define-key ctl-x-4-map "p" global-map).
16532         Remove fullness slot from struct Lisp_Keymap, since hash tables
16533         are now reliable.
16534         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
16535
16536 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16537
16538         * redisplay.c (init_redisplay): Fix small memory leak.
16539         * elhash.h:
16540         * elhash.c (pdump_reorganize_hash_table):
16541         Rename from reorganize_hash_table. Change prototype.
16542         Reuse the original memory for hentries.  Save 100k.
16543         * alloc.c (PDUMP_READ): new macro.
16544         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
16545         * alloc.c: No need to #ifndef before #undef.
16546
16547         * print.c: Allow debug_print() to print readably by modifying
16548         debug_print_readably.  Use consistent variable names.
16549
16550         * .dbxrc: Try to get things to work even if stopped in a function
16551         without source available by explicitly specifying source files.
16552 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16553
16554         * unexnt.c (_start): Removed bogus code which caused loading heap
16555         from differrent executable file.
16556         Removed bogus assignment to _fmode, which caused inconsistencies.
16557
16558 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16559
16560         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
16561         Have spawnve encapsulation regard DONT_ENCAPSULATE.
16562         Do not preliminary `#define signal sigset'.
16563
16564         * systime.h: Do not prototype environ on windows nt and cygwin,
16565         this conflicts with system header.
16566
16567         * syssignal.h: Use correct define for WINDOWSNT
16568
16569         * sysdep.h: Do not prototype environ on windows nt, this conflicts
16570         with system header.
16571
16572         * sysdep.c (near start of file): Fixed commentary and rearranged
16573         ifdefs in readable order.
16574         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
16575         (start_of_text):
16576         (end_of_text):
16577         (end_of_data): Do not compile in if using PDUMP.
16578
16579         * symsinit.h: Prototyped vars_of_nt().
16580
16581         * ntproc.c (windows9x_p): Added, instead of os_subtype.
16582         (find_child_console): Use it.
16583         (sys_kill): Use it.
16584
16585         * ntheap.h: Do not extern os_subtype.
16586
16587         * ntheap.c (cache_system_info): Do not cache unneeded:
16588         nt_major_version, nt_minor_version and os_subtype.
16589         (recreate_heap): Do not compile in when PDUMPing.
16590
16591         * nt.c (geteuid and friends): Use the new varibale
16592         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
16593         (init_user_info): Removed the above mentioned hackery.
16594         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
16595         stat has been fixed in the C runtime.
16596         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
16597
16598         * file-coding.c (struct file_coding_dump): Do not define
16599         ucs_to_mule_table in the struct if not MULE.
16600         (struct struct lrecord_description fcd_description_1): Do not dump
16601         the above.
16602
16603         * emacs.c (main_1): Call vars_of_nt().
16604         (right before Fdump_emacs_data): Don't need lastfile if using both
16605         portabe dumper and system malloc.
16606
16607         * alloc.c (Fmemory_limit): Conditionalized out.
16608         (pdump): Use OPEN_BINARY for the portable dump file.
16609         (pdump_load): Ditto.
16610
16611 2000-02-02  Mike Alexander  <mta@arbortext.com>
16612
16613         * nt.c (convert_time): Set tm_isdst before calling mktime and
16614         avoid calling it at all if the compiler supports 64 bit integers.
16615         Also initialize utc_base_ft before using it.
16616
16617 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16618
16619         * frame.c (change_frame_size_1): Take f->internal_border_width
16620         into consideration when calculating the width of the frame.
16621
16622 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16623
16624         * window.c (frame_min_height):
16625         (frame_size_valid_p):
16626         (frame_pixsize_valid_p): Added.
16627         (check_frame_size): Generalized.
16628
16629         * window.h: Prototyped the above.
16630
16631         * lisp.h:
16632         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
16633         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
16634         Deleted Vwin32_* and Vbinary_process_* unused variables.
16635
16636         * device-msw.c (msprinter_init_device): Do not get printer font
16637         list; Added DEVMODE functions.
16638
16639         * frame-msw.c: Added lots of printer code.
16640
16641         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
16642         general.c.
16643
16644         * console-msw.h: Added more msprinter device private slots.
16645
16646 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16647
16648         * event-msw.c (key_needs_default_processing_p): Added.
16649         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
16650
16651 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16652
16653         * glyphs.c (image_instance_layout): Mark image instance as clean
16654         after layout.
16655         (glyph_dirty_p): Removed redundant function.
16656         (invalidate_glyph_geometry_maybe): Added.
16657         (update_glyph_cachel_data): Call it.
16658
16659         * glyphs.h: Prototyped it.
16660
16661         * redisplay.c (add_glyph_rune): Call it.
16662         (redisplay_window): Reset glyphs cachels when frame faces have
16663         changed, thus forcing recomputation of built-in border glyphs.
16664
16665 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16666
16667         * Makefile.in.in: Make portable dumper and purify play well together.
16668         Add imperfect, but better than nothing, support for pdump.
16669         Remove xemacs.dmp when temacs is re-generated.
16670         Don't ignore errors when dumping xemacs.
16671
16672         * symbols.c (maybe_call_magic_handler): Remove one magic number.
16673
16674 2000-01-28  Andy Piper  <andy@xemacs.org>
16675
16676         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
16677         (setup_normal_frame): ditto.
16678         (setup_frame_without_minibuffer): ditto.
16679         (setup_minibuffer_frame): ditto.
16680         (delete_frame_internal): ditto.
16681         (Fmake_frame_invisible): ditto.
16682         (Ficonify_frame): ditto.
16683
16684         * window.h: change Fset_window_buffer signature.
16685
16686         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
16687         (Fset_window_buffer): allow recording of buffer if the window is
16688         the selected window.
16689         (window_loop): Use new Fset_window signature.
16690
16691 2000-01-23  Daniel Pittman  <daniel@danann.net>
16692
16693         * config.h.in: Added template for `HAVE_ATHENA_3D'
16694
16695 2000-01-29  Andy Piper  <andy@xemacs.org>
16696
16697         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
16698
16699         * gutter.c (output_gutter): Don't output if the window isn't live.
16700
16701 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16702
16703         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
16704         of 01/12/00: Moved SetFocus back here where it belongs.
16705
16706 2000-01-23  Andy Piper  <andy@xemacs.org>
16707
16708         * s/cygwin32.h: declare printer things.
16709
16710 2000-01-26  Andy Piper  <andy@xemacs.org>
16711
16712         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
16713         Alexander.
16714
16715 2000-01-24  Andy Piper  <andy@xemacs.org>
16716
16717         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
16718         (mswindows_button_instantiate): Make sure glyph is a pixmap.
16719
16720         * glyphs-widget.c (widget_instantiate): Avoid shadows.
16721
16722         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
16723
16724         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
16725
16726         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
16727         (mswindows_output_display_block): Avoid local shadows.
16728
16729         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
16730         (mswindows_enqueue_mouse_button_event): ditto.
16731         (mswindows_handle_gui_wm_command): remove declaration.
16732
16733         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
16734         warnings.
16735
16736         * console-msw.h: Avoid shadows.
16737         (mswindows_get_toolbar_button_text):
16738         (emacs_mswindows_create_stream_pair):
16739         (emacs_mswindows_delete_stream_pair):
16740         (mswindows_handle_toolbar_wm_command): declare.
16741
16742         * device-msw.c (build_syscolor_string): Avoid shadows.
16743
16744 2000-01-23  Andy Piper  <andy@xemacs.org>
16745
16746         * glyphs-widget.c (widget_instantiate): reverse the items for
16747         layouts so that children are in the expected order.
16748
16749 2000-01-28  Martin Buchholz  <martin@xemacs.org>
16750
16751         * ralloc.c: safe_bcopy ==> memmove
16752         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
16753         * s/msdos.h: Remove BCOPY macros.
16754         * insdel.c (gap_right): Remove BCOPY conditional code.
16755         * insdel.c (gap_left): Remove BCOPY conditional code.
16756         XEmacs demands a working ANSI C compiler - hence memmove.
16757
16758         * regex.c (regex_compile): Remove accidental use of trigraphs.
16759
16760 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16761
16762         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
16763         event timestamp.
16764
16765 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16766
16767         * event-msw.c (mswindows_drain_windows_queue): Added the
16768         parameter.
16769         (mswindows_need_event): Commented the call to
16770         mswindows_drain_windows_queue().
16771         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
16772         only.
16773
16774         * console-msw.h: Moved a few function prototypes here from
16775         event-msw.c.
16776
16777         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
16778         parameter from unsigned short to unsigned long.
16779         (Fmswindows_shell_execute): Added return value.
16780
16781 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16782
16783         * sysdep.c (init_system_name):
16784           process-unix.c (unix_canonicalized_host_name):
16785         Don't call freeaddrinfo() if getaddrinfo() fails.
16786
16787         * process-unix.c (unix_open_unix_network_stream):
16788         Moved the code to get a port # into address loop.
16789
16790 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16791
16792         * buffer.c (reinit_vars_of_buffer):
16793         The right place to initialize conversion_in_dynarr and
16794         conversion_out_dynarr.
16795
16796         * alloc.c (pdump): Use the real open() till sys_open() is functional.
16797
16798         * process-unix.c (unix_canonicalize_host_name): Muleize.
16799         (unix_open_network_stream): Muleize.
16800
16801         * buffer.h: Fix up prototypes for ralloc.c functions.
16802
16803 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16804         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
16805         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
16806                 instead of gethostbyname()
16807         * process-unix.c: In unix_canonicalize_host_name() and
16808                 unix_open_network_stream(), add code to use getaddrinfo()
16809                 instead of gethostbyname().
16810
16811 2000-01-27  Daniel Pittman <daniel@danann.net>
16812
16813         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
16814         libs when built with flat Athena.
16815
16816 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16817
16818         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
16819         Use coding standards for function prototypes.
16820
16821 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16822
16823         * dialog-msw.c (push_lisp_string_as_unicode):
16824         * doc.c (unparesseuxify_doc_string):
16825         * dired.c (Fuser_name_completion_1):
16826         * dired.c (Fuser_name_all_completions):
16827         * dired.c (free_user_cache):
16828         * dired.c (user_name_completion):
16829         * console-x.c (get_display_arg_connection):
16830         * minibuf.c (clear_echo_area_internal):
16831         * minibuf.c (echo_area_append):
16832         * eldap.c (Fldap_open):
16833         * eldap.c (Fldap_search_internal):
16834         * frame-x.c (x_set_frame_text_value):
16835         * frame-x.c (x_set_frame_properties):
16836         * frame-x.c (x_create_widgets):
16837         * redisplay-tty.c (term_get_fkeys_1):
16838         * objects-x.c (x_parse_nearest_color):
16839         * objects-x.c (x_valid_color_name_p):
16840         * objects-x.c (x_initialize_font_instance):
16841         * objects-x.c (x_list_fonts):
16842         * objects-x.c (x_find_charset_font):
16843         * tooltalk.c (Fadd_tooltalk_message_arg):
16844         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
16845         * tooltalk.c (Fadd_tooltalk_pattern_arg):
16846         * process-unix.c (unix_create_process):
16847         * ntproc.c (sys_spawnve):
16848         * sound.c (Fplay_sound_file):
16849         * sound.c (Fplay_sound):
16850         * buffer.c (init_initial_directory):
16851         * buffer.c (init_buffer):
16852         * editfns.c (init_editfns):
16853         * editfns.c (Ftemp_directory):
16854         * editfns.c (Fuser_full_name):
16855         * editfns.c (uncache_home_directory):
16856         * editfns.c (get_home_directory):
16857         * editfns.c (Fuser_home_directory):
16858         * editfns.c (Fformat_time_string):
16859         * editfns.c (Fcurrent_time_string):
16860         * gui-x.c (button_item_to_widget_value):
16861         * database.c (Fopen_database):
16862         * event-Xt.c (x_to_emacs_keysym):
16863         * event-Xt.c (x_event_to_emacs_event):
16864         * event-Xt.c (describe_event_window):
16865         * event-msw.c (mswindows_wnd_proc):
16866         * glyphs-eimage.c (jpeg_instantiate):
16867         * glyphs-eimage.c (gif_instantiate):
16868         * glyphs-eimage.c (png_instantiate):
16869         * glyphs-eimage.c (tiff_instantiate):
16870         * glyphs-x.c (xbm_instantiate_1):
16871         * glyphs-x.c (x_xbm_instantiate):
16872         * glyphs-x.c (x_xface_instantiate):
16873         * glyphs-x.c (autodetect_instantiate):
16874         * glyphs-x.c (cursor_font_instantiate):
16875         * glyphs-x.c (x_widget_instantiate):
16876         * glyphs-x.c (x_widget_set_property):
16877         * glyphs-x.c (x_widget_property):
16878         * glyphs-x.c (BUILD_GLYPH_INST):
16879         * print.c (write_string_to_stdio_stream):
16880         * print.c (output_string):
16881         * print.c (Falternate_debugging_output):
16882         * print.c (Fexternal_debugging_output):
16883         * glyphs-msw.c (extract_xpm_color_names):
16884         * glyphs-msw.c (mswindows_xpm_instantiate):
16885         * glyphs-msw.c (bmp_instantiate):
16886         * glyphs-msw.c (resource_name_to_resource):
16887         * glyphs-msw.c (mswindows_resource_instantiate):
16888         * glyphs-msw.c (xbm_instantiate_1):
16889         * glyphs-msw.c (mswindows_xbm_instantiate):
16890         * glyphs-msw.c (mswindows_xface_instantiate):
16891         * glyphs-msw.c (mswindows_widget_instantiate):
16892         * glyphs-msw.c (add_tree_item):
16893         * glyphs-msw.c (add_tab_item):
16894         * glyphs-msw.c (mswindows_combo_box_instantiate):
16895         * glyphs-msw.c (mswindows_widget_property):
16896         * glyphs-msw.c (mswindows_combo_box_property):
16897         * glyphs-msw.c (mswindows_widget_set_property):
16898         * console.c (stuff_buffered_input):
16899         * objects-msw.c (mswindows_initialize_color_instance):
16900         * objects-msw.c (mswindows_valid_color_name_p):
16901         * objects-msw.c (mswindows_list_fonts):
16902         * objects-msw.c (mswindows_font_instance_truename):
16903         * bytecode.c (optimize_compiled_function):
16904         * select-x.c (symbol_to_x_atom):
16905         * select-x.c (x_atom_to_symbol):
16906         * select-x.c (hack_motif_clipboard_selection):
16907         * select-x.c (selection_data_to_lisp_data):
16908         * select-x.c (lisp_data_to_selection_data):
16909         * select-x.c (Fx_get_cutbuffer_internal):
16910         * select-x.c (Fx_store_cutbuffer_internal):
16911         * buffer.h (TO_EXTERNAL_FORMAT): New function.
16912         * buffer.h (TO_INTERNAL_FORMAT): New function.
16913         * emacs.c (make_arg_list_1):
16914         * emacs.c (make_argc_argv):
16915         * emacs.c (main_1):
16916         * emacs.c (Fdump_emacs):
16917         * emacs.c (split_string_by_emchar_1):
16918         * file-coding.h:
16919         * lisp.h:
16920         * lstream.h:
16921         * symsinit.h:
16922         * device-x.c (x_init_device):
16923         * device-x.c (Fx_valid_keysym_name_p):
16924         * device-x.c (Fx_get_font_path):
16925         * device-x.c (Fx_set_font_path):
16926         * glyphs.c (bitmap_to_lisp_data):
16927         * glyphs.c (pixmap_to_lisp_data):
16928         * alloc.c (make_ext_string): Use coding system arguments.  Update
16929         all callers.
16930         * alloc.c (build_string):
16931         * callproc.c (child_setup):
16932         * callproc.c (init_callproc):
16933         * fileio.c (lisp_strerror):
16934         * fileio.c (directory_file_name):
16935         * fileio.c (Fexpand_file_name):
16936         * fileio.c (Ffile_truename):
16937         * fileio.c (Fsysnetunam):
16938         * fileio.c (Fdo_auto_save):
16939         * sysdep.c (sys_readdir):
16940         * tests.c: New file.  Allow adding C tests.
16941         Replace GET_* macros with a more comprehensible and flexible
16942         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
16943         Modify all calls.
16944         Any coding system can be used to do format conversion.
16945         Eliminate enum external_data_format.
16946         Eliminate convert_to_external_format.
16947         Eliminate convert_to_internal_format.
16948         Make sure file-name, keyboard, terminal, and ctext are always
16949         defined as coding systems or aliases.  Make
16950         file-name-coding-system, terminal-coding-system, and
16951         keyboard-coding-system magical variables that are equivalent to
16952         defining the corresponding coding system aliases.
16953
16954         * file-coding.c (Fcoding_system_canonical_name_p): New function.
16955         * file-coding.c (Fcoding_system_alias_p): New function.
16956         * file-coding.c (Fcoding_system_aliasee): New function.
16957         * file-coding.c (append_suffix_to_symbol): New function.
16958         * file-coding.c (dangling_coding_system_alias_p): New function.
16959         * file-coding.c (Ffind_coding_system):
16960         * file-coding.c (Fcopy_coding_system):
16961         * file-coding.c (encode_coding_no_conversion):
16962         * file-coding.c (syms_of_file_coding):
16963         * file-coding.c (vars_of_file_coding):
16964         Rewrite coding system alias code.
16965         Allow nested aliases, like symbolic links.
16966         Allow redefinition of coding system aliases.
16967         Prevent existence of dangling coding system aliases.
16968
16969         * dired.c (Fuser_name_completion_1):
16970         * dired.c (Fuser_name_all_completions):
16971         A crash would happen if user did QUIT in the middle of building
16972         user_name_cache.  Remove redundant code in mainline and unwind_protect.
16973
16974         * lisp.h:
16975         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
16976
16977         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
16978         an unsigned char *.  Update all callers.
16979
16980 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16981
16982         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
16983
16984 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16985
16986         * elhash.c (hentry_description): Use more portable definition.
16987         (resize_hash_table): Initialize new hentries using
16988         xnew_array_and_zero, thereby simplifying the code.
16989
16990         * mule-charset.c (make_charset): Make sure entire object is
16991         initialized, to avoid Purify warnings.
16992
16993         * alloc.c (resize_string): Fix unlikely crash with big strings.
16994
16995 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16996
16997         * realpath.c (xrealpath):
16998         Don't call getwd().
16999
17000 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17001
17002         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17003
17004 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17005
17006         * unexelfsgi.c (unexec): Change the way we decide which segment
17007         should be extended.
17008
17009         Assumption that .bss section should be outside the PT_LOADable
17010         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17011         it's present) is inside the 'data' segment. This would fail the
17012         test which was used to find a segment to grow and cover new
17013         heap. Instead of this assumption, I created another one - on IRIX
17014         the segment to grow should start below .bss and it's address
17015         should extent above the end of .bss. Once this segment is
17016         identified, it's grown to accommodate the new heap and new
17017         zero-length .bss section is added at the end of .data2.
17018
17019 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17020
17021         * eval.c (Feval): Wrong number of arguments should use original
17022         function, not the indirect_function version of it.
17023
17024 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17025
17026         * glyphs-x.c (x_button_instantiate): Don't add image if
17027         it is not a pixmap.
17028         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17029         is relative.
17030
17031 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17032
17033         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17034         declaration.
17035         (DEFVAR_INT_MAGIC): Ditto.
17036         (DEFVAR_BOOL_MAGIC): Ditto.
17037         * glyphs.h: Reindent backslash.
17038
17039 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17040
17041         * glyphs-widget.c (layout_query_geometry):
17042         (layout_layout): Use correct types for gheight, gwidth.
17043
17044 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17045
17046         * EmacsManager.c (QueryGeometry): Purified.
17047
17048 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17049
17050         * alloc.c (make_float): Make sure entire object is initialized, to
17051         avoid Purify warnings.
17052         (pdump_register_sub): Remove useless assignment.
17053         (pdump): Use xmalloc, not malloc.
17054         (pdump_load): Use xmalloc, not malloc.
17055
17056 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17057
17058         * callproc.c:
17059         * dired-msw.c:
17060         * fileio.c:
17061         * process-nt.c:
17062         * redisplay-msw.c:
17063         * sysdep.c: Removed redundant #include <windows.h>
17064
17065 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17066
17067         * frame.c (delete_frame_internal): Do not delete device when its
17068         implementation so declares.
17069         (delete_frame_internal): Set device selected frame to nil when
17070         last frame goes away.
17071
17072         * device-msw.c (msprinter_device_system_metrics): Implemented.
17073         (mswindows_device_system_metrics): Added 'device-dpi property.
17074
17075         * device.c: (Fdevice_printer_p): Added.
17076         Added 'offset-workspace device metric.
17077
17078         * console.h (device_metrics): Declared DM_offset_workspace.
17079
17080 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17081
17082         * fileio.c (Ffile_truename): Remove pointless and confusing
17083         initialization of elen.
17084
17085         * glyphs-widget.c: Compiler warning fixes.
17086
17087 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17088
17089         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17090         instead of a Lisp_Object as argument to make it consistent with
17091         the other LIVE_P macros.
17092         (CHECK_LIVE_PROCESS): New macro.
17093
17094         * process.c: Declare Qprocess_live_p.
17095         (Fprocess_live_p): New function.
17096         (create_process): Use PROCESS_LIVE_P.
17097         (read_process_output): Ditto.
17098         (set_process_filter): Ditto.
17099         (Fdelete_process): Ditto.
17100         (kill_buffer_processes): Ditto
17101         (process_send_signal): Use CHECK_LIVE_PROCESS.
17102         (Fprocess_input_coding_system): Check whether process is still
17103         alive (fix PR#1061).
17104         (Fprocess_output_coding_system): Ditto.
17105         (Fprocess_coding_system): Ditto.
17106         (Fset_process_input_coding_system): Ditto.
17107         (Fset_process_output_coding_system): Ditto.
17108
17109 2000-01-23  Andy Piper  <andy@xemacs.org>
17110
17111         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17112         layout and widget.
17113
17114         * glyphs.c (mark_image_instance): take into account changed
17115         image_instance format.
17116         (image_instance_equal): ditto.
17117         (image_instance_hash): ditto.
17118
17119         * glyphs-widget.c (widget_instantiate): Incorporate layout
17120         instantiation here. Delay layout of the layout until later.
17121         (layout_instantiate): deleted.
17122         (layout_query_geometry): new function. get the geometry of a
17123         layout.
17124         (layout_layout): layout a layout dynamically.
17125         (image_instantiator_widget): New function - splitting up
17126         image_instantiator_format_create_glyphs_widget for netwinder
17127         compilation.
17128         (image_instantiator_buttons):
17129         (image_instantiator_edit_fields):
17130         (image_instantiator_combo_box):
17131         (image_instantiator_scrollbar):
17132         (image_instantiator_progress_guage):
17133         (image_instantiator_tree_view):
17134         (image_instantiator_tab_control):
17135         (image_instantiator_labels):
17136         (image_instantiator_layout): ditto.
17137         (image_instantiator_format_create_glyphs_widget): Call preceding
17138         functions.
17139
17140 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17141
17142         * process.c (Fset_process_coding_system):
17143         * device-x.c (Fx_keysym_hash_table):
17144         Docstring fixes.
17145
17146         * lstream.c (Lstream_write): Return documented value, not 0.
17147
17148         * fileio.c (directory_file_name):
17149         (Fsubstitute_in_file_name):
17150         (Fsubstitute_insert_file_contents_internal):
17151         (Fwrite_region_internal):
17152         * emacs.c:
17153         * sysdep.c:
17154         * getloadavg.c:
17155         * systty.h:
17156         Remove vestigial APOLLO-conditional code.
17157
17158 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17159
17160         * getpagesize.h: Add guard macros.
17161         * libsst.h: Add guard macros.
17162         * libst.h: Add guard macros.
17163         * line-number.h: Add guard macros.
17164         * ndir.h: Add guard macros.
17165         * sysfloat.h: Add guard macros.
17166         * sysfile.h: Add guard macros.
17167         * sysproc.h: Add guard macros.
17168         * syswait.h: Add guard macros.
17169         * xintrinsic.h: Add guard macros.
17170         * xintrinsicp.h: Add guard macros.
17171         * xmmanager.h: Add guard macros.
17172         * xmmanagerp.h: Add guard macros.
17173         * xmprimitive.h: Add guard macros.
17174         * xmu.h: Add guard macros.
17175         * gpmevent.h: Add copyright statement. Add guard macros.
17176         * miscplay.h: Add guard macros.
17177         * *.h: Use consistent C-standards-approved guard macro names.
17178
17179         * opaque.c (make_opaque): Switch parameter order.
17180         * opaque.h (make_opaque): Switch parameter order.
17181         Update all callers.
17182         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17183
17184         * config.h.in (type_checking_assert): Added.
17185         (bufpos_checking_assert): Added.
17186
17187 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17188
17189         * alloc.c: Harmless pdump changes.
17190         - Use countof().
17191         - spell alignment correctly.
17192         * sysdep.c: Use countof()
17193
17194 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17195
17196         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17197         initially_selected_for_input() console method, default to 0.
17198         (semi_canonicalize_console_connection): Try to delegate to
17199         canonicalize_console_connection if no such console method.
17200         (canonicalize_console_connection): Vice versa.
17201         (print_console): Do not print nil connection.
17202
17203         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17204         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17205         (XDEVIMPF_FRAMELESS_OK): Added.
17206         (CONSOLE_INHERITS_METHOD): Added.
17207
17208         * console-msw.c (mswindows_canonicalize_console_connection):
17209         Added.
17210         (mswindows_canonicalize_device_connection): Added.
17211
17212         * console-msw.h (struct msprinter_device): Added this struct and
17213         accessor macros.
17214         (mswindows_device): Made fontlist a lisp object.
17215
17216         * device.c (semi_canonicalize_device_connection):  Try to delegate
17217         to canonicalize_device_connection if no such console method.
17218         (canonicalize_device_connection): Vice versa.
17219         (print_device): Do not print nil connection.
17220
17221         * device-msw.c (mswindows_init_device): Call InitCommonControls
17222         when have widgets.
17223         (mswindows_delete_device): Removed fontlist deallocation.
17224         (mswindows_mark_device): Added.
17225
17226         * events.c (event_equal): Added abort() at unreached code.
17227         (event_hash): Ditto.
17228
17229         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17230         fallback tags of Windows devices.
17231
17232         * general.c (syms_of_general): Initialized Qmsprinter.
17233
17234         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17235         of fallback tags of Windows devices.
17236
17237         * lisp.h: Declared Qmsprinter.
17238
17239         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17240         of strings.
17241         (mswindows_list_fonts): Ditto.
17242         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17243         that it can be used by both mswindows and msprinter devices.
17244         (initialize_font_instance): Added.
17245         (mswindows_initialize_font_instance): Use it.
17246         (msprinter_initialize_font_instance): Added.
17247
17248         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17249         and implementation flags check.
17250         (redisplay_without_hooks): Changed the call to the above.
17251         (Fredraw_device): Ditto.
17252         (Fredisplay_device): Ditto.
17253
17254         * redisplay-msw.c (get_frame_dc): Implemented.
17255         (get_frame_compdc): Implemented.
17256         (many functions): Use the two functions above to get device
17257         contexts, ether for a window or a printer.
17258
17259 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17260
17261         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17262         initialization here.
17263         (init_symbols_once_early): Call it.
17264         * emacs.c (main_1): Call it.
17265         * symsinit.h: Declare it.
17266
17267 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17268
17269         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17270         Lisp_Object.
17271         (pdump_backtrace): Ditto.
17272         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17273         (pdump_get_entry): Abort if trying to register a null pointer.
17274         (pdump_dump_data): Cleanup types when relocating.
17275         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17276         (pdump_dump_rtables): Remove bad casts.
17277         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17278         Lisp_Object instead of a EMACS_INT for the hashtable
17279         reorganization.
17280
17281 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17282
17283         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17284
17285         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17286
17287         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17288
17289         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17290
17291 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17292
17293         * faces.h (FACE_STRIKETHRU_P): Added.
17294
17295         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17296         of font variants.
17297
17298         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17299         (mswindows_set_dc_font): New function, aware of font variants,
17300         separated from mswindows_update_dc.
17301
17302         * objects-msw.h (struct mswindows_font_instance_data): Added
17303         definition.
17304
17305         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17306         cached fonts and the data structure.
17307         (mswindows_initialize_font_instance): Added creation of font data
17308         structure.
17309         (mswindows_print_font_instance): Print at least something.
17310         (mswindows_create_font_variant): Implemented.
17311         (mswindows_get_hfont): Implemented.
17312
17313 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17314
17315         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17316         prototyping problem with msvc.
17317
17318         * emacs.c (main_1): added syms_of_gui_mswindows() call
17319
17320         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17321         syms_of_gui_mswindows() function
17322
17323         * symsinit.h: added the prototype for syms_of_gui_mswindows()
17324
17325 2000-01-18  Martin Buchholz <martin@xemacs.org>
17326
17327         * XEmacs 21.2.27 is released.
17328
17329 2000-01-18  Martin Buchholz  <martin@xemacs.org>
17330
17331         * glyphs-eimage.c (struct tiff_error_struct):
17332         (tiff_error_func):
17333         (tiff_warning_func):
17334         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
17335
17336         * unexmips.c:
17337         * unexhp9k3.c:
17338         * unexfreebsd.c:
17339         * unexec.c: Remove vestigial Lucid C code.
17340         * unexalpha.c:
17341         * unexaix.c:
17342         * termcap.c:
17343         * libsst.c: Ansify.
17344         Remove declarations of errno and strerror().
17345
17346         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
17347
17348         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
17349
17350 2000-01-16  Martin Buchholz  <martin@xemacs.org>
17351
17352         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
17353         Optimize.
17354
17355 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17356
17357         * md5.c:
17358         * file-coding.c:
17359         * file-coding.h:
17360         Change enum eol_type to eol_type_t.
17361
17362 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17363
17364         * gui.c (get_gui_callback): Check cons before accessing car.
17365
17366 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17367
17368         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
17369         (XSETSPECIFIER_TYPE): Ditto.
17370
17371 2000-01-17  Didier Verna  <didier@xemacs.org>
17372
17373         * redisplay.c (generate_fstring_runes): compute string size in
17374         characters, not bytes.
17375
17376 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17377
17378         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
17379
17380 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
17381
17382         * print.c (print_error_message): Call print_prepare().
17383
17384 2000-01-14  Martin Buchholz  <martin@xemacs.org>
17385
17386         * .dbxrc: Renamed from dbxrc.
17387
17388         * events.c (event_to_character):
17389         Use `assert (foo)' instead of `if (!foo) abort()'
17390
17391         * .gdbinit (xtype): Add documentation.
17392         * .gdbinit (check-temacs): New function.
17393         * .gdbinit (check-xemacs): New function.
17394         * dbxrc (check-xemacs): New function.
17395         * dbxrc (check-xemacs): New function.
17396
17397 2000-01-14  Andy Piper  <andy@xemacs.org>
17398
17399         * glyphs-widget.c (widget_query_geometry): Make sure that we
17400         calculate default dimensions correctly.
17401
17402 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17403
17404         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
17405
17406         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
17407         pdump_wire'd variable.
17408
17409         * emacs.c: (main_1): Conditionalized calls to
17410         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
17411
17412 2000-01-13  Martin Buchholz  <martin@xemacs.org>
17413
17414         * window.c (Fset_window_configuration):
17415         * sysdep.c (_start):
17416         * input-method-motif.c (res):
17417         * event-Xt.c (Xt_process_to_emacs_event):
17418         Simple compiler warning fixes.
17419
17420         * bytecode.c (funcall_compiled_function): Use the original
17421         function symbol on the backtrace list in preference to the
17422         compiled_function object in error messages.
17423
17424 2000-01-13  Andy Piper  <andy@xemacs.org>
17425
17426         * glyphs-x.c (update_widget_face): Make sure we update the widget
17427         background as well as foreground.
17428
17429 2000-01-13  Andy Piper  <andy@xemacs.org>
17430
17431         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
17432         fields to subwindow.
17433         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
17434         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
17435         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17436         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17437
17438         * glyphs-widget.c (check_valid_tab_orientation): new function.
17439         (initialize_widget_image_instance): zero orientation and
17440         justification.
17441         (widget_instantiate): pick up orientation.
17442         (tab_control_query_geometry): return appropriate values for
17443         vertical tabs.
17444
17445         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
17446         appropriate creation flags for left, right and bottom tabs.
17447
17448         * s/cygwin32.h: add tab definitions.
17449
17450 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17451
17452         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
17453         frame upon hiding a subwindow.
17454         (mswindows_button_instantiate): Changed the push button style to
17455         BS_PUSHBUTTON.
17456         (mswindows_button_instantiate): Removed button BS_NOTIFY
17457         style.
17458         (mswindows_button_instantiate): Removed redundant check for
17459         a disabled gui item.
17460         (mswindows_button_instantiate): Made use of WS_TABSTOP
17461         consistent: "operable" controls (edit, button, tree, scroll) have
17462         this style, "display-only" ones (static, progress gauge) do
17463         not. This style is currently ignored by XEmacs though. Also,
17464         removed the WS_EX_CONTROLPARENT style - it is not for children,
17465         it is for their parents!
17466         (mswindows_edit_field_instantiate): Ditto.
17467         (mswindows_progress_gauge_instantiate): Ditto.
17468         (mswindows_tree_view_instantiate): Ditto.
17469         (mswindows_tab_control_instantiate): Ditto.
17470         (mswindows_scrollbar_instantiate): Ditto.
17471         (mswindows_combo_box_instantiate): Ditto.
17472         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
17473         style to the "clip" window.
17474         (mswindows_button_instantiate): Removed compilation warning by
17475         equally typing terms of the ?: operator.
17476
17477 2000-01-12  Didier Verna  <didier@xemacs.org>
17478
17479         * redisplay.c (generate_fstring_runes): new parameter holding the
17480         last modeline-format extent.
17481         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
17482         extent, fill the glyph block with it.
17483         (generate_fstring_runes): handle these parameters.
17484         (generate_formatted_string_db): ditto.
17485
17486         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
17487         glyphs'extents in the modeline.
17488
17489 1999-01-11  Mike Woolley  <mike@bulsara.com>
17490
17491         * ntheap.c: Reduced the reserved heap space from 1Gb down to
17492         256Mb, as a workaround for the non-starting problem many people
17493         have experienced.
17494
17495 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17496
17497         * console-tty.c (Fset_console_tty_output_coding_system):
17498         Force redrawing tty frame.
17499
17500 2000-01-10  Didier Verna  <didier@xemacs.org>
17501
17502         * redisplay.c (generate_fstring_runes): fix size computation bug.
17503
17504 2000-01-09  William M. Perry <wmperry@aventail.com>
17505
17506         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
17507
17508 2000-01-09  Andy Piper  <andy@xemacs.org>
17509
17510         * glyphs-msw.c: index -> i to avoid shadows.
17511         (xbm_create_bitmap_from_data): make static.
17512         (check_valid_string_or_int): deleted.
17513         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
17514
17515         * glyphs-x.c (x_update_subwindow): remove unused args.
17516
17517         * glyphs.c (glyph_image_instance): return the thing. Don't set the
17518         back pointer - this is done in allocate_image_instance.
17519         (query_string_font): return Qnil to make the compiler happy.
17520         (unmap_subwindow): set to ~0 to make the compiler happy.
17521         (glyph_query_geometry): comment out until used.
17522         (glyph_layout): ditto.
17523
17524 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17525
17526         * insdel.c (signal_after_change): Remove extraneous unbind_to().