update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2006-04-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * concord.c (Vconcord_ds_hash_table): New variable.
4         (Vconcord_genre_hash_table): New variable.
5         (Fconcord_open_ds): Use Vconcord_ds_hash_table.
6         (Fconcord_ds_directory): New function.
7         (Fconcord_assign_genre): New function.
8         (Fconcord_genre_directory): New function.
9         (Fconcord_genre_ds): New function.
10         (Fconcord_feature_list): Allow to omit `ds'.
11         (Fconcord_make_object): Likewise.
12         (Fconcord_decode_object): Likewise.
13         (Fconcord_foreach_object_in_feature): Likewise.
14         (syms_of_concord): Add new builtin function Fconcord_ds_directory,
15         Fconcord_assign_genre, Fconcord_genre_directory and
16         Fconcord_genre_ds.
17         (vars_of_concord): Setup Vconcord_ds_hash_table and
18         Vconcord_genre_hash_table.
19
20 2006-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
21
22         * concord.c (struct closure_for_each_object): Add new member
23         `ret'.
24         (func_for_each_object): Setup the return value to
25         `for_each_object_closure->ret'.
26         (Fconcord_foreach_object_in_feature): If FUNCTION returns non-nil,
27         returns the value instead of Qt.
28
29 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
30
31         * concord.c: New file.
32
33 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
34
35         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
36         `lrecord_type_concord_object'.
37
38 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
39
40         * symsinit.h (syms_of_concord): New prototype.
41         (vars_of_concord): New prototype.
42
43         * emacs.c (main_1): Setup symbols and variable about concord if
44         HAVE_CONCORD is defined.
45
46         * config.h.in (HAVE_CONCORD): New macro.
47
48 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
49
50         * chartab.c (Fput_char_attribute): For each character relation
51         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
52
53 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
54
55         * chartab.c (Fput_char_attribute): Use
56         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
57         calling `put_char_composition'.
58
59 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
60
61         * chartab.c (Q_halfwidth_of): New variable.
62         (put_char_composition): Return `<-halfwidth' instead of
63         `=decomposition' for compatibility mapping to single character
64         tagged `narrow'.
65         (Fput_char_attribute): Convert char-specs in value of
66         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
67         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
68         for `<-halfwidth'.
69         (syms_of_chartab): Add new symbol `<-halfwidth'.
70
71 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
72
73         * chartab.c (put_char_composition): Return
74         `<-formed@{isolated|initial|medial|final}' for compatibility
75         mapping to single character tagged
76         `{isolated|initial|medial|final}'.
77
78 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
79
80         * chartab.c (Q_compat_of): Deleted.
81         (put_char_composition): Return `<-FOO' for compatibility mapping
82         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
83         of `symbol_name (XSYMBOL(...))'.
84         (Fput_char_attribute): Convert char-specs in value of
85         `{<-|->}font[^*]*' to characters and put reverse links.
86         (Fsave_char_attribute_table): Don't refer Q_compat_of.
87         (syms_of_chartab): Delete builtin symbol `<-compat'.
88
89 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
90
91         * chartab.c (Q_circled_of): New variable.
92         (put_char_composition): Return `<-circled' instead of
93         `=decomposition' for compatibility mapping to single character
94         tagged `circle'.
95         (Fput_char_attribute): Convert char-specs in value of
96         `{<-|->}circled[^*]*' to characters and put reverse links.
97         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
98         for `<-circled'.
99         (syms_of_chartab): Add new symbol `<-circled'.
100
101 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
102
103         * chartab.c (Qto_decomposition_at_circled): New variable.
104         (put_char_composition): Return `=>decomposition@circled' instead
105         of `=decomposition' for compatibility decomposition mapping tagged
106         `circle'.
107         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
108
109 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
110
111         * chartab.c (Q_subscript_of): New variable.
112         (put_char_composition): Return `<-subscript' instead of
113         `=decomposition' for compatibility mapping to single character
114         tagged `sub'.
115         (Fput_char_attribute): Convert char-specs in value of
116         `{<-|->}subscript[^*]*' to characters and put reverse links.
117         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
118         for `<-subscript'.
119         (syms_of_chartab): Add new symbol `<-subscript'.
120
121 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
122
123         * chartab.c (Q_superscript_of): New variable.
124         (put_char_composition): Return `<-superscript' instead of
125         `=decomposition' for compatibility mapping to single character
126         tagged `super'.
127         (Fput_char_attribute): Convert char-specs in value of
128         `{<-|->}superscript[^*]*' to characters and put reverse links.
129         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
130         for `<-superscript'.
131         (syms_of_chartab): Add new symbol `<-superscript'.
132
133 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
134
135         * chartab.c (Qto_decomposition_at_compat): Deleted.
136         (Qto_decomposition_at_superscript): New variable.
137         (put_char_composition): Use `=>decomposition@superscript' instead
138         of `=decomposition' for compatibility decomposition mapping tagged
139         `super'.
140         (Fput_char_attribute): Fix condition about `put_char_composition'.
141         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
142         add news symbol `=>decomposition@superscript'.
143
144 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
145
146         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
147         for compatibility decomposition mapping tagged FOO.
148         (Fput_char_attribute): Modify for `put_char_composition'.
149
150 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
151
152         * chartab.c (Qto_decomposition_at_compat): New variable.
153         (Q_compat_of): Renamed from `Q_compatibility_of'.
154         (put_char_composition): Rename `Q_compatibility_of' to
155         `Q_compat_of'; return `=>decomposition@compat' for compatibility
156         decomposition mapping.
157         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
158         `Q_compat_of'.
159         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
160         `<-compatibility' to `<-compat'.
161
162 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
163
164         * chartab.c (Q_compatibility_of): New variable.
165         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
166         object is proved to be a cons cell; return `<-compatibility' if
167         the first element of argument `value' is `compat'.
168         (Fput_char_attribute): Eliminate the first value if
169         `put_char_composition' returns `<-compatibility'.
170         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
171         for `<-compatibility'.
172         (syms_of_chartab): Add new symbol `<-compatibility'.
173
174 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
175
176         * chartab.c (Q_canonical): New variable.
177         (put_char_composition): Return a feature name: return
178         `->canonical' if argument `value' specifies single character.
179         (Fput_char_attribute): Use `put_char_composition' to determine
180         feature name for `=decomposition' or `->denotational'.
181         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
182         for `->canonical'.
183         (syms_of_chartab): Add new symbol `->canonical'.
184
185 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
186
187         * chartab.c (Qmap_decomposition): New variable.
188         (Fput_char_attribute): Convert `->decomposition' to
189         `=decomposition'.
190         (syms_of_chartab): Add new symbol `=decomposition'.
191
192 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
193
194         * chartab.c (Fget_range_char_table): Fix serious problem when
195         `range' is nil.
196
197 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
198
199         * chartab.c (char_table_get_db): Use `read_from_c_string'.
200
201 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
202
203         * lread.c (read_from_c_string): New function.
204
205         * lisp.h (read_from_c_string): New prototype.
206
207 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
208
209         * chartab.c (Fput_char_attribute): Convert char-specs in value of
210         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
211         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
212         for `{<-|->}Oracle-Bones[^*]*'.
213
214 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
215
216         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
217         (Kizu).
218
219 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
220
221         * text-coding.c (Qccs_priority_list): New variable in XEmacs
222         CHISE.
223         (Fmake_coding_system): Support new property `ccs-priority-list' in
224         XEmacs CHISE.
225         (Fcoding_system_property): Likewise.
226         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
227         Vdefault_coded_charset_priority_list in XEmacs CHISE.
228         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
229         XEmacs CHISE.
230         (complex_vars_of_file_coding): Define new coding-system-property
231         `ccs-priority-list' in XEmacs CHISE.
232
233         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
234
235 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
236
237         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
238         changed to normal function.
239         (encode_char_2): Likewise.
240
241         * mule-charset.c (decoding_table_put_char): Copied from
242         char-ucs.h; changed to normal function.
243         (encode_char_2): Likewise.
244
245 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
246
247         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
248         New extern.
249         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
250         (encode_char_2_search_children): New inline function.
251         (encode_char_2): Refer
252         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
253         and use `encode_char_2_search_children'.
254
255 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
256
257         * mule-charset.c
258         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
259         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
260         (vars_of_mule_charset): Add new variable
261         `display-coded-charset-priority-use-inheritance' and
262         `display-coded-charset-priority-use-hierarchy-order'.
263
264 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
265
266         * char-ucs.h (Q_subsumptive): New extern.
267         (Q_denotational): Likewise.
268         (encode_char_2): Search children specified by `->subsumptive' and
269         `->denotational'.
270
271 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
272
273         * mule-charset.c (complex_vars_of_mule_charset): Modify the
274         X-registry of `ucs-bmp'.
275
276 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
277
278         * chartab.c (char-variants): Refer `->subsumptive',
279         `->denotational' and `->identical' as same as `->ucs-unified'.
280
281 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
282
283         * chartab.c (Fput_char_attribute): Convert char-specs in value of
284         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
285         links.
286
287 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
288
289         * text-coding.c: Add EXFUN for `Fregexp_quote'.
290         (decode_add_er_char): Fix problem about infinite loop when a CCS
291         specified in `coded-charset-entity-reference-alist' is not
292         existed.
293
294 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
295
296         * mule-charset.c (syms_of_mule_charset): Rename
297         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
298
299 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
300
301         * fns.c (simplify_char_spec): Don't allocate new character-object
302         if specified char_spec does not have any CCS-features.
303
304         * chartab.h: Add EXFUN for Fdefine_char.
305
306         * chartab.c: Delete EXFUN for Fdefine_char.
307
308 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
309
310         * fns.c (simplify_char_spec): Use Fdefine_char instead of
311         Ffind_char for char-spec.
312
313 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
314
315         * lisp-disunion.h (XCHARVAL): Fix condition about
316         SIZEOF_EMACS_INT.
317
318 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
319
320         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
321         <int> for `code'.
322         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
323         point; use <Emchar> instead of <int> for character-id.
324
325 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
326
327         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
328         (make_char): Likewise.
329         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
330         environment.
331         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
332         instead of <int> as the type of return value; use <Lisp_Object>
333         instead of <Emchar> as the type of argument.
334         (XCHARVAL[macro version]): Cast the result into <Emchar>.
335
336         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
337         syntaxcode> instead of <int>.
338
339 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
340
341         * chartab.c (put_char_composition): Use DECODE_CHAR to get
342         character corresponding with UCS code point.
343         (Fput_char_attribute): Likewise.
344
345         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
346         character in the UCS decoding-table if the char-id is not equal to
347         the UCS code point.
348
349 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
350
351         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
352         for aliases; write `description'; write
353         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
354         not 0.
355
356 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
357
358         * chartab.c (Fsave_char_attribute_table): Don't use
359         `save_charset_properties'.
360
361         * mule-charset.c (Fsave_charset_properties): Renamed from
362         `save_charset_properties' and changed to Lisp function again;
363         write property `type' as `CCS'; write properties `final-byte' and
364         `mother' if they exists.
365         (syms_of_mule_charset): Revive builtin function
366         `save-charset-properties' when HAVE_LIBCHISE is defined.
367
368 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
369
370         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
371         instead of Vexec_directory.
372         (char_attribute_system_db_file): Likewise.
373
374 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
375
376         * chartab.c (Fsave_char_attribute_table): Use
377         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
378         defined.
379
380         * mule-charset.c (save_charset_properties): Renamed from
381         `Fsave_charset_properties'; changed to non-Lisp function.
382         (syms_of_mule_charset): Abolish builtin function
383         `save-charset-properties'.
384
385 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
386
387         * mule-charset.c (Fsave_charset_properties): New function when
388         HAVE_LIBCHISE is defined.
389         (syms_of_mule_charset): Add new builtin function
390         `save-charset-properties' when HAVE_LIBCHISE is defined.
391
392 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
393
394         * chartab.c (Fput_char_attribute): Convert char-specs in value of
395         `{<-|->}ancient[^*]*' to characters and put reverse links.
396         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
397         for `{<-|->}ancient[^*]*'.
398
399 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
400
401         * chartab.c (Fput_char_attribute): Convert char-specs in value of
402         `{<-|->}original[^*]*' to characters and put reverse links.
403         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
404         for `{<-|->}original[^*]*'.
405
406 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
407
408         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
409
410 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
411
412         * mule-charset.c (Qsystem_char_id): New variable.
413
414         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
415         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
416
417 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
418
419         * chartab.c (Fput_char_attribute): When processing a reference of
420         a character, put into the end of the reversed reference of each
421         target character.
422
423 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
424
425         * chartab.c (Q_same): Deleted.
426         (Q_same_of): Deleted.
427         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
428         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
429         for `{<-|->}same'.
430         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
431
432 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
433
434         * chartab.c (Q_vulgar): Deleted.
435         (Q_vulgar_of): Deleted.
436         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
437         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
438         for `{<-|->}vulgar'.
439         (syms_of_chartab): Don't define `{<-|->}vulgar'.
440
441 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
442
443         * chartab.c (Fput_char_attribute): Convert char-specs in value of
444         `{<-|->}wrong[^*]*' to characters and put reverse links.
445         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
446         for `{<-|->}wrong[^*]*'.
447
448 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
449
450         * chartab.c (Q_vulgar): New variable.
451         (Q_vulgar_of): New variable.
452         (Fput_char_attribute): Convert char-specs in value of
453         `{->|<-}vulgar' to characters and put reverse links.
454         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
455         for `{->|<-}vulgar'.
456         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
457
458 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
459
460         * text-coding.c (decode_add_er_char): Must to quote prefix string
461         as regexp.
462
463 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
464
465         * mule-charset.c (put_char_ccs_code_point): Store characters of
466         =ucs whose code_points >= 0xF0000.
467
468 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
469
470         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
471         CHISE.
472         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
473         CHISE.
474         (complex_vars_of_mule_charset): Add new coded-charset
475         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
476         builtin characters over 0xEFFFF.
477
478         * chartab.c (syms_of_chartab): Don't define symbol
479         `system-char-id' in every case.
480
481         * char-ucs.h (Qsystem_char_id): New extern variable.
482         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
483
484 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
485
486         * text-coding.c (char_encode_utf8): Try to use entity-references
487         for U-000F0000 ...  U-0010FFFF.
488
489 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
490
491         * text-coding.c (ER_BUF_SIZE): New macro.
492         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
493         `er_buf'.
494         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
495         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
496
497 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
498
499         * chartab.c (find_char_feature_in_family): New function.
500         (Fchar_feature): Use `find_char_feature_in_family' with
501         `->identical', `<-subsumptive' and `<-denotational'.
502
503 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
504
505         * text-coding.c (char_encode_as_entity_reference): Allow prefix
506         within 8 characters; fix infinite loop.
507
508 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
509
510         * chartab.c (Q_same): New variable.
511         (Q_same_of): New variable.
512         (Fput_char_attribute): Convert char-specs in value of
513         `{->|<-}same' to characters and put reverse links.
514         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
515         for `{->|<-}same'.
516         (syms_of_chartab): Add new symbols `{->|<-}same'.
517
518 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
519
520         * chartab.c (Q_component): New variable.
521         (Q_component_of): Likewise.
522         (Fput_char_attribute): Convert char-specs in value of
523         `{->|<-}ideographic-component-forms' to characters and put reverse
524         links.
525         (syms_of_chartab): Add new symbols
526         `{->|<-}ideographic-component-forms'.
527
528 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
529
530         * chartab.c (Q_identical): New variable.
531         (Q_identical_from): New variable.
532         (Fchar_feature): Regard `->identical' as a feature to find
533         ancestors.
534         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
535         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
536         for `{->|<-}identical'.
537         (syms_of_chartab): Add new symbols `{->|<-}identical'.
538
539 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
540
541         * char-ucs.h (encode_char_2): New inline function.
542         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
543
544 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
545
546         * chartab.c (Fput_char_attribute): Convert char-specs to
547         characters in value of `ideographic-structure'.
548         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
549         for `{<-|->}simplified(@...)'.
550         (Fdefine_char): Try to use predefined character's id.
551
552 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
553
554         * fns.c (simplify_char_spec): Try to convert builtin chars to
555         defined chars.
556
557 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
558
559         * chartab.c (Fput_char_attribute): Convert char-specs in value of
560         `<-simplified[^*]*' to characters and put reverse links.
561
562 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
563
564         * chartab.c (Q_subsumptive): Renamed from Q_unified.
565         (Q_subsumptive_from): Renamed from Q_unified_from.
566         (Fchar_feature): Use `Q_subsumptive_from' instead of
567         `Q_unified_from'.
568         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
569         `Q_unified'.
570         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
571         `<-unified' to `<-subsumptive'.
572
573 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
574
575         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
576         inheritance itself; fix typo; stop recursive search if cyclic
577         inheritance is found.
578
579 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
580
581         * chartab.c (Q_denotational): New variable.
582         (Q_denotational_from): New variable.
583         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
584         (put_char_attribute): New function.
585         (Fput_char_attribute): Use `put_char_attribute'; regard
586         `->denotational' and `<-denotational' as same as `->unified' and
587         `<-unified'.
588         (syms_of_chartab): Add new symbols `->denotational' and
589         `<-denotational'.
590
591 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
592
593         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
594         `Fget_char_attribute'.
595         (Fchar_variants): Likewise.
596         (get_char_table): Likewise.
597         (Fchar_feature): New function.
598         (put_char_composition): Use `Fchar_feature' instead of
599         `Fget_char_attribute'.
600         (Fput_char_attribute): Likewise; don't put the target character
601         into its `->unified' value.
602         (syms_of_chartab): Add new builtin function `char-feature'.
603
604 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
605
606         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
607         `Fget_char_attribute'.
608         (char_encode_utf8): Likewise.
609
610         * chartab.h: Add an EXFUN for `Fchar_feature'.
611
612 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
613
614         * chartab.c (Vnext_defined_char_id): New variable.
615         (Fput_char_attribute): Accept characters in `->unified'.
616         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
617         new characters which are not related with builtin char-id ranges.
618         (vars_of_chartab): Add new variable `next-defined-char-id'.
619
620 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
621
622         * chartab.c (Q_unified): New variable.
623         (Q_unified_from): New variable.
624         (Fput_char_attribute): Add code for `->unified'.
625         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
626         XEmacs CHISE.
627
628 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
629
630         * mule-charset.c (decode_ccs_conversion): New function.
631         (decode_defined_char): Use `decode_ccs_conversion'.
632         (decode_builtin_char): Likewise.
633
634 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
635
636         * char-ucs.h: Change some charset-ids of private coded-charsets.
637
638 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
639
640         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
641         (char_encode_as_entity_reference): Likewise.
642         (decode_coding_big5): Modify for `decode_defined_char' and
643         `DECODE_CHAR'.
644         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
645         avoid compiler warning.
646         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
647
648         * mule-charset.c (decode_defined_char): Add new argument
649         `without_inheritance'.
650         (Fdecode_char): Add new optional argument `without_inheritance'.
651         (Fdecode_builtin_char): Modify for `Fdecode_char'.
652
653         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
654         (simplify_char_spec): Likewise.
655
656         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
657         setting.
658
659         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
660         (map_char_table): Likewise.
661         (Fdefine_char): Use `Fdecode_char' without inheritance.
662         (Ffind_char): Modify for `Fdecode_char'.
663
664         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
665
666         * char-ucs.h (decode_defined_char): Add new argument
667         `without_inheritance'.
668         (DECODE_CHAR): Likewise.
669         (MAKE_CHAR): Modify for `DECODE_CHAR'.
670
671 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
672
673         * chartab.c (Vchise_system_db_directory): New variable.
674         (vars_of_chartab): Add new variable `chise-system-db-directory'.
675
676 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
677
678         * chartab.c: EXFUN `Fmount_char_attribute_table'.
679         (print_chartab_range): Don't define when `UTF2000' is defined.
680         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
681         `CHISE_DS_open'.
682
683 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
684
685         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
686         and optional argument `rehash' is specified, call
687         `open_chise_data_source_maybe' before
688         `chise_ds_foreach_char_feature_name' is called.
689
690 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
691
692         * chartab.c (char_attribute_list_reset_map_func): New function
693         when HAVE_LIBCHISE is defined.
694         (Fchar_attribute_list): Add new optional argument `rehash' when
695         HAVE_LIBCHISE is defined.
696         (open_chise_data_source_maybe): Use "chise-db" instead of
697         "char-db".
698         (char_attribute_system_db_file): Likewise.
699         (Fload_char_attribute_table): Use
700         `chise_feature_foreach_char_with_value' instead of
701         `chise_char_feature_value_iterate'.
702
703 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
704
705         * chartab.c (Vchise_db_directory): New variable.
706         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
707
708 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
709
710         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
711         instead of HAVE_CHISE to specify using with libchise.
712
713         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
714
715         * chartab.h: Don't use HAVE_CHISE_CLIENT.
716
717         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
718         defined or HAVE_LIBCHISE_LIBCHISE is defined.
719         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
720         is defined.
721         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
722         HAVE_CHISE to specify using with libchise.
723         (syms_of_chartab): Don't define symbol `system-char-id' when
724         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
725
726 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
727
728         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
729         specify CHISE DB support.
730         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
731         of `char_attribute_system_db_file' to check feature DB file.
732
733         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
734         HAVE_CHISE_CLIENT to specify CHISE DB support.
735
736         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
737         specify CHISE DB support.
738         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
739         not defined.
740         (Freset_char_attribute_table): Use `chise_feature_setup_db'
741         instead of `char_attribute_system_db_file' to check feature DB
742         file.
743
744 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
745
746         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
747         `HAVE_CHISE_CLIENT'.
748
749 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
750
751         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
752         (Fsave_charset_mapping_table): Don't use
753         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
754
755         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
756         (HAVE_LIBCHISE): New macro.
757
758         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
759
760         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
761         (Fsave_char_attribute_table): Don't use
762         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
763
764 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
765
766         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
767         defined.
768         (save_uint16_byte_table): Likewise.
769         (save_byte_table): Likewise.
770         (char_table_get_db): Use `chise_ds_load_char_feature_value'
771         instead of `chise_char_load_feature_value'.
772         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
773
774 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
775
776         * chartab.h (struct Lisp_Char_Table): Delete member
777         `feature_table' if CHISE is defined.
778
779         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
780         (Fcopy_char_table): Likewise.
781         (char_table_open_db_maybe): Likewise.
782         (char_table_close_db_maybe): Likewise.
783         (char_table_get_db): Likewise.
784         (Fmount_char_attribute_table): Likewise.
785         (Fload_char_attribute_table): Likewise.
786
787 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
788
789         * mule-charset.c (load_char_decoding_entry_maybe): Use
790         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
791         `chise_ccs_decode'.
792
793 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
794
795         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
796         instead of `chise_open_data_source'.
797         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
798         `chise_ds_close'.
799
800 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
801
802         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
803         instead of `chise_ds_open_feature_table'.
804         (char_table_close_db_maybe): Don't use `chise_ft_close'.
805
806 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
807
808         * mule-charset.c (Fsave_charset_mapping_table): Use
809         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
810         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
811         `chise_ccs_sync' instead of `chise_ccst_close'.
812         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
813
814         * chartab.c (open_chise_data_source_maybe): Modify for
815         `chise_open_data_source'.
816         (char_table_open_db_maybe): Modify for
817         `chise_ds_open_feature_table'.
818
819 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
820
821         * mule-charset.c (load_char_decoding_entry_maybe): Use
822         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
823         `chise_ccst_close'.
824
825 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
826
827         * mule-charset.c (Fsave_charset_mapping_table): Use
828         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
829         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
830         `chise_dt_put_char' and `chise_dt_close'.
831         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
832         `chise_ccs_decode' and `chise_ccst_close' instead of
833         `chise_ds_open_decoding_table', `chise_dt_get_char' and
834         `chise_dt_close'.
835
836         * chartab.c (char_table_get_db): Use
837         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
838         (load_char_attribute_table_map_func): Modify for
839         `chise_char_feature_value_iterate'.
840         (Fload_char_attribute_table): Use
841         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
842
843 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
844
845         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
846
847 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
848
849         * chartab.c (put_char_table): Modify for inherited coded-charsets
850         in XEmacs CHISE.
851
852 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
853
854         * chartab.c (Fput_char_table_map_function): Fixed.
855         (word_boundary_p): Don't check charset in XEmacs CHISE.
856
857 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
858
859         * mule-charset.c (Fsave_charset_mapping_table): Use
860         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
861         instead of `chise_open_decoding_table'; refer
862         `default_chise_data_source'; use `chise_dt_close' instead of
863         `chise_close_decoding_table'.
864         (load_char_decoding_entry_maybe): Likewise.
865
866         * chartab.c (default_chise_data_source): New variable when `CHISE'
867         is defined.
868         (Fcopy_char_table): `ct->ds' is deleted.
869         (open_chise_data_source_maybe): New function.
870         (Fclose_char_data_source): New function.
871         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
872         use `chise_ds_open_feature_table' instead of
873         `chise_open_feature_table'.
874         (char_table_close_db_maybe): Use `chise_ft_close' instead of
875         `chise_close_feature_table'; `cit->ds' is deleted.
876         (syms_of_chartab): Add new builtin function
877         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
878
879         * chartab.h (default_chise_data_source): New extern variable.
880         (open_chise_data_source_maybe): New prototype.
881         (struct Lisp_Char_Table): Delete `ds'.
882
883 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
884
885         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
886         `CHISE' is defined.
887
888 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
889
890         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
891         not defined; add code for non-libchise setting.
892         (char_table_close_db_maybe): Likewise.
893         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
894         defined.
895         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
896         even if `CHISE' is not defined.
897         (Freset_char_attribute_table): Likewise.
898         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
899         `char_table_close_db_maybe' even if `CHISE' is not defined; use
900         `char_table_get_db'.
901         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
902         `char_table_close_db_maybe' even if `CHISE' is not defined.
903
904 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
905
906         * chartab.c (char_table_open_db_maybe): New function.
907         (char_table_close_db_maybe): New function.
908         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
909         (Freset_char_attribute_table): Likewise.
910         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
911         `char_table_close_db_maybe'.
912         (Fload_char_attribute_table): Likewise.
913
914 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
915
916         * chartab.c: Don't include <chise.h> because it is included in
917         chartab.h.
918         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
919         defined.
920         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
921         `CHISE' is defined.
922         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
923         `CHISE' is defined.
924         (Fclose_char_attribute_table): Close `ct->feature_table' and
925         `ct->ds' when `CHISE' is defined.
926         (Freset_char_attribute_table): Likewise.
927         (load_char_attribute_maybe): Use `cit->ds' and
928         `cit->feature_table' when `CHISE' is defined.
929         (Fload_char_attribute_table): Likewise.
930
931         * chartab.h: Include <chise.h> when `CHISE' is defined.
932         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
933         when `CHISE' is defined.
934
935 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
936
937         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
938         is defined.
939         (char_table_description): Likewise.
940         (Fmake_char_table): Likewise.
941         (Fcopy_char_table): Likewise.
942         (Fmount_char_attribute_table): Likewise.
943         (Fclose_char_attribute_table): Likewise.
944         (Freset_char_attribute_table): Likewise.
945         (load_char_attribute_maybe): Likewise.
946         (Fload_char_attribute_table): Likewise.
947
948         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
949         defined.
950
951 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
952
953         * chartab.c (load_char_attribute_table_map_func): New function
954         when CHISE is defined.
955         (Qload_char_attribute_table_map_function): Don't define when CHISE
956         is defined.
957         (Fload_char_attribute_table_map_function): Likewise.
958         (Fload_char_attribute_table): Use libchise when `CHISE' is
959         defined.
960         (syms_of_chartab): Don't define
961         `load-char-attribute-table-map-function' when CHISE is defined.
962
963 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
964
965         * chartab.c: Include <chise.h> when `CHISE' is defined.
966         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
967
968 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
969
970         * mule-charset.c (charset_code_point): Fix problem when searching
971         in mother CCS fails with `defined_only' mode.
972
973 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
974
975         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
976         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
977         (put_char_composition): Likewise.
978         (Fput_char_attribute): Likewise.
979         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
980
981 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
982
983         * chartab.c (Q_ucs): Deleted.
984         (Fput_char_attribute): Don't refer `->ucs'.
985         (Fdefine_char): Likewise.
986         (Ffind_char): Likewise.
987         (syms_of_chartab): Delete `->ucs'.
988
989 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
990
991         * mule-charset.c (Qmap_cns11643_2): Renamed from
992         `Qchinese_cns11643_2'.
993         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
994         `chinese-cns11643-2'.
995         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
996         `=cns11643-2'.
997
998 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
999
1000         * mule-charset.c (Qmap_cns11643_1): Renamed from
1001         `Qchinese_cns11643_1'.
1002         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
1003         `chinese-cns11643-1'.
1004         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
1005         `=cns11643-1'.
1006
1007 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1008
1009         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
1010         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
1011         `chinese-gb12345'.
1012         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
1013         `=gb12345'.
1014
1015 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1016
1017         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
1018         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
1019         `chinese-gb2312'.
1020         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
1021         `=gb2312'.
1022
1023 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1024
1025         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
1026         (syms_of_mule_charset): Add new symbol `=big5' instead of
1027         `chinese-big5'.
1028         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1029
1030 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1031
1032         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1033         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1034         `korean-ksc5601'.
1035         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1036         `=ks-x1001'.
1037
1038 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1039
1040         * mule-charset.c (Qmap_jis_x0212): Renamed from
1041         `Qjapanese_jisx0212'.
1042         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1043         `japanese-jisx0212'.
1044         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1045         `=jis-x0212'.
1046
1047 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1048
1049         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1050         `Qjapanese_jisx0208'.
1051         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1052         of `japanese-jisx0208'.
1053         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1054         `=jis-x0208-1983'.
1055
1056 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1057
1058         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1059         `Qjapanese_jisx0208_1978'.
1060         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1061         of `japanese-jisx0208-1978'.
1062         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1063         `=jis-x0208-1978'.
1064
1065 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1066
1067         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1068         only for XEmacs CHISE.
1069
1070 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1071
1072         * char-ucs.h: Compact non-ISO-IR charset-ids.
1073         (LEADING_BYTE_UCS): Changed to -177.
1074         (LEADING_BYTE_CONTROL_1): Changed to -77.
1075         (LEADING_BYTE_UCS_BMP): Changed to -176.
1076         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1077
1078 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1079
1080         * mule-charset.c (Qiso_ir): New variable.
1081         (Fmake_charset): Recognise new property `iso-ir'.
1082         (syms_of_mule_charset): Add new symbol `iso-ir'.
1083
1084 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1085
1086         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1087         n to -n; charset-id of non ISO-IR sets are changed to positive
1088         numbers.
1089
1090 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1091
1092         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1093         for &MCS-XXXXXXXX; values.
1094
1095 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1096
1097         * mule.c (Vxemacs_chise_version): Renamed from
1098         `Vutf_2000_version'.
1099         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1100         `utf-2000-version' as an alias for `xemacs-chise-version'.
1101
1102 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1103
1104         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1105         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1106         defined.
1107
1108         * config.h.in (CHISE): New macro.
1109
1110 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1111
1112         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1113         of `ucs'.
1114         (Qmap_ucs): New variable.
1115         (syms_of_mule_charset): Add new symbol `=ucs'.
1116         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1117
1118         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1119         (simplify_char_spec): Likewise.
1120
1121         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1122
1123         * char-ucs.h (Qmap_ucs): New extern variable.
1124
1125 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1126
1127         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1128         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1129         don't define it when UTF2000 is not defined.
1130         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1131         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1132         when UTF2000 is not defined.
1133         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1134         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1135
1136 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1137
1138         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1139
1140         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1141         (Qucs_gb): Deleted.
1142         (syms_of_mule_charset): Delete `ucs-gb'.
1143         (complex_vars_of_mule_charset): Likewise.
1144
1145 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1146
1147         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1148
1149         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1150         (Qucs_cns): Deleted.
1151         (syms_of_mule_charset): Delete `ucs-cns'.
1152         (complex_vars_of_mule_charset): Likewise.
1153
1154 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1155
1156         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1157
1158         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1159         (Qucs_jis): Deleted.
1160         (syms_of_mule_charset): Delete `ucs-jis'.
1161         (complex_vars_of_mule_charset): Likewise.
1162
1163 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1164
1165         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1166
1167         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1168         (Qucs_ks): Deleted.
1169         (syms_of_mule_charset): Delete `ucs-ks'.
1170         (complex_vars_of_mule_charset): Likewise.
1171
1172 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1173
1174         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1175         (Qideograph_daikanwa_2): Deleted.
1176         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1177         (complex_vars_of_mule_charset): Likewise.
1178
1179         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1180         (LEADING_BYTE_DAIKANWA_1): Deleted.
1181         (LEADING_BYTE_DAIKANWA_2): Deleted.
1182         (MIN_CHAR_DAIKANWA): Deleted.
1183         (MAX_CHAR_DAIKANWA): Deleted.
1184
1185 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1186
1187         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1188         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1189         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1190
1191         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1192         (Vcharset_ideograph_daikanwa): Deleted.
1193         (Qideograph_hanziku_{1..12}): Deleted.
1194         (Qideograph_daikanwa): Deleted.
1195         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1196         Vcharset_ideograph_daikanwa.
1197         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1198         `ideograph-hanziku-{1..12}'.
1199         (complex_vars_of_mule_charset): Likewise.
1200
1201 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1202
1203         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1204
1205         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1206         (Qideograph_gt_pj_{1..11}): Deleted.
1207         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1208         (complex_vars_of_mule_charset): Likewise.
1209
1210 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1211
1212         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1213         (Vcharset_ideograph_gt): Deleted.
1214         (Qucs_big5): Deleted.
1215         (Qideograph_gt): Deleted.
1216         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1217         `ideograph-gt'.
1218         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1219         and `ideograph-gt'.
1220
1221         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1222         (LEADING_BYTE_GT): Deleted.
1223         (MIN_CHAR_GT): Deleted.
1224         (MAX_CHAR_GT): Deleted.
1225
1226 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1227
1228         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1229
1230 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1231
1232         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1233         (save_uint16_byte_table): Likewise.
1234         (save_byte_table): Likewise; convert values by it.
1235         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1236         for `ideographic-structure'.
1237         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1238         as the filter for `ideographic-structure'.
1239
1240 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1241
1242         * chartab.c (put_char_composition): New function.
1243         (Fput_char_attribute): Use `put_char_composition'; use
1244         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1245
1246         * fns.c (simplify_char_spec): New function.
1247         (char_ref_simplify_spec): New function.
1248         (Fchar_refs_simplify_char_specs): New function.
1249         (syms_of_fns): Add new builtin function
1250         `char-refs-simplify-char-specs'.
1251
1252 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1253
1254         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1255         (Qideograph_cbeta): Deleted.
1256         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1257         (complex_vars_of_mule_charset): Likewise.
1258
1259         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1260         (MIN_CHAR_CBETA): Comment out.
1261         (MAX_CHAR_CBETA): Likewise.
1262
1263 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1264
1265         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1266         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1267         CHISE client feature.
1268
1269 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1270
1271         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1272
1273 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1274
1275         * mule-charset.c (charset_lookup_description_1): Use
1276         `NUM_LEADING_BYTES' in UTF-2000.
1277
1278 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1279
1280         * char-ucs.h (GC_CHARSETP): Deleted.
1281
1282 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1283
1284         * char-ucs.h (MAX_CHAR_GT): Updated.
1285
1286 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1287
1288         * text-coding.c: Sync with XEmacs 21.4.10.
1289
1290 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1291
1292         * mule-charset.c (Vcharset_china3_jef): Deleted.
1293         (Qchina3_jef): Deleted.
1294         (syms_of_mule_charset): Don't define `china3-jef'.
1295         (complex_vars_of_mule_charset): Likewise.
1296
1297         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1298         (MIN_CHAR_CHINA3_JEF): Comment out.
1299         (MAX_CHAR_CHINA3_JEF): Comment out.
1300
1301 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1302
1303         * mule-charset.c (Vcharset_ucs_gb): New variable.
1304         (Qucs_gb): New variable.
1305         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1306         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1307
1308         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1309
1310 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1311
1312         * mule-charset.c (charset_code_point): if a coded-charset has a
1313         final-byte, don't inherit the builtin range of the mother CCS.
1314
1315 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1316
1317         * mule-charset.c (charset_code_point): Fix problem about
1318         inheritance.
1319
1320 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1321
1322         * mule-charset.c (decode_builtin_char): Reorganized.
1323
1324 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1325
1326         * text-coding.c (char_encode_as_entity_reference): Modify for
1327         `charset_code_point'.
1328         (char_encode_shift_jis): Likewise.
1329         (char_encode_big5): Likewise.
1330         (char_encode_utf8): Likewise.
1331         (char_encode_iso2022): Likewise.
1332
1333         * mule-charset.c (charset_code_point): Add new argument
1334         `defined_only'.
1335         (Fencode_char): Add new optional argument `defined_only'.
1336
1337         * chartab.c (put_char_table): Modify for `charset_code_point'.
1338
1339         * char-ucs.h (charset_code_point): Add new argument
1340         `defined_only'.
1341         (encode_char_1): Modify for `charset_code_point'.
1342
1343 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1344
1345         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1346         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1347
1348 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1349
1350         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1351         (Qjis_x0208): Likewise.
1352         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1353         XCHARSET_FINAL(charset).
1354         (charset_code_point): Modify condition for final-byte based
1355         builtin-chars.
1356         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1357         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1358         in UTF-2000; specify `=jis-x0208' as the mother of
1359         `japanese-jisx0208-1978', `japanese-jisx0208' and
1360         `japanese-jisx0208-1990' in UTF-2000.
1361
1362 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1363
1364         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1365
1366 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1367
1368         * text-coding.c (decode_coding_utf16): Support UTF-16.
1369         (char_encode_utf16): Fixed.
1370
1371 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1372
1373         * text-coding.c (Qutf16): New variable in MULE.
1374         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1375         (Fcoding_system_type): Add `utf-16' in MULE.
1376         (struct detection_state): Add a structure for utf16 in MULE.
1377         (detect_coding_type): Setup st->utf16.mask in MULE.
1378         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1379         MULE.
1380         (reset_encoding_stream): Use `char_encode_utf16' and
1381         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1382         (detect_coding_utf16): New function [incomplete].
1383         (decode_coding_utf16): New function [support only UCS-2].
1384         (char_encode_utf16): New function.
1385         (char_finish_utf16): New function.
1386         (syms_of_file_coding): Add new symbol `utf-16'; setup
1387         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1388
1389         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1390         UTF-2000.
1391         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1392         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1393
1394 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1395
1396         * chartab.c (put_char_table): When a charset is specified as a
1397         range in UTF-2000, don't support builtin characters.
1398
1399 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1400
1401         * mule-charset.c (decode_defined_char): Don't refer external
1402         database if Qunbound or Qnil are found.
1403         (Fsave_charset_mapping_table): Don't define it if
1404         HAVE_CHISE_CLIENT is not defined.
1405         (Freset_charset_mapping_table): New function.
1406         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1407         found in external database.
1408         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1409         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1410         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1411
1412 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1413
1414         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1415         not.
1416
1417 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1418
1419         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1420         Q_lowercase, Q_uppercase in UTF-2000.
1421
1422         * chartab.c (get_char_table): Add special code for the standard
1423         case table to use character attribute `->downcase' and
1424         `->uppercase' for case operations in UTF-2000.
1425
1426         * casetab.c (Qflippedcase): New variable in UTF-2000.
1427         (Q_lowercase): Likewise.
1428         (Q_uppercase): Likewise.
1429         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1430         and `->uppercase' in UTF-2000.
1431         (complex_vars_of_casetab): Assign attribute name `downcase' to
1432         downcase and CANON table of Vstandard_case_table in UTF-2000;
1433         assign attribute name `flippedcase' to upcase and EQV table of
1434         Vstandard_case_table in UTF-2000.
1435
1436 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1437
1438         * text-coding.c (decode_add_er_char): Support isolated-chars.
1439         (char_encode_as_entity_reference): Likewise.
1440
1441 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1442
1443         * emacs.c (Vutf_2000_lisp_directory): New variable.
1444         (Vconfigure_utf_2000_lisp_directory): Likewise.
1445         (complex_vars_of_emacs): Add new variable
1446         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1447
1448 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1449
1450         * char-ucs.h (DECODE_CHAR): Delete special code for
1451         `chinese-big5-1' and `chinese-big5-2'.
1452
1453         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1454         (Qbig5_2): Likewise.
1455         (decode_defined_char): Support CONVERSION_BIG5_1 and
1456         CONVERSION_BIG5_2.
1457         (decode_builtin_char): Likewise.
1458         (charset_code_point): Likewise.
1459         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1460         'conversion in UTF-2000.
1461         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1462         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1463         `chinese-big5-2' as children of `chinese-big5'.
1464
1465         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1466         (CONVERSION_BIG5_2): New macro.
1467
1468 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1469
1470         * text-coding.c (char_encode_big5): Support entity-reference.
1471
1472 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1473
1474         * text-coding.c (char_encode_as_entity_reference): New function.
1475         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1476
1477 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1478
1479         * text-coding.c (decode_coding_big5): Support entity-reference
1480         decoding feature.
1481
1482 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1483
1484         * text-coding.c (allocate_coding_system): Initialize initial
1485         charsets for CODESYS_UTF8.
1486         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1487         charset-g2 for CODESYS_UTF8.
1488         (decode_coding_utf8): Use charset-g0.
1489         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1490         to force variants to map to UCS.
1491
1492 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1493
1494         * text-coding.c (Qutf_8_mcs): New variable.
1495         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1496         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1497         instead of `utf-8' in UTF-2000.
1498
1499 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1500
1501         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1502         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1503         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1504         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1505         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1506         CONVERSION_96x96x96x96 are introduced.
1507         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1508         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1509         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1510
1511         * char-ucs.h (CONVERSION_94): New macro.
1512         (CONVERSION_96): New macro.
1513         (CONVERSION_94x94): New macro.
1514         (CONVERSION_96x96): New macro.
1515         (CONVERSION_94x94x94): New macro.
1516         (CONVERSION_96x96x96): New macro.
1517         (CONVERSION_94x94x94x60): New macro.
1518         (CONVERSION_94x94x94x94): New macro.
1519         (CONVERSION_96x96x96x96): New macro.
1520
1521 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1522
1523         * chartab.c (Vcharacter_variant_table): Deleted.
1524         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1525         of `Vcharacter_variant_table'.
1526         (Fput_char_attribute): Likewise.
1527         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1528         (complex_vars_of_chartab): Likewise.
1529
1530 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1531
1532         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1533
1534         * fns.c (Qideographic_structure): New variable.
1535         (Qkeyword_char): New variable.
1536         (ids_format_unit): New function.
1537         (Fideographic_structure_to_ids): New function.
1538         (syms_of_fns): Add new symbols `ideographic-structure' and
1539         `:char'; add new builtin function `ideographic-structure-to-ids'.
1540
1541         * data.c (Fchar_ref_p): New function.
1542         (syms_of_data): Add new builtin function `char-ref-p'.
1543
1544         * chartab.h: Add an EXFUN for `Ffind_char'.
1545
1546 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1547
1548         * text-coding.c (Vcharacter_composition_table): Deleted.
1549         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1550         in every UTF-2000.
1551
1552         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1553         UTF-2000.
1554         (Vcharacter_composition_table): Deleted.
1555         (Fget_composite_char): Use the implementation for external-DB
1556         support in every UTF-2000.
1557         (Fput_char_attribute): Likewise.
1558         (char_attribute_system_db_file): Don't define if external-DB
1559         feature is not available.
1560         (Fsave_char_attribute_table): Likewise.
1561         (Fmount_char_attribute_table): Likewise.
1562         (Fclose_char_attribute_table): Likewise.
1563         (Freset_char_attribute_table): Likewise.
1564         (Fload_char_attribute_table): Likewise.
1565         (syms_of_chartab): Don't define `save-char-attribute-table',
1566         `mount-char-attribute-table', `reset-char-attribute-table',
1567         `close-char-attribute-table' and `load-char-attribute-table' if
1568         external-DB feature is not available.
1569         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1570
1571 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1572
1573         * text-coding.c (Qcomposition): Add extern if external-DB feature
1574         is supported.
1575         (Vcharacter_composition_table): Don't add extern if external-DB
1576         feature is supported.
1577         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1578         character composition rule if external-DB feature is supported.
1579
1580         * chartab.c (Vcharacter_composition_table): Don't define if
1581         external-DB feature is supported.
1582         (Qcomposition): New variable.
1583         (Fget_composite_char): New implementation for external-DB support.
1584         (Fput_char_attribute): Use `composition' property of each
1585         character instead of `Vcharacter_composition_table' to store
1586         character-composition rules if external-DB feature is supported.
1587         (syms_of_chartab): Add new symbol `composition'.
1588         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1589         external-DB feature is supported.
1590
1591 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1592
1593         * chartab.c (Vchar_db_stingy_mode): New variable.
1594         (load_char_attribute_maybe): Close database if
1595         Vchar_db_stingy_mode is not NIL.
1596         (Fload_char_attribute_table_map_function): Use
1597         `get_char_id_table_0' instead of `get_char_id_table'.
1598         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1599
1600         * chartab.h (get_char_id_table_0): New inline function.
1601         (get_char_id_table): Use `get_char_id_table_0'.
1602
1603 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1604
1605         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1606         and `COMPOSE_ADD_CHAR'.
1607         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1608
1609 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1610
1611         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1612         instead of `DECODE_ADD_UCS_CHAR'.
1613         (COMPOSE_ADD_CHAR): Likewise.
1614
1615 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1616
1617         * text-coding.c (decode_flush_er_chars): New inline function.
1618         (decode_add_er_char): New function.
1619         (decode_coding_utf8): Use `decode_flush_er_chars' and
1620         `decode_add_er_char'.
1621
1622 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1623
1624         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1625         done before `decode_output_utf8_partial_char'.
1626
1627         * mule-charset.c (complex_vars_of_mule_charset): Specify
1628         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1629         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1630
1631 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1632
1633         * mule-charset.c (decode_defined_char): New function; search
1634         mother.
1635         (decode_builtin_char): Don't search mother if
1636         XCHARSET_MAX_CODE(charset) == 0.
1637         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1638         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1639         (Fdecode_char): Use `decode_defined_char' instead of
1640         `DECODE_DEFINED_CHAR'.
1641         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1642         mother of `Vcharset_ucs_jis'.
1643
1644         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1645         instead of `DECODE_DEFINED_CHAR'.
1646
1647         * char-ucs.h (decode_defined_char): Renamed from
1648         `DECODE_DEFINED_CHAR'; changed to normal function.
1649         (DECODE_CHAR): Use `decode_defined_char' instead of
1650         `DECODE_DEFINED_CHAR'.
1651
1652         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1653
1654 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1655
1656         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1657
1658         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1659         variable.
1660         (Quse_entity_reference): New variable.
1661         (Qd): New variable.
1662         (Qx): New variable.
1663         (QX): New variable.
1664         (coding_system_description): Add description for
1665         `ccs_priority_list'.
1666         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1667         (allocate_coding_system): Initialize `ccs_priority_list' in
1668         UTF-2000.
1669         (Fmake_coding_system): Add description about
1670         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1671         (codesys).
1672         (Fcoding_system_property): Accept `disable-composition' and
1673         `use-entity-reference' in UTF-2000.
1674         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1675         in UTF-2000.
1676         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1677         (decode_coding_utf8): Decode entity-reference if
1678         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1679         (char_encode_utf8): Encode non-Unicode characters as
1680         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1681         (str->codesys).
1682         (syms_of_file_coding): Add new symbols `use-entity-reference',
1683         `d', `x', `X'.
1684         (vars_of_file_coding): Add new variable
1685         `coded-charset-entity-reference-alist'.
1686         (complex_vars_of_file_coding): Declare `disable-composition' and
1687         `use-entity-reference' to be coding-system-properties in UTF-2000.
1688
1689         * file-coding.h (struct Lisp_Coding_System): Add new member
1690         `use_entity_reference' and `ccs_priority_list'.
1691         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1692         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1693         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1694
1695 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1696
1697         * chartab.c (save_uint8_byte_table): Don't clear the table.
1698         (save_uint16_byte_table): Likewise.
1699         (save_byte_table): Likewise.
1700         (Fmount_char_attribute_table): New function.
1701         (syms_of_chartab): Add new builtin function
1702         `mount-char-attribute-table'.
1703
1704 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1705
1706         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1707         "w+" mode.
1708         (load_char_decoding_entry_maybe): Open database as read-only mode.
1709
1710         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1711         open database as "w+" mode.
1712         (load_char_attribute_maybe): Open database as read-only mode.
1713         (Fload_char_attribute_table): Likewise.
1714
1715 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1716
1717         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1718         (char_table_description): Delete member `db_file'.
1719         (Fmake_char_table): Don't refer `ct->db_file'.
1720         (Fcopy_char_table): Likewise.
1721         (Fsave_char_attribute_table): Likewise.
1722         (Fclose_char_attribute_table): Likewise.
1723         (Freset_char_attribute_table): Likewise.
1724         (load_char_attribute_maybe): Likewise.
1725         (Fload_char_attribute_table): Likewise.
1726
1727         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1728
1729 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1730
1731         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1732         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1733         `ct->db' is living.
1734         (load_char_attribute_maybe): Likewise.
1735         (Fload_char_attribute_table): Likewise.
1736
1737 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1738
1739         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1740         `ct->db_file' unconditionally.
1741
1742 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1743
1744         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1745         UTF-2000.
1746         (char_table_description): Add description for `db_file' and `db'
1747         in UTF-2000.
1748         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1749         UTF-2000.
1750         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1751         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1752         (Fclose_char_attribute_table): New function.
1753         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1754         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1755         and `cit->db'.
1756         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1757         (syms_of_chartab): Add new builtin function
1758         `Fclose_char_attribute_table'.
1759
1760 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1761
1762         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1763         `db' in UTF-2000.
1764         (load_char_attribute_maybe): Change interface.
1765         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1766
1767 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1768
1769         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1770
1771 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1772
1773         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1774         instead of `DECODE_CHAR' for mother; don't use special code for
1775         chinese-big5 to use code space of chinese-big5-1 and
1776         chinese-big5-2.
1777         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1778         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1779
1780         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1781         (MAX_CHAR_BIG5_CDP): Revival.
1782
1783 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1784
1785         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1786         the XLFD registry-encoding name of `chinese-big5'.
1787
1788 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1789
1790         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1791         (Qchinese_big5_cdp): Deleted.
1792         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1793         (complex_vars_of_mule_charset): Delete coded-charset
1794         `chinese-big5-cdp'.
1795
1796         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1797         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1798         `CHARSET_ID_OFFSET - n' for private CCS.
1799         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1800         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1801         of `MIN_LEADING_BYTE'.
1802         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1803         `(CHARSET_ID_OFFSET - 97)'.
1804         (MIN_CHAR_BIG5_CDP): Deleted.
1805         (MAX_CHAR_BIG5_CDP): Deleted.
1806
1807 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1808
1809         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1810
1811 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1812
1813         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1814         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1815         chartab.c].
1816
1817         * chartab.c (Vutf_2000_version): Moved to mule.c.
1818         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1819
1820 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1821
1822         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1823         when HAVE_CHISE_CLIENT is not defined.
1824
1825         * mule.c (vars_of_mule): Provide feature `chise' when
1826         HAVE_CHISE_CLIENT is defined.
1827
1828 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1829
1830         * config.h.in (UTF2000): Add comment.
1831         (HAVE_CHISE_CLIENT): New macro.
1832
1833 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1834
1835         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1836         CONSP.
1837         (Fput_char_attribute): Likewise.
1838         (char_attribute_system_db_file): Encode file-name of attribute.
1839         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1840         the initial value.
1841
1842 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1843
1844         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1845         (Fsave_charset_mapping_table): Use
1846         `char_attribute_system_db_file'.
1847         (load_char_decoding_entry_maybe): Likewise.
1848
1849         * chartab.h (Qsystem_char_id): New external variable.
1850         (char_attribute_system_db_file): New prototype.
1851
1852         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1853         (char_attribute_system_db_file): New function.
1854         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1855         (Freset_char_attribute_table): Likewise.
1856         (load_char_attribute_maybe): Likewise.
1857         (Fload_char_attribute_table): Likewise.
1858         (syms_of_chartab): Add new symbol `system-char-id'.
1859
1860 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1861
1862         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1863         `XCHARSET_GRAPHIC(ccs)'.
1864
1865 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1866
1867         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1868
1869 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1870
1871         * chartab.c (Q_ucs_variants): New variable.
1872         (syms_of_chartab): Add new symbol `->ucs-variants'.
1873         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1874         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1875         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1876
1877         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1878
1879         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1880         `HAVE_DATABASE' is defined.
1881         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1882         `HAVE_DATABASE' is defined.
1883
1884 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1885
1886         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1887         attribute-table.
1888         (Freset_char_attribute_table): New function.
1889         (syms_of_chartab): Add new builtin function
1890         `reset-char-attribute-table'.
1891
1892 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1893
1894         * chartab.c (load_char_attribute_maybe): Don't make directories.
1895
1896 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1897
1898         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1899
1900         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1901         for decoding-table.
1902
1903 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1904
1905         * mule-charset.c (Fsave_charset_mapping_table): Use
1906         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1907
1908         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1909         instead of `XCHARSET_CHARS'.
1910
1911 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1912
1913         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1914         (XCHARSET_BYTE_SIZE): Likewise.
1915
1916         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1917         mule-charset.c].
1918         (XCHARSET_BYTE_SIZE): Likewise.
1919
1920 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1921
1922         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1923         data-directory to store database.
1924         (Fsave_char_attribute_table): Likewise.
1925         (load_char_attribute_maybe): Likewise.
1926         (Fload_char_attribute_table): Likewise.
1927
1928 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1929
1930         * mule-charset.c (Fsave_charset_mapping_table): New function.
1931         (syms_of_mule_charset): Add new builtin function
1932         `save-charset-mapping-table'.
1933
1934 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1935
1936         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1937         (get_ccs_octet_table): New inline function.
1938         (put_ccs_octet_table): Likewise.
1939         (decoding_table_put_char): Use `get_ccs_octet_table' and
1940         `put_ccs_octet_table'.
1941         (decoding_table_remove_char): Use `decoding_table_put_char'.
1942         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1943
1944         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1945         into encoding_table.
1946         (make_charset): Use Qunbound instead Qnil as initial value of
1947         decoding_table.
1948
1949 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1950
1951         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1952         element is Qunloaded.
1953         (map_over_uint16_byte_table): Likewise.
1954         (map_over_byte_table): Likewise.
1955         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1956         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1957         database support, load encoding-table of the specified
1958         coded-charset if it is not loaded yet.
1959         (save_uint8_byte_table): New function of UTF-2000 with external
1960         database support.
1961         (save_uint16_byte_table): Likewise.
1962         (save_byte_table): Likewise.
1963         (Fput_char_attribute): Don't store value into external database
1964         even if the external database feature is supported in UTF-2000;
1965         set `attribute' as name of char-table if the external database
1966         feature is supported.
1967         (Fsave_char_attribute_table): New function in UTF-2000.
1968         (syms_of_chartab): Add new builtin function
1969         `save-char-attribute-table' in UTF-2000.
1970
1971 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1972
1973         * chartab.c (char_attribute_table_to_put): New variable in
1974         UTF-2000.
1975         (Qput_char_table_map_function): Likewise.
1976         (value_to_put): Likewise.
1977         (Fput_char_table_map_function): New function in UTF-2000.
1978         (put_char_table): Use `Fmap_char_attribute' for
1979         CHARTAB_RANGE_CHARSET in UTF-2000.
1980         (Fput_char_attribute): Store symbol instead of string in
1981         `XCHAR_TABLE_NAME (table)'.
1982         (load_char_attribute_maybe): Likewise.
1983         (syms_of_chartab): Add new symbol/function
1984         `put-char-table-map-function'.
1985
1986 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1987
1988         * database.h: Add new EXFUN for `Fmap_database'.
1989
1990         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1991         (syms_of_database): Likewise.
1992
1993         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1994         UTF-2000.
1995         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1996         (XCHAR_TABLE_UNLOADED): Likewise.
1997
1998         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1999         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
2000         HAVE_DATABASE is defined.
2001         (char_attribute_table_to_load): New variable of UTF-2000 with
2002         external database support.
2003         (Qload_char_attribute_table_map_function): Likewise.
2004         (Fload_char_attribute_table_map_function): New function of
2005         UTF-2000 with external database support.
2006         (Fload_char_attribute_table): New function of UTF-2000.
2007         (Fmap_char_attribute): Call Fload_char_attribute_table if
2008         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
2009         (syms_of_chartab): Add new symbol and function
2010         `load-char-attribute-table-map-function' in UTF-2000 with external
2011         database support; add new function `load-char-attribute-table' in
2012         UTF-2000.
2013
2014 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2015
2016         * chartab.h (load_char_attribute_maybe): New prototype for
2017         UTF-2000 with DATABASE support.
2018         (get_char_id_table): Use `load_char_attribute_maybe' if
2019         HAVE_DATABASE is defined.
2020
2021         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
2022         with DATABASE support.
2023
2024 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2025
2026         * chartab.c (Fput_char_attribute): Use S-expression as key of
2027         external database.
2028
2029         * chartab.h (get_char_id_table): Use S-expression as key of
2030         external database.
2031
2032 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2033
2034         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2035         if an element is not loaded, load the corresponding attributes
2036         from an external database.
2037         (map_over_uint16_byte_table): Likewise.
2038         (map_over_byte_table): Likewise.
2039         (map_char_table): Modify for `map_over_uint8_byte_table',
2040         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2041         element is not loaded, load the corresponding attributes from an
2042         external database.
2043         (Fput_char_attribute): Change initial values to Qunloaded.
2044
2045         * chartab.h (get_char_id_table): If a character attribute is not
2046         loaded and the attribute value is not found in an external
2047         database, store Qunbound as the attribute value.
2048
2049 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2050
2051         * chartab.c (BT_UINT8_unloaded): New macro.
2052         (UINT8_VALUE_P): Accept Qunloaded.
2053         (UINT8_ENCODE): Likewise.
2054         (UINT8_DECODE): Likewise.
2055         (BT_UINT16_unloaded): New macro.
2056         (UINT16_VALUE_P): Accept Qunloaded.
2057         (UINT16_ENCODE): Likewise.
2058         (UINT16_DECODE): Likewise.
2059         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2060         BT_UINT16_unloaded.
2061         (mark_char_table): Mark `ct->name' in UTF-2000.
2062         (char_table_description): Add `name' in UTF-2000.
2063         (Fmake_char_table): Initialize `ct->name'.
2064         (Fcopy_char_table): Copy `ct->name'.
2065         (Fput_char_attribute): Store value into an external database if
2066         HAVE_DATABASE is defined.
2067
2068         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2069         UTF-2000.
2070         (CHAR_TABLE_NAME): New macro in UTF-2000.
2071         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2072         (get_char_id_table): Try to read an external database if Qunloaded
2073         is stored in a table.
2074
2075         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2076         Qunloaded.
2077
2078 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2079
2080         * database.h: Add EXFUN definitions for Fopen_database,
2081         Fput_database, Fget_database and Fclose_database.
2082
2083         * data.c (Qunloaded): New variable in UTF-2000.
2084
2085         * lisp.h (Qunloaded): New variable in UTF-2000.
2086
2087 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2088
2089         * mule-charset.c (put_char_ccs_code_point): Modify for
2090         `decoding_table_remove_char' and `decoding_table_put_char'.
2091         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2092
2093         * char-ucs.h (decoding_table_remove_char): Change arguments to
2094         hide decoding_table vector.
2095         (decoding_table_put_char): Likewise.
2096
2097 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2098
2099         * mule-charset.c (decoding_table_remove_char): Moved to
2100         char-ucs.h.
2101         (decoding_table_put_char): Likewise.
2102
2103         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2104         from mule-charset.c].
2105         (decoding_table_remove_char): New inline function [moved from
2106         mule-charset.c].
2107         (decoding_table_put_char): Likewise.
2108
2109 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2110
2111         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2112         extension.
2113
2114 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2115
2116         * mule-charset.c (decode_builtin_char): Support mother charsets.
2117
2118 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2119
2120         * mule-charset.c (Q94x94x60): New variable.
2121         (charset_code_point): Support conversion `94x94x60'.
2122         (Fmake_charset): Likewise.
2123         (syms_of_mule_charset): Add new symbol `94x94x60'.
2124
2125         * char-ucs.h (CONVERSION_94x94x60): New macro.
2126
2127 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2128
2129         * mule-charset.c (charset_code_point): Unify code about
2130         `code-offset'.
2131
2132 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2133
2134         * mule-charset.c (charset_code_point): Merge code about builtin
2135         characters into code about mother charsets; don't use
2136         `range_charset_code_point'.
2137         (range_charset_code_point): Deleted.
2138
2139 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2140
2141         * mule-charset.c (Qcode_offset): New variable.
2142         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2143         `max-code'; accept new property `code-offset'.
2144         (syms_of_mule_charset): Add new symbol `code-offset'.
2145
2146 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2147
2148         * mule-charset.c (range_charset_code_point): Fixed.
2149
2150 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2151
2152         * mule-charset.c (decode_builtin_char): Change semantics of
2153         code-offset of coded-charset.
2154         (charset_code_point): Likewise.
2155         (range_charset_code_point): Likewise.
2156         (complex_vars_of_mule_charset): Modify for the change.
2157
2158 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2159
2160         * mule-charset.c (Fencode_char): Reverse arguments.
2161
2162         * mule-charset.c (charset_code_point): Fixed.
2163
2164 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2165
2166         * mule-charset.c (Vcharset_mojikyo): Deleted.
2167         (Vcharset_mojikyo_2022_1): Deleted.
2168         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2169         (Qmin_code): New variable in UTF-2000.
2170         (Qmax_code): Likewise.
2171         (Qmother): Likewise.
2172         (Qconversion): Likewise.
2173         (Q94x60): Likewise.
2174         (Qmojikyo): Deleted.
2175         (Qmojikyo_2022_1): Deleted.
2176         (Qmojikyo_pj_{1..22}): Deleted.
2177         (mark_charset): Mark `cs->mother'.
2178         (charset_description): Add description for `mother'.
2179         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2180         new arguments `mother' and `conversion'; use
2181         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2182         (charset_code_point): Moved from char-ucs.h; support `mother'
2183         charset feature.
2184         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2185         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2186         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2187         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2188         allow 2 as the value of `graphic' in UTF-2000; add new properties
2189         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2190         require `final' in UTF-2000; modify for `make_charset'.
2191         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2192         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2193         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2194         (Fencode_char): New function.
2195         (syms_of_mule_charset): Add new builtin function `encode-char' in
2196         UTF-2000; add new symbols `min-code', `max-code', `mother',
2197         `conversion' and `94x60'; delete symbols `mojikyo',
2198         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2199         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2200         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2201         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2202
2203         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2204         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2205
2206         * char-ucs.h (Vcharset_mojikyo): Deleted.
2207         (Vcharset_mojikyo_2022_1): Deleted.
2208         (LEADING_BYTE_MOJIKYO): Deleted.
2209         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2210         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2211         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2212         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2213         add new member `mother'; add new member `conversion'.
2214         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2215         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2216         (CHARSET_MOTHER): New macro.
2217         (CHARSET_CONVERSION): New macro.
2218         (CONVERSION_IDENTICAL): New macro.
2219         (CONVERSION_94x60): New macro.
2220         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2221         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2222         (XCHARSET_MOTHER): New macro.
2223         (XCHARSET_CONVERSION): New macro.
2224         (MIN_CHAR_MOJIKYO): Deleted.
2225         (MAX_CHAR_MOJIKYO): Deleted.
2226         (DECODE_MOJIKYO_2022): Deleted.
2227         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2228         (charset_code_point): Changed to non-inline function.
2229         (encode_char_1): Use `charset_code_point'.
2230         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2231
2232 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2233
2234         * lread.c (read_compiled_function): Fix prototype.
2235         (read_vector): Likewise.
2236
2237 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2238
2239         * lrecord.h (struct lrecord_header): Delete `older'.
2240         (set_lheader_implementation): Delete code for `older'.
2241         (set_lheader_older_implementation): Deleted.
2242         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2243         (OLDER_RECORD_P): Deleted.
2244         (OLDER_RECORD_HEADER_P): Deleted.
2245         (alloc_older_lcrecord): Deleted.
2246         (alloc_older_lcrecord_type): Deleted.
2247
2248         * alloc.c (all_older_lcrecords): Deleted.
2249         (alloc_older_lcrecord): Deleted.
2250         (disksave_object_finalization_1): Delete code for older objects.
2251         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2252         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2253
2254 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2255
2256         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2257         instead of `make_older_vector'.
2258         (put_char_ccs_code_point): Likewise.
2259         (mark_charset): Mark `cs->decoding_table'.
2260         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2261
2262         * lisp.h (make_older_vector): Deleted.
2263         (make_vector_newer): Deleted.
2264
2265         * config.h.in (HAVE_GGC): Deleted.
2266
2267         * alloc.c (make_older_vector): Deleted.
2268         (make_vector_newer_1): Deleted.
2269         (make_vector_newer): Deleted.
2270
2271 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2272
2273         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2274         (Qideograph_daikanwa_2): New variable.
2275         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2276         (complex_vars_of_mule_charset): Add new coded-charset
2277         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2278         `LEADING_BYTE_DAIKANWA'.
2279
2280         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2281         (LEADING_BYTE_DAIKANWA_1): New macro.
2282         (LEADING_BYTE_DAIKANWA_2): New macro.
2283         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2284
2285 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2286
2287         * mule-charset.c (complex_vars_of_mule_charset): Change
2288         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2289         the second revised version.
2290
2291 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2292
2293         * mule-charset.c (Vcharset_ucs_smp): New variable.
2294         (Vcharset_ucs_sip): New variable.
2295         (Qucs_smp): New variable.
2296         (Qucs_sip): New variable.
2297         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2298         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2299         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2300         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2301         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2302         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2303
2304         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2305         (LEADING_BYTE_UCS_SIP): New macro.
2306         (MIN_CHAR_SMP): New macro.
2307         (MAX_CHAR_SMP): New macro.
2308         (MIN_CHAR_SIP): New macro.
2309         (MAX_CHAR_SIP): New macro.
2310
2311 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2312
2313         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2314         utf-2000.
2315
2316 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2317
2318         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2319         value; don't store value into `encoding_table' of `Lisp_Charset'.
2320         (mark_charset): `encoding_table' was deleted.
2321         (charset_description): Likewise.
2322         (make_charset): Likewise.
2323         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2324         `put_char_ccs_code_point'.
2325
2326         * chartab.h (Fput_char_attribute): New EXFUN.
2327
2328         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2329         is unified with normal symbol space.
2330         (Fget_char_attribute): Likewise.
2331         (Fput_char_attribute): Likewise; behavior of
2332         `put_char_ccs_code_point' is changed.
2333
2334         * char-ucs.h: Include "elhash.h".
2335         (Vchar_attribute_hash_table): New external variable.
2336         (struct Lisp_Charset): Delete `encoding_table'.
2337         (CHARSET_ENCODING_TABLE): New implementation; refer
2338         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2339         `Lisp_Charset'.
2340
2341 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2342
2343         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2344         (cs) == 0.
2345
2346 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2347
2348         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2349         `chinese-big5'.
2350
2351 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2352
2353         * chartab.c (uint8_byte_table_description): New constant.
2354         (uint8-byte-table): Use `uint8_byte_table_description'.
2355         (uint16_byte_table_description): New constant.
2356         (uint16-byte-table): Use `uint16_byte_table_description'.
2357
2358 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2359
2360         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2361         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2362
2363 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2364
2365         * mule-charset.c (Vcharset_ucs_ks): New variable.
2366         (Qucs_ks): New variable.
2367         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2368         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2369
2370         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2371
2372 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2373
2374         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2375         (Fdecode_char): Likewise.
2376
2377         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2378         chartab.h.
2379         (Fdefine_char): Modify for Fdecode_char.
2380         (Ffind_char): Likewise.
2381
2382         * mule-charset.c (Fdecode_char): Add new optional argument
2383         `defined-only'.
2384         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2385
2386 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2387
2388         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2389         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2390         (allocate_coding_system): Initialize initial-charsets of
2391         CODESYS_BIG5 in XEmacs UTF-2000.
2392         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2393         CODESYS_BIG5 in XEmacs UTF-2000.
2394         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2395         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2396
2397         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2398         variables.
2399         (Qideograph_hanziku_{1 .. 12}): Likewise.
2400         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2401         .. 12}'.
2402         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2403         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2404         `ideograph-hanziku-{1 .. 12}'.
2405
2406         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2407         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2408         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2409         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2410         (DECODE_DEFINED_CHAR): New inline function.
2411         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2412
2413 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2414
2415         * mule-charset.c (Vcharset_china3_jef): Renamed from
2416         `Vcharset_japanese_jef_china3'.
2417         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2418         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2419         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2420         (syms_of_mule_charset): Rename `china3-jef' from
2421         `japanese-jef-china3'.
2422         (complex_vars_of_mule_charset): Likewise; rename
2423         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2424
2425         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2426         `LEADING_BYTE_JEF_CHINA3'.
2427         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2428         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2429
2430 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2431
2432         * mule-charset.c (encode_builtin_char_1): Comment out special code
2433         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2434
2435         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2436         (MAX_CHAR_MOJIKYO_0): Comment out.
2437         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2438         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2439         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2440         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2441
2442 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2443
2444         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2445         (Qideograph_cbeta): New variable.
2446         (encode_builtin_char_1): Comment out special code for
2447         coded-charset `mojikyo' and `japanese-jef-china3'.
2448         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2449         (complex_vars_of_mule_charset): Add new coded-charset
2450         `ideograph-cbeta'.
2451
2452         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2453         (MIN_CHAR_CBETA): New macro.
2454         (MAX_CHAR_CBETA): New macro.
2455
2456 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2457
2458         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2459         (LEADING_BYTE_JEF_CHINA3): New macro.
2460         (MIN_CHAR_JEF_CHINA3): New macro.
2461         (MAX_CHAR_JEF_CHINA3): Likewise.
2462         (DECODE_CHAR): Fixed.
2463
2464 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2465
2466         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2467         (Qjapanese_jef_china3): New variable.
2468         (encode_builtin_char_1): Support `japanese-jef-china3'.
2469         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2470         (complex_vars_of_mule_charset): Add new coded-charset
2471         `japanese-jef-china3'.
2472
2473 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2474
2475         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2476         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2477         94^4, 96^3, 96^4, 128^n and 256^n set.
2478         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2479         (map_char_table): Likewise.
2480
2481 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2482
2483         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2484         UTF-2000.
2485
2486 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2487
2488         * chartab.h (get_char_id_table): New inline function.
2489
2490         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2491         function.
2492
2493 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2494
2495         * chartab.h (decode_char_table_range): New prototype in XEmacs
2496         UTF-2000.
2497         (put_char_id_table): New inline function in XEmacs UTF-2000.
2498
2499         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2500         function.
2501         (decode_char_table_range): Delete static declaration in XEmacs
2502         UTF-2000.
2503
2504 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2505
2506         * chartab.c (put_char_id_table): Use `put_char_table'.
2507
2508 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2509
2510         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2511         (map_over_uint16_byte_table): Likewise.
2512         (map_over_byte_table): Likewise.
2513         (map_char_table): Modify for `map_over_uint8_byte_table',
2514         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2515         UTF-2000.
2516
2517 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2518
2519         * chartab.c (struct map_char_table_for_charset_arg): New
2520         structure.
2521         (map_char_table_for_charset_fun): New function.
2522         (map_char_table): Use `map_char_table' for encoding_table of
2523         `range->charset'.
2524
2525 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2526
2527         * chartab.c (map_char_table): Check a character is found in
2528         range->charset instead of non default value is defined in
2529         char-table when range is CHARTAB_RANGE_ROW.
2530
2531 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2532
2533         * chartab.c (map_char_id_table): Deleted.
2534         (Fmap_char_attribute): Use `map_char_table' instead of
2535         `map_char_id_table'.
2536
2537 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2538
2539         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2540         UTF-2000.
2541         (update_syntax_table): Deleted in XEmacs UTF-2000.
2542
2543         * syntax.c (find_defun_start): Use `syntax_table' instead of
2544         `mirror_syntax_table' in XEmacs UTF-2000.
2545         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2546         UTF-2000.
2547         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2548         XEmacs UTF-2000.
2549         (Fmatching_paren): Likewise.
2550         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2551         in XEmacs UTF-2000.
2552         (find_start_of_comment): Likewise.
2553         (find_end_of_comment): Likewise.
2554         (Fforward_comment): Likewise.
2555         (scan_lists): Likewise.
2556         (char_quoted): Likewise.
2557         (Fbackward_prefix_chars): Likewise.
2558         (scan_sexps_forward): Likewise.
2559         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2560         (update_syntax_table): Likewise.
2561
2562         * search.c (skip_chars): Use `syntax_table' instead of
2563         `mirror_syntax_table' in XEmacs UTF-2000.
2564         (wordify): Likewise.
2565         (Freplace_match): Likewise.
2566
2567         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2568         `mirror_syntax_table' in XEmacs UTF-2000.
2569         (WORDCHAR_P_UNSAFE): Likewise.
2570         (re_match_2_internal): Likewise.
2571
2572         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2573         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2574
2575         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2576         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2577
2578         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2579         XEmacs UTF-2000.
2580
2581         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2582         UTF-2000.
2583         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2584         (char_table_description): Delete `mirror_table' in XEmacs
2585         UTF-2000.
2586         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2587         UTF-2000.
2588         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2589         (Fcopy_char_table): Likewise.
2590         (put_char_table): Don't call `update_syntax_table' in XEmacs
2591         UTF-2000.
2592
2593         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2594         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2595         (casify_region_internal): Likewise.
2596
2597         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2598
2599         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2600         `mirror_syntax_table' in XEmacs UTF-2000.
2601
2602         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2603         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2604         (Fexpand_abbrev): Likewise.
2605
2606 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2607
2608         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2609
2610 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2611
2612         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2613         (map_over_uint16_byte_table): Likewise.
2614         (map_over_byte_table): Likewise.
2615         (get_char_id_table): Refer `cit->default_value'.
2616         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2617         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2618         of character-id ranges.
2619         (mark_char_table): Mark `ct->default_value'.
2620         (char_table_description): Add `default_value'.
2621         (fill_char_table): Use `default_value'.
2622         (decode_char_table_range): Decode `nil' as
2623         `CHARTAB_RANGE_DEFAULT'.
2624         (get_char_id_table): Refer `cit->default_value'.
2625         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2626         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2627         temporary hack; check value of char-table is bound or not.
2628         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2629
2630         * chartab.h (struct Lisp_Char_Table): Add new member
2631         `default_value' in XEmacs UTF-2000.
2632         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2633         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2634         UTF-2000.
2635
2636 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2637
2638         * chartab.h (Lisp_Char_ID_Table): Deleted.
2639
2640         * chartab.c (char_table_description): Fix typo.
2641         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2642         `Lisp_Char_ID_Table'.
2643
2644 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2645
2646         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2647         `CHAR_ID_TABLE_P'.
2648
2649         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2650         `CHAR_ID_TABLE_P'.
2651
2652         * chartab.h (XCHAR_ID_TABLE): Deleted.
2653         (XSETCHAR_ID_TABLE): Deleted.
2654         (CHAR_ID_TABLE_P): Deleted.
2655
2656         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2657         `CHAR_ID_TABLE_P'.
2658         (Fget_composite_char): Likewise.
2659         (put_char_table): Likewise.
2660         (add_char_attribute_alist_mapper): Fixed.
2661         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2662         `CHAR_ID_TABLE_P'.
2663         (Fget_char_attribute): Likewise.
2664         (Fget_char_attribute): Likewise.
2665         (Fmap_char_attribute): Likewise.
2666
2667         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2668         `CHAR_ID_TABLE_P'.
2669         (encode_char_1): Likewise.
2670
2671 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2672
2673         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2674         `XCHAR_ID_TABLE'.
2675
2676         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2677         instead of `XCHAR_ID_TABLE'.
2678         (remove_char_ccs): Likewise.
2679
2680         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2681         `XCHAR_ID_TABLE'.
2682         (Fget_composite_char): Likewise.
2683         (Fchar_variants): Likewise.
2684         (put_char_table): Likewise.
2685         (add_char_attribute_alist_mapper): Likewise.
2686         (Fchar_attribute_alist): Likewise.
2687         (Fget_char_attribute): Likewise.
2688         (Fput_char_attribute): Likewise.
2689         (Fmap_char_attribute): Likewise.
2690         (Fmap_char_attribute): Likewise.
2691
2692         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2693         `XCHAR_ID_TABLE'.
2694         (encode_char_1): Likewise.
2695
2696 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2697
2698         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2699         `Lisp_Char_ID_Table'.
2700         (mark_char_id_table): Deleted.
2701         (print_char_id_table): Likewise.
2702         (char_id_table_equal): Likewise.
2703         (char_id_table_hash): Likewise.
2704         (char_id_table_description): Likewise.
2705         (char_id_table): Likewise.
2706         (make_char_id_table): Use `Fmake_char_table' and
2707         `fill_char_table'.
2708         (get_char_id_table): Use `Lisp_Char_Table' instead of
2709         `Lisp_Char_ID_Table'.
2710         (put_char_id_table): Likewise.
2711         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2712         `XCHAR_ID_TABLE'.
2713         (Fremove_char_attribute): Likewise.
2714         (syms_of_chartab): Don't define type `char-id-table'.
2715
2716         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2717         (char_id_table): Likewise.
2718         (GC_CHAR_ID_TABLE_P): Likewise.
2719         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2720         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2721         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2722         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2723         (get_char_id_table): Use `Lisp_Char_Table' instead of
2724         `Lisp_Char_ID_Table'.
2725         (put_char_id_table_0): Likewise.
2726         (put_char_id_table): Likewise.
2727
2728 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2729
2730         * chartab.h: Lisp_Byte_Table related codes are moved from
2731         chartab.h.
2732
2733         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2734
2735 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2736
2737         * chartab.h: Don't include "chartab.h".
2738         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2739         (Lisp_Char_ID_Table): Likewise.
2740         (char_id_table): Likewise.
2741         (XCHAR_ID_TABLE): Likewise.
2742         (XSETCHAR_ID_TABLE): Likewise.
2743         (CHAR_ID_TABLE_P): Likewise.
2744         (GC_CHAR_ID_TABLE_P): Likewise.
2745         (get_char_id_table): Likewise.
2746
2747         * char-ucs.h: Include "chartab.h".
2748         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2749         (Lisp_Char_ID_Table): Likewise.
2750         (char_id_table): Likewise.
2751         (XCHAR_ID_TABLE): Likewise.
2752         (XSETCHAR_ID_TABLE): Likewise.
2753         (CHAR_ID_TABLE_P): Likewise.
2754         (GC_CHAR_ID_TABLE_P): Likewise.
2755         (get_char_id_table): Likewise.
2756
2757 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2758
2759         * chartab.c (copy_uint8_byte_table): New function.
2760         (copy_uint16_byte_table): New function.
2761         (copy_byte_table): New function.
2762         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2763         characters to call.
2764         (map_over_uint16_byte_table): Likewise.
2765         (map_over_byte_table): Likewise.
2766         (get_byte_table): Move prototype to chartab.h.
2767         (put_byte_table): Likewise.
2768         (put_char_id_table_0): Moved to chartab.h.
2769         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2770         (char_table_entry_equal): Likewise.
2771         (char_table_entry_hash): Likewise.
2772         (char_table_entry_description): Likewise.
2773         (char_table_entry): Likewise.
2774         (make_char_table_entry): Likewise.
2775         (copy_char_table_entry): Likewise.
2776         (get_non_ascii_char_table_value): Likewise.
2777         (map_over_charset_ascii): Likewise.
2778         (map_over_charset_control_1): Likewise.
2779         (map_over_charset_row): Likewise.
2780         (map_over_other_charset): Likewise.
2781         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2782         (print_char_table): Likewise.
2783         (char_table_equal): Likewise.
2784         (char_table_hash): Likewise.
2785         (char_table_description): Likewise.
2786         (fill_char_table): Likewise.
2787         (Fcopy_char_table): Likewise.
2788         (get_char_table): Likewise.
2789         (Fget_range_char_table): Likewise.
2790         (put_char_table): Likewise.
2791         (map_char_table): Likewise.
2792         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2793         UTF-2000.
2794
2795 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2796
2797         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2798         `Vauto_fill_chars' in XEmacs UTF-2000.
2799
2800         * chartab.h (get_byte_table): New prototype [moved from
2801         chartab.c].
2802         (put_byte_table): Likewise [moved from chartab.c].
2803         (put_char_id_table_0): New inline function [moved from chartab.c].
2804         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2805         (Lisp_Char_Table_Entry): Likewise.
2806         (char_table_entry): Likewise.
2807         (XCHAR_TABLE_ENTRY): Likewise.
2808         (XSETCHAR_TABLE_ENTRY): Likewise.
2809         (CHAR_TABLE_ENTRYP): Likewise.
2810         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2811         (NUM_ASCII_CHARS): Likewise.
2812         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2813         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2814
2815 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2816
2817         * chartab.c (get_char_id_table): Change interface.
2818         (put_char_id_table_0): New function.
2819         (put_char_id_table): Change interface; new implementation.
2820         (Fget_composite_char): Modify for interface change of
2821         `get_char_id_table'.
2822         (Fchar_variants): Likewise.
2823         (add_char_attribute_alist_mapper): Likewise.
2824         (Fchar_attribute_alist): Likewise.
2825         (Fget_char_attribute): Likewise.
2826         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2827         as same as character as the first argument like `put-char-table';
2828         modify for interface change of `put_char_id_table'.
2829         (Fremove_char_attribute): Modify for interface change of
2830         `put_char_id_table'.
2831
2832 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2833
2834         * text-coding.c: Sync up with XEmacs 21.2.41.
2835         (COMPOSE_ADD_CHAR): Modify for interface change of
2836         `get_char_id_table'.
2837
2838         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2839         change of `put_char_id_table'.
2840         (remove_char_ccs): Likewise.
2841
2842         * chartab.h (put_char_id_table): Change interface.
2843
2844         * char-ucs.h (get_char_id_table): Change interface.
2845         (charset_code_point): Modify for interface change of
2846         `get_char_id_table'.
2847         (encode_char_1): Likewise.
2848
2849 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2850
2851         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2852         argument `ccs'.
2853         (map_over_uint16_byte_table): Likewise.
2854         (map_over_byte_table): Likewise.
2855         (map_char_id_table): Add new argument `range' like
2856         `map_char_table'.
2857         (Fmap_char_attribute): Add new argument `range' like
2858         `Fmap_char_table'.
2859
2860 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2861
2862         * chartab.c (map_over_uint8_byte_table): Change interface of
2863         mapping function to use struct chartab_range instead of Emchar.
2864         (map_over_uint16_byte_table): Likewise.
2865         (map_over_byte_table): Likewise.
2866         (map_char_id_table): Likewise.
2867         (struct slow_map_char_id_table_arg): Deleted.
2868         (slow_map_char_id_table_fun): Deleted.
2869         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2870         function `slow_map_char_table_fun' instead of struct
2871         `slow_map_char_id_table_arg' and function
2872         `slow_map_char_id_table_fun'.
2873
2874 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2875
2876         * mule-charset.c: Move char-it-table related codes to chartab.c.
2877         (Vutf_2000_version): Moved to chartab.c.
2878         (Fdefine_char): Likewise.
2879         (Ffind_char): Likewise.
2880         (syms_of_mule_charset): Move types `uint8-byte-table',
2881         `uint16-byte-table', `byte-table' and `char-id-table' to
2882         chartab.c; move functions `char_attribute_list,
2883         `find_char_attribute_table, `char_attribute_alist,
2884         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2885         `map_char_attribute, `define_char, `find_char, `char_variants and
2886         `get_composite_char to chartab.c; move symbols `=>ucs',
2887         `->decomposition', `compat', `isolated', `initial', `medial',
2888         `final', `vertical', `noBreak', `fraction', `super', `sub',
2889         `circle', `square', `wide', `narrow', `small' and `font' to
2890         chartab.c.
2891         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2892         setting codes for `Vcharacter_composition_table' and
2893         `Vcharacter_variant_table' to chartab.c.
2894         (complex_vars_of_mule_charset): Move setting code for
2895         `Vchar_attribute_hash_table' to chartab.c.
2896
2897         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2898         (make_char_id_table): New prototype.
2899         (put_char_id_table): Likewise.
2900         (Fget_char_attribute): Likewise.
2901
2902         * chartab.c: Move char-id-table related code from mule-charset.c.
2903         (Vutf_2000_version): Moved from mule-charset.c.
2904
2905         * char-ucs.h (Qucs): New external variable.
2906         (put_char_ccs_code_point): New prototype.
2907         (remove_char_ccs): Likewise.
2908
2909 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2910
2911         * mule-charset.c (Vcharset_ucs_jis): New variable.
2912         (Qucs_jis): Likewise.
2913         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2914         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2915
2916         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2917
2918 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2919
2920         * mule-charset.c (map_over_uint8_byte_table): New function.
2921         (map_over_uint16_byte_table): Likewise.
2922         (map_over_byte_table): Likewise.
2923         (map_char_id_table): Likewise.
2924         (slow_map_char_id_table_fun): Likewise.
2925         (Fmap_char_attribute): Likewise.
2926         (syms_of_mule_charset): Add new function `map-char-attribute'.
2927
2928 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2929
2930         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2931         (syms_of_mule_charset): Add new function `find-char'.
2932
2933 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2934
2935         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2936         XEmacs UTF-2000.
2937         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2938         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2939         XEmacs UTF-2000.
2940         (complex_vars_of_mule_charset): Add new coded-charset
2941         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2942         `ideograph-gt-pj-*'.
2943
2944         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2945
2946 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2947
2948         * mule-charset.c (encode_builtin_char_1): Purge codes about
2949         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2950         {MIN|MAX}_CHAR_HEBREW.
2951         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2952         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2953
2954         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2955         (MAX_CHAR_GREEK): Purged.
2956         (MIN_CHAR_CYRILLIC): Purged.
2957         (MAX_CHAR_CYRILLIC): Purged.
2958         (MIN_CHAR_HEBREW): Commented out.
2959         (MAX_CHAR_HEBREW): Likewise.
2960
2961 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2962
2963         * mule-charset.c (Qto_ucs): New variable.
2964         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2965         (Fdefine_char): Likewise.
2966         (syms_of_mule_charset): Add new symbol `=>ucs'.
2967
2968 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2969
2970         * mule-charset.c (Fdecode_char): Fixed.
2971
2972 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2973
2974         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2975         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2976         "tcvn5712-1".
2977
2978 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2979
2980         * mule-charset.c (Vcharset_ucs_big5): New variable.
2981         (Qucs_big5): Likewise.
2982         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2983         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2984
2985         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2986
2987 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2988
2989         * mule-charset.c (decode_builtin_char): Check Big5 code range
2990         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2991
2992 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2993
2994         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2995         (Qchinese_gb12345): Likewise.
2996         (Fdecode_builtin_char): Fixed.
2997         (syms_of_mule_charset): Add `chinese-gb12345'.
2998         (complex_vars_of_mule_charset): Add coded-charset
2999         `chinese-gb12345'.
3000
3001         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
3002         (LEADING_BYTE_CHINESE_GB12345): New macro.
3003
3004 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3005
3006         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
3007         and `latin-viscii-upper' for `latin-viscii'.
3008
3009 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3010
3011         * mule-charset.c (Fdecode_builtin_char): Comment out
3012         regularization code for ISO-IR GR representation.
3013
3014 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3015
3016         * mule-charset.c (decode_builtin_char): New function; renamed from
3017         `make_builtin_char'; return -1 instead of signal.
3018         (Fdecode_builtin_char): Use `decode_builtin_char'.
3019
3020         * char-ucs.h (decode_builtin_char): New prototype; renamed from
3021         `make_builtin_char'.
3022         (DECODE_CHAR): Use `decode_builtin_char' instead of
3023         `make_builtin_char'; use mapping table of `chinese-big5' for
3024         `chinese-big5-{1,2}'.
3025
3026 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3027
3028         * text-coding.c (char_encode_big5): New function.
3029         (char_finish_big5): Likewise.
3030         (reset_encoding_stream): Use `char_encode_big5' and
3031         `char_finish_big5' for CODESYS_BIG5.
3032         (mule_encode): Don't use `encode_coding_big5'.
3033         (encode_coding_big5): Deleted.
3034
3035 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3036
3037         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3038         0x81- in XEmacs UTF-2000.
3039         (detect_coding_big5): Likewise.
3040
3041 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3042
3043         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3044         generate character-id if the CCS property does not have
3045         corresponding predefined character.
3046         (make_builtin_char): Return -1 if corresponding predefined
3047         character is not found.
3048         (Fdecode_char): Return nil if corresponding character is not
3049         found.
3050         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3051         don't map to builtin ucs space.
3052
3053 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3054
3055         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3056         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3057
3058 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3059
3060         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3061         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3062         (Qideograph_gt): Likewise.
3063         (Qideograph_gt_pj_{1..11}): Likewise.
3064         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3065         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3066         `ideograph-gt-pj-11'.
3067         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3068         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3069         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3070
3071         * char-ucs.h (LEADING_BYTE_GT): New macro.
3072         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3073         (MIN_CHAR_GT): Likewise.
3074         (MAX_CHAR_GT): Likewise.
3075
3076 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3077
3078         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3079         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3080
3081         * doprnt.c (unsigned_int_converters): Add `c'.
3082         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3083
3084         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3085         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3086         `MIN_CHAR_MOJIKYO'.
3087         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3088         (MAX_CHAR_MOJIKYO_0): New macro.
3089         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3090
3091 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3092
3093         * mule-charset.c (Fdefine_char): Delete cemented out code.
3094         (encode_builtin_char_1): Modify for new allocation of builtin
3095         Mojikyo characters.
3096
3097         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3098
3099 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3100
3101         * mule-charset.c (Vcharset_ucs_cns): New variable.
3102         (Qucs_cns): New variable.
3103         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3104         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3105
3106 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3107
3108         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3109
3110 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3111
3112         * search.c (search_buffer): Make `charset_base_code' as
3113         character-id >> 6 to eliminate the corresponding last byte in
3114         UTF-8 representation [I'm not sure it is right thing].
3115         (boyer_moore): Likewise.
3116
3117 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3118
3119         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3120         representation in MULE.
3121
3122 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3123
3124         * text-coding.c (Fmake_coding_system): Use
3125         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3126         `EXTERNAL_PROPERTY_LIST_LOOP'.
3127
3128 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3129
3130         * text-coding.c (decode_output_utf8_partial_char): New function.
3131         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3132
3133 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3134
3135         * text-coding.c (decode_coding_utf8): Output original byte
3136         sequence if it is broken; change order of conditions.
3137
3138         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3139         of conditions.
3140
3141         * mb-multibyte.h (BYTE_ASCII_P):
3142         Use bit ops for char-signedness safety.
3143         (BYTE_C0_P): Use bit ops for char-signedness safety.
3144         (BYTE_C1_P): Use bit ops for char-signedness safety.
3145
3146         * character.h: (XCHAR_OR_CHAR_INT):
3147         Always use inline function.
3148         Remove redundant type checking assert() - XINT will abort quite
3149         nicely.
3150
3151 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3152
3153         * text-coding.c: (Fencode_shift_jis_char):
3154         (Fencode_big5_char):
3155         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3156         Replace 0 with '\0' when working with bytes.
3157         Replace initial "(" with "\(" in docstrings.
3158
3159         (Fmake_coding_system):
3160         When type is ccl and value is vector, register it with a proper
3161         symbol.  And checks whether the given ccl program is valid.
3162         (mule_decode): When calling ccl_driver, if src indicates
3163         NULL pointer, set an empty string instead.
3164         (mule_encode): Likewise.
3165
3166         (detect_eol_type):
3167         (detect_coding_sjis):
3168         (decode_coding_sjis):
3169         (detect_coding_big5):
3170         (decode_coding_big5):
3171         (detect_coding_ucs4):
3172         (decode_coding_ucs4):
3173         (detect_coding_utf8):
3174         (decode_coding_utf8):
3175         (detect_coding_iso2022):
3176         (decode_coding_iso2022):
3177         (decode_coding_no_conversion):
3178         (mule_decode):
3179         Make all detecting and decoding functions take an Extbyte * arg.
3180         (text_encode_generic):
3181         (encode_coding_big5):
3182         (encode_coding_no_conversion):
3183         (mule_encode):
3184         Make all encoding functions take a Bufbyte * arg.
3185         Use size_t instead of unsigned int for memory sizes.
3186         Only cast to unsigned char whenever dereferencing Extbyte *.
3187
3188         (struct lrecord_description fcd_description_1): Use countof.
3189         (complex_vars_of_file_coding):
3190         Use countof instead of sizeof.
3191         Use CHECK_NATNUM instead of CHECK_INT.
3192
3193 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3194
3195         * mule-charset.c (Fget_char_attribute): Add new optional argument
3196         `default-value'.
3197         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3198         (remove_char_ccs): Likewise.
3199
3200 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3201
3202         * text-coding.c (char_encode_shift_jis): New implementation in
3203         UTF-2000.
3204         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3205         ...)'.
3206
3207         * mule-charset.c (Vcharset_chinese_big5): New variable in
3208         UTF-2000.
3209         (Qchinese_big5): New variable in UTF-2000.
3210         (BIG5_SAME_ROW): New macro in UTF-2000.
3211         (make_builtin_char): Use builtin characters of
3212         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3213         characters of `Vcharset_chinese_big5'.
3214         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3215         (complex_vars_of_mule_charset): Add new coded-charset
3216         `chinese-big5' in UTF-2000.
3217
3218         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3219         (Vcharset_chinese_big5): New external variable declaration.
3220         (Vcharset_japanese_jisx0208_1990): Likewise.
3221
3222 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3223
3224         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3225         function.
3226         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3227
3228 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3229
3230         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3231         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3232         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3233         `mojikyo-pj-*'.
3234
3235 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3236
3237         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3238
3239 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3240
3241         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3242         to 0.17.
3243
3244 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3245
3246         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3247         for `CHARSET_BY_ATTRIBUTES'.
3248         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3249         `CHARSET_BY_ATTRIBUTES'.
3250
3251         * text-coding.c (struct decoding_stream): Rename member `CH' to
3252         `CPOS'.
3253         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3254         (decode_coding_sjis): Likewise.
3255         (decode_coding_big5): Likewise.
3256         (decode_coding_ucs4): Likewise.
3257         (decode_coding_utf8): Likewise.
3258         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3259         `CHARSET_BY_ATTRIBUTES'.
3260         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3261         `str->counter'; decode 3, 4 bytes sets.
3262         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3263         sets.
3264         (decode_coding_no_conversion): Use `str->cpos' instead of
3265         `str->ch'.
3266
3267         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3268         (Qmojikyo_2022_1): New variable.
3269         (make_charset): Don't use `CHARSET_TYPE_*'.
3270         (range_charset_code_point): Support coded-charset
3271         `mojikyo-2022-1'.
3272         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3273         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3274         `CHARSET_BY_ATTRIBUTES'.
3275         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3276         `CHARSET_BY_ATTRIBUTES'.
3277         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3278         (complex_vars_of_mule_charset): Add new coded-charset
3279         `mojikyo-2022-1'.
3280
3281         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3282         interface; changed to inline function.
3283
3284         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3285         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3286         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3287         (CHARSET_TYPE_94): Deleted.
3288         (CHARSET_TYPE_94X94): Deleted.
3289         (CHARSET_TYPE_96): Deleted.
3290         (CHARSET_TYPE_96X96): Deleted.
3291         (CHARSET_TYPE_128): Deleted.
3292         (CHARSET_TYPE_128X128): Deleted.
3293         (CHARSET_TYPE_256): Deleted.
3294         (CHARSET_TYPE_256X256): Deleted.
3295         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3296         to inline function.
3297         (DECODE_MOJIKYO_2022): New inline function.
3298         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3299         `Vcharset_mojikyo_2022_1'.
3300
3301 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3302
3303         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3304         instead of `EQ'.
3305         (put_byte_table): Likewise.
3306         (char_id_table_equal): Use `get_byte_table' [new implementation].
3307
3308 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3309
3310         * mule-charset.c: Include <limits.h> in UTF-2000.
3311         (BT_UINT8_MIN): New macro in UTF-2000.
3312         (BT_UINT8_MAX): New macro in UTF-2000.
3313         (BT_UINT8_t): New macro in UTF-2000.
3314         (BT_UINT8_nil): New macro in UTF-2000.
3315         (BT_UINT8_unbound): New macro in UTF-2000.
3316         (INT_UINT8_P): New inline function in UTF-2000.
3317         (UINT8_VALUE_P): New inline function in UTF-2000.
3318         (UINT8_ENCODE): New inline function in UTF-2000.
3319         (UINT8_DECODE): New inline function in UTF-2000.
3320         (mark_uint8_byte_table): New function in UTF-2000.
3321         (print_uint8_byte_table): New function in UTF-2000.
3322         (uint8_byte_table_equal): New function in UTF-2000.
3323         (uint8_byte_table_hash): New function in UTF-2000.
3324         (make_uint8_byte_table): New function in UTF-2000.
3325         (uint8_byte_table_same_value_p): New function in UTF-2000.
3326         (BT_UINT16_MIN): New macro in UTF-2000.
3327         (BT_UINT16_MAX): New macro in UTF-2000.
3328         (BT_UINT16_t): New macro in UTF-2000.
3329         (BT_UINT16_nil): New macro in UTF-2000.
3330         (BT_UINT16_unbound): New macro in UTF-2000.
3331         (INT_UINT16_P): New inline function in UTF-2000.
3332         (UINT16_VALUE_P): New inline function in UTF-2000.
3333         (UINT16_ENCODE): New inline function in UTF-2000.
3334         (UINT16_DECODE): New inline function in UTF-2000.
3335         (UINT8_TO_UINT16): New inline function in UTF-2000.
3336         (mark_uint16_byte_table): New function in UTF-2000.
3337         (print_uint16_byte_table): New function in UTF-2000.
3338         (uint16_byte_table_equal): New function in UTF-2000.
3339         (uint16_byte_table_hash): New function in UTF-2000.
3340         (make_uint16_byte_table): New function in UTF-2000.
3341         (uint16_byte_table_same_value_p): New function in UTF-2000.
3342         (print_byte_table): New function in UTF-2000.
3343         (byte-table): Use `print_byte_table' as printer.
3344         (make_byte_table): Delete second argument `older'.
3345         (byte_table_same_value_p): New function in UTF-2000.
3346         (copy_byte_table): Deleted.
3347         (get_byte_table): New function in UTF-2000.
3348         (put_byte_table): New function in UTF-2000.
3349         (print_char_id_table): New function in UTF-2000.
3350         (char-id-table): Use `print_char_id_table' as printer.
3351         (make_char_id_table): Delete second argument `older'.
3352         (get_char_id_table): Use `get_byte_table [new implementation].
3353         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3354         implementation].
3355         (Ffind_char_attribute_table): New function in UTF-2000.
3356         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3357         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3358         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3359         (syms_of_mule_charset): Add new function
3360         `find-char-attribute-table' in UTF-2000.
3361
3362         * lrecord.h (enum lrecord_type): Add
3363         `lrecord_type_uint16_byte_table' and
3364         `lrecord_type_uint8_byte_table'.
3365
3366         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3367         (Lisp_Uint8_Byte_Table): New type.
3368         (XUINT8_BYTE_TABLE): New macro.
3369         (XSETUINT8_BYTE_TABLE): New macro.
3370         (UINT8_BYTE_TABLE_P): New macro.
3371         (GC_UINT8_BYTE_TABLE_P): New macro.
3372         (struct Lisp_Uint16_Byte_Table): New structure.
3373         (Lisp_Uint16_Byte_Table): New type.
3374         (XUINT16_BYTE_TABLE): New macro.
3375         (XSETUINT16_BYTE_TABLE): New macro.
3376         (UINT16_BYTE_TABLE_P): New macro.
3377         (GC_UINT16_BYTE_TABLE_P): New macro.
3378
3379 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3380
3381         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3382         (Vcharacter_ideographic_strokes_table): Deleted.
3383         (Vcharacter_total_strokes_table): Deleted.
3384         (Vcharacter_morohashi_daikanwa_table): Deleted.
3385         (Vcharacter_decomposition_table): Deleted.
3386         (Qname): Deleted because it is duplicated.
3387         (Qideographic_radical): Deleted.
3388         (Qideographic_strokes): Deleted.
3389         (Qtotal_strokes): Deleted.
3390         (Qmorohashi_daikanwa): Deleted.
3391         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3392         `ideographic-radical', `ideographic-strokes', `total-strokes',
3393         `morohashi-daikanwa' and `->decomposition'.
3394         (Fget_char_attribute): Likewise.
3395         (Fput_char_attribute): Likewise; use `make-vector' instead of
3396         `make_older_vector' for `->decomposition' value.
3397         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3398         `ideograph-daikanwa'.
3399         (syms_of_mule_charset): Delete builtin symbols `name',
3400         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3401         `morohashi-daikanwa'.
3402         (vars_of_mule_charset): Don't setup
3403         `Vcharacter_ideographic_radical_table',
3404         `Vcharacter_ideographic_strokes_table',
3405         `Vcharacter_total_strokes_table',
3406         `Vcharacter_morohashi_daikanwa_table' and
3407         `Vcharacter_decomposition_table'.
3408
3409 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3410
3411         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3412         `make_older_vector', `make_vector_newer_1' and
3413         `make_vector_newer'.
3414
3415         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3416         `make_older_vector' and `make_vector_newer'.
3417
3418         * config.h.in (HAVE_GGC): New macro.
3419
3420 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3421
3422         * mule-charset.c (struct char_attribute_list_closure): New
3423         structure in UTF-2000.
3424         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3425         (Fchar_attribute_list): Likewise.
3426         (Fset_charset_mapping_table): Use `make_vector_newer'.
3427         (Fdecode_builtin_char): New function in UTF-2000.
3428         (syms_of_mule_charset): Add new function `char-attribute-list' and
3429         `decode-builtin-char' in UTF-2000.
3430
3431         * lisp.h (make_vector_newer): New prototype.
3432
3433         * alloc.c (make_vector_newer_1): New function.
3434         (make_vector_newer): New function.
3435
3436 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3437
3438         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3439         50100)'.
3440
3441 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3442
3443         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3444         (Vcharacter_attribute_table): Deleted.
3445         (Vcharacter_name_table): Deleted.
3446         (put_char_attribute): Deleted.
3447         (remove_char_attribute): Deleted.
3448         (struct char_attribute_alist_closure): New structure.
3449         (add_char_attribute_alist_mapper): New function.
3450         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3451         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3452         (Fget_char_attribute): Likewise.
3453         (Fput_char_attribute): Likewise.
3454         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3455         of `remove_char_attribute'.
3456         (Fdefine_char): Return character.
3457         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3458         and `Vcharacter_name_table'.
3459         (complex_vars_of_mule_charset): Likewise
3460         `Vchar_attribute_hash_table'.
3461
3462 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3463
3464         * character.h (CHARC_CHARSET): New macro.
3465         (CHARC_CHARSET_ID): New macro.
3466         (CHARC_CODE_POINT): New macro.
3467         (CHARC_COLUMNS): New macro.
3468         (CHARC_TO_CHAR): New inline function.
3469         (CHARC_EQ): New inline function.
3470         (CHARC_ASCII_EQ): New inline function.
3471         (CHARC_IS_SPACE): New inline function.
3472         (ASCII_TO_CHARC): New inline function.
3473
3474         * char-ucs.h (encode_char_2): Deleted.
3475         (ENCODE_CHAR): Use `encode_char_1' again.
3476         (breakup_char_1): Likewise.
3477         (CHAR_TO_CHARC): New inline function.
3478
3479         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3480
3481 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3482
3483         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3484         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3485         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3486         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3487         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3488         `CHARC_IS_SPACE'.
3489         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3490
3491         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3492         `CHARC_CODE_POINT'.
3493         (x_output_display_block): Use `CHARC_CHARSET' and
3494         `CHARC_ASCII_EQ'.
3495
3496         * redisplay-tty.c (tty_output_display_block): Use
3497         `CHARC_ASCII_EQ'.
3498         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3499
3500         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3501
3502         * insdel.c (find_charsets_in_charc_string): Use
3503         `CHARC_CHARSET_ID'.
3504         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3505         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3506         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3507         (convert_charc_string_into_malloced_string): Likewise.
3508
3509 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3510
3511         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3512         instead of <Emchar_dynarr *> for buf; use
3513         `convert_bufbyte_string_into_charc_dynarr' instead of
3514         `convert_bufbyte_string_into_emchar_dynarr'; use
3515         `find_charsets_in_charc_string' instead of
3516         `find_charsets_in_emchar_string'.
3517
3518         * redisplay.h:
3519         - Include "character.h".
3520         (struct rune): New member `cglyph'; delete member `chr'.
3521
3522         * redisplay.c (redisplay_text_width_charc_string): New function;
3523         delete `redisplay_text_width_emchar_string'.
3524         (rtw_charc_dynarr): New variable; renamed from
3525         `rtw_emchar_dynarr'.
3526         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3527         `rtw_emchar_dynarr'; use
3528         `convert_bufbyte_string_into_charc_dynarr' instead of
3529         `convert_bufbyte_string_into_emchar_dynarr'; use
3530         `redisplay_text_width_charc_string' instead of
3531         `redisplay_text_width_emchar_string'.
3532         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3533         instead of `rtw_emchar_dynarr'; use
3534         `convert_bufbyte_string_into_charc_dynarr' instead of
3535         `convert_bufbyte_string_into_emchar_dynarr'.
3536         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3537         `redisplay_text_width_charc_string' instead of
3538         `redisplay_text_width_emchar_string'.
3539         (create_text_block): Modify for <struct rune> change.
3540         (generate_formatted_string_db): Likewise.
3541         (create_string_text_block): Likewise.
3542         (pixel_to_glyph_translation): Likewise.
3543
3544         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3545         instead of <const Emchar *>.
3546         (x_text_width): Likewise.
3547         (x_output_display_block): Use <Charc_dynarr *> instead
3548         <Emchar_dynarr *>; modify for <structure rune> change.
3549         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3550         *>.
3551
3552         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3553         <const Emchar *>; use `charc_string_displayed_columns' instead of
3554         `emchar_string_displayed_columns'.
3555         (tty_output_display_block): Use <Charc_dynarr *> instead of
3556         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3557         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3558         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3559         `tty_output_emchar_dynarr_dynarr'.
3560         (tty_output_charc_dynarr): New function; delete
3561         `tty_output_charc_dynarr'.
3562
3563         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3564         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3565         <Emchar_dynarr *> for buf; use
3566         `convert_bufbyte_string_into_charc_dynarr' instead of
3567         `convert_bufbyte_string_into_emchar_dynarr'.
3568
3569         * frame.c (title_string_charc_dynarr): New variable; renamed from
3570         `title_string_emchar_dynarr'.
3571         (generate_title_string): Use `title_string_charc_dynarr' instead
3572         of `title_string_emchar_dynarr'; use
3573         `convert_charc_string_into_malloced_string' instead of
3574         `convert_emchar_string_into_malloced_string'.
3575         (init_frame): Use `title_string_charc_dynarr' instead of
3576         `title_string_emchar_dynarr'.
3577
3578         * console.h:
3579         - Include "character.h".
3580         (struct console_methods): Use <const Charc *> instead of <const
3581         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3582         <Emchar_dynarr *> in output_string_method.
3583
3584         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3585         <Emchar_dynarr *>.
3586
3587         * console-stream.c (stream_text_width): Use <const Charc *>
3588         instead of <const Emchar *>.
3589
3590         * character.h (Charc_dynarr): New type.
3591
3592         * char-ucs.h (structure Charc): New structure; define new type
3593         `Charc'.
3594
3595         * char-lb.h (DECODE_CHAR): New inline function.
3596         (encode_char_1): New inline function.
3597         (ENCODE_CHAR): New macro.
3598         (structure Charc): New structure; define new type `Charc'.
3599
3600         * char-1byte.h (Vcharset_control_1): New macro.
3601         (Vcharset_latin_iso8859_1): New macro.
3602         (DECODE_CHAR): New inline function.
3603         (encode_char_1): New inline function.
3604         (ENCODE_CHAR): New macro.
3605         (structure Charc): New structure; define new type `Charc'.
3606
3607         * insdel.c (find_charsets_in_charc_string): New function; delete
3608         `find_charsets_in_emchar_string'.
3609         (charc_string_displayed_columns): New function; delete
3610         `emchar_string_displayed_columns'.
3611         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3612         `convert_bufbyte_string_into_emchar_dynarr'.
3613         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3614         `convert_charc_string_into_bufbyte_dynarr'.
3615         (convert_charc_string_into_malloced_string): New function; delete
3616         `convert_charc_string_into_malloced_string'.
3617
3618         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3619         `find_charsets_in_emchar_string'.
3620         (charc_string_displayed_columns): New prototype; delete
3621         `emchar_string_displayed_columns'.
3622         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3623         `convert_charc_string_into_bufbyte_dynarr'.
3624         (convert_charc_string_into_malloced_string): New prototype; delete
3625         `convert_charc_string_into_malloced_string'.
3626
3627 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3628
3629         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3630
3631 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3632
3633         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3634
3635         * char-ucs.h: Use <short> for <Charset_ID>.
3636
3637         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3638         <Charset_ID>.
3639
3640 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3641
3642         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3643         to 0.16.
3644
3645 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3646
3647         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3648         variable.
3649         (Qmorohashi_daikanwa): New variable.
3650         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3651         for `morohashi-daikanwa' attribute.
3652         (Fget_char_attribute): Likewise.
3653         (Fput_char_attribute): Likewise.
3654         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3655         has the same value of `ideograph-daikanwa'.
3656         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3657         (vars_of_mule_charset): Setup
3658         `Vcharacter_morohashi_daikanwa_table'.
3659
3660 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3661
3662         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3663         attributes.
3664         (add_charset_to_list_mapper): Add `key' instead of
3665         `XCHARSET_NAME (value)' to return aliases.
3666
3667 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3668
3669         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3670         variable.
3671         (Vcharacter_ideographic_strokes_table): New variable.
3672         (Qideographic_radical): New variable.
3673         (Qideographic_strokes): New variable.
3674         (Fchar_attribute_alist): Use
3675         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3676         attribute; use `Vcharacter_ideographic_strokes_table' for
3677         `ideographic-strokes' attribute.
3678         (Fget_char_attribute): Likewise.
3679         (Fput_char_attribute): Likewise.
3680         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3681         `ideographic-strokes'.
3682         (vars_of_mule_charset): Setup
3683         `Vcharacter_ideographic_radical_table' and
3684         `Vcharacter_ideographic_strokes_table'.
3685
3686 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3687
3688         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3689         (Qtotal_strokes): New variable.
3690         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3691         `total-strokes' attribute.
3692         (Fget_char_attribute): Likewise.
3693         (Fput_char_attribute): Likewise.
3694         (syms_of_mule_charset): Add new symbol `total-strokes'.
3695         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3696
3697 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3698
3699         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3700         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3701         are found.
3702         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3703         `->decomposition' attribute.
3704         (Fput_char_attribute): Likewise.
3705         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3706
3707 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3708
3709         * mule-charset.c (decoding_table_check_elements): New function.
3710         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3711
3712 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3713
3714         * mule-charset.c (Fset_charset_mapping_table): Use
3715         `put_char_ccs_code_point'.
3716
3717 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3718
3719         * mule-charset.c (decoding_table_put_char): New inline function.
3720         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3721
3722 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3723
3724         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3725         (XCHARSET_BYTE_SIZE): New macro.
3726         (decoding_table_remove_char): New inline function.
3727         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3728         `decoding_table_remove_char'.
3729         (remove_char_ccs): Use `decoding_table_remove_char'.
3730         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3731
3732 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3733
3734         * mule-charset.c (Vcharacter_name_table): New variable.
3735         (Qname): New variable.
3736         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3737         attribute.
3738         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3739         `Vcharacter_name_table' for `name' attribute.
3740         (Fremove_char_attribute): Use function `remove_char_ccs'.
3741         (put_char_ccs_code_point): New function.
3742         (remove_char_ccs): New function.
3743         (syms_of_mule_charset): Add new symbol `name'.
3744         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3745
3746 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3747
3748         * mule-charset.c (make_byte_table): Add new argument `older'.
3749         (make_char_id_table): Likewise.
3750         (copy_char_id_table): Comment out because it is not used.
3751         (put_char_id_table): Modify for `make_byte_table'.
3752         (Fput_char_attribute): Make encoding_table as older object;
3753         inherit older bit of `Vcharacter_composition_table'.
3754         (mark_charset): Don't mark `cs->encoding_table'.
3755         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3756         normal object; make `Vcharacter_composition_table' as an older
3757         object; delete staticpro for `Vcharacter_composition_table'; make
3758         `Vcharacter_variant_table' as a normal object.
3759
3760         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3761         (mark_object): Don't check older object in UTF-2000.
3762
3763         * lrecord.h (struct lrecord_header): Add new member `older' in
3764         UTF-2000.
3765         (set_lheader_implementation): Setup `SLI_header->older' in
3766         UTF-2000.
3767         (set_lheader_older_implementation): New macro in UTF-2000.
3768         (OLDER_RECORD_P): New macro in UTF-2000.
3769         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3770         (alloc_older_lcrecord): New prototype in UTF-2000.
3771         (alloc_older_lcrecord_type): New macro in UTF-2000.
3772
3773 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3774
3775         * mule-charset.c (byte_table_description): Use
3776         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3777         (char_id_table_description): Delete bogus `, 1'.
3778         (Fget_char_attribute): Refer encoding_table of each coded-charset
3779         to get value of coded-charset attribute of a character.
3780         (Fput_char_attribute): Use `make_older_vector' instead of
3781         `make_vector'; use encoding_table of each coded-charset to store
3782         value of coded-charset attribute of a character.
3783         (Fremove_char_attribute): Use encoding_table of each coded-charset
3784         to store value of coded-charset attribute of a character.
3785         (mark_charset): Mark `cs->encoding_table'; don't mark
3786         `cs->decoding_table'.
3787         (charset_description): Add description of new member
3788         `encoding_table'.
3789         (make_charset): Initialize `encoding_table'.
3790
3791         * char-ucs.h (struct Lisp_Charset): Add new member
3792         `encoding_table'.
3793         (CHARSET_ENCODING_TABLE): New macro.
3794         (XCHARSET_ENCODING_TABLE): New macro.
3795         (charset_code_point): New implementation.
3796         (encode_char_1): Likewise.
3797
3798         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3799         (disksave_object_finalization_1): Call finalizers of
3800         `all_older_lcrecords' in UTF-2000.
3801         (make_older_vector): New function in UTF-2000.
3802         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3803         UTF-2000.
3804
3805         * lisp.h (make_older_vector): New prototype in UTF-2000.
3806
3807 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3808
3809         * lrecord.h (enum lrecord_type): Rename
3810         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3811
3812         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3813         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3814         `get_char_code_table'.
3815
3816         * mule-charset.c (mark_char_id_table): Renamed from
3817         `mark_char_code_table'.
3818         (char_id_table_equal): Renamed from `char_code_table_equal'.
3819         (char_id_table_hash): Renamed from `char_code_table_hash'.
3820         (make_char_id_table): Renamed from `make_char_code_table'.
3821         (copy_char_id_table): Renamed from `copy_char_code_table'.
3822         (get_char_id_table): Renamed from `get_char_code_table'.
3823         (put_char_id_table): Renamed from `put_char_code_table'.
3824         (to_char_id): Renamed from `to_char_code'.
3825
3826         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3827         `Lisp_Char_Code_Table'.
3828         (char_id_table): Renamed from `char_code_table'.
3829         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3830         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3831         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3832         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3833         (get_char_id_table): Renamed from `get_char_code_table'.
3834
3835 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3836
3837         * lrecord.h (enum lrecord_type): Rename
3838         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3839
3840         * mule-charset.c (mark_byte_table): Renamed from
3841         `mark_char_byte_table'.
3842         (byte_table_equal): Renamed from `char_byte_table_equal'.
3843         (byte_table_hash): Renamed from `byte_table_hash'.
3844         (make_byte_table): Renamed from `make_byte_table'.
3845         (copy_byte_table): Renamed from `copy_char_byte_table'.
3846
3847         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3848         `Lisp_Char_Byte_Table'.
3849         (byte_table): Renamed from `char_byte_table'.
3850         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3851         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3852         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3853         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3854
3855 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3856
3857         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3858         (dfc_convert_to_internal_format): Likewise.
3859         
3860         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3861         * text-coding.c (Fcoding_system_alias_p): New function.
3862         * text-coding.c (Fcoding_system_aliasee): New function.
3863         * text-coding.c (append_suffix_to_symbol): New function.
3864         * text-coding.c (dangling_coding_system_alias_p): New function.
3865         * text-coding.c (Ffind_coding_system):
3866         * text-coding.c (Fcopy_coding_system):
3867         * text-coding.c (encode_coding_no_conversion):
3868         * text-coding.c (syms_of_file_coding):
3869         * text-coding.c (vars_of_file_coding):
3870         Rewrite coding system alias code.
3871         Allow nested aliases, like symbolic links.
3872         Allow redefinition of coding system aliases.
3873         Prevent existence of dangling coding system aliases.
3874         Eliminate convert_to_external_format.
3875         Eliminate convert_to_internal_format.
3876         
3877         * text-coding.c: Change enum eol_type to eol_type_t.
3878
3879 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3880
3881         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3882         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3883
3884         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3885         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3886
3887 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3888
3889         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3890         `ideograph-daikanwa'.
3891
3892         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3893         (Vcharset_ucs_bmp): Likewise.
3894         (Vcharset_mojikyo): Add new extern variable definition.
3895         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3896         (Vcharset_latin_iso8859_3): Likewise.
3897         (Vcharset_latin_iso8859_4): Likewise.
3898         (Vcharset_latin_iso8859_9): Likewise.
3899         (Vcharset_latin_viscii_lower): Likewise.
3900         (Vcharset_latin_viscii_upper): Likewise.
3901         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3902         `mojikyo' code-point is used to decode.
3903         (encode_char_2): New function [to convert `mojikyo' code-point to
3904         Mojikyo font encoding].
3905         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3906         (breakup_char_1): Likewise.
3907         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3908
3909 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3910
3911         * text-coding.c (Fmake_coding_system): Add document about
3912         `disable-composition' property.
3913
3914 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3915
3916         * text-coding.c (Qdisable_composition): New variable; delete
3917         `Qcomposite'.
3918         (Fmake_coding_system): Add new property `disable-composite';
3919         delete property `composite'.
3920         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3921         instead of `!CODING_SYSTEM_COMPOSITE'.
3922         (syms_of_file_coding): Add new symbol `disable-composition';
3923         delete symbol `composite'.
3924
3925         * file-coding.h (struct Lisp_Coding_System): Add
3926         `disable_composition'; delete `enable_composition'.
3927         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3928         `CODING_SYSTEM_COMPOSITE'.
3929         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3930         `XCODING_SYSTEM_COMPOSITE'.
3931
3932 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3933
3934         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3935         to 0.15.
3936
3937 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3938
3939         * text-coding.c (Qcomposite): New variable.
3940         (Fmake_coding_system): Add new property `composite'.
3941         (struct decoding_stream): Add `combined_char_count',
3942         `combined_chars' and `combining_table' in UTF-2000.
3943         (COMPOSE_FLUSH_CHARS): New macro.
3944         (COMPOSE_ADD_CHAR): New macro.
3945         (reset_decoding_stream): Reset `str->combined_char_count' and
3946         `str->combining_table' in UTF-2000.
3947         (decode_coding_iso2022): Modify for character-decomposition.
3948         (syms_of_file_coding): Add new symbol `composite'.
3949
3950 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3951
3952         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3953         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3954         of `Vcharacter_composition_table' if `->decomposition' property
3955         has only 1 element.
3956         (Qlatin_tcvn5712): New variable.
3957         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3958         (complex_vars_of_mule_charset): Add new coded-charset
3959         `latin-tcvn5712'.
3960
3961         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3962
3963 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3964
3965         * file-coding.h (struct Lisp_Coding_System): Add
3966         `enable_composition'.
3967         (CODING_SYSTEM_COMPOSITE): New macro.
3968         (XCODING_SYSTEM_COMPOSITE): New macro.
3969
3970 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3971
3972         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3973
3974 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3975
3976         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3977         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3978
3979 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3980
3981         * mule-charset.c (Vcharset_mojikyo): New variable.
3982         (Fdefine_char): Don't use coded-charset which does not have
3983         non-builtin character range to allocate character-id.
3984         (Qmojikyo): New variable.
3985         (syms_of_mule_charset): Add new symbol `mojikyo'.
3986         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3987
3988         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3989         (LEADING_BYTE_MOJIKYO): New macro.
3990         (MIN_CHAR_MOJIKYO): New macro.
3991         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3992         (MAX_CHAR_MOJIKYO): New macro.
3993
3994 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3995
3996         * mule-charset.c (remove_char_attribute): Fixed.
3997
3998 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3999
4000         * mule-charset.c (remove_char_attribute): New function.
4001         (Fremove_char_attribute): New function.
4002         (encode_builtin_char_1): Comment out builtin-support for
4003         greek-iso8859-7 and cyrillic-iso8859-5.
4004         (Fdecode_char): Check `code' is an integer.
4005         (syms_of_mule_charset): Add `remove-char-attribute'.
4006         (MIN_CHAR_GREEK): Deleted.
4007         (MAX_CHAR_GREEK): Likewise.
4008         (MIN_CHAR_CYRILLIC): Likewise.
4009         (MAX_CHAR_CYRILLIC): Likewise.
4010         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
4011         MAX_CHAR_GREEK for `greek-iso8859-7'.
4012
4013         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
4014         (MAX_CHAR_GREEK): Likewise.
4015         (MIN_CHAR_CYRILLIC): Likewise.
4016         (MAX_CHAR_CYRILLIC): Likewise.
4017
4018 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
4019
4020         * mule-charset.c (Fdefine_char): Fix problem when new code-point
4021         format is used without `ucs' property.
4022         (Fdecode_char): Fix problem with GR representation.
4023         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
4024         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
4025
4026 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4027
4028         * mule-charset.c (make_builtin_char): New function.
4029         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4030         (Fset_charset_mapping_table): Modify for new representation of
4031         code-point.
4032         (Fdecode_char): New function.
4033         (syms_of_mule_charset): Add new builtin function `decode-char' in
4034         UTF-2000.
4035
4036         * char-ucs.h (make_builtin_char): New prototype.
4037         (DECODE_CHAR): New inline function.
4038         (MAKE_CHAR): Use `DECODE_CHAR'.
4039
4040 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4041
4042         * text-coding.c (parse_charset_conversion_specs): Use
4043         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4044         `XCHARSET_TYPE'.
4045         (iso2022_designate): Likewise.
4046
4047         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4048         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4049
4050         * mule-charset.c (Vcharset_ucs): New variable.
4051         (print_charset): Change design; use `CHARSET_CHARS' and
4052         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4053         (make_charset): Change signature to specify `chars' and
4054         `dimension' instead of `type'.
4055         (range_charset_code_point): Modify for 256^n-set.
4056         (encode_builtin_char_1): Encode as `ucs' in default.
4057         (Fmake_charset): Modify for `make_charset'.
4058         (Fmake_reverse_direction_charset): Likewise.
4059         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4060         UTF-2000.
4061         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4062         for `make_charset'.
4063
4064         * char-ucs.h (Vcharset_ucs): New variable.
4065         (LEADING_BYTE_UCS): New macro.
4066         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4067         and `chars' to `unsigned short' from `unsigned int'.
4068         (CHARSET_TYPE): Deleted.
4069         (XCHARSET_TYPE): Deleted.
4070
4071 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4072
4073         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4074
4075         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4076         (ENCODE_CHAR): New macro.
4077
4078 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4079
4080         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4081         to 0.14 (Kawachi-Katakami).
4082
4083 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4084
4085         * text-coding.c (char_encode_shift_jis): Modify for
4086         `charset_code_point'.
4087         (char_encode_iso2022): Likewise.
4088
4089         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4090         (integer) instead of list of <Lisp_Object>s (integers) as the
4091         format of code-point of a coded-charset.
4092         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4093         (encode_builtin_char_1): New function; delete
4094         `split_builtin_char'.
4095         (charset_code_point): Return <int> instead of <Lisp_Object>.
4096         (Fsplit_char): Don't use `SPLIT_CHAR'.
4097
4098         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4099         prototype for `split_builtin_char'.
4100         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4101         (charset_code_point): Likewise.
4102         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4103         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4104
4105 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4106
4107         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4108         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4109
4110 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4111
4112         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4113
4114         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4115         (MAX_CHAR_OBS_94x94): Deleted.
4116
4117 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4118
4119         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4120
4121         * char-ucs.h (MAX_CHAR_BMP): New macro.
4122
4123 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4124
4125         * text-coding.c: Sync with r21-2-24.
4126
4127 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4128
4129         * file-coding.c: Modify for UTF-2000.
4130
4131 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4132
4133         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4134         to 0.13 (Takaida).
4135
4136 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4137
4138         * mule-charset.c (split_builtin_char): Delete builtin support for
4139         `katakana-jisx0201'.
4140         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4141         BMP area in builtin representation.
4142
4143         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4144         `Vcharset_katakana_jisx0201'.
4145
4146 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4147
4148         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4149         (Qisolated): New variable.
4150         (Qinitial): New variable.
4151         (Qmedial): New variable.
4152         (Qfinal): New variable.
4153         (Qvertical): New variable.
4154         (Qsmall): New variable.
4155         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4156         `Qvertical' and `Qsmall'.
4157         (Qmojikyo_pj_[1 .. 21]): New variable.
4158         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4159         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4160         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4161         .. 21]'.
4162
4163 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4164
4165         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4166         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4167         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4168
4169 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4170
4171         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4172         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4173         BMP.
4174         (Qjapanese_jisx0208_1990): New variable.
4175         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4176         (complex_vars_of_mule_charset): Add new coded-charset
4177         `japanese-jisx0208-1990'.
4178
4179         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4180         (MIN_CHAR_JIS_X0208_1990): New macro.
4181         (MAX_CHAR_JIS_X0208_1990): New macro.
4182
4183 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4184
4185         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4186         coded-charset is not found.
4187
4188 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4189
4190         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4191         (Fdefine_char): Use `Fmake_char'.
4192
4193 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4194
4195         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4196         (Vcharset_hiragana_jisx0208): Deleted.
4197         (Vcharset_katakana_jisx0208): Deleted.
4198         (Qideograph_daikanwa): New variable.
4199         (Qhiragana_jisx0208): Deleted.
4200         (Qkatakana_jisx0208): Deleted.
4201         (split_builtin_char): Split `ideograph-daikanwa'.
4202         (Fsplit_char): New implementation for UTF-2000.
4203         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4204         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4205         (complex_vars_of_mule_charset): Add new coded-charset
4206         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4207         `katakana-jisx0208'.
4208
4209         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4210         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4211         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4212         (MIN_CHAR_DAIKANWA): New macro.
4213         (MAX_CHAR_DAIKANWA): New macro.
4214
4215 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4216
4217         * data.c (Fstring_to_number): Don't recognize floating point if
4218         base is not 10.
4219
4220 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4221
4222         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4223
4224 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4225
4226         * mule-charset.c (Qsquare): New variable.
4227         (to_char_code): Add `Qsquare'.
4228         (syms_of_mule_charset): Add new symbol `square'.
4229
4230 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4231
4232         * mule-charset.c (Qcircle): New variable.
4233         (to_char_code): Add `Qcircle'.
4234         (syms_of_mule_charset): Add new symbol `circle'.
4235
4236 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4237
4238         * mule-charset.c (Qfont): New variable.
4239         (to_char_code): Add `Qfont'.
4240         (syms_of_mule_charset): Add new symbol `font'.
4241
4242 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4243
4244         * mule-charset.c (Qsub): New variable.
4245         (to_char_code): Add `Qsub'.
4246         (syms_of_mule_charset): Add new symbol `sub'.
4247
4248 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4249
4250         * mule-charset.c (Fput_char_attribute): Convert each element of
4251         VALUE to GL position if ATTRIBUTE is a GR-set,
4252
4253 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4254
4255         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4256         coded-charset is a GR-set.
4257
4258 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4259
4260         * mule-charset.c (Fput_char_attribute): Check each element of
4261         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4262
4263 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4264
4265         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4266         UTF-2000.
4267         (Qethiopic_ucs): New variable in UTF-2000.
4268         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4269         (complex_vars_of_mule_charset): Add new coded-charset
4270         `ethiopic-ucs' in UTF-2000.
4271
4272         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4273         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4274         9)'.
4275         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4276         10)'.
4277         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4278
4279 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4280
4281         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4282         `ascii'.
4283
4284 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4285
4286         * mule-charset.c (Vcharacter_variant_table): New variable.
4287         (Q_ucs): New variable.
4288         (Fchar_variants): New function.
4289         (Fput_char_attribute): Register `->ucs' value to
4290         `Vcharacter_variant_table'.
4291         (syms_of_mule_charset): Add new function `char-variants' and new
4292         symbol `->ucs'.
4293         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4294
4295 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4296
4297         * mule-charset.c (get_char_code_table): Allow negative character
4298         code.
4299         (put_char_code_table): Likewise.
4300         (Vcharacter_composition_table): New variable.
4301         (Q_decomposition): New variable.
4302         (Qwide): New variable.
4303         (Qnarrow): New variable.
4304         (Qcompat): New variable.
4305         (QnoBreak): New variable.
4306         (Qsuper): New variable.
4307         (Qfraction): New variable.
4308         (to_char_code): New function.
4309         (Fget_composite_char): New function.
4310         (Fput_char_attribute): Register `->decomposition' value to
4311         `Vcharacter_composition_table'.
4312         (syms_of_mule_charset): Add new function `get-composite-char', new
4313         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4314         `super' and `fraction'.
4315         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4316
4317 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4318
4319         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4320         character; copy the return value.
4321
4322 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4323
4324         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4325
4326         * mule-charset.c (range_charset_code_point): Must use make_int.
4327         (split_builtin_char): New function.
4328
4329 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4330
4331         * mule-charset.c (char_byte_table): Change name from
4332         "char-code-table" to "char-byte-table".
4333         (mark_char_code_table): New function.
4334         (char_code_table_equal): New function.
4335         (char_code_table_hash): New function.
4336         (char_code_table_description): New constant.
4337         (char_code_table): New type.
4338         (make_char_code_table): New function.
4339         (copy_char_code_table): New function.
4340         (get_char_code_table): Modify for `char_code_table' type.
4341         (put_char_code_table): Likewise.
4342         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4343         (Kashiwara).
4344
4345         * char-ucs.h (char_code_table): New type.
4346         (XCHAR_CODE_TABLE): New macro.
4347         (XSETCHAR_CODE_TABLE): New macro.
4348         (CHAR_CODE_TABLE_P): New macro.
4349         (GC_CHAR_CODE_TABLE_P): New macro.
4350         (struct Lisp_Char_Code_Table): New structure.
4351
4352 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4353
4354         * mule-charset.c (Fmake_charset): Setup byte_offset for
4355         {94|96}^n-set.
4356
4357 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4358
4359         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4360         character.
4361
4362 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4363
4364         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4365         is found.
4366
4367 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4368
4369         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4370         charset, it is regarded as a charset.
4371         (put_char_attribute): New function in UTF-2000.
4372         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4373         charset, mapping-table of the charset is modified.
4374         (Fdefine_char): New function in UTF-2000.
4375         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4376         `Fput_char_attribute'.
4377         (syms_of_mule_charset): Add new function `define-char' and new
4378         symbol `ucs' in UTF-2000.
4379         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4380
4381 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4382
4383         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4384         non-UTF-2000 configuration.
4385
4386 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4387
4388         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4389         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4390
4391         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4392         deleted.
4393         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4394         (Fset_charset_mapping_table): Likewise.
4395
4396         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4397         (CHARSET_ENCODING_TABLE): Delete.
4398         (XCHARSET_ENCODING_TABLE): Delete.
4399         (charset_code_point): New interface.
4400
4401 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4402
4403         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4404         instead of `charset_get_byte1' and `charset_get_byte2'.
4405
4406         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4407         (charset_get_byte2): Deleted.
4408
4409 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4410
4411         * char-ucs.h (SPLIT_CHAR): New inline function.
4412         (breakup_char_1): Use `SPLIT_CHAR'.
4413
4414         * mule-charset.c (range_charset_code_point): New function.
4415         (charset_code_point): New function.
4416
4417         * char-ucs.h (range_charset_code_point): New interface.
4418         (breakup_char_1): Use `range_charset_code_point'.
4419
4420 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4421
4422         * mule-charset.c (Fmake_charset): Delete unused local variable
4423         `code_offset'.
4424
4425         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4426         (breakup_char_1): Find a charset and code-point in
4427         `Vcharacter_attribute_table'.
4428
4429 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4430
4431         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4432         to 0.10 (Yao).
4433
4434 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4435
4436         * mule-charset.c (Vcharacter_attribute_table): New variable.
4437         (Fchar_attribute_alist): New function.
4438         (Fget_char_attribute): New function.
4439         (Fput_char_attribute): New function.
4440         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4441         too.
4442         (syms_of_mule_charset): Add new function `char-attribute-alist',
4443         `get-char-attribute' and `put-char-attribute'.
4444         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4445
4446 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4447
4448         * mule-charset.c (Fmake_charset): Just use
4449         `get_unallocated_leading_byte'.
4450
4451         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4452         sets; don't use final-byte based number for private sets.
4453
4454 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4455
4456         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4457         integer.
4458
4459 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4460
4461         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4462         to 0.9.
4463
4464 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4465
4466         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4467         of `CHAR_LEADING_BYTE' in UTF-2000.
4468
4469         * insdel.c (find_charsets_in_bufbyte_string): Use
4470         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4471         (find_charsets_in_emchar_string): Likewise.
4472
4473         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4474         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4475
4476         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4477         (CHAR_CHARSET_ID): New macro.
4478
4479 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4480
4481         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4482         charset-id - MIN_LEADING_BYTE.
4483         (put_char_table): Likewise.
4484
4485 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4486
4487         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4488         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4489         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4490         (CHARSET_ID_OFFSET): New macro.
4491         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4492         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4493         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4494         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4495         4).
4496         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4497         5).
4498         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4499         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4500         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4501         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4502         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4503
4504 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4505
4506         * mule-charset.c (next_allocated_leading_byte): New variable in
4507         UTF-2000.
4508         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4509         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4510         (get_unallocated_leading_byte): Simply use
4511         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4512         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4513         UTF-2000.
4514
4515         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4516         (MAX_LEADING_BYTE_PRIVATE): New macro.
4517         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4518         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4519
4520 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4521
4522         * mule-charset.c (Fmake_charset): Allocate final-byte based
4523         charset-id for 94-set, 96-set and 94x94-set.
4524
4525 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4526
4527         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4528         ambiguous `else'.
4529         (Fmake_charset): Likewise.
4530         (complex_vars_of_mule_charset): Modify the font registry of
4531         `ucs-bmp' not to match `Ethiopic-Unicode'.
4532
4533 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4534
4535         * mule-charset.c (complex_vars_of_mule_charset): Add font
4536         registory of `ucs-bmp'.
4537
4538 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4539
4540         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4541         coded-charsets in `default-coded-charset-priority-list' when
4542         breaking up a character.
4543
4544         * mule-charset.c (Vcharset_latin_viscii): New variable.
4545         (Qlatin_viscii): New variable.
4546         (make_charset): Don't use `decoding_table'.
4547         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4548         byte_offset.
4549         (Fset_charset_mapping_table): New implementation.
4550         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4551         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4552         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4553         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4554         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4555         charset `latin_viscii'.
4556
4557         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4558         (CHARSET_TYPE_94X94): Change to 1 from 2.
4559         (CHARSET_TYPE_96): Change to 2 from 1.
4560         (CHARSET_TYPE_128): New macro.
4561         (CHARSET_TYPE_128X128): Change to 5 from 4.
4562         (CHARSET_TYPE_256): New macro.
4563         (CHARSET_TYPE_256X256): Change to 7 from 5.
4564         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4565
4566 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4567
4568         * text-coding.c (char_encode_shift_jis): Refer
4569         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4570         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4571
4572         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4573         (char_byte_table_equal): New function in UTF-2000.
4574         (char_byte_table_hash): New function in UTF-2000.
4575         (char_byte_table_description): New constant in UTF-2000.
4576         (char_byte_table): New type in UTF-2000.
4577         (make_char_byte_table): New function in UTF-2000.
4578         (copy_char_byte_table): New function in UTF-2000.
4579         (make_char_code_table): New macro in UTF-2000.
4580         (get_char_code_table): New function in UTF-2000.
4581         (put_char_code_table): New function in UTF-2000.
4582         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4583         (charset_description): Add setting in UTF-2000.
4584         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4585         `CHARSET_TO_BYTE1_TABLE(cs)'.
4586         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4587         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4588         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4589         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4590         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4591         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4592         `CHARSET_TO_BYTE2_TABLE(cs)'.
4593
4594         * char-ucs.h (char_byte_table): New type.
4595         (XCHAR_BYTE_TABLE): New macro.
4596         (XSETCHAR_BYTE_TABLE): New macro.
4597         (CHAR_BYTE_TABLE_P): New macro.
4598         (GC_CHAR_BYTE_TABLE_P): New macro.
4599         (struct Lisp_Char_Byte_Table): New structure.
4600         (get_char_code_table): New interface.
4601         (Emchar_to_byte_table): Deleted.
4602         (get_byte_from_character_table): Deleted.
4603         (struct Lisp_Charset): Add `encoding_table'; delete
4604         `to_byte1_table' and `to_byte2_table'.
4605         (CHARSET_ENCODING_TABLE): New macro.
4606         (CHARSET_TO_BYTE1_TABLE): Deleted.
4607         (CHARSET_TO_BYTE2_TABLE): Deleted.
4608         (XCHARSET_ENCODING_TABLE): New macro.
4609         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4610         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4611
4612 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4613
4614         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4615         `vietnamese-viscii-*'.
4616
4617 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4618
4619         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4620         (Qvietnamese_viscii_upper): New variable.
4621         (Fdefine_charset_alias): New function.
4622         (syms_of_mule_charset): Add new function `define-charset-alias'.
4623         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4624         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4625         `latin-viscii-*'.
4626
4627 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4628
4629         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4630         (MAX_CHAR_OBS_94x94): New macro.
4631         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4632         for 94x94 sets.
4633
4634         * mule-charset.c (put_byte_from_character_table): Change unit size
4635         from 128 to 256.
4636         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4637         not defined.
4638         (Fmake_reverse_direction_charset): Modify dummy argument of
4639         `make_charset' for non-UTF-2000 environment.
4640
4641 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4642
4643         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4644
4645         * mule-charset.c (destroy_byte_from_character_table): New macro.
4646         (latin_jisx0201_to_ucs): Deleted.
4647         (latin_iso8859_2_to_ucs): Deleted.
4648         (latin_iso8859_3_to_ucs): Deleted.
4649         (latin_iso8859_4_to_ucs): Deleted.
4650         (latin_iso8859_9_to_ucs): Deleted.
4651         (latin_viscii_lower_to_ucs): Deleted.
4652         (latin_viscii_upper_to_ucs): Deleted.
4653         (mark_charset): Mark `cs->decoding_table'.
4654         (Fcharset_mapping_table): Fix DOC-string.
4655         (Fset_charset_mapping_table): New function.
4656         (syms_of_mule_charset): Add nwe function
4657         `set-charset-mapping-table'.
4658         (complex_vars_of_mule_charset): Don't setup and use
4659         `latin_*_to_ucs'.
4660
4661 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4662
4663         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4664         charset.
4665
4666 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4667
4668         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4669         (Vcharset_katakana_jisx0208): New variable.
4670         (Qhiragana_jisx0208): New variable.
4671         (Qkatakana_jisx0208): New variable.
4672         (make_charset): Add new argument `byte_offset'.
4673         (charset_get_byte1): Modify for new coded-charset definition; use
4674         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4675         `XCHARSET_BYTE_OFFSET'.
4676         (Fmake_charset): Modify for `make_charset'.
4677         (Fmake_reverse_direction_charset): Likewise.
4678         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4679         `katakana-jisx0208'.
4680         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4681         `.'  in font registry of charset `katakana-jisx0201',
4682         `latin-jisx0201', `vietnamese-viscii-lower' and
4683         `vietnamese-viscii-upper'; modify DOC-string of charset
4684         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4685         registry of charset `japanese-jisx0208' not to use font for JIS
4686         X0208:1990; add new charset `hiragana-jisx0208' and
4687         `katakana-jisx0208'.
4688
4689         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4690         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4691         (struct Lisp_Charset): Add `byte_offset'.
4692         (CHARSET_BYTE_OFFSET): New macro.
4693         (XCHARSET_UCS_MIN): New macro.
4694         (XCHARSET_UCS_MAX): New macro.
4695         (XCHARSET_CODE_OFFSET): New macro.
4696         (XCHARSET_BYTE_OFFSET): New macro.
4697         (MIN_CHAR_HIRAGANA): New macro.
4698         (MAX_CHAR_HIRAGANA): New macro.
4699         (MIN_CHAR_KATAKANA): New macro.
4700         (MAX_CHAR_KATAKANA): New macro.
4701         (MAKE_CHAR): Modify for new coded-charset definition; use
4702         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4703         `XCHARSET_BYTE_OFFSET'.
4704
4705 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4706
4707         * mule-charset.c (CHAR96): Deleted.
4708         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4709         <Lisp_Object>.
4710         (latin_iso8859_2_to_ucs): Likewise.
4711         (latin_iso8859_3_to_ucs): Likewise.
4712         (latin_iso8859_4_to_ucs): Likewise.
4713         (latin_iso8859_9_to_ucs): Likewise.
4714         (latin_viscii_lower_to_ucs): Likewise.
4715         (latin_viscii_upper_to_ucs): Likewise.
4716         (latin_tcvn5712_to_ucs): Commented out.
4717         (make_charset): Change type of argument `decoding_table' from
4718         <Emchar*> to <Lisp_Object> [vector of characters].
4719         (Fmake_charset): Modify for `make_charset'.
4720         (Fmake_reverse_direction_charset): Likewise.
4721         (Fcharset_mapping_table): New function in UTF-2000.
4722         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4723         UTF-2000.
4724         (complex_vars_of_mule_charset): Modify for type change of
4725         `*_to_ucs'; modify for `make_charset'.
4726
4727         * char-ucs.h (struct Lisp_Charset): Change type of
4728         `decoding_table' from <Emchar*> to <Lisp_Object>.
4729         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4730
4731 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4732
4733         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4734         error with non-UTF-2000-Mule.
4735
4736 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4737
4738         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4739         in lisp again].
4740         (Vcharset_chinese_cns11643_4): Likewise.
4741         (Vcharset_chinese_cns11643_5): Likewise.
4742         (Vcharset_chinese_cns11643_6): Likewise.
4743         (Vcharset_chinese_cns11643_7): Likewise.
4744         (Qchinese_cns11643_3): Likewise.
4745         (Qchinese_cns11643_4): Likewise.
4746         (Qchinese_cns11643_5): Likewise.
4747         (Qchinese_cns11643_6): Likewise.
4748         (Qchinese_cns11643_7): Likewise.
4749         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4750         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4751         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4752         (complex_vars_of_mule_charset): Likewise.
4753
4754 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4755
4756         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4757         96-set.
4758         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4759         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4760
4761 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4762
4763         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4764         0xFF60.
4765         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4766         (breakup_char_1): Likewise.
4767
4768         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4769         one of them includes the specified character.
4770
4771 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4772
4773         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4774
4775 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4776
4777         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4778
4779 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4780
4781         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4782         definition for non-UTF-2000 Mule.
4783         (latin_iso8859_3_to_ucs): Likewise.
4784         (latin_iso8859_4_to_ucs): Likewise.
4785         (latin_iso8859_9_to_ucs): Likewise.
4786         (latin_jisx0201_to_ucs): Likewise.
4787         (MIN_CHAR_THAI): Likewise.
4788         (MAX_CHAR_THAI): Likewise.
4789         (MIN_CHAR_GREEK): Likewise.
4790         (MAX_CHAR_GREEK): Likewise.
4791         (MIN_CHAR_HEBREW): Likewise.
4792         (MAX_CHAR_HEBREW): Likewise.
4793         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4794         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4795         (MIN_CHAR_CYRILLIC): Likewise.
4796         (MAX_CHAR_CYRILLIC): Likewise.
4797
4798 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4799
4800         * char-ucs.h (breakup_char_1): Use
4801         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4802         thai-tis620 and katakana-jisx0201 area.
4803
4804 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4805
4806         * char-ucs.h (breakup_char_1): Use
4807         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4808         area.
4809
4810         * text-coding.c (reset_encoding_stream): Fixed.
4811         (char_encode_ucs4): Delete `& 255'.
4812
4813         * char-ucs.h (breakup_char_1): Use
4814         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4815
4816 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4817
4818         * file-coding.c (Fmake_coding_system): Don't set up
4819         `codesys->fixed.size'.
4820         (encode_coding_no_conversion): Don't refer
4821         `str->codesys->fixed.size'.
4822
4823 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4824
4825         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4826         (latin_a_char_to_byte1): Deleted.
4827         (latin_a_char_to_byte2): Deleted.
4828
4829 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4830
4831         * mule-charset.c (make_charset): Add new argument `ucs_min',
4832         `ucs_max' and `code_offset'.
4833         (charset_get_byte1): New implementation [delete specific charset
4834         depended implementations].
4835         (Fmake_charset): Modify for `make_charset'.
4836         (Fmake_reverse_direction_charset): Likewise.
4837         (complex_vars_of_mule_charset): Likewise.
4838
4839         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4840         `code_offset'.
4841         (CHARSET_UCS_MIN): New macro.
4842         (CHARSET_UCS_MAX): New macro.
4843         (CHARSET_CODE_OFFSET): New macro.
4844         (MAKE_CHAR): Delete charset depended definitions [except
4845         katakana-jisx0201].
4846
4847 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4848
4849         * char-ucs.h (breakup_char_1): Use
4850         `Vdefault_coded_charset_priority_list' for C0-Controls,
4851         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4852
4853 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4854
4855         * char-ucs.h (charset_get_byte1): New function.
4856         (XCHARSET_GET_BYTE1): Deleted.
4857         (charset_get_byte2): New function.
4858         (XCHARSET_GET_BYTE2): Deleted.
4859         (Vdefault_coded_charset_priority_list): New external variable.
4860         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4861         `Vdefault_preferred_coded_charset_list'.
4862
4863         * mule-charset.c (charset_get_byte1): New function.
4864         (charset_get_byte2): New function.
4865         (Vdefault_coded_charset_priority_list): New variable.
4866         (vars_of_mule_charset): Add new variable
4867         `default-coded-charset-priority-list'.
4868
4869 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4870
4871         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4872         (XCHARSET_GET_BYTE2): New inline function.
4873         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4874         `XCHARSET_GET_BYTE2'.
4875
4876 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4877
4878         * mule-charset.c (make_charset): Initialize
4879         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4880         NULL if table is not defined.
4881
4882 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4883
4884         * text-coding.c (char_encode_shift_jis): Use
4885         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4886         `ucs_to_latin_jisx0201'.
4887
4888         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4889         (ucs_to_latin_iso8859_2): Deleted.
4890         (ucs_to_latin_iso8859_3): Deleted.
4891         (ucs_to_latin_iso8859_4): Deleted.
4892         (ucs_to_latin_iso8859_9): Deleted.
4893         (ucs_to_latin_viscii_lower): Deleted.
4894         (ucs_to_latin_viscii_upper): Deleted.
4895         (ucs_to_latin_tcvn5712): Deleted.
4896         (make_charset): Add new argument `decoding_table'; set up
4897         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4898         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4899         `decoding_table' is defined in UTF-2000.
4900         (Fmake_charset): Modify for `make_charset'.
4901         (Fmake_reverse_direction_charset): Likewise.
4902         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4903         and `GENERATE_96_SET'.
4904
4905         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4906         (ucs_to_latin_jisx0201): Deleted.
4907         (latin_iso8859_2_to_ucs): Deleted.
4908         (ucs_to_latin_iso8859_2): Deleted.
4909         (latin_iso8859_3_to_ucs): Deleted.
4910         (ucs_to_latin_iso8859_3): Deleted.
4911         (latin_iso8859_4_to_ucs): Deleted.
4912         (ucs_to_latin_iso8859_4): Deleted.
4913         (latin_iso8859_9_to_ucs): Deleted.
4914         (ucs_to_latin_iso8859_9): Deleted.
4915         (latin_viscii_lower_to_ucs): Deleted.
4916         (ucs_to_latin_viscii_lower): Deleted.
4917         (latin_viscii_upper_to_ucs): Deleted.
4918         (ucs_to_latin_viscii_upper): Deleted.
4919         (struct Lisp_Charset): Renamed `encoding_table' to
4920         `to_byte1_table'; add `to_byte2_table'.
4921         (CHARSET_DECODING_TABLE): New macro.
4922         (CHARSET_TO_BYTE1_TABLE): New macro.
4923         (CHARSET_TO_BYTE2_TABLE): New macro.
4924         (XCHARSET_DECODING_TABLE): New macro.
4925         (XCHARSET_TO_BYTE1_TABLE): New macro.
4926         (XCHARSET_TO_BYTE2_TABLE): New macro.
4927         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4928         tables.
4929         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4930         don't use `ucs_to_*' tables.
4931
4932 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4933
4934         * text-coding.c (Fmake_coding_system): Don't set up
4935         `codesys->fixed.size'.
4936         (encode_coding_no_conversion): Use `if' instead of `switch'.
4937
4938         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4939
4940 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4941
4942         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4943         (Fmake_charset): Modify for `make_charset'.
4944         (Fmake_reverse_direction_charset): Likewise.
4945         (complex_vars_of_mule_charset): Likewise.
4946
4947 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4948
4949         * text-coding.c (char_encode_shift_jis): Use table
4950         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4951
4952 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4953
4954         * text-coding.c (text_encode_generic): Use `if' instead of
4955         `switch'.
4956         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4957         decode JIS-Latin.
4958
4959 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4960
4961         * text-coding.c (encode_coding_sjis): Deleted.
4962         (char_encode_shift_jis): New function.
4963         (char_finish_shift_jis): New function.
4964         (reset_encoding_stream): Set up `encode_char' and `finish' for
4965         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4966         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4967         (char_encode_utf8): Treat `eol_type'.
4968
4969 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4970
4971         * file-coding.c (decode_coding_iso2022): Use
4972         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4973
4974 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4975
4976         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4977         to 0.7 (Hirano).
4978
4979 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4980
4981         * char-lb.h (CHAR_COLUMNS): New macro.
4982
4983 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4984
4985         * text-coding.c (char_encode_ucs4): New function.
4986         (char_finish_ucs4): New function.
4987         (encode_coding_ucs4): Deleted.
4988         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4989         (text_encode_generic): Delete local variable `charset' and `half'.
4990         (ucs_to_mule_table): Deleted.
4991         (mule_to_ucs_table): Deleted.
4992         (Fset_ucs_char): Deleted.
4993         (ucs_to_char): Deleted.
4994         (Fucs_char): Deleted.
4995         (Fset_char_ucs): Deleted.
4996         (Fchar_ucs): Deleted.
4997         (decode_ucs4): Deleted.
4998         (mule_char_to_ucs4): Deleted.
4999         (encode_ucs4): Deleted.
5000         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
5001         (decode_coding_utf8): Likewise.
5002         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
5003         (char_encode_iso2022): Fixed.
5004         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
5005         `Fset_char_ucs' and `Fchar_ucs'.
5006         (complex_vars_of_file_coding): Don't initialize
5007         `ucs_to_mule_table'.
5008
5009         * objects-tty.c (tty_initialize_font_instance): Don't use
5010         `XCHARSET_COLUMNS'.
5011
5012         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
5013         UTF-2000.
5014
5015         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
5016         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5017
5018         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
5019         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5020         (emchar_string_displayed_columns): Likewise.
5021
5022         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
5023         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5024         (string_column_at_point): Likewise.
5025         (Fmove_to_column): Likewise.
5026
5027         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5028         `encoding_table' and `decoding_table'.
5029         (CHARSET_REP_BYTES): Deleted.
5030         (XCHARSET_REP_BYTES): Deleted.
5031         (XCHARSET_COLUMNS): Deleted.
5032         (CHAR_COLUMNS): New macro.
5033         (lookup_composite_char): Deleted unconditionally.
5034         (composite_char_string): Likewise.
5035
5036 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5037
5038         * char-ucs.h (Emchar_to_byte_table): New type.
5039         (get_byte_from_character_table): New function interface.
5040         (Vcharset_latin_jisx0201): New variable.
5041         (latin_jisx0201_to_ucs): New variable.
5042         (ucs_to_latin_jisx0201): New variable.
5043         (Vcharset_latin_iso8859_2): New variable.
5044         (latin_iso8859_2_to_ucs): New variable.
5045         (ucs_to_latin_iso8859_2): New variable.
5046         (Vcharset_latin_iso8859_3): New variable.
5047         (latin_iso8859_3_to_ucs): New variable.
5048         (ucs_to_latin_iso8859_3): New variable.
5049         (Vcharset_latin_iso8859_4): New variable.
5050         (latin_iso8859_4_to_ucs): New variable.
5051         (ucs_to_latin_iso8859_4): New variable.
5052         (Vcharset_latin_iso8859_9): New variable.
5053         (latin_iso8859_9_to_ucs): New variable.
5054         (ucs_to_latin_iso8859_9): New variable.
5055         (Vcharset_latin_viscii_lower): New variable.
5056         (latin_viscii_lower_to_ucs): New variable.
5057         (ucs_to_latin_viscii_lower): New variable.
5058         (Vcharset_latin_viscii_upper): New variable.
5059         (latin_viscii_upper_to_ucs): New variable.
5060         (ucs_to_latin_viscii_upper): New variable.
5061         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5062         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5063         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5064         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5065         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5066         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5067         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5068         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5069         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5070         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5071
5072         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5073         (Vcharset_latin_viscii_upper): New variable.
5074         (make_byte_from_character_table): New function.
5075         (put_byte_from_character_table): New function.
5076         (get_byte_from_character_table): New function.
5077         (CHAR96): New macro.
5078         (ucs_to_latin_jisx0201): New variable.
5079         (latin_jisx0201_to_ucs): New variable.
5080         (ucs_to_latin_iso8859_2): New variable.
5081         (latin_iso8859_2_to_ucs): New variable.
5082         (ucs_to_latin_iso8859_3): New variable.
5083         (latin_iso8859_3_to_ucs): New variable.
5084         (ucs_to_latin_iso8859_4): New variable.
5085         (latin_iso8859_4_to_ucs): New variable.
5086         (ucs_to_latin_iso8859_9): New variable.
5087         (latin_iso8859_9_to_ucs): New variable.
5088         (ucs_to_latin_viscii_lower): New variable.
5089         (latin_viscii_lower_to_ucs): New variable.
5090         (ucs_to_latin_viscii_upper): New variable.
5091         (latin_viscii_upper_to_ucs): New variable.
5092         (ucs_to_latin_tcvn5712): New variable.
5093         (latin_tcvn5712_to_ucs): New variable.
5094         (Qlatin_viscii_lower): New variable.
5095         (Qlatin_viscii_upper): New variable.
5096         (syms_of_mule_charset): Set up new symbol
5097         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5098         (complex_vars_of_mule_charset): Set up new charset
5099         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5100         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5101         `ucs_to_<CHARSET>' tables.
5102
5103 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5104
5105         * text-coding.c: New file.
5106
5107 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5108
5109         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5110
5111         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5112         (MAKE_CHAR): Modify for `ucs-bmp'.
5113         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5114         non-MULE characters of BMP.
5115
5116 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5117
5118         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5119         to 0.6.
5120
5121 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5122
5123         * lstream.h:
5124         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5125         - Include character.h for `CHAR_ASCII_P'.
5126
5127         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5128
5129         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5130         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5131
5132         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5133         (BYTE_C0_P): Likewise.
5134         (BYTE_C1_P): Likewise.
5135         (Lstream_get_emchar_1): Likewise.
5136         (Lstream_fput_emchar): Likewise.
5137         (Lstream_funget_emchar): Likewise.
5138         (copy_internal_to_external): Likewise.
5139         (copy_external_to_internal): Likewise.
5140
5141         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5142         (BYTE_C0_P): Likewise.
5143         (BYTE_C1_P): Likewise.
5144         (Lstream_get_emchar_1): Likewise.
5145         (Lstream_fput_emchar): Likewise.
5146         (Lstream_funget_emchar): Likewise.
5147         (copy_internal_to_external): Likewise.
5148         (copy_external_to_internal): Likewise.
5149
5150         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5151         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5152
5153         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5154         (BYTE_ASCII_P): Moved to mb-1byte.h.
5155
5156 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5157
5158         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5159
5160         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5161         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5162         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5163         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5164         (VALIDATE_CHARPTR_FORWARD): Likewise.
5165         (simple_charptr_emchar): Moved to mb-multibyte.h.
5166         (simple_set_charptr_emchar): Likewise.
5167         (simple_charptr_copy_char): Likewise.
5168         (non_ascii_charptr_emchar): Likewise.
5169         (non_ascii_set_charptr_emchar): Likewise.
5170         (non_ascii_charptr_copy_char): Likewise.
5171         (charptr_emchar): Moved to mb-*byte.h.
5172         (set_charptr_emchar): Likewise.
5173         (charptr_copy_char): Likewise.
5174
5175         * mb-1byte.h, mb-multibyte.h: New files.
5176
5177 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5178
5179         * mb-utf-8.h (MULTIBYTE): New macro.
5180         (MAX_EMCHAR_LEN): Moved from buffer.h.
5181         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5182
5183         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5184
5185         * mb-lb.h, multibyte.h: New files.
5186
5187         * char-1byte.h (Charset_ID): Moved from buffer.h.
5188         (MIN_LEADING_BYTE): Likewise.
5189         (LEADING_BYTE_ASCII): Likewise.
5190         (NUM_LEADING_BYTES): Likewise.
5191         (CHARSETP): Likewise.
5192         (CHARSET_BY_LEADING_BYTE): Likewise.
5193         (XCHARSET_LEADING_BYTE): Likewise.
5194         (XCHARSET_GRAPHIC): Likewise.
5195         (XCHARSET_COLUMNS): Likewise.
5196         (XCHARSET_DIMENSION): Likewise.
5197         (CHAR_CHARSET): Likewise.
5198         (CHAR_LEADING_BYTE): Likewise.
5199         (BREAKUP_CHAR): Likewise.
5200         (Vcharset_ascii): Likewise.
5201
5202         * buffer.h: Include multibyte.h unconditionally.
5203         (VALID_CHARPTR_P): Moved to multibyte.h.
5204         (ASSERT_VALID_CHARPTR): Likewise.
5205         (REAL_INC_CHARPTR): Likewise.
5206         (REAL_INC_CHARBYTIND): Likewise.
5207         (REAL_DEC_CHARPTR): Likewise.
5208         (INC_CHARPTR): Likewise.
5209         (INC_CHARBYTIND): Likewise.
5210         (DEC_CHARPTR): Likewise.
5211         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5212         (VALIDATE_CHARPTR_FORWARD): Likewise.
5213         (charptr_n_addr): Likewise.
5214         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5215         (simple_charptr_emchar): Moved to multibyte.h.
5216         (simple_set_charptr_emchar): Likewise.
5217         (simple_charptr_copy_char): Likewise.
5218         (non_ascii_charptr_emchar): Likewise.
5219         (non_ascii_set_charptr_emchar): Likewise.
5220         (non_ascii_charptr_copy_char): Likewise.
5221         (charptr_emchar): Likewise.
5222         (set_charptr_emchar): Likewise.
5223         (charptr_copy_char): Likewise.
5224         (charptr_emchar_n): Likewise.
5225         (Charset_ID): Moved to char-1byte.h.
5226         (Vcharset_ascii): Likewise.
5227         (CHAR_CHARSET): Likewise.
5228         (CHAR_LEADING_BYTE): Likewise.
5229         (LEADING_BYTE_ASCII): Likewise.
5230         (NUM_LEADING_BYTES): Likewise.
5231         (MIN_LEADING_BYTE): Likewise.
5232         (CHARSETP): Likewise.
5233         (CHARSET_BY_LEADING_BYTE): Likewise.
5234         (XCHARSET_LEADING_BYTE): Likewise.
5235         (XCHARSET_GRAPHIC): Likewise.
5236         (XCHARSET_COLUMNS): Likewise.
5237         (XCHARSET_DIMENSION): Likewise.
5238         (BREAKUP_CHAR): Likewise.
5239
5240 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5241
5242         * character.h: Add document about interface for characters.
5243
5244         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5245         (MAKE_CHAR): Delete comment about
5246         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5247         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5248         (BREAKUP_CHAR): Modify name of arguments.
5249         (CHAR_CHARSET): Modify name of argument.
5250
5251         * buffer.h: Delete document about Emchar accessors.
5252
5253 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5254
5255         * character.h (CHAR_INTP): Moved from buffer.h
5256         (CHAR_OR_CHAR_INTP): Likewise.
5257         (XCHAR_OR_CHAR_INT): Likewise.
5258         (CHECK_CHAR_COERCE_INT): Likewise.
5259
5260         * buffer.h (CHAR_INTP): Moved to character.h
5261         (CHAR_OR_CHAR_INTP): Likewise.
5262         (XCHAR_OR_CHAR_INT): Likewise.
5263         (CHECK_CHAR_COERCE_INT): Likewise.
5264
5265 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5266
5267         * character.h:
5268         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5269         - Include char-1byte.h, char-lb.h or char-ucs.h.
5270
5271         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5272
5273         * buffer.h: Include character unconditionally.
5274         (valid_char_p): Moved to char-*.h.
5275         (non_ascii_valid_char_p): Moved to char-lb.h.
5276
5277         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5278
5279 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5280
5281         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5282         in UTF-2000 because it is not ported yet and not to use
5283         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5284         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5285         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5286
5287         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5288         (CHAR_ASCII_P): Moved from character.h.
5289
5290         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5291         (CHAR_ASCII_P): Likewise.
5292         (CHAR_FIELD1_MASK): Deleted.
5293         (CHAR_FIELD2_MASK): Deleted.
5294         (CHAR_FIELD3_MASK): Deleted.
5295         (MAX_CHAR_BASIC_LATIN): New macro.
5296         (CHAR_FIELD1): Deleted.
5297         (CHAR_FIELD2_INTERNAL): Deleted.
5298         (CHAR_FIELD3_INTERNAL): Deleted.
5299         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5300         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5301         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5302         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5303         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5304         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5305         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5306         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5307         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5308         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5309         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5310         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5311         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5312         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5313         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5314         (MIN_CHAR_COMPOSITION): Deleted.
5315         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5316         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5317
5318 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5319
5320         * buffer.h: Include mb-utf-8.h in UTF-2000.
5321
5322         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5323
5324         * mb-utf-8.h: New file.
5325
5326 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5327
5328         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5329         instead of `int'.
5330
5331         * mule-charset.h, buffer.h (Charset_ID): New type.
5332
5333 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5334
5335         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5336         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5337         instead of `MULE_CHAR_PRIVATE_OFFSET',
5338         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5339         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5340         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5341
5342         * character.h (Vcharset_japanese_jisx0212): New variable
5343         definition.
5344
5345 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5346
5347         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5348         (charset_by_attributes): Delete array about direction.
5349         (latin_a_char_to_charset): New variable in UTF-2000.
5350         (latin_a_char_to_byte1): New variable in UTF-2000.
5351         (latin_a_char_to_byte2): New variable in UTF-2000.
5352         (Qucs_bmp): New variable.
5353         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5354         `Bufbyte'.
5355         (next_allocated_2_byte_leading_byte): Likewise.
5356         (non_ascii_set_charptr_emchar): Likewise.
5357         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5358         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5359         `charset_by_attributes'.
5360         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5361         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5362         and `CHARSET_BY_LEADING_BYTE'.
5363         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5364         `utf-2000-version' to `vars_of_mule_charset'.
5365         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5366         define `leading-code-private-11' in UTF-2000; move setting of
5367         `utf-2000-version' from `syms_of_mule_charset'.
5368         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5369         UTF-2000.
5370
5371         * character.h (Charset_ID): New type.
5372         (LEADING_BYTE_UCS_BMP): New macro.
5373         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5374         (CHARSET_ID_OFFSET_94): New macro.
5375         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5376         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5377         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5378         final-byte.
5379         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5380         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5381         (CHARSET_ID_OFFSET_96): New macro.
5382         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5383         CHARSET_ID_OFFSET_96 and final-byte.
5384         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5385         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5386         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5387         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5388         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5389         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5390         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5391         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5392         (LEADING_BYTE_THAI_TIS620): Likewise.
5393         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5394         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5395         (CHARSET_ID_OFFSET_94x94): New macro.
5396         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5397         CHARSET_ID_OFFSET_94x94 and final-byte.
5398         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5399         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5400         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5401         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5402         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5403         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5404         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5405         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5406         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5407         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5408         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5409         (CHARSET_TYPE_128X128): New macro.
5410         (CHARSET_TYPE_256X256): New macro.
5411         (XCHARSET_PRIVATE_P): Delete unconditionally.
5412         (charset_by_attributes): Delete array about direction.
5413         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5414         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5415         (MIN_CHAR_94): New macro.
5416         (MAX_CHAR_94): New macro.
5417         (MIN_CHAR_96): New macro.
5418         (MAX_CHAR_96): New macro.
5419         (MIN_CHAR_94x94): New macro.
5420         (MAX_CHAR_94x94): New macro.
5421         (MIN_CHAR_96x96): New macro.
5422         (MAX_CHAR_96x96): New macro.
5423         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5424         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5425         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5426         - 32)'.
5427         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5428         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5429         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5430         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5431         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5432         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5433         `XCHARSET_LEADING_BYTE' to make code-point.
5434         (latin_a_char_to_charset): New variable.
5435         (latin_a_char_to_byte1): New variable.
5436         (latin_a_char_to_byte2): New variable.
5437         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5438         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5439         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5440
5441         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5442         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5443         (find_charsets_in_emchar_string): Likewise.
5444         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5445
5446         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5447         `int'.
5448         (decode_coding_iso2022): Likewise.
5449
5450         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5451         of `unsigned char'.
5452
5453         * redisplay.c (redisplay_text_width_emchar_string): Use
5454         `Charset_ID' instead of `unsigned char'.
5455         (redisplay_frame_text_width_string): Likewise.
5456
5457         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5458         `unsigned char'.
5459
5460         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5461         instead of `unsigned char'.
5462         (face_cachel_charset_font_metric_info): Likewise.
5463
5464         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5465         (get_non_ascii_char_table_value): Likewise.
5466         (get_char_table): Likewise.
5467         (put_char_table): Likewise.
5468         (map_over_other_charset): Likewise.
5469         (map_char_table): Likewise.
5470
5471         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5472         instead of `unsigned char'.
5473
5474 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5475
5476         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5477         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5478
5479         * mule-charset.c (leading_code_private_11): Don't define in
5480         UTF-2000.
5481
5482         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5483         in UTF-2000 because it is not ported yet and not to use
5484         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5485
5486 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5487
5488         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5489
5490 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5491
5492         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5493         in UTF-2000.
5494
5495         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5496         of unsigned char to store leading-byte.
5497
5498         * chartab.c (get_non_ascii_char_table_value): Don't use
5499         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5500
5501         * file-coding.c (encode_coding_big5): Delete bogus implementation
5502         in UTF2000.
5503
5504         * character.h (LEADING_BYTE_*): Delete definition for
5505         non-UTF-2000.
5506         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5507         (LEADING_BYTE_PREFIX_P): Deleted.
5508         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5509         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5510         (BUFBYTE_LEADING_BYTE_P): Deleted.
5511         (CHARSET_PRIVATE_P): Deleted unconditionally.
5512         (rep_bytes_by_first_byte): Deleted unconditionally.
5513         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5514         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5515         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5516         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5517         (CHAR_FIELD2): Deleted.
5518         (CHAR_FIELD3): Deleted.
5519         (MAKE_CHAR): Delete definition for non-UTF-2000.
5520         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5521         (breakup_char_1): New implementation.
5522         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5523         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5524
5525 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5526
5527         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5528         condition.
5529
5530 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5531
5532         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5533         (CHARSET_PRIVATE_P): Likewise.
5534         (XCHARSET_PRIVATE_P): Likewise.
5535         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5536
5537         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5538         UTF2000.
5539         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5540
5541 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5542
5543         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5544         (NUM_LEADING_BYTES): Changed from 128 to 256.
5545         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5546         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5547         UTF2000.
5548         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5549
5550         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5551         UTF2000.
5552         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5553         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5554         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5555         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5556         (Qchinese_cns11643_3): New variable in UTF2000.
5557         (Qchinese_cns11643_4): New variable in UTF2000.
5558         (Qchinese_cns11643_5): New variable in UTF2000.
5559         (Qchinese_cns11643_6): New variable in UTF2000.
5560         (Qchinese_cns11643_7): New variable in UTF2000.
5561         (syms_of_mule_charset): Define `chinese-cns11643-3',
5562         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5563         and `chinese-cns11643-7' in UTF2000.
5564         (vars_of_mule_charset): Initialize
5565         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5566         + 1 in UTF2000.
5567         (complex_vars_of_mule_charset): Setup charset
5568         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5569         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5570
5571 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5572
5573         * mule-charset.c: Move setting for `leading-code-private-11' from
5574         `syms_of_mule_charset' to `vars_of_mule_charset'.
5575
5576 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5577
5578         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5579         and `NUM_LEADING_BYTES' in assert.
5580
5581 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5582
5583         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5584         instead of 128.
5585         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5586         `NUM_LEADING_BYTES' instead of 128.
5587
5588 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5589
5590         * mule-charset.h (charset_by_leading_byte): Use
5591         `NUM_LEADING_BYTES' instead of 128.
5592         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5593
5594         * mule-charset.c (charset_by_leading_byte): Use
5595         `NUM_LEADING_BYTES' instead of 128.
5596         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5597
5598         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5599         128.
5600
5601 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5602
5603         * mule-charset.c (syms_of_mule_charset): Update to
5604         0.4 (Shin-Imamiya).
5605
5606 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5607
5608         * file-coding.c (encode_coding_sjis): New implementation for
5609         UTF2000.  (decode_coding_sjis): Ditto.
5610
5611 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5612
5613         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5614         Don't define in UTF2000.
5615
5616         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5617         defined.
5618
5619         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5620         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5621         MULE.
5622
5623 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5624
5625         * config.h.in (CHAR_IS_UCS4): New macro.
5626
5627         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5628         conventional MULE representation.
5629         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5630
5631         * mule-charset.h: Reverted to original.
5632
5633         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5634         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5635         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5636
5637         * character.h: New file.
5638
5639         * file-coding.c (Fmake_coding_system): Set 1 to
5640         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5641         defined.
5642         (encode_coding_no_conversion): New implementation for UTF2000.
5643
5644         * file-coding.h (struct Lisp_Coding_System): Add new member
5645         `fixed.size'.
5646
5647 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5648
5649         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5650         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5651         (encode_coding_iso2022): New implementation for UTF2000.
5652
5653 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5654
5655         * mule-canna.c (c2mu): New implementation for UTF2000.
5656         (m2c): Likewise.
5657
5658 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5659
5660         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5661
5662 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5663
5664         * file-coding.c (reset_encoding_stream): Set 0 to
5665         `str->iso2022.current_char_boundary' in UTF2000.
5666         (encode_utf8): Don't define in UTF2000.
5667         (encode_coding_utf8): New implementation for UTF-8 representation
5668         of UTF2000.
5669         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5670
5671 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5672
5673         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5674
5675         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5676         UTF2000.
5677         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5678
5679         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5680
5681         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5682         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5683         as UTF-8 in UTF2000.
5684         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5685         (non_ascii_valid_char_p): Don't define in UTF2000.
5686         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5687         (Lstream_get_emchar_1): Likewise.
5688         (utf-2000-version): New variable in UTF2000.
5689
5690         * lread.c (read_escape): Add new reader `u'.
5691
5692         * insdel.c (three_to_one_table): Don't define in UTF2000.
5693         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5694         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5695         UTF2000.
5696         (bytind_to_bufpos_func): Likewise.
5697         (buffer_mule_signal_inserted_region): Likewise.
5698         (vars_of_insdel): Don't initialize `three_to_one_table'.
5699         (init_buffer_text): Use `buf->text->mule_size' instead of
5700         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5701         UTF2000.
5702
5703         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5704         UTF-8 representation in UTF2000.
5705         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5706         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5707         (decode_coding_iso2022): Don't define local variable `lb' in
5708         UTF2000; don't use LEADING_BYTE in UTF2000; use
5709         `DECODE_ADD_UCS_CHAR' in UTF2000.
5710         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5711
5712         * config.h.in (UTF2000): New macro.
5713
5714         * buffer.h (struct buffer_text): Add new member `mule_size' and
5715         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5716         (valid_char_p): Return always 1 in UTF2000.
5717         (MAX_EMCHAR_LEN): 6 in UTF2000.
5718         (three_to_one_table): Don't define in UTF2000.
5719         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5720         UTF2000.
5721         (real_bytind_to_bufpos): Likewise.
5722
5723         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5724
5725 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5726
5727         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5728         representation change.
5729         (Vutf_2000_version): New variable.
5730         (leading_code_private_11): New variable.
5731         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5732         `leading-code-private-11'.
5733
5734         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5735         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5736         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5737         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5738         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5739         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5740         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5741         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5742         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5743         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5744         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5745         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5746         (MIN_CHAR_GREEK): New macro.
5747         (MAX_CHAR_GREEK): New macro.
5748         (MIN_CHAR_CYRILLIC): New macro.
5749         (MAX_CHAR_CYRILLIC): New macro.
5750         (MIN_CHAR_HEBREW): New macro.
5751         (MAX_CHAR_HEBREW): New macro.
5752         (MIN_CHAR_THAI): New macro.
5753         (MAX_CHAR_THAI): New macro.
5754         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5755         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5756         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5757         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5758         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5759         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5760         (CHAR_FIELD2): New inline function.
5761         (CHAR_FIELD3): New inline function.
5762         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5763         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5764         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5765         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5766         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5767         (MIN_CHAR_COMPOSITION): Likewise.
5768         (CHAR_LEADING_BYTE): Modified for character representation change.
5769         (MAKE_CHAR): Likewise.
5770
5771         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5772         (Vcharset_greek_iso8859_7): Likewise.
5773         (Vcharset_cyrillic_iso8859_5): Likewise.
5774         (Vcharset_hebrew_iso8859_8): Likewise.
5775         (Vcharset_thai_tis620): Likewise.
5776         (Vcharset_katakana_jisx0201): Likewise.
5777
5778 2005-02-06  Vin Shelton <acs@xemacs.org>
5779
5780         * XEmacs 21.4.17 is released
5781
5782 2005-01-31  Ben Wing  <ben@xemacs.org>
5783
5784         * emacs.c:
5785         Define assert_failed() always.
5786         * lisp.h:
5787         Always define ABORT().
5788
5789 2005-01-25  Ben Wing  <ben@xemacs.org>
5790
5791         * Makefile.in.in:
5792         * Makefile.in.in (%.o):
5793         Don't compile executable as Windows (-mwindows) under Cygwin.
5794         Semi-recent changes to Cygwin's executable-startup handling make
5795         it impossible to access the TTY this way.
5796
5797         Don't use special linker file under Cygwin (cygwin.sc) except
5798         when non-PDUMP (even in this case it is highly questionable); you
5799         get errors like
5800
5801       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
5802    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
5803
5804 2005-01-29  Ben Wing  <ben@xemacs.org>
5805
5806         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5807
5808         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
5809
5810 2005-01-29  Ben Wing  <ben@xemacs.org>
5811
5812         * bytecode.c (optimize_compiled_function):
5813         * print.c (FROB):
5814         * print.c (long_to_string):
5815         Add casts to avoid warning.
5816         
5817         * glyphs-eimage.c:
5818         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
5819         #### The better solution is to move the TIFF and JPEG code to
5820         different files.
5821         
5822         * glyphs-msw.c (mswindows_xbm_instantiate):
5823         Define __STDC__ to avoid problems with compface.h.
5824         
5825         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
5826         * EmacsShell-sub.c:
5827         * EmacsShell-sub.c (ABORT):
5828         * EmacsShell-sub.c (SuperClassRootGeometryManager):
5829         * EmacsShell-sub.c (RootGeometryManager):
5830         * EmacsShell.c:
5831         * EmacsShell.c (ABORT):
5832         * EmacsShell.c (EmacsShellUpdateSizeHints):
5833         * alloc.c (free_lcrecord):
5834         * alloca.c (i00afunc):
5835         * buffer.c (delete_from_buffer_alist):
5836         * buffer.c (MARKED_SLOT):
5837         * bytecode.c (execute_rare_opcode):
5838         * bytecode.c (optimize_byte_code):
5839         * bytecode.c (Ffetch_bytecode):
5840         * chartab.c (char_table_type_to_symbol):
5841         * chartab.c (Freset_char_table):
5842         * chartab.c (decode_char_table_range):
5843         * chartab.c (Fget_range_char_table):
5844         * chartab.c (check_valid_char_table_value):
5845         * chartab.c (map_char_table):
5846         * chartab.c (slow_map_char_table_fun):
5847         * chartab.c (chartab_instantiate):
5848         * cm.c (cmcheckmagic):
5849         * console-msw.c (DHEADER):
5850         * console.c (MARKED_SLOT):
5851         * data.c (finish_marking_weak_lists):
5852         * data.c (encode_weak_list_type):
5853         * debug.h (DASSERT):
5854         * device-gtk.c (gtk_init_device):
5855         * device-msw.c (mswindows_get_default_margin):
5856         * device-tty.c (tty_init_device):
5857         * device-x.c (get_device_from_display):
5858         * device-x.c (x_get_visual_depth):
5859         * doprnt.c (parse_doprnt_spec):
5860         * doprnt.c (get_doprnt_args):
5861         * dumper.c (pdump_get_indirect_count):
5862         * dumper.c (pdump_register_sub):
5863         * dumper.c (pdump_register_object):
5864         * dumper.c (pdump_register_struct):
5865         * dumper.c (pdump_dump_data):
5866         * dumper.c (pdump_reloc_one):
5867         * elhash.c (print_hash_table):
5868         * elhash.c (make_standard_lisp_hash_table):
5869         * elhash.c (hash_table_instantiate):
5870         * emacs.c:
5871         * emacs.c (Fforce_debugging_signal):
5872         * emacs.c (sort_args):
5873         * emacs.c (main):
5874         * emacs.c (assert_failed):
5875         * eval.c (throw_or_bomb_out):
5876         * eval.c (signal_1):
5877         * eval.c (Fsignal):
5878         * event-Xt.c:
5879         * event-Xt.c (emacs_Xt_mapping_action):
5880         * event-Xt.c (Xt_process_to_emacs_event):
5881         * event-msw.c:
5882         * event-stream.c (check_event_stream_ok):
5883         * event-stream.c (Fadd_timeout):
5884         * event-stream.c (Fadd_async_timeout):
5885         * event-stream.c (Fdiscard_input):
5886         * event-stream.c (execute_internal_event):
5887         * event-stream.c (Frecent_keys):
5888         * event-stream.c (extract_this_command_keys_nth_mouse_event):
5889         * event-stream.c (lookup_command_event):
5890         * event-unixoid.c (poll_fds_for_input):
5891         * events.c:
5892         * events.c (mark_event):
5893         * events.c (event_equal):
5894         * events.c (event_hash):
5895         * events.c (Fmake_event):
5896         * events.c (Fdeallocate_event):
5897         * events.c (event_chain_find_previous):
5898         * events.c (event_to_character):
5899         * events.c (format_event_object):
5900         * events.c (Fevent_type):
5901         * events.c (event_pixel_translation):
5902         * events.c (Fevent_properties):
5903         * extents.c (extent_in_region_p):
5904         * extents.c (print_extent):
5905         * extents.c (process_extents_for_insertion_mapper):
5906         * extents.c (report_extent_modification_mapper):
5907         * extents.c (glyph_layout_to_symbol):
5908         * faces.c (face_validate):
5909         * file-coding.c (eol_type_to_symbol):
5910         * file-coding.c (subsidiary_coding_system):
5911         * file-coding.c (Fcoding_system_type):
5912         * file-coding.c (Fcoding_system_property):
5913         * file-coding.c (mule_decode):
5914         * file-coding.c (mule_encode):
5915         * file-coding.c (encode_coding_ucs4):
5916         * file-coding.c (encode_coding_utf8):
5917         * file-coding.c (parse_iso2022_esc):
5918         * file-coding.c (encode_coding_iso2022):
5919         * fileio.c:
5920         * fns.c (concat):
5921         * fns.c (Fsubseq):
5922         * fns.c (mapcar1):
5923         * fns.c (Fbase64_encode_region):
5924         * fns.c (Fbase64_encode_string):
5925         * fns.c (Fbase64_decode_region):
5926         * fns.c (Fbase64_decode_string):
5927         * font-lock.c (find_context):
5928         * font-lock.c (context_to_symbol):
5929         * frame-gtk.c (gtk_set_frame_pointer):
5930         * frame-gtk.c (gtk_update_frame_external_traits):
5931         * frame-x.c (x_wm_mark_shell_size_user_specified):
5932         * frame-x.c (x_wm_mark_shell_position_user_specified):
5933         * frame-x.c (x_wm_set_shell_iconic_p):
5934         * frame-x.c (x_wm_set_cell_size):
5935         * frame-x.c (x_wm_set_variable_size):
5936         * frame-x.c (x_wm_store_class_hints):
5937         * frame-x.c (x_wm_maybe_store_wm_command):
5938         * frame-x.c (x_initialize_frame_size):
5939         * frame-x.c (x_update_frame_external_traits):
5940         * frame.c:
5941         * frame.c (delete_frame_internal):
5942         * frame.c (mouse_pixel_position_1):
5943         * frame.c (change_frame_size_1):
5944         * free-hook.c (check_free):
5945         * free-hook.c (check_realloc):
5946         * free-hook.c (note_block_input):
5947         * free-hook.c (log_gcpro):
5948         * gccache-gtk.c (gc_cache_lookup):
5949         * glyphs-eimage.c (tiff_memory_write):
5950         * glyphs-gtk.c (gtk_finalize_image_instance):
5951         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
5952         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
5953         * glyphs-gtk.c (gtk_xpm_instantiate):
5954         * glyphs-gtk.c (gtk_unmap_subwindow):
5955         * glyphs-gtk.c (gtk_map_subwindow):
5956         * glyphs-gtk.c (gtk_button_redisplay):
5957         * glyphs-msw.c:
5958         * glyphs-msw.c (init_image_instance_from_xbm_inline):
5959         * glyphs-x.c (init_image_instance_from_xbm_inline):
5960         * glyphs-x.c (extract_xpm_color_names):
5961         * glyphs-x.c (x_xpm_instantiate):
5962         * glyphs.c (get_image_instantiator_governing_domain):
5963         * glyphs.c (print_image_instance):
5964         * glyphs.c (image_instance_equal):
5965         * glyphs.c (image_instance_hash):
5966         * glyphs.c (encode_image_instance_type):
5967         * glyphs.c (make_image_instance_1):
5968         * glyphs.c (inherit_instantiate):
5969         * glyphs.c (image_instantiate):
5970         * glyphs.c (allocate_glyph):
5971         * glyphs.c (Fglyph_type):
5972         * glyphs.c (redisplay_subwindow):
5973         * glyphs.c (display_table_entry):
5974         * gtk-glue.c (xemacs_list_to_gtklist):
5975         * gtk-glue.c (xemacs_gtklist_to_list):
5976         * gtk-glue.c (xemacs_list_to_array):
5977         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
5978         * gutter.c (gutter_was_visible):
5979         * gutter.c (get_gutter_coords):
5980         * input-method-xlib.c (get_XIM_input):
5981         * insdel.c (bufpos_to_bytind_func):
5982         * insdel.c (bytind_to_bufpos_func):
5983         * insdel.c (move_gap):
5984         * intl.c (x_get_composed_input):
5985         * keymap.c (keymap_lookup_directly):
5986         * keymap.c (keymap_delete_inverse_internal):
5987         * keymap.c (ensure_meta_prefix_char_keymapp):
5988         * keymap.c (accessible_keymaps_mapper_1):
5989         * keymap.c (where_is_recursive_mapper):
5990         * lisp.h:
5991         * lisp.h (ABORT):
5992         * lread.c (read_atom):
5993         * lstream.c (Lstream_delete):
5994         * lstream.c (make_lisp_buffer_stream_1):
5995         * macros.c (pop_kbd_macro_event):
5996         * malloc.c (malloc):
5997         * malloc.c (free):
5998         * marker.c (bi_marker_position):
5999         * marker.c (set_bi_marker_position):
6000         * menubar-gtk.c (menu_descriptor_to_widget_1):
6001         * menubar-msw.c (prune_menubar):
6002         * menubar-x.c (set_frame_menubar):
6003         * mule-charset.c (get_unallocated_leading_byte):
6004         * mule-charset.h (CHAR_LEADING_BYTE):
6005         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6006         * nt.c (init_environment):
6007         * nt.c (generate_inode_val):
6008         * ntproc.c (delete_child):
6009         * ntproc.c (_sys_read_ahead):
6010         * ntproc.c (create_child):
6011         * objects.c (color_instantiate):
6012         * objects.c (font_instantiate):
6013         * objects.c (face_boolean_instantiate):
6014         * print.c (printing_major_badness):
6015         * process-nt.c (nt_send_process):
6016         * process-unix.c (unix_send_process):
6017         * process.c (get_process):
6018         * ralloc.c (obtain):
6019         * ralloc.c (relinquish):
6020         * ralloc.c (relocate_blocs):
6021         * ralloc.c (resize_bloc):
6022         * ralloc.c (r_alloc_free):
6023         * ralloc.c (r_re_alloc):
6024         * ralloc.c (r_alloc_thaw):
6025         * ralloc.c (init_ralloc):
6026         * ralloc.c (Free_Addr_Block):
6027         * ralloc.c (r_alloc):
6028         * redisplay-gtk.c (gtk_output_display_block):
6029         * redisplay-msw.c (mswindows_output_display_block):
6030         * redisplay-output.c (get_next_display_block):
6031         * redisplay-output.c (get_cursor_size_and_location):
6032         * redisplay-output.c (redisplay_output_layout):
6033         * redisplay-output.c (redisplay_clear_region):
6034         * redisplay-tty.c (tty_output_display_block):
6035         * redisplay-x.c (x_output_display_block):
6036         * redisplay.c (add_propagation_runes):
6037         * redisplay.c (add_glyph_rune):
6038         * redisplay.c (create_text_block):
6039         * redisplay.c (add_margin_runes):
6040         * redisplay.c (create_left_glyph_block):
6041         * redisplay.c (create_right_glyph_block):
6042         * redisplay.c (create_string_text_block):
6043         * redisplay.c (regenerate_window):
6044         * redisplay.c (REGEN_INC_FIND_START_END):
6045         * redisplay.c (redisplay_frame):
6046         * redisplay.c (point_in_line_start_cache):
6047         * regex.c:
6048         * regex.c (ABORT):
6049         * regex.c (re_compile_fastmap):
6050         * regex.c (re_match_2_internal):
6051         * regex.c (regerror):
6052         * scrollbar-gtk.c (gtk_scrollbar_loop):
6053         * scrollbar-gtk.c (scrollbar_cb):
6054         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6055         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6056         * scrollbar-x.c (x_update_scrollbar_instance_status):
6057         * scrollbar-x.c (x_scrollbar_loop):
6058         * scrollbar-x.c (x_update_frame_scrollbars):
6059         * search.c (search_command):
6060         * search.c (Fmatch_data):
6061         * select-x.c (motif_clipboard_cb):
6062         * signal.c (interrupt_signal):
6063         * specifier.c (specifier_add_spec):
6064         * specifier.c (specifier_instance_from_inst_list):
6065         * specifier.c (specifier_instance):
6066         * specifier.h:
6067         * specifier.h (struct specifier_methods):
6068         * strftime.c (add_num_time_t):
6069         * sunplay.c (init_device):
6070         * symbols.c (Fsetplist):
6071         * symbols.c (do_symval_forwarding):
6072         * symbols.c (store_symval_forwarding):
6073         * symbols.c (Fset):
6074         * symbols.c (Fbuilt_in_variable_type):
6075         * symbols.c (decode_magic_handler_type):
6076         * symbols.c (handler_type_from_function_symbol):
6077         * syntax.c (update_syntax_cache):
6078         * sysdep.c (init_baud_rate):
6079         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6080         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6081         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6082         * toolbar.c (get_toolbar_coords):
6083         * ui-gtk.c (build_gtk_boxed):
6084         * ui-gtk.c (describe_gtk_arg):
6085         * ui-gtk.c (gtk_type_to_lisp):
6086         * ui-gtk.c (lisp_to_gtk_type):
6087         * ui-gtk.c (lisp_to_gtk_ret_type):
6088         * ui-gtk.c (lisp_to_flag):
6089         * unexnt.c (read_in_bss):
6090         * unexnt.c (map_in_heap):
6091         * window.c (real_window):
6092         * window.c (window_display_lines):
6093         * window.c (window_display_buffer):
6094         * window.c (set_window_display_buffer):
6095         * window.c (window_modeline_height):
6096         * window.c (unshow_buffer):
6097         * window.c (window_loop):
6098         * window.c (Fget_lru_window):
6099         * window.c (Fsplit_window):
6100         * window.c (Fset_window_configuration):
6101         * window.c (saved_window_index):
6102         * xgccache.c (gc_cache_lookup):
6103         abort() -> ABORT().  Eliminate preprocessor games with abort()
6104         since it creates huge problems in VC7, solvable only by including
6105         massive amounts of files in every compile (and not worth it).
6106
6107         * sysdep.c:
6108         * sysproc.h:
6109         Inclusion of process.h does not need to be before lisp.h any more.
6110         Move later and remove comment about abort().
6111
6112 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6113
6114         * regex.c (re_match_2_internal):
6115         Correctly initialize loop which clears uninitialized registers.
6116
6117 2005-01-28  Vin Shelton  <acs@xemacs.org>
6118
6119         * sheap.c (more_static_core): Applied Ben's version of the long
6120         string patch.
6121
6122 2005-01-24  Vin Shelton  <acs@xemacs.org>
6123
6124         * sheap.c (more_static_core): Reformatted printf string so
6125         gcc-3.3.3 will compile this on Cygwin.
6126
6127 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6128
6129         * console.c (function_key_map): Reference `key-binding'.
6130
6131         * keymap.c (Vkey_translation_map): Improve docstring.
6132
6133 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6134
6135         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6136         * window.c (window_loop): [fix] Take into account
6137         `allow-deletion-of-last-visible-frame' variable.
6138         * window.c (replace-buffer-in-windows): Ditto.
6139
6140 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6141
6142         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6143
6144 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6145
6146         * event-gtk.c: Recognise AltGr as a valid modifier.
6147
6148 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6149
6150         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6151
6152 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6153
6154         Fix backreference bug caught by test suite.
6155
6156         * regex.c (regex_compile):
6157         Make backref duplicate internal register.
6158
6159 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6160
6161         Documentation, code clarification, and warning suppression.
6162         
6163         * regex.c (regex_compile):
6164         Improve comments.
6165         (re_match_2_internal):
6166         Improve comments and avoid redundant braces.  [Most of the big hunk
6167         at l. 4710 is indentation; use diff -w to see the real changes.]
6168         (alt_match_null_string_p):
6169         (common_op_match_null_string_p):
6170         Avoid shadowing global on Mac OS X 10.4, at least.
6171
6172 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6173
6174         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6175         introduced with shy groups fix).  [Already applied, probably
6176         with the second "fix shy groups" patch of 2004-10-07.] 
6177
6178 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6179
6180         From Andrey Slusar <anrays@gmail.com>:
6181
6182         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6183
6184 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6185
6186         * Makefile (RECURSIVE_MAKE): Removed.
6187         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6188         handling parallel builds.
6189
6190 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6191
6192         * Makefile.in.in: Enable support for parallel builds.
6193
6194 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6195
6196         From Andrey Slusar <anrays@gmail.com>:
6197
6198         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6199         FreeBSD version is >= 199701 _and_ < 600006.
6200
6201 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6202
6203         * scrollbar.c (compute_scrollbar_instance_usage):
6204         Only call device method compute_scrollbar_instance_usage() if it
6205         is defined.
6206
6207 2004-12-05  Vin Shelton <acs@xemacs.org>
6208
6209         * XEmacs 21.4.16 is released
6210
6211 2004-12-04  Vin Shelton  <acs@xemacs.org>
6212
6213         * depend: Regenerated.
6214
6215 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6216
6217         * regex.c (re_match_2_internal): Map internal to external
6218         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6219         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6220
6221 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6222
6223         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6224         to fix a crash.  Also, check the buffer is live and it
6225         really exists in buffer_list.  If the buffer is not in the list,
6226         prepend it.
6227
6228 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6229
6230         Fix shy groups by implementing recording of all groups for
6231         repetition and backtracking.  Backport from 21.5.
6232         
6233         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6234         external_to_internal_register, external_to_internal_register_size,
6235         and update comments for re_nsub.
6236
6237         * regex.c (re_opcode_t): Update comments.
6238         (print_compiled_pattern): Ouput external_to_internal_register,
6239         external_to_internal_register_size, and re_ngroups for debugging.
6240         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6241         (regex_compile): Update header comment.
6242         Ensure that all groups are recorded so that repeat matches and
6243         backtracking work correctly.  Comment related warning for groups >
6244         255.
6245         (re_search_2): Construct map of API indexes (which count only
6246         nonshy groups) to internal register numbers, and keep it updated.
6247
6248 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6249
6250         * frame-gtk.c (gtk_make_frame_visible):
6251         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6252         show/hide.  This is what X uses and is prevents previously hidden
6253         widgets from suddenly reappearing.
6254         * gtk-xemacs.c (gtk_xemacs_paint):
6255         * gtk-xemacs.c (gtk_xemacs_draw):
6256         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6257         drawable.
6258         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6259         size and location changes so that they can be seen before the next
6260         idle event.  Without this rapid changes to scrollbar properties
6261         are not seen.
6262
6263 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6264
6265         * console-gtk.h:
6266         * console-gtk.h (struct gtk_frame):
6267         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6268           Add hash tables track tab_control callback data.
6269           Added #defines for GTK object data names.
6270           Declaration of gtk_widget_to_frame().
6271         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6272         * frame-gtk.c (gtk_widget_to_frame): New.
6273         * frame-gtk.c (gtk_create_widgets):
6274         * frame-gtk.c (allocate_gtk_frame_struct):
6275         * frame-gtk.c (gtk_mark_frame):
6276         Manage frame callbakc hash tables.
6277         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6278         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6279         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6280         of widget size.
6281         * glyphs-gtk.c (gtk_widget_query_geometry): New
6282         * glyphs-gtk.c (gtk_register_gui_item): New
6283         * glyphs-gtk.c (gtk_add_tab_item): New
6284         * glyphs-gtk.c (gtk_tab_control_callback): New
6285         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6286         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6287         Use correct list when loading item.
6288         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6289         Register new methods.
6290         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6291         default size, for widgets.
6292         * gui-x.c:  Improved comment.
6293         * menubar-gtk.c (__generic_button_callback): Use
6294         gtk_widget_to_frame instead of __get_channel.
6295         * scrollbar-gtk.c:
6296         * ui-gtk.c: Use symbolic names for GTK object data.
6297
6298 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6299
6300         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6301
6302 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6303
6304         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6305
6306 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6307
6308         * malloc.c (morecore): siz is a long because in some architectures
6309         (eg ia-64) an int cannot hold the address range.  Additional patch
6310         from the SuSe distribution.
6311
6312 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6313
6314         * emacs.c:
6315         * malloc.c: lim_data is a long because in some architectures
6316         (eg ia-64) an int cannot hold the address range.
6317         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6318         instead of ulimit() because ulimit() always returns -1.
6319
6320 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6321
6322         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6323
6324 2004-06-11  David Kastrup  <dak@gnu.org>
6325
6326         * search.c (match_limit): Don't flag an error if match-data
6327         exceeding the allocated search_regs.num_regs gets requested, just
6328         return Qnil.
6329
6330 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6331
6332         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6333         replace symbolic color entries with the real colors specified in
6334         xpm-color-symbols, before passing the XPM to gtk.
6335         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6336         instead of a GTK specific field, so that it is used in by generic
6337         code.
6338
6339 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6340
6341        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
6342         coredump from deref of NULL ptr (ExtData)
6343
6344 2004-04-19  Jerry James  <james@xemacs.org>
6345
6346         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
6347         VALBITS to compute the location of the sign bit.
6348         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
6349         of VALBITS with EMACS_INT_MAX.
6350         * events.c (Fevent_timestamp): Ditto.
6351         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
6352         compute the halfway point to timestamp wraparound.
6353         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
6354         EMACS_INT_MIN instead of using VALBITS.
6355         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
6356         incorrect number with VALBITS.
6357         * fns.c (Frandom): Correct number of integer bits in docstring.
6358         Use INT_VALBITS instead of VALBITS to compute the denominator.
6359         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
6360         build random numbers.
6361
6362 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6363         * event-gtk.c:
6364         * event-gtk.c (gtk_event_to_emacs_event):
6365         * menubar-gtk.c:
6366         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
6367         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
6368         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
6369         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
6370         * menubar-gtk.c (__activate_menu):
6371         * menubar-gtk.c (convert_underscores):
6372         * menubar-gtk.c (remove_underscores):
6373         * menubar-gtk.c (menu_convert):
6374         * menubar-gtk.c (menu_descriptor_to_widget_1):
6375         * menubar-gtk.c (menu_descriptor_to_widget):
6376         * menubar-gtk.c (menu_can_reuse_widget):
6377         * menubar-gtk.c (menu_create_menubar):
6378         * menubar-gtk.c (gtk_popup_menu):
6379         * menubar-gtk.c (Fgtk_build_xemacs_menu):
6380         Added support for Gtk menu bar and menu item mnemonics.
6381
6382 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6383
6384         * sysdll.c: (dll_function): Added support for finding symbols in
6385         Darwin shared libraries as well in Darwin bundles.
6386         * sysdll.c (image_for_address): New
6387         * sysdll.c (my_find_image): New
6388         * sysdll.c (search_linked_libs): New
6389
6390 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6391
6392         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
6393         return to GTK requires a different API to marshalling data to use
6394         as GTK parameters.
6395         * ui-gtk.c (lisp_to_gtk_ret_type): New.
6396
6397 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
6398
6399         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
6400
6401 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6402
6403         * glyphs.c (process_image_string_instantiator):
6404         (Fset_console_type_image_conversion_list):
6405         Stop GCC from warning about shadowing of `exp'.
6406
6407         * redisplay-x.c (x_output_string): Fix unsigned lossage.
6408
6409 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6410
6411         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
6412
6413 2004-02-03  Vin Shelton  <acs@xemacs.org>
6414
6415         * glyphs.c (image_instance_layout): Remove pointless assertion.
6416         * regex.c (regex_grow_registers): Return type is void.
6417
6418 2004-02-02  Vin Shelton <acs@xemacs.org>
6419
6420         * XEmacs 21.4.15 is released
6421
6422 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
6423
6424         * device-x.c (x_error_handler): Don't call stderr_out
6425
6426 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
6427
6428         * buffer.c (other-buffer): Clarify documentation of order of
6429         arguments for FSF Emacs.
6430
6431 2003-10-11  Olivier Galibert  <galibert@pobox.com>
6432
6433         * window.c (Fdelete_window): Dirty the mirror structure _before_
6434         marking the window deleted.
6435
6436 2003-09-15  Jerry James  <james@xemacs.org>
6437
6438         * event-msw.c (debug_mswin_messages): Conditionally compile
6439         messages missing from the Cygwin headers.
6440
6441 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
6442
6443         * data.c (eq_with_ebola_notice): Fix typo in comment.
6444         (Ftrue_list_p): Improve docstring.
6445
6446 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
6447
6448         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
6449
6450 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
6451
6452         * search.c (trivial_regexp_p): Regexps containing "\{" are
6453         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
6454         Stefan Monnier for suggesting a diagnosis.
6455
6456 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
6457
6458         * elhash.c (make-hash-table): Clarify use of :test #'equal.
6459
6460 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
6461
6462         * search.c (Fsearch_forward):
6463         (Fsearch_backward):
6464         Document negative count.
6465
6466 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
6467
6468         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
6469
6470 2003-09-13  Martin Buchholz  <martin@xemacs.org>
6471
6472         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
6473
6474 2003-09-15  Vin Shelton  <acs@xemacs.org>
6475
6476         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
6477         21.5.
6478
6479 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
6480
6481         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
6482         (re_search_2): Match the first byte of Bufbyte, not Emchar.
6483         (re_match_2_internal): Use TRANSLATE instead of
6484         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
6485         non-ASCII char case conversion.
6486
6487 2003-09-08  Mike Sperber  <mike@xemacs.org>
6488
6489         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
6490         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
6491
6492 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
6493
6494        * .gdbinit (pobj): fix printing of symbol name.
6495
6496 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
6497
6498         * frame-x.c (x_layout_widgets): When resizing is about to cause
6499         frame size slip, mark it for redisplay.
6500
6501 2003-08-18  Jerry James  <james@xemacs.org>
6502
6503         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
6504
6505 2003-09-03  Vin Shelton <acs@xemacs.org>
6506
6507         * XEmacs 21.4.14 is released
6508
6509 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
6510
6511         * config.h.in (REGEX_MALLOC): Make it configure'able.
6512
6513 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
6514
6515         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
6516         linking.
6517         * sysdll.c (dll_init):
6518         * sysdll.c (dll_open):
6519         * sysdll.c (dll_close):
6520         * sysdll.c (dll_function):
6521         * sysdll.c (dll_variable):
6522         * sysdll.c (dll_error):
6523         Add support for loading bundles using Darwin/MacOSX
6524         native API.
6525
6526 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
6527
6528         * process.c (start-process-internal): Document coding systems.
6529
6530 2003-07-30  Jerry James  <james@xemacs.org>
6531
6532         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
6533
6534 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
6535
6536         * event-msw.c (mswindows_enqueue_mouse_button_event):
6537         * event-msw.c (mswindows_wnd_proc):
6538           enqueue button event when scrollwheel event isn't handled by 
6539           mswindows_handle_mousewheel_event, such as when the scrollbars
6540           are not showing.
6541
6542 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
6543
6544         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
6545
6546 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
6547
6548         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
6549
6550 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
6551
6552         * regex.c (re_match_2_internal): Fix matching degenerate word
6553         boundaries.
6554
6555 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
6556
6557         * XEmacs 21.4.13 is released
6558
6559 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
6560
6561         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
6562         * lisp.h (<inttypes.h>):
6563         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
6564         the definition.
6565
6566 2003-03-15  Martin Buchholz  <martin@xemacs.org>
6567
6568         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
6569         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
6570         Result: "temacs can only be run in -batch mode."
6571         Fix: Check xemacs executable candidate for directory-ness.
6572
6573 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
6574
6575         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
6576           they conflict with <sys/types.h>.
6577
6578 2003-02-14  Martin Buchholz  <martin@xemacs.org>
6579
6580         * database.c: Berkeley DB wants __STDC__ to be defined.
6581
6582 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6583
6584         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
6585
6586 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6587
6588         * process-unix.c (unix_send_process): Fix C++ compile error.
6589
6590 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
6591
6592         * Added .dylib as an acceptable shared library file extension
6593         * to support MacOSX.
6594
6595 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6596
6597         * EmacsFrameP.h (EmacsFramePart):
6598         Kludge to allow compiling with Motif1, but linking with Motif2.
6599
6600 2003-01-28  Martin Buchholz  <martin@xemacs.org>
6601
6602         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
6603
6604
6605 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
6606
6607         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
6608
6609 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
6610
6611         * sysdll.c: Included lisp.h to define needed alloca_array.
6612
6613 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6614
6615         Make XEmacs redisplay 10 times faster.
6616         If, that is, you're using a slow X connection and MoveOpaque.
6617         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
6618         Use compress_motion = TRUE.
6619         * EmacsFrame.c (emacsFrameClassRec): 
6620         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
6621         * EmacsManager.c (emacsManagerClassRec):
6622         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
6623
6624 2003-01-30  Vin Shelton  <acs@xemacs.org>
6625
6626         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
6627
6628 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
6629
6630         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
6631         Patch by Martin Buchholz.
6632
6633 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
6634
6635         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
6636         Thanks to icc for warning and Martin Buchholz for reporting.
6637
6638 2003-01-29  Vin Shelton <acs@xemacs.org>
6639
6640         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
6641
6642         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
6643         remember to multiply by the element size.
6644
6645 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
6646
6647         * XEmacs 21.4.12 "Portable Code" is released.
6648
6649 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
6650
6651         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
6652         * s/cygwin.sc: new linker file.
6653
6654 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
6655
6656         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
6657
6658         * redisplay-x.c (x_output_string): Use X11-specified types.
6659         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
6660         * emacs.c (__free_hook): Use typeof with Intel compiler.
6661         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
6662
6663 2003-01-08  Andy Piper  <andy@xemacs.org>
6664
6665         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
6666         reserve size during unexec().
6667
6668 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
6669
6670         * process-unix.c (unix_create_process): Don't let outchannel block.
6671
6672 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
6673
6674         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
6675         Needed for IsBadReadPtr().
6676
6677 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
6678
6679         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
6680
6681 2002-12-14  Ben Wing  <ben@xemacs.org>
6682
6683         * callint.c: Declaration error.
6684         * dumper.c (pdump):
6685         * dumper.c (pdump_load): Warning fix.
6686         * process.c: GCPRO error.
6687         * glyphs.c (unmap_subwindow):
6688         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
6689         * event-stream.c (maybe_kbd_translate): Wrong argument to
6690         character_to_event().
6691
6692         * alloc.c (garbage_collect_1):
6693         * emacs.c:
6694         * emacs.c (debug_can_access_memory):
6695         * emacs.c (fatal_error_signal):
6696         * emacs.c (mswindows_handle_hardware_exceptions):
6697         * emacs.c (main_1):
6698         * emacs.c (main):
6699         * emacs.c (assert_failed):
6700         * emacs.c (syms_of_emacs):
6701         * lisp.h:
6702         * print.c:
6703         * print.c (std_handle_out_va):
6704         * print.c (write_string_to_stdio_stream):
6705         * print.c (write_fmt_string):
6706         * print.c (printing_badness):
6707         * print.c (printing_major_badness):
6708         * print.c (print_internal):
6709         * print.c (debug_print_no_newline):
6710         * print.c (debug_backtrace):
6711         Be more defensive in handling bad values when printing.  Add code
6712         from trunk involving inhibit_non_essential_printing_operations.
6713         When going down or in debug_print(), don't do external conversion
6714         and such and try really, really hard when printing to avoid core
6715         dumping.  Add force-debugging-signal, debug_break().
6716
6717 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
6718
6719         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
6720         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
6721
6722 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
6723
6724         * database.c: Fix open_database. Berkeley DB API has changed in
6725         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
6726
6727 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
6728
6729         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
6730
6731 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
6732
6733         * event-Xt.c (Xt_timeout):
6734         (Xt_timeout_callback):
6735         (emacs_Xt_add_timeout):
6736         (emacs_Xt_remove_timeout):
6737         (Xt_timeout_to_emacs_event):
6738         Turn completed_timeouts from a stack into a queue.  Fixes
6739         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
6740
6741 2002-11-07  Wolfram Gloger  <wg@malloc.de>
6742
6743         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
6744         * emacs.c (main): Assert that mmap'd allocation is disabled.
6745
6746 2002-10-14  Andy Piper  <andy@xemacs.org>
6747
6748         * glyphs-widget.c (layout_query_geometry): add in fiddle
6749         factor. Include border text in width layout calculation.
6750         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
6751
6752 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
6753
6754         * XEmacs 21.4.10 "Military Intelligence" is released.
6755
6756 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
6757
6758         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
6759         using the NAS private array SoundFileInfo that no longer exists in
6760         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
6761         and earlier.  This is broken for some versions between 1.5a and
6762         1.5f.
6763
6764 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
6765
6766         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
6767
6768         * emacs.c (shut_down_emacs): Improve crash message.
6769
6770 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
6771
6772         * file-coding.c (determine_real_coding_system): Check for coding
6773         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
6774         shebangs and Python PEP 263.
6775
6776 2002-10-08  Andy Piper  <andy@xemacs.org>
6777
6778         * glyphs-widget.c (layout_query_geometry): only resize dynamically
6779         if static sizes haven't been set.
6780
6781 2002-08-30  Mike Alexander  <mta@arbortext.com>
6782
6783         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
6784         to close a socket.
6785
6786 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
6787
6788         * callproc.c (child_setup): 21.4 doesn't have retry_close.
6789
6790 2002-09-20  Mike Sperber <mike@xemacs.org>
6791
6792         (This partially gets back my patch from 2002-07-20 without the
6793         bug.)
6794         * callproc.c (child_setup): Remove Ben's comment noting confusion
6795         over the file descriptors >= 3: close_process_descs() doesn't
6796         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
6797         * process-unix.c (unix_create_process): Call
6798         begin_dont_check_for_quit to inhibit unwanted interaction (and
6799         thus breaking of X event synchronicity) in the child.
6800
6801 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
6802
6803         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
6804         widget.
6805
6806 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
6807
6808         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
6809         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
6810         the xemacs process did not exit, but looped infinitely here.  This
6811         fixes that problem.
6812
6813 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6814
6815         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
6816         (find_context): Improve comments.
6817
6818         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
6819         (re_match_2): An XCHAR_TABLE operation was missing.
6820
6821         Many of the following changes were inspired by Andy Piper's (now
6822         obsolete) patch to make syntax-table text property lookup optional.
6823
6824         [Documentation]
6825
6826         * syntax.h (top level): Document semantics of syntax flags.
6827         * syntax.c (comstr_start, Fforward_comment): Improve comments.
6828         * syntax.c, syntax.h (top level): Document syntax cache better in
6829         comments.
6830
6831         [Instrument syntax caching (temporary change)]
6832
6833         * syntax.h (enum syntax_cache_statistics_functions, struct
6834         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
6835         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
6836         * syntax.c (scan_words, Fforward_comment, scan_lists,
6837         Fbackward_prefix_characters):
6838         * font-lock.c (find_context):
6839         Use them to instrument syntax caching. 
6840         * syntax.c (struct syntax_cache_statistics, scs_statistics,
6841         syntax_cache_statistics_function_names): New type and variables.
6842         * syntax.c (update_syntax_cache): Update and report statistics.
6843
6844         [Major syntax cache optimizations]
6845
6846         syntax.c (lookup_syntax_properties): Default off.
6847
6848         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
6849         * syntax.c (update_syntax_cache):
6850         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
6851
6852         [Minor syntax cache optimizations and code clarifications]
6853
6854         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
6855         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
6856         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
6857         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
6858         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
6859         (Code clarification.)
6860
6861         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
6862         scan_lists): Compute code from syncode, use Boolean macros instead
6863         of redundant masking operations.  (Code clarification; any decent
6864         compiler can do this optimization.)
6865
6866         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
6867         for clarity.
6868
6869         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
6870         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
6871         use F*_single_property_change instead of F*_extent_change.
6872         Currently F*_single_property_change is _much_ less efficient.
6873
6874         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
6875         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
6876         syntax_cache.object properly, don't leave Qt or Qnil.
6877         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
6878         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
6879         tests for Qt or Qnil.
6880
6881 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
6882
6883         * redisplay.c (point_in_line_start_cache): 
6884         * extents.c (print_extent_1):
6885         Fix warnings.
6886
6887         * extents.c (Fset_extent_property): Document `syntax-table' property.
6888
6889         * extents.h (Fnext_single_property_change): EXFUN it.
6890
6891 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6892
6893         * search.c (clear_unused_search_regs): New static function.
6894         (search_buffer): 
6895         (simple_search): 
6896         (boyer_moore):
6897         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
6898         Minor clarifications in comments.
6899
6900         * regex.c (re_match_2_internal): Ensure no stale submatches.
6901
6902 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6903
6904         * event-Xt.c (enqueue_focus_event): Add missing prototype.
6905
6906 2002-08-29  Jerry James  <james@xemacs.org>
6907
6908         * lisp.h: structrures -> structures.
6909
6910 2002-06-03  Andy Piper  <andy@xemacs.org>
6911
6912         * frame.c (frame_conversion_internal): add conversion appropriate
6913         for setting frame dimensions in pixels.
6914
6915         * console.h (struct console_methods): add device-specific widget
6916         layout functions.
6917
6918         * emacs.c (main_1): initialize glyph vars.
6919
6920         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
6921         (handle_focus_event_2): new function. Allow focus to
6922         be set to a particular window and widget.
6923         (enqueue_focus_event): new function. Create a
6924         synthetic focus event.
6925         (emacs_Xt_handle_magic_event): call
6926         handle_focus_event_2.
6927
6928         * frame.c (Fset_frame_pixel_height): new function. Allow
6929         pixel-based sizing. Does the right thing on character-oriented
6930         displays.
6931         (Fset_frame_pixel_width): ditto.
6932         (Fset_frame_pixel_size): ditto.
6933         (syms_of_frame): declare.
6934
6935         * general-slots.h: add :vertically-justify and
6936         :horizontally-justify.
6937
6938         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
6939         (mswindows_widget_border_width): new function.
6940         (mswindows_combo_box_instantiate): set border widths.
6941         (console_type_create_glyphs_mswindows): declare.
6942
6943         * glyphs-widget.c:
6944         (check_valid_justification): allow vertical and horizontal
6945         justification.
6946         (widget_border_width): new function. Call device methods.
6947         (widget_instance_border_width): ditto.
6948         (logical_unit_height): new function. Determine the height of a
6949         logical-unit. Logical units are intended to provide grid-like
6950         layout for subcontrols in a layout. If the layout is
6951         :vertically-justify top then subcontrols will be positioned on
6952         logical-unit boundaries, thus allowing adjacent subcontrols to
6953         line up.
6954         (widget_logical_unit_height): ditto for widgets.
6955         (redisplay_widget): misc cleanup.
6956         (widget_spacing): new function. Call device specific
6957         methods. Intended to be the default gap between adjacent widgets.
6958         (widget_query_geometry): use new spacing functions to determine
6959         appropriate geometry.
6960         (initialize_widget_image_instance): initialize horizontal and
6961         vertical justification.
6962         (widget_instantiate): use logica-units where appropriate for
6963         sizing large widgets.
6964         (button_query_geometry): use widget_instance_border_width.
6965         (tree_view_query_geometry): ditto.
6966         (tab_control_query_geometry): ditto.
6967         (edit_field_query_geometry): new function.
6968         (layout_update): pick up :justify, :horizontally-justify and
6969         :vertically-justify none of which worked previously. :justify is
6970         used as a fallback for both horizontal and vertical justification.
6971         (layout_query_geometry): use logical units to size appropriately.
6972         (layout_layout): ditto.
6973         (Fwidget_logical_to_character_width): new function. Allow users to
6974         convert from logical units to characters so that frame sizes can
6975         be set appropriately.
6976         (Fwidget_logical_to_character_height): ditto.
6977         (syms_of_glyphs_widget): declare.
6978         (image_instantiator_edit_fields): add edit_field_query_geometry.
6979         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
6980         :horizontally-justify.
6981         (specifier_vars_of_glyphs_widget): new function. Declare
6982         Vwidget_border_width which is not yet used.
6983
6984         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
6985         (x_widget_border_width): new function.
6986         (x_widget_instantiate): create a sensible name for widgets.
6987         (console_type_create_glyphs_x): declare x_widget_border_width.
6988
6989         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
6990         (struct Lisp_Image_Instance): add :vertically-justify and
6991         :horizontally-justify.
6992         (LAYOUT_JUSTIFY_TOP): new.
6993         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
6994         (ROUND_UP): new macro. Round argument up to next integral
6995         interval.
6996
6997         * redisplay-output.c (redisplay_output_layout): misc formatting.
6998
6999         * symsinit.h: declare specifier_vars_of_glyphs_widget.
7000
7001 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
7002
7003         * XEmacs 21.4.9 "Informed Management" is released.
7004
7005 2002-08-19  Andy Piper  <andy@xemacs.org>
7006
7007         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
7008         win32 format.
7009
7010         * realpath.c (xrealpath): normalize drive spec also so that dir
7011         sep chars are not mixed on cygwin.
7012
7013 2002-08-06  Jerry James  <james@xemacs.org>
7014
7015         * window.c (Fsplit_window): Count only half of the divider width
7016         against the left window when splitting horizontally. 
7017
7018 2002-06-24  Andy Piper  <andy@xemacs.org>
7019
7020         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7021         toolbar was cleared.
7022
7023         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7024         function. Split out from mswindows_output_frame_toolbars.
7025         (mswindows_output_frame_toolbars): move clear pieces to
7026         mswindows_output_frame_toolbars.
7027
7028         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7029         out from gtk_output_frame_toolbars.
7030         (gtk_output_frame_toolbars): move clear pieces to
7031         gtk_clear_frame_toolbars.
7032
7033         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7034         the frame is cleared. How this ever worked before is a mystery.
7035         (x_output_frame_toolbars): Only output toolbars.
7036         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7037
7038         * gutter.c (update_gutter_geometry):
7039         Mark frame layout changed.
7040         (update_frame_gutter_geometry, update_frame_gutters):
7041         Respect frame_layout_changed.
7042
7043         * console.h (struct console_methods): add
7044         clear_frame_toolbars_method.
7045
7046         * redisplay.c (redisplay_frame): call
7047         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7048
7049         * toolbar.h: declare update_frame_toolbars_geometry.
7050
7051         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7052         out from update_frame_toolbars.  Call clear_frame_toolbars.
7053         (update_frame_toolbars): only output, do not change geometry.
7054
7055         * redisplay.c: add frame_layout_changed.
7056
7057         * redisplay.h: add frame_layout_changed.
7058         (CLASS_RESET_CHANGED_FLAGS): set it.
7059         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7060         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7061         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7062
7063         * device.h (struct device): add frame_layout_changed.
7064         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7065
7066         * frame.h (struct frame): add frame_layout_changed.
7067         (MARK_FRAME_LAYOUT_CHANGED): new.
7068
7069 2002-06-30  Mike Alexander  <mta@arbortext.com>
7070
7071         * event-msw.c (mswindows_need_event): Don't wait for a new message
7072         if the queue is not empty.  Suggested by Paul Moore.
7073
7074 2002-06-12  Andy Piper  <andy@xemacs.org>
7075
7076         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7077         for printing on accurately.
7078
7079 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7080
7081         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7082         WM_ACTIVATE message. Make sure that the frame is visible if the
7083         window is visible. This seemss to fix the problem where XEmacs
7084         appears to freeze after switching desktops with certain virtual
7085         window managers.
7086         (debug_output_mswin_message): Added code to output message
7087         parameters for WM_WINDOWPOSCHANGED, 
7088         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7089
7090 2002-05-25  Andy Piper  <andy@xemacs.org>
7091
7092         * select-x.c (vars_of_select_x): Fix docstring of
7093         x-selection-strict-motif-ownership
7094
7095 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7096
7097         * keymap.c (get_keymap):
7098         Add comment about do_autoload GCPROs own args.
7099
7100 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7101
7102         * bytecode.c (execute_optimized_program): check_opcode ifdef
7103         ERROR_CHECK_BYTE_CODE.
7104
7105 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7106
7107         Thanks to Ben Wing and Michael Sperber.
7108
7109         * eval.c (Fcommand_execute):
7110         (Feval):
7111         (Ffuncall):
7112         (Fmacroexpand_internal):
7113         (function_argcount):
7114         callint.c (Fcall_interactively):
7115         Add comment about do_autoload GCPROs own args.
7116
7117         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7118
7119         * eval.c (Ffuncall): Extra braces to placate GCC.
7120
7121 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7122
7123         * backtrace.h (grow_specpdl):
7124         (SPECPDL_RESERVE):
7125         * EmacsFrame.c (EmacsFrameSetValues):
7126         * eval.c (grow_specpdl):
7127         * ExternalShell.c (hack_event_masks_1):
7128         * glyphs-x.c (convert_EImage_to_XImage): 
7129         (x_finalize_image_instance):
7130         * ralloc.c (page_size):
7131         (r_alloc_sbrk):
7132         * xgccache.c (gc_cache_hash):
7133         Fix unsigned comparison warnings.
7134
7135 2002-07-29  Jerry James  <james@xemacs.org>
7136
7137         * lread.c (locate_file): Any nonnegative return value indicates
7138         success if MODE is nonnegative.
7139
7140 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7141
7142         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7143         argument. 
7144
7145 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7146
7147         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7148
7149         * dumper.c (pdump_get_indirect_count):
7150         (pdump_scan_by_alignment):
7151         (pdump_dump_root_struct_ptrs):
7152         (pdump_dump_rtables):
7153         (pdump_dump_root_objects):
7154         (pdump):
7155         * nas.c (WaveOpenDataForReading):
7156         * fns.c (print_bit_vector):
7157         * font-lock.c (SINGLE_SYNTAX_STYLE):
7158         * glyphs.c (check_for_ignored_expose):
7159         (find_matching_subwindow):
7160         * glyphs-eimage.c:
7161         * imgproc.c (get_histogram):
7162         * redisplay.c (point_in_line_start_cache):
7163         * redisplay-output.c (redisplay_unmap_subwindows):
7164         * symbols.c (defsymbol_massage_name_1):
7165         (defkeyword_massage_name):
7166         (deferror_massage_name_and_message):
7167         * redisplay-x.c (x_output_string): 
7168         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7169         * frame.h (struct frame):
7170         * filelock.c (current_lock_owner):
7171         * doprnt.c (emacs_doprnt_1):
7172         * lisp.h (struct Lisp_Bit_Vector):
7173         (DO_REALLOC):
7174         Fix warnings.
7175
7176 2002-02-13  Ben Wing  <ben@xemacs.org>
7177
7178         * event-stream.c (reset_key_echo):
7179         * event-stream.c (reset_this_command_keys):
7180         * event-stream.c (execute_command_event):
7181         If console is dead as a result of C-x 5 0, then post-command stuff
7182         needs to be careful and do only non-console-specific stuff.
7183
7184 2002-07-01  Mike Sperber <mike@xemacs.org>
7185
7186         * process-unix.c (unix_send_process): Mark coding_outstream as
7187         non-open upon SIGPIPE.
7188
7189         * event-stream.c (Fnext_event): Reorder switch cases to something
7190         that makes sense.
7191
7192 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7193
7194         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7195         Don't bogusly reinitialize ascii_character property.
7196
7197 2002-07-08  Mike Sperber <mike@xemacs.org>
7198
7199         * process.c (Fstart_process_internal): Do error checking before we
7200         fork off the child, so the child can't muck with the state of the
7201         parent.
7202
7203 2002-07-08  Mike Sperber <mike@xemacs.org>
7204
7205         * ralloc.c (init_ralloc): Allocate properly for pdump.
7206
7207 2002-06-12  Andy Piper  <andy@xemacs.org>
7208
7209         * glyphs.c (query_string_geometry): check the string.
7210
7211         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7212         widget names.
7213
7214 2002-06-17  Jerry James  <james@xemacs.org>
7215
7216         * sysdll.c: Remove RTLD_GLOBAL initialization.
7217         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7218
7219 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7220
7221         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7222
7223 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7224
7225         * sysdep.c (sys_rename): Make sys_rename work for the case where
7226         Windows rename sets errno to EACCES if target file exists.
7227
7228 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7229
7230         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7231         Fix detection of metric units to work on Win95
7232
7233 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7234
7235         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7236
7237 2002-04-25  Andy Piper  <andy@xemacs.org>
7238
7239         * redisplay.c (create_text_block): Remove extra comment trailer.
7240
7241 2002-04-24  Andy Piper  <andy@xemacs.org>
7242
7243         * redisplay.c (create_text_block): Don't actually add propagation
7244         data if the line ends after we have added a glyph.
7245
7246 2002-04-22  Andy Piper  <andy@xemacs.org>
7247
7248         * extents.c (extent_fragment_update): check for glyphs we have
7249         previously displayed.
7250         * extents.c (print_extent_1): warning removal.
7251         * extents.h: change prototype.
7252         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7253         widths correctly for wide glyphs.
7254         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7255         * redisplay.c (prop_type): add PROP_GLYPH.
7256         * redisplay.c (struct prop_block): add glyph type
7257         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7258         to the propagation data.
7259         * redisplay.c (create_text_block): if there is a glyph in the
7260         propagation data use it to salt extent_fragment_update.
7261         * redisplay.c (create_string_text_block): ditto.
7262
7263 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7264
7265         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7266         * redisplay-output.c (compare_runes): Compare them.
7267         * redisplay.c: Update copyright date.
7268         * redisplay.c (pos_data): Add need_baseline_computation field.
7269         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7270         need_baseline_computation; zero yoffset. Set max_pixmap_height
7271         for all pixmaps, not just automatically positioned ones.
7272         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7273         * redisplay.c (calculate_baseline): New, compute textual baseline.
7274         * redisplay.c (add_glyph_rune): Call them.
7275         * redisplay.c (create_text_block): Likewise.
7276         * redisplay.c (create_overlay_glyph_block): Likewise.
7277         * redisplay.c (add_margin_runes): Likewise.
7278         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7279
7280         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7281         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7282         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7283         * redisplay-msw.c (mswindows_output_string): Likewise.
7284         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7285         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7286         * redisplay-x.c (x_output_display_block): Likewise.
7287
7288 2002-03-28  Ben Wing  <ben@xemacs.org>
7289
7290         * redisplay.c: Fixed bug in redisplay
7291         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7292         and down of the lines, since they're bigger than the line
7293         size. (It was seen most obviously when there's a horizontal scroll
7294         bar, e.g. do C-h a glyph or something like that.) The problem was
7295         that the glyph-contrib-p setting on glyphs was ignored even if it
7296         was set properly, which it wasn't until now.
7297
7298 2002-04-24  Andy Piper  <andy@xemacs.org>
7299
7300         * lisp.h (Dynarr_end): Fix definition.
7301
7302 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7303
7304         * redisplay.c (mark_redisplay): Remove call to
7305         update_frame_window_mirror.
7306
7307 2001-11-15  Andy Piper  <andy@xemacs.org>
7308
7309         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7310         cygwin (again).
7311
7312 2002-02-13  Andy Piper  <andy@xemacs.org>
7313
7314         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7315         we did in fact enqueue the XM_MAPFRAME event.
7316
7317 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7318
7319         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7320         to fix problem switching between virtual desktops under virtuawin
7321         virtual window manager.
7322
7323 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7324
7325         * event-msw.c: Typo fix.
7326         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7327         magic XM_MAPFRAME event has been sent.
7328
7329 2001-11-23  Andy Piper  <andy@xemacs.org>
7330
7331         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7332
7333 2001-11-21  Andy Piper  <andy@xemacs.org>
7334
7335         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7336         mouse events outside the frame.
7337
7338 2002-03-20  Andy Piper  <andy@xemacs.org>
7339
7340         * menubar-msw.c (mswindows_popup_menu): warning removal.
7341         * dialog-msw.c (dialog_popped_down): ditto.
7342
7343 2001-12-11  Andy Piper  <andy@xemacs.org>
7344
7345         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
7346         * dialog-msw.c (mswindows_make_dialog_box_internal): set
7347         popup_up_p.
7348         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
7349         * menubar-msw.c (mswindows_handle_wm_command): ditto.
7350         * menubar-msw.c (mswindows_popup_menu): ditto.
7351
7352 2001-10-29  Andy Piper  <andy@xemacs.org>
7353
7354         * dialog-msw.c (handle_directory_dialog_box): quit if the user
7355         cancels.
7356
7357 2002-01-03  Andy Piper  <andy@xemacs.org>
7358
7359         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
7360         letters.
7361         (xrealpath): ditto.
7362
7363 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
7364
7365         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
7366         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
7367         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7368         Detect and handle case where machine is set up for metric units
7369
7370 2002-04-02  Andy Piper  <andy@xemacs.org>
7371
7372         * dired-msw.c (mswindows_get_files): 
7373         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
7374         completely handled by XEmacs. Suggested by Thomas Vogler
7375         <mail@thomas-vogler.de>.
7376
7377 2001-11-14  Andy Piper  <andy@xemacs.org>
7378
7379         * nt.c (REG_ROOT): change registry key to XEmacs.
7380
7381 2002-04-27  Andy Piper  <andy@xemacs.org>
7382
7383         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
7384
7385 2002-04-26  Andy Piper  <andy@xemacs.org>
7386
7387         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
7388         behavior.
7389
7390 2002-03-14  Mike Alexander  <mta@arbortext.com>
7391
7392         * event-msw.c (mswindows_unwait_process): New, remove process from
7393         wait list
7394         * process-nt.c (nt_finalize_process_data): Call
7395         mswindows_unwait_process
7396         * console-msw.h: Declare mswindows_unwait_process
7397
7398 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
7399
7400         * editfns.c (Fdecode_time):
7401         (Fformat_time_string):
7402         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
7403         (make_time): Warning elimination (change arg name).
7404
7405 2001-11-24  Andy Piper  <andy@xemacs.org>
7406
7407         * window.c (Fsplit_window): Doc return type.
7408
7409 2002-04-01  Andy Piper  <andy@xemacs.org>
7410
7411         * emacs.c (Fkill_emacs): Only output message box in interactive
7412         mode.
7413
7414 2002-04-26  Andy Piper  <andy@xemacs.org>
7415  
7416         * config.h.in: pull in 21.5.x change to stop alloca warnings under
7417         cygwin.
7418
7419 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
7420
7421         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
7422         bit platform.
7423
7424 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
7425
7426         * XEmacs 21.4.8 "Honest Recruiter" is released.
7427
7428 2002-05-07  Nix  <nix@esperi.demon.co.uk>
7429
7430         Supersedes 2002-04-17 patch.
7431
7432         * process.h (PROCESS_LIVE_P): Use the process status as
7433         evidence of health, not the state of the input stream.
7434         (PROCESS_READABLE_P): Say if the process is readable
7435         from. (It may be dead nonetheless.)
7436         (CHECK_READABLE_PROCESS): Test for that condition.
7437
7438         * process.c (create_process): Use PROCESS_READABLE_P.
7439         (read_process_output, set_process_filter): Likewise.
7440
7441         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
7442         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
7443
7444         This code is #if 0'd, this is not the time to add new functions:
7445
7446         * process.c (Fprocess_readable_p): Report readability status.
7447         * process.c (Qprocess_readable_p): New, associated symbol...
7448         * process.c (syms_of_process): ... initialize it.
7449
7450 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
7451
7452         * XEmacs 21.4.7 "Economic Science" is released.
7453
7454 2002-04-17  Nix  <nix@esperi.demon.co.uk>
7455
7456         * process.h (PROCESS_LIVE_P): Use the process status as
7457         evidence of health, not the state of the input stream.
7458
7459 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
7460
7461         * sysdep.c (sys_siglist): change "signum" to "signal"
7462
7463 2001-04-21  Martin Buchholz  <martin@xemacs.org>
7464
7465         * s/darwin.h: New file.
7466         Thanks to Greg Parker <gparker@cs.stanford.edu>.
7467         
7468 2002-04-23  Andreas Jaeger  <aj@suse.de>
7469
7470         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
7471         which use lib64 for 64-bit libs.
7472         (START_FILES): Likewise.
7473
7474 2002-02-11  Mike Sperber  <mike@xemacs.org>
7475
7476         * device-x.c: 
7477         (x_IO_error_handler):
7478         (x_init_device): Temporarily keep device in static variable
7479         `device_being_initialized' so we can recover gracefully from
7480         internal XOpenDevice failure.  (XOpenDevice is documented to
7481         return NULL on failure, but sometimes calls the IO error handler
7482         instead.)
7483
7484 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
7485
7486         * dired.c (Ffile_name_all_completions): Change documentation --
7487         remove reference to completion-ignored-extensions.
7488         * dired.c (vars_of_dired): Change documentation for
7489         completion-ignored-extensions -- remove reference to
7490         file-name-all-completions.
7491
7492 2002-03-06  Jerry James  <james@xemacs.org>
7493
7494         * emodules.c (emodules_load): Fix multiple loading of same module.
7495
7496 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
7497         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
7498         RTLD_LAZY to avoid incorrect symbol binding when using nested
7499         shared libraries on Solaris.
7500
7501 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
7502
7503         * fileio.c (Ffind_file_name_handler): Improve docstring.
7504
7505 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
7506
7507         * fns.c (Fmapconcat): Improve docstring.
7508
7509 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
7510
7511         * device-gtk.c: Add prototype for
7512         emacs_gtk_selection_clear_event_handle.
7513         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
7514         selection.  Setup signal handler for "selection_clear_event"
7515         (emacs_gtk_selection_clear_event_handle).
7516
7517         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
7518         other applications owning the clipboard (based on
7519         x_handle_selection_clear).
7520
7521 2001-12-23  William M. Perry  <wmperry@gnu.org>
7522
7523         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
7524         
7525 2002-01-04  Martin Buchholz  <martin@xemacs.org>
7526
7527         * keymap.c (define_key_alternate_name): Parenthesize EQ.
7528
7529 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
7530
7531         * XEmacs 21.4.6 "Common Lisp" is released.
7532
7533 2001-12-16  Torsten Duwe  <duwe@caldera.de>
7534
7535         * search.c (Freplace_match): Add missing sub-expression functionality.
7536
7537         * buffer.c (decode_buffer): Add a check for pointer type to
7538         decode_buffer, before gcc's CSE optimization reorders a
7539         dereference in front of the allow_string test.
7540
7541 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
7542
7543         * window.c (window_loop): Fix bug that sometimes prevented
7544         window_loop() from iterating across multiple devices.  Also, at
7545         Ben's request, changed infloop-detecting code to abort() instead
7546         of silently terminating window_loop().
7547
7548 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
7549
7550         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
7551         * editfns.c (make_time): New function.
7552         (Fencode_time): Use it instead of wasteful_word_to_lisp.
7553         * lisp.h (make_time): Prototype and comment it.
7554         * dired.c (wasteful_word_to_lisp): Deprecate.
7555         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
7556
7557 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
7558
7559         * fileio.c (auto_save_1): Use current coding system, not
7560         escape-quoted.
7561
7562 2001-11-13  Ben Wing  <ben@xemacs.org>
7563
7564         * window.c:
7565         * window.c (window_truncation_on):
7566         * window.c (syms_of_window):
7567         truncate-partial-width-windows should respect the buffer being
7568         displayed, like other redisplay vars.
7569
7570 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
7571
7572         * event-stream.c (Fread_key_sequence): save current buffer.
7573
7574 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7575
7576         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
7577
7578 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7579
7580         * alloc.c (lcrecord_stats): Add space for types defined in modules.
7581
7582 2001-10-26  Mike Alexander  <mta@arbortext.com>
7583
7584         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
7585
7586 2001-10-25  Andy Piper  <andy@xemacs.org>
7587
7588         * ChangeLog:
7589         * dialog-msw.c (handle_directory_proc): new function.
7590          (handle_directory_dialog_box): new fucntion.
7591          (handle_file_dialog_box): use new directory dialog support.
7592          (mswindows_make_dialog_box_internal): ditto.
7593         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
7594         handling.
7595         (mswindows_find_frame): make global.
7596         * fileio.c (Fexpand_file_name): build fix.
7597         * general-slots.h: add Qdirectory.
7598         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
7599         handling.
7600         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
7601         cygwin not leaving win32 paths unchanged.
7602         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
7603         cygwin runtime to do path conversion.
7604         (Fmswindows_shell_execute): fix cygwin handling of URLs.
7605         (syms_of_win32): add new function.
7606         * window.c (window_loop): build fix.
7607
7608 2001-10-15  Andy Piper  <andy@xemacs.org>
7609
7610         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
7611
7612 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
7613
7614         * XEmacs 21.4.5 "Civil Service" is released.
7615
7616 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
7617
7618         * glyphs-x.c: Force buffer-tab highlight update when moving the
7619         buffer, avoiding an ugly black border, used for keyboard focus
7620         indication, on a widget that can never have keyboard focus, the
7621         buffer tab.
7622
7623 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
7624
7625         * process-unix.c (unix_open_multicast_group): Remove too much
7626         conversion between host and network byte order.
7627
7628 2001-09-10  Nix  <nix@esperi.demon.co.uk>
7629
7630         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
7631         before replacing them.
7632
7633         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
7634         operation.
7635
7636         * src/window.c (undedicate_windows): Use it.
7637         * src/window.h: Add prototype.
7638
7639 2001-09-17  Ben Wing  <ben@xemacs.org>
7640
7641         * fileio.c (normalize_filename):
7642         * fileio.c (Fexpand_file_name):
7643         Fix various C++ compile errors in Andy's recent code.
7644         
7645         * callint.c (Fcall_interactively):
7646         * editfns.c (Ftemp_directory):
7647         * editfns.c (Fuser_full_name):
7648         * emacs.c (argmatch):
7649         * lread.c (locate_file_map_suffixes):
7650         * redisplay-x.c (x_ring_bell):
7651         Fix sign-compare warnings.
7652         
7653 2001-09-08  Andy Piper  <andy@xemacs.org>
7654
7655         * fileio.c (normalize_filename): copied from nt.c
7656         * (Ffile_name_directory): enable win32 paths under cygwin.
7657         * (Ffile_name_nondirectory): ditto.
7658         * (directory_file_name): ditto.
7659         * (Fexpand_file_name): ditto.
7660         * (Ffile_truename): ditto.
7661         * (Fsubstitute_in_file_name): ditto.
7662         * (Ffile_name_absolute_p): ditto.
7663         * (Ffile_readable_p): ditto.
7664
7665 2001-09-08  Andy Piper  <andy@xemacs.org>
7666
7667         * device-msw.c (mswindows_finish_init_device): remove dde
7668         initialization.
7669         * device-msw.c (mswindows_init_dde): factor out from
7670         mswindows_finish_init_device()
7671         * device-msw.c (init_mswindows_very_early): new function
7672         initialize but don't enable dde.
7673         * emacs.c (main_1): call init_mswindows_very_early.
7674         * event-msw.c:
7675         * event-msw.c (mswindows_dde_callback): only execute when we are
7676         ready.
7677         * symsinit.h: declare init_mswindows_very_early.
7678
7679 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7680
7681         [sjt: This has been in 21.5 for months with no complaints.]
7682
7683         * console.h (struct console_methods): Added flags member.
7684         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
7685         (CONMETH_IMPL_FLAG):
7686         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
7687         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7688
7689         * device.c (window_system_pixelated_geometry): Use the above macros.
7690
7691         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
7692         implememntation flag.
7693         * device.h (DEVICE_DISPLAY_P): Use it.
7694
7695         * frame.c (delete_frame_internal): Use the above macro.
7696
7697         * redisplay.c (redisplay_device): Use it.
7698         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7699         (redisplay_frame): Ditto.
7700
7701         * device-msw.c (mswindows_device_implementation_flags): Removed.
7702         (msprinter_device_implementation_flags): Removed.
7703         (console_type_create_device_mswindows): Removed references to
7704         implementation_flags methods, set implementation flags here.
7705         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
7706
7707         * device-gtk.c (gtk_device_implementation_flags): Removed method.
7708         (console_type_create_device_gtk): Removed method declaration.
7709         Added commented out statement which semantically matches the
7710         commented out statement in the above removed method.
7711
7712 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
7713
7714         The attached patch fixes a few warnings. 
7715
7716         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
7717         * src/frame-gtk.c: guard against GNOME calls in GTK only
7718         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
7719         * src/select-gtk.c: prototype lisp_to_time
7720
7721 2001-06-08  Ben Wing  <ben@xemacs.org>
7722
7723         ------ gc-in-window-procedure fixes ------
7724         
7725         * alloc.c:
7726         * alloc.c (struct post_gc_action):
7727         * alloc.c (register_post_gc_action):
7728         * alloc.c (run_post_gc_actions):
7729         * alloc.c (garbage_collect_1):
7730         Create "post-gc actions", to avoid those dreaded "GC during window
7731         procedure" problems.
7732
7733         * event-msw.c:
7734         Abort, clean and simple, when GC in window procedure.  We want
7735         to flush these puppies out.
7736
7737         * glyphs-msw.c:
7738         * glyphs-msw.c (finalize_destroy_window):
7739         * glyphs-msw.c (mswindows_finalize_image_instance):
7740         Use a post-gc action when destroying subwindows.
7741
7742         * lisp.h:
7743         Declare register_post_gc_action().
7744
7745         * scrollbar-msw.c:
7746         * scrollbar-msw.c (unshow_that_mofo):
7747         Use a post-gc action when unshowing scrollbar windows, if in gc.
7748
7749         * redisplay.c (mark_redisplay):
7750         Add comment about the utter evilness of what's going down here.
7751
7752         ------ cygwin setitimer fixes ------
7753         
7754         * Makefile.in.in (sheap_objs):
7755         * Makefile.in.in (profile_objs):
7756         * Makefile.in.in (objs):
7757         Compile profile.c only when HAVE_SETITIMER.
7758         
7759         * nt.c (mswindows_sigset):
7760         * nt.c (mswindows_sighold):
7761         * nt.c (mswindows_sigrelse):
7762         * nt.c (mswindows_sigpause):
7763         * nt.c (mswindows_raise):
7764         * nt.c (close_file_data):
7765         Style fixes.
7766         
7767         * nt.c:
7768         Move setitimer() emulation to win32.c, because Cygwin needs it too.
7769         
7770         * profile.c:
7771         * profile.c (Fstart_profiling):
7772         * profile.c (Fstop_profiling):
7773         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
7774         instead of just plain setitimer().
7775         
7776         * signal.c:
7777         * signal.c (set_one_shot_timer):
7778         * signal.c (alarm):
7779         Define qxe_setitimer() as an encapsulation around setitimer() --
7780         call setitimer() directly unless Cygwin or MS Win, in which case
7781         we use our simulated version in win32.c.
7782         
7783         * systime.h:
7784         * systime.h (struct itimerval):
7785         * systime.h (ITIMER_REAL):
7786         Prototype mswindows_setitimer() and qxe_setitimer().  Long
7787         comment about "qxe" and the policy regarding encapsulation.
7788
7789         * win32.c:
7790         * win32.c (setitimer_helper_proc):
7791         * win32.c (setitimer_helper_period):
7792         * win32.c (setitimer_helper):
7793         * win32.c (mswindows_setitimer):
7794         Move setitimer() emulation here, so Cygwin can use it.
7795         Rename a couple of functions and variables to be longer and more
7796         descriptive.  In setitimer_helper_proc(), send the signal
7797         using either mswindows_raise() or (on Cygwin) kill().  If for
7798         some reason we are still getting lockups, we'll change the kill()
7799         to directly invoke the signal handlers.
7800
7801         ------ windows shell fixes ------
7802         
7803         * callproc.c:
7804         * ntproc.c:
7805         Comments about how these two files must die.
7806
7807         * callproc.c (init_callproc):
7808         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
7809         not just COMSPEC. (more correct and closer to FSF.) Don't
7810         force a value for SHELL into the environment. (Comments added
7811         to explain why not.)
7812         
7813         * nt.c (init_user_info):
7814         Don't shove a fabricated SHELL into the environment.  See above.
7815
7816 2001-06-01  Ben Wing  <ben@xemacs.org>
7817
7818         * Makefile.in.in (ldflags):
7819         eliminate that pesky "defaulting to 00401000" warning.
7820         * nt.h:
7821         eliminate warnings.
7822
7823 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
7824
7825         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
7826         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
7827
7828 2001-04-24  Jerry James <james@xemacs.org>
7829
7830         * faces.h: pass parameters to Fadd_spec_to_specifier in the
7831         correct order.
7832
7833 2001-06-01  Ben Wing  <ben@xemacs.org>
7834
7835         * event-msw.c (debug_mswin_messages):
7836         conditionalize the messages that were causing compile errors.
7837         (if only macros could generate #ifdef statements ...)
7838
7839 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
7840
7841         * XEmacs 21.4.4 "Artificial Intelligence" is released.
7842
7843 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7844
7845         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
7846
7847 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7848
7849         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
7850         * process-unix.c (unix_canonicalize_host_name):
7851         sysdep.c (init_system_name):
7852         Use it to conditionally support IPv6 canonicalization.
7853
7854 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
7855
7856         * event-msw.c:
7857         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
7858
7859 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
7860
7861         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
7862         attempt is made to scroll when no scroll bar is available.
7863
7864 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7865
7866         * input-method-motif.c (XIM_delete_frame): New callback.
7867         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
7868         got deleted from 21.4.3.)
7869
7870 2001-06-01  Ben Wing  <ben@xemacs.org>
7871
7872         * nt.c (mswindows_utime):
7873         * nt.c (close_file_data):
7874         fix off-by-one-indirection error.
7875
7876 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
7877
7878         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
7879         because set_file_times() now takes Lisp_Object path, instead of
7880         char*.
7881         * nt.c: Include buffer.h.
7882         * nt.c (convert_from_time_t): New.
7883         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
7884         not set mtime correctly.
7885         * nt.h: Declare mswindows_utime().
7886         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
7887         path, instead of char*.
7888         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
7889
7890 2001-05-30  Ben Wing  <ben@xemacs.org>
7891
7892         For 21.4:
7893
7894         (Stephen, just take all event-msw.c patches.  This includes
7895         the "iconify" fix below.)
7896
7897         * event-msw.c:
7898         * event-msw.c (mswindows_dequeue_dispatch_event):
7899         * event-msw.c (assert):
7900         * event-msw.c (emacs_mswindows_quit_p):
7901         * event-msw.c (debug_mswin_messages):
7902         * event-msw.c (debug_output_mswin_message):
7903         * event-msw.c (vars_of_event_mswindows):
7904         Fix yet more problems with C-g handling.
7905         Implement debug-mswindows-events.
7906         
7907 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7908
7909         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
7910         
7911 2001-05-23  Ben Wing  <ben@xemacs.org>
7912
7913         * event-msw.c (winsock_writer):
7914         * event-msw.c (winsock_closer):
7915         prior kludgy code was clobbering the buffer, thinking it was
7916         "unused" space to store an unneeded return value; instead, use
7917         the variable we've already got staring us in the face.
7918
7919 2001-05-17  Andy Piper  <andy@xemacs.org>
7920
7921         * sysfile.h: don't assume that file attributes are boolean
7922
7923 2001-05-23  Ben Wing  <ben@xemacs.org>
7924
7925         * device-msw.c (msprinter_init_device):
7926         signal an error rather than crash with an unavailable network
7927         printer (from Mike Alexander).
7928         
7929         * event-msw.c:
7930         * event-msw.c (struct winsock_stream):
7931         * event-msw.c (winsock_writer):
7932         * event-msw.c (winsock_closer):
7933         * event-msw.c (make_winsock_stream_1):
7934         cleanup headers.  fix (hopefully) an error with data corruption
7935         when sending to a network connection.
7936
7937         * fileio.c (Fexpand_file_name): Fix evil code that attempts
7938         to handle the ~user prefix by (a) always assuming we're referencing
7939         ourselves and not even verifying the user -- hence any file with
7940         a tilde as its first char is invalid! (b) if there wasn't a slash
7941         following the filename, the pointer was set *past* the end of
7942         file and we started reading from uninitialized memory.  Now we
7943         simply treat these as files, always.
7944
7945         * buffer.c (common_init_complex_vars_of_buffer): comment change.
7946         
7947 2001-05-19  Ben Wing  <ben@xemacs.org>
7948
7949         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
7950
7951         * process-nt.c:
7952         * process-nt.c (vars_of_process_nt):
7953         remove unused mswindows-quote-process-args.  rec for 21.4.
7954         
7955 2001-05-12  Ben Wing  <ben@xemacs.org>
7956
7957         * event-msw.c (mswindows_dde_callback):
7958         * event-msw.c (mswindows_wnd_proc):
7959         eliminate cygwin warnings.
7960
7961 2001-05-06  Ben Wing  <ben@xemacs.org>
7962
7963         * console-msw.h:
7964         * device-msw.c:
7965         * device-msw.c (print_dialog_worker):
7966         * device-msw.c (mswindows_handle_print_dialog_box):
7967         * device-msw.c (syms_of_device_mswindows):
7968         * dialog-msw.c (mswindows_make_dialog_box_internal):
7969         * general-slots.h:
7970         implement printing the selection when it's selected.
7971
7972 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
7973
7974         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
7975
7976 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7977
7978         * lisp.h (EMACS_INT_MAX): This should be one bit less since
7979         EMACS_INT is signed.
7980
7981 2001-04-15  Michael Lausch  <mla@1012surf.net>
7982
7983         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
7984         gtk_widget_request_size() to give scrollbar >0 width for
7985         GTK >1.2.8.
7986
7987 2001-05-30  William M. Perry  <wmperry@gnu.org>
7988
7989         * event-gtk.c: Check for buttons as modifier keys.
7990
7991 2001-05-25  Craig Lanning  <CraigL@Knology.net>
7992
7993         * s\mingw32.h:
7994         Properly find MinGW's <process.h> inside Cygwin's restructured
7995         include directories.  Don't try to include <cygwin/version.h>
7996         since we are dropping support for MinGW in versions of Cygwin
7997         earlier than b21.
7998         * nt.c:
7999         Drop support for MinGW in versions of Cygwin before b21.
8000         * sysdep.c:
8001         Properly find MinGW's <process.h> inside Cygwin's restructured
8002         include directories.
8003         * syswindows.h:
8004         Drop support for MinGW in versions of Cygwin before b21.
8005         * unexcw.c:
8006         Even though a.out.h is no longer detected by configure, allow
8007         MinGW to use it until we figure out how to do the job with Win32.
8008
8009 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
8010
8011         * syntax.c (find_start_of_comment):
8012         Fix `unbalanced parentheses' bug when dealing with mixed comment
8013         styles in c++/java/etc. mode
8014
8015 2001-05-29  Mike Alexander  <mta@arbortext.com>
8016
8017         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
8018         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8019
8020 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8021
8022         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8023
8024 2001-03-31  Mike Sperber <mike@xemacs.org>
8025
8026         * search.c (Freplace_match): Support FSF-style specification of
8027         match subexpression when applied to a buffer.
8028
8029 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8030
8031         * event-stream.c (is_scrollbar_event): add missing semicolon
8032
8033 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
8034
8035         * Makefile.in.in: Use TAR macro instead of hardcoding
8036           tar.  Allows use of GNU tar instead of system tar
8037
8038 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8039
8040         * event-stream.c (is_scrollbar_event): add missing semicolon
8041
8042 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8043
8044         * XEmacs 21.4.3 "Academic Rigor" is released.
8045
8046 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8047
8048         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8049
8050 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8051
8052         * buffer.c (Vcase_fold_search): Remove obsolete
8053           comment about non ASCII case-fold-search.  This
8054           bug has been fixed by case-table changes.
8055
8056 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8057
8058         * event-msw.c: Restore include of events-mod.h.
8059
8060 2001-04-22   zhaoway  <zw@debian.org>
8061
8062         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8063         !HAVE_SCROLLBARS.
8064
8065 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8066
8067         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8068
8069 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8070
8071         * mule-charset.c (Fmake_charset): Add missing else.
8072
8073 2001-04-23  Ben Wing  <ben@xemacs.org>
8074
8075         * event-msw.c (FAKE_MOD_QUIT):
8076         * event-msw.c (mswindows_dequeue_dispatch_event):
8077         * event-msw.c (mswindows_wnd_proc):
8078         * event-msw.c (emacs_mswindows_quit_p):
8079         Get critical quit working.
8080
8081 2001-05-05  Ben Wing  <ben@xemacs.org>
8082
8083         * console-msw.h:
8084         * device-msw.c:
8085         * device-msw.c (mswindows_get_default_margin):
8086         * frame-msw.c (mswindows_size_frame_internal):
8087         * frame-msw.c (msprinter_init_frame_1):
8088         * frame-msw.c (vars_of_frame_mswindows):
8089         Change top/bottom margin defaults to 0.5 inches.
8090
8091 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8092
8093         Fix link error with gcc 3.0 on Linux.
8094         * terminfo.c (UP): Remove.
8095         * terminfo.c (BC): Remove.
8096         * terminfo.c (PC): Remove.
8097         They weren't used, and in any case, these symbols should be
8098         defined in the *library*.
8099
8100 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8101
8102         * s/aix4.h: Fix crash with xlc -O3.
8103         Improve comment explaining how -O3 works.
8104
8105 2001-04-15  Ben Wing  <ben@xemacs.org>
8106
8107         * event-stream.c:
8108         * event-stream.c (Fnext_event):
8109         * event-stream.c (is_scrollbar_event):
8110         * event-stream.c (execute_command_event):
8111         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8112         crash' problem.  His fix introduces other problems.  We filter
8113         out scrollbar events specifically, making them somewhat invisible
8114         to command-building, and not appearing in `this-command-keys'.
8115         More work is still needed (see comments in event-stream.c), but
8116         this fixes all the major problems.
8117
8118 2001-04-20  Ben Wing  <ben@xemacs.org>
8119
8120         * .cvsignore: Added stuff for Windows.
8121
8122 2001-04-28  Ben Wing  <ben@xemacs.org>
8123
8124         * buffer.c (Ferase_buffer):
8125         * editfns.c (buffer_insert1):
8126         * editfns.c (Finsert_before_markers):
8127         * editfns.c (Finsert_string):
8128         * editfns.c (Finsert_char):
8129         * editfns.c (Fdelete_region):
8130         * editfns.c (Fwiden):
8131         * editfns.c (Fnarrow_to_region):
8132         remove bogus lines setting zmacs_region_stays to 0.
8133         
8134 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8135
8136         * process-unix.c (unix_open_network_stream): If connect() fails
8137         invalidate file descriptor after closing it.
8138
8139 2001-03-08  Mike Alexander  <mta@arbortext.com>
8140
8141         * event-msw.c (mswindows_need_event_in_modal_loop):
8142         Don't dispatch a message if we didn't get one.
8143         (mswindows_need_event):
8144         Terminate the correct process when one exits instead of the first
8145         one on Vprocess_list and look for process termination when in
8146         mswindows_protect_modal_loop.
8147
8148 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8149
8150         * XEmacs 21.4.1 "Copyleft" is released.
8151
8152 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8153
8154         * input-method-motif.c (XIM_delete_frame): New callback.
8155         (XIM_init_frame): Register it.
8156
8157 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8158
8159         * XEmacs 21.4.0 "Solid Vapor" is released.
8160
8161 2001-04-15  Ben Wing  <ben@xemacs.org>
8162
8163         * cmdloop.c (call_command_loop):
8164         Fix braino in bit-rotting code.
8165         
8166 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8167
8168         * extents.c (Fset_extent_endpoints): Force creation of extent info
8169         in buffer_or_string.
8170
8171         * extents.c (process_extents_for_insertion_mapper): Correctly
8172         check for open-open zero-length extents.
8173
8174 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8175
8176         * lisp.h: New typedefs Memory_count, Element_count.
8177         * regex.c:
8178         * regex.h:
8179         Sign-compare warning elimination: several unsigned -> signed.
8180         Based on work by Ben Wing <ben@xemacs.org>.
8181
8182 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8183
8184         * XEmacs 21.2.47 "Zephir" is released.
8185
8186 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8187
8188         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8189
8190 2001-04-03  Mike Sperber <mike@xemacs.org>
8191
8192         * search.c: Revert previous patch due because of release.
8193
8194 2001-03-30  Ben Wing  <ben@xemacs.org>
8195
8196         * s\cygwin32.h:
8197         Add missing killpg prototype.
8198
8199         * elhash.c:
8200         Add a comment about fixing problems when a new entry is added
8201         while mapping.
8202
8203         * frame-msw.c (mswindows_init_frame_1):
8204         Fix compile warnings.
8205
8206         * menubar.c (vars_of_menubar):
8207         Provide `menu-accelerator-support' to indicate that we properly
8208         support %_ in menu specifications, so that package code can
8209         conditionalize on this (and remove %_ from menu specifications
8210         on older versions).
8211
8212         * event-msw.c:
8213         * scrollbar-msw.c:
8214         * scrollbar-msw.c (can_scroll):
8215         * scrollbar-msw.h:
8216         Fix handling of mouse wheel under Windows to follow standards --
8217         now scrolls window under pointer, not selected window.
8218
8219 2001-03-31  Mike Sperber <mike@xemacs.org>
8220
8221         * search.c (Freplace_match): Support FSF-style specification of
8222         match subexpression when applied to a buffer.
8223
8224 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8225
8226         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8227         function to modify KEYMAP, so map over a copy of the hash table.
8228
8229 2001-03-21  Martin Buchholz <martin@xemacs.org>
8230
8231         * XEmacs 21.2.46 "Urania" is released.
8232
8233 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8234
8235         * realpath.c (xrealpath): Make file-truename work with symlinks to
8236         /cygdrive paths on cygwin. Always lowercase drive-letters on
8237         native windows.
8238         (cygwin_readlink): Don't try to find canonical filename unless
8239         file exists.
8240
8241 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8242
8243         * ChangeLog: Log GTK merge.
8244
8245         * dumper.c:
8246         * select-x.c:
8247         * specifier.c:
8248         * symeval.h:
8249         Revert gratuitous whitespace changes from GTK merge.
8250
8251         * emacs.c: Document end of complex #ifdef @ l. 1495.
8252
8253
8254 2001-03-12  Andy Piper  <andy@xemacs.org>
8255
8256         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8257         have to do likewise.
8258
8259 2001-03-12  Andy Piper  <andy@xemacs.org>
8260
8261         * sysdep.c: we only support mingw now.
8262
8263 2001-03-09  Andy Piper  <andy@xemacs.org>
8264
8265         * unexcw.c (copy_executable_and_dump_data_section): making approx
8266         overrun a warning only.
8267
8268 2001-03-10  William M. Perry  <wmperry@aventail.com>
8269
8270         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8271         satisfy Stephen's identical-after-cpp plea.
8272
8273 2001-03-02  Ben Wing  <ben@xemacs.org>
8274
8275         * cmds.c:
8276         * cmds.c (Fforward_char):
8277         * syntax.c:
8278         * window.c:
8279
8280         Augment documentation of the most common motion commands to make
8281         note of the shifted-motion support.
8282         
8283 2001-03-02  Ben Wing  <ben@xemacs.org>
8284
8285         * nt.c (mswindows_fstat):
8286         * nt.c (mswindows_stat):
8287         * search.c (boyer_moore):
8288         Fix compile warnings under Windows.
8289         
8290         * sysdep.c (sys_readdir):
8291         Fix buggy filename-conversion code under Mule.
8292
8293 2001-03-09  William M. Perry  <wmperry@aventail.com>
8294
8295         * Makefile.in.in:
8296         * config.h.in:
8297         * console.c:
8298         * console.h:
8299         * device.c:
8300         * device.h:
8301         * dragdrop.c:
8302         * emacs.c:
8303         * event-stream.c:
8304         * events.c:
8305         * events.h:
8306         * faces.c:
8307         * frame.h:
8308         * general-slots.h:
8309         * glyphs.c:
8310         * gutter.c:
8311         * inline.c:
8312         * lisp.h:
8313         * lrecord.h:
8314         * make-src-depend:
8315         * redisplay-output.c:
8316         * redisplay.c:
8317         * symsinit.h:
8318         * sysfile.h:
8319         * toolbar.c:
8320         * window.c:
8321         The Great GTK Merge.
8322
8323         * ChangeLog.GTK:
8324         * console-gtk.c:
8325         * console-gtk.h:
8326         * device-gtk.c:
8327         * emacs-marshals.c:
8328         * emacs-widget-accessors.c:
8329         * event-gtk.c:
8330         * frame-gtk.c:
8331         * gccache-gtk.c:
8332         * gccache-gtk.h:
8333         * glade.c:
8334         * glyphs-gtk.c:
8335         * glyphs-gtk.h:
8336         * gtk-glue.c:
8337         * gtk-xemacs.c:
8338         * gtk-xemacs.h:
8339         * gui-gtk.c:
8340         * gui-gtk.h:
8341         * menubar-gtk.c:
8342         * native-gtk-toolbar.c:
8343         * objects-gtk.c:
8344         * objects-gtk.h:
8345         * redisplay-gtk.c:
8346         * scrollbar-gtk.c:
8347         * scrollbar-gtk.h:
8348         * select-gtk.c:
8349         * toolbar-gtk.c:
8350         * ui-byhand.c:
8351         * ui-gtk.c:
8352         * ui-gtk.h:
8353         The Great GTK Merge: new files.
8354
8355 2001-02-26  Ben Wing  <ben@xemacs.org>
8356
8357         Reapplied Lstream change.
8358
8359 2001-02-26  Ben Wing  <ben@xemacs.org>
8360
8361         Undid the last change, since it is more controversial than I
8362         thought.  It should be back in at some point soon.
8363         
8364 2001-02-25  Ben Wing  <ben@xemacs.org>
8365
8366         * buffer.c:
8367         * callproc.c (Fold_call_process_internal):
8368         * event-msw.c (ntpipe_slurp_reader):
8369         * event-msw.c (ntpipe_shove_writer):
8370         * event-msw.c (winsock_reader):
8371         * event-msw.c (winsock_writer):
8372         * file-coding.c:
8373         * file-coding.c (detect_eol_type):
8374         * file-coding.c (detect_coding_type):
8375         * file-coding.c (determine_real_coding_system):
8376         * file-coding.c (Fdetect_coding_region):
8377         * file-coding.c (decoding_reader):
8378         * file-coding.c (decoding_writer):
8379         * file-coding.c (mule_decode):
8380         * file-coding.c (Fdecode_coding_region):
8381         * file-coding.c (encoding_reader):
8382         * file-coding.c (encoding_writer):
8383         * file-coding.c (mule_encode):
8384         * file-coding.c (Fencode_coding_region):
8385         * file-coding.c (detect_coding_sjis):
8386         * file-coding.c (decode_coding_sjis):
8387         * file-coding.c (encode_coding_sjis):
8388         * file-coding.c (detect_coding_big5):
8389         * file-coding.c (decode_coding_big5):
8390         * file-coding.c (encode_coding_big5):
8391         * file-coding.c (detect_coding_ucs4):
8392         * file-coding.c (decode_coding_ucs4):
8393         * file-coding.c (encode_coding_ucs4):
8394         * file-coding.c (detect_coding_utf8):
8395         * file-coding.c (decode_coding_utf8):
8396         * file-coding.c (encode_coding_utf8):
8397         * file-coding.c (detect_coding_iso2022):
8398         * file-coding.c (decode_coding_iso2022):
8399         * file-coding.c (encode_coding_iso2022):
8400         * file-coding.c (decode_coding_no_conversion):
8401         * file-coding.c (encode_coding_no_conversion):
8402         * glyphs-x.c (write_lisp_string_to_temp_file):
8403         * gpmevent.c (tty_get_foreign_selection):
8404         * lisp.h:
8405         * lstream.c:
8406         * lstream.c (Lstream_flush_out):
8407         * lstream.c (Lstream_adding):
8408         * lstream.c (Lstream_write_1):
8409         * lstream.c (Lstream_write):
8410         * lstream.c (Lstream_raw_read):
8411         * lstream.c (Lstream_read_more):
8412         * lstream.c (Lstream_read):
8413         * lstream.c (Lstream_unread):
8414         * lstream.c (Lstream_fputc):
8415         * lstream.c (stdio_reader):
8416         * lstream.c (stdio_writer):
8417         * lstream.c (filedesc_reader):
8418         * lstream.c (filedesc_writer):
8419         * lstream.c (lisp_string_reader):
8420         * lstream.c (struct fixed_buffer_stream):
8421         * lstream.c (make_fixed_buffer_input_stream):
8422         * lstream.c (make_fixed_buffer_output_stream):
8423         * lstream.c (fixed_buffer_reader):
8424         * lstream.c (fixed_buffer_writer):
8425         * lstream.c (struct resizing_buffer_stream):
8426         * lstream.c (resizing_buffer_writer):
8427         * lstream.c (dynarr_writer):
8428         * lstream.c (lisp_buffer_reader):
8429         * lstream.c (lisp_buffer_writer):
8430         * lstream.h:
8431         * lstream.h (lstream_implementation):
8432         * lstream.h (struct lstream):
8433         * md5.c (Fmd5):
8434         * process-nt.c (nt_send_process):
8435         * process-unix.c (unix_send_process):
8436         
8437         Correct Lstream lossage due to mixing of signed and unsigned
8438         quantities.  All Lstream uses of size_t and ssize_t are now a
8439         single signed data type Lstream_data_count.  This fixes problems
8440         under Windows with sending large quantities of data to a process,
8441         and may well fix other subtle bugs.
8442
8443 2001-02-23  Martin Buchholz <martin@xemacs.org>
8444
8445         * XEmacs 21.2.45 "Thelxepeia" is released.
8446
8447 2001-02-21  Martin Buchholz  <martin@xemacs.org>
8448
8449         * lisp-union.h (XSETINT): 
8450         (XSETCHAR):
8451         (XSETOBJ): 
8452         Reverse previous change of 2001-02-06.
8453
8454 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
8455
8456         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
8457         buffers.
8458         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8459         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
8460         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
8461         * regex.c (POS_AS_IN_BUFFER): removed
8462         * regex.c (re_search_2):
8463         * regex.c (re_match_2):
8464         Don't use an offset of 1 when calculating buffer positions, since
8465         `BI_BUF_BEGV' does it already.
8466
8467 2001-02-18  Wim Dumon  <wim@easics.be>
8468
8469         * insdel.c (prepare_to_modify_buffer): Also check for
8470         supersession when clash-detection is enabled. 
8471
8472 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
8473
8474         * regex.c (re_match_2_internal):
8475         Convert temp characters from 'const unsigned char' to 're_char'.
8476         Fix crashing bug with extended characters under mule.
8477         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
8478         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
8479         font-lock, pdump, and new syntax-table code.
8480         * syntax.c (find_start_of_comment):
8481         (find_end_of_comment):
8482         (forward-comment):
8483         Fix crashing bugs involving moving beyond end of buffer.
8484         * syntax.c (find_start_of_comment):
8485         Fixed logic to allow proper detection of cases where the same
8486         character is used to end both a two-char comment start and a
8487         two-char comment end sequence. Fixes `(forward-comment -1)'.
8488         * syntax.c (find_start_of_comment):
8489         Return position just past last comment-end character for all cases
8490         (previously was only done for two-char comment-end sequences).
8491         * syntax.c (forward-comment):
8492         Take value returned from `find_end_of_comment', rather than
8493         incrementing it.
8494         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8495         Properly deal with BUFFERP (syntax_cache.object)
8496
8497 2001-02-17  Martin Buchholz  <martin@xemacs.org>
8498
8499         * alloc.c (Fgarbage_collect): 
8500         * alloc.c (make_bit_vector_from_byte_vector):
8501         -Wsign-compare-correctness.
8502
8503 2001-02-16  Martin Buchholz  <martin@xemacs.org>
8504
8505         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
8506         (XSETCHAR): Likewise.
8507         (XSETOBJ): Likewise.
8508
8509 2001-02-15  Martin Buchholz  <martin@xemacs.org>
8510
8511         * mule-canna.c (canna-func-delete_previous): 
8512         Rename to canna-func-delete-previous.
8513
8514 2001-02-14  Martin Buchholz  <martin@xemacs.org>
8515
8516         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
8517
8518 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
8519
8520         * font-lock.c (find_context): Fix C++ compile errors introduced by
8521         recent patch
8522
8523 2001-02-13  Martin Buchholz  <martin@xemacs.org>
8524
8525         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
8526         pragma, but earlier ones barf on the same pragma.
8527
8528 2001-02-06  Mike Sperber <mike@xemacs.org>
8529
8530         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
8531         `configure-mule-lisp-directory'.
8532
8533 2001-02-12  Martin Buchholz  <martin@xemacs.org>
8534
8535         Make sure dump-id.c is compiled in the same way as other .c's.
8536         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
8537         * dump-id.h: Remove.
8538         * emacs.c: Move dump-id.h into dumper.h.
8539         * dumper.h: Move dump-id.h into dumper.h.
8540         * Makefile.in.in:
8541         Use standard .c.o rule for building dump-id.o.
8542         Remove preprocessor flags from link command.
8543         Add dump-id.o to ${otherobjs} if PDUMP.
8544
8545 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
8546
8547         Port FSF 20.7 syntax table improvements.
8548         * syntax.c.
8549         * syntax.h.
8550
8551         Fixups for new syntax table stuff.
8552         * dired.c: Include syntax.c.
8553         (Fdirectory_files): Initialize regex_match_object and
8554         regex_emacs_buffer.
8555         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
8556         and Fget_char_property.
8557
8558         Use ported FSF 20.7 syntax table improvements.
8559         * font-lock.c.
8560         * regex.c.
8561         * search.c.
8562         
8563 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8564
8565         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
8566         Unixware's enum boolean from sys/types.h.
8567
8568 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8569
8570         Fix support for building with latest Purify.
8571         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
8572         (PURIFY_FLAGS): Likewise.
8573
8574 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8575
8576         * fileio.c (lisp_string_set_file_times): New.
8577         * fileio.c (Fcopy_file): Use it.
8578         Fixes bug:
8579         (copy-file filename non-ascii-filename t t)
8580         ==> No such file or directory, non-ascii-filename
8581
8582 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8583
8584         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
8585         USHRT_MAX seems clearer than ~0 anyways.
8586
8587 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8588
8589         dumper improvements.  Inspired by Olivier.
8590         * dumper.c (pdump_max_align): New.
8591         * dumper.c (pdump_add_entry): Use pdump_max_align.
8592         * dumper.c (pdump_get_entry_list): Likewise.
8593         * dumper.c (pdump_scan_by_alignment): Likewise.
8594         Don't iterate through unnecessary alignments.
8595         * dumper.c (pdump_file_get): No need to align result of malloc().
8596         * dumper.c (pdump_mallocadr): Remove.  
8597         The result of malloc() is guaranteed to be maximally aligned.
8598         * dumper.c: s/elmt/elt/g;
8599         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
8600         * dumper.c (pdump_alert_undump_object): Likewise.
8601         * dumper.c (pdump_align_table): 
8602         Don't support alignments > 64.
8603         Store ALIGNOF's, not shift counts, in table.
8604
8605 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8606
8607         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
8608         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
8609         * systime.h: Use HAVE_UTIME.
8610         * sysdep.c (struct utimbuf): Remove.
8611         * sysdep.c (set_file_times): Prefer utime() to utimes().
8612         * config.h.in (HAVE_UTIME): New.
8613         * config.h.in (HAVE_UTIME_H): Remove.
8614         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
8615
8616 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8617
8618         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
8619
8620 2001-02-08  Martin Buchholz  <martin@xemacs.org>
8621
8622         * s/irix6-0.h: Use the standard system memmove, not bcopy.
8623
8624 2001-02-08  Martin Buchholz <martin@xemacs.org>
8625
8626         * XEmacs 21.2.44 "Thalia" is released.
8627
8628 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8629
8630         Fixes crashes in kill-emacs on some systems.
8631         * process-unix.c (unix_kill_child_process):
8632         It's OK for kill() to fail with ESRCH.
8633
8634 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8635
8636         Contortions to make .gdbinit tricks work on most systems.
8637         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
8638         * alloc.c (dbg_valmask): Make non-const.
8639         * alloc.c (dbg_typemask): Make non-const.
8640         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
8641         * alloc.c (dbg_valbits): Make non-const.
8642         * alloc.c (dbg_gctypebits): Make non-const.
8643         * .gdbinit (decode_object): Make it work with AIX cc.
8644
8645 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8646
8647         * elhash.c (make_general_lisp_hash_table):
8648         Use simpler and more efficient calloc to clear entries.
8649
8650 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8651
8652         * window.c (window_scroll): Work around an AIX C compiler bug.
8653         Fixes 'scroll-up' does nothing problem with xlC.
8654
8655 2001-02-05  Martin Buchholz  <martin@xemacs.org>
8656
8657         * .gdbinit: Remove obsolete comment.
8658
8659 2001-01-31  Mike Alexander  <mta@arbortext.com>
8660
8661         * select.c (Fown_selection_internal): Set owned_p for device
8662         method correctly.
8663
8664 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8665
8666         Port to g++ 2.97.
8667         "not" cannot be used as a macro name as it is an operator in C++
8668         * config.h.in: Stop #defining `not'.
8669         * chartab.c (check_category_char): not ==> not_p
8670         * chartab.h: Likewise.
8671         * regex.c (re_match_2_internal): Likewise.
8672
8673 2001-02-02  Martin Buchholz  <martin@xemacs.org>
8674
8675         * lisp-disunion.h: Fix up comments.
8676
8677 2001-01-31  Martin Buchholz  <martin@xemacs.org>
8678
8679         * keymap.c (define_key_check_and_coerce_keysym):
8680         (syms_of_keymap):
8681         Support mouse-6 and mouse-7 bindings in the obvious way.
8682
8683 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8684
8685         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
8686
8687 2001-01-30  Martin Buchholz  <martin@xemacs.org>
8688
8689         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
8690         Previous patch missed DEFVAR_INT_MAGIC.
8691         Make sure future DEFVAR_foo use correct types.
8692         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
8693         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
8694         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
8695         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
8696         * (DEFVAR_INT): Likewise.
8697         * redisplay.c (vertical_clip): Should be of type Fixnum.
8698         * redisplay.c (horizontal_clip): Likewise.
8699         * lisp.h (dump_add_opaque_int): New.
8700         (dump_add_opaque_fixnum): New.
8701
8702 2001-01-29  Andy Piper  <andy@xemacs.org>
8703
8704         * glyphs-widget.c (check_valid_int_or_function): allow symbols
8705         since they can be eval'ed
8706
8707 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8708
8709         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
8710         Oops, XEmacs redefines `class'.  Use `typename' instead.
8711
8712 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8713
8714         * dumper.c: Fix C++ compile errors.
8715
8716 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8717
8718         * tparam.c: Use correct prototypes.
8719
8720 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8721
8722         * sysproc.h: #include util.h for NetBSD's openpty.
8723
8724 2001-01-27  Martin Buchholz  <martin@xemacs.org>
8725
8726         More 64-bit correctness.
8727         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
8728         Use a typedef `fixnum' for the type used for DEFVAR_INT.
8729         Fix up comments.
8730         This finally finishes the 64-bit SGI port.
8731         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
8732         * symbols.c: Fix up comments and type casts.
8733         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
8734         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
8735         * symeval.h (Fixnum): New type.
8736         * symeval.h (symbol_value_type): Fix up comment.
8737
8738         * commands.h:
8739         * nt.c:
8740         * emacs.c:
8741         * data.c:
8742         * redisplay.c:
8743         * abbrev.c:
8744         * dired-msw.c:
8745         * event-Xt.c:
8746         * eldap.c:
8747         * window.c:
8748         * sound.c:
8749         * event-stream.c:
8750         * eval.c:
8751         * buffer.c:
8752         * mule-canna.c: A million DEFVAR_INTs here...
8753         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
8754         * extents.c:
8755         * cmdloop.c:
8756         * lisp.h:
8757         * select-x.c:
8758         * console-x.h:
8759         * event-msw.c:
8760         * mule-wnnfns.c:
8761         * hpplay.c:
8762         * ralloc.c:
8763         * alloc.c:
8764         * keymap.c:
8765         * profile.c:
8766         s/int/Fixnum/g in DEFVAR_INT declarations.
8767
8768 2001-01-26  Martin Buchholz  <martin@xemacs.org>
8769
8770         Port pdump to SGI alignment-sensitive environment.
8771         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
8772         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
8773         properly aligned.
8774         Define and use aligned reading and writing macros.
8775         Use buffered stdio instead of posix i/o for faster dumping.
8776         Eliminate kludgy 256 byte space for header.
8777         Read and write from dump file using structs for alignment safety.
8778         * dumper.c (pdump_align_stream): New.
8779         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
8780         * dumper.c (PDUMP_READ_ALIGNED): New.
8781         * dumper.c (PDUMP_WRITE_ALIGNED): New.
8782         * dumper.c (pdump_static_Lisp_Object): New struct.
8783         * dumper.c (pdump_static_pointer): New struct.
8784         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
8785         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
8786         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
8787         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
8788
8789         * dumper.c (pdump_backtrace):
8790         * dumper.c (pdump_get_indirect_count):
8791         * dumper.c (pdump_register_object):
8792         * dumper.c (pdump_register_struct):
8793         * dumper.c (pdump_reloc_one):
8794         * dumper.c (pdump_scan_by_alignment):
8795         * dumper.c (pdump_dump_from_root_struct_ptrs):
8796         * dumper.c (pdump_dump_opaques):
8797         * dumper.c (pdump_dump_rtables):
8798         * dumper.c (pdump_dump_from_root_objects):
8799         * dumper.c (pdump):
8800         * dumper.c (pdump_load_finish):
8801         Use aligned reading and writing.
8802
8803         * dumper.c (pdump_free): Make static.
8804         * dumper.c (pdump_hFile): Likewise.
8805         * dumper.c (pdump_hMap): Likewise.
8806
8807 2001-01-26  Martin Buchholz <martin@xemacs.org>
8808
8809         * XEmacs 21.2.43 "Terspichore" is released.
8810
8811 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8812
8813         Type fiddling for window_config.saved_windows_count
8814         * window.c (struct window_config): 
8815         Make saved_windows_count member unsigned.
8816         * window.c (sizeof_window_config_for_n_windows): 
8817         Make parameter unsigned.
8818         * window.c (mark_window_config):
8819         * window.c (window_config_equal):
8820         * window.c (free_window_configuration):
8821         * window.c (Fset_window_configuration):
8822         * window.c (count_windows):
8823         * window.c (Fcurrent_window_configuration):
8824         * window.c (reinit_vars_of_window):
8825         Update all callers and users.
8826
8827 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8828
8829         Alignment correctness for flexible arrays.
8830         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
8831         Make alignment-correct. Add interesting comments.
8832         * alloc.c (size_vector):
8833         * alloc.c (make_vector_internal):
8834         * alloc.c (make_bit_vector_internal):
8835         * alloc.c (sweep_bit_vectors_1):
8836         * fns.c (size_bit_vector):
8837         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
8838         * window.c (sizeof_window_config_for_n_windows): 
8839         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
8840
8841 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8842
8843         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
8844
8845 2001-01-23  Andy Piper  <andy@xemacs.org>
8846
8847         * select.c (Fown_selection_internal): pass owned_p
8848
8849         * select-msw.c (mswindows_own_selection): New Signature.
8850
8851         * console.h (struct console_methods): add owned_p to
8852         _own_selection.
8853
8854         * select-x.c (x_own_selection): pass owned_p
8855         (hack_motif_clipboard_selection): use owned_p
8856         (vars_of_select_x): new variable -
8857         x_selection_strict_motif_ownership.
8858
8859 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8860
8861         * specifier.h (specifier_data_offset): Remove pointless parens.
8862         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
8863
8864 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8865
8866         Make Lisp_Object sizeof methods be alignment-correct.
8867         pdump must restore objects to the same alignment as the C compiler
8868         assumes.  It really matters on SGIs.
8869         * lstream.c (aligned_sizeof_lstream): New.
8870         (sizeof_lstream): Use aligned_sizeof_lstream.
8871         (Lstream_new): Likewise.
8872         * opaque.c (aligned_sizeof_opaque): New.
8873         (sizeof_opaque): Use aligned_sizeof_opaque.
8874         (make_opaque): Likewise.
8875         * specifier.c (aligned_sizeof_specifier): New.
8876         (sizeof_specifier): Use aligned_sizeof_specifier.
8877         (make_specifier_internal): Likewise.
8878
8879 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8880
8881         * lstream.h (struct lstream): Use max_align_t for trailing data.
8882         * specifier.h (struct Lisp_Specifier): Likewise.
8883
8884 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8885
8886         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
8887         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
8888         (CCL_SUSPEND): Likewise.
8889         (CCL_INVALID_CMD): Likewise.
8890         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
8891         (ccl_driver): Likewise.
8892         (CCL_WRITE_CHAR): Macro hygiene.
8893         (CCL_WRITE_STRING): Macro hygiene.
8894
8895 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8896
8897         Port "portable" dumper to SunOS 4 and HP-UX.
8898         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
8899         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
8900         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
8901
8902 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8903
8904         * lisp.h (ALIGNOF): A better definition for C++.
8905
8906 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8907
8908         Macro hygiene.
8909         Fix printf warnings: int format, long int arg.
8910         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
8911         (PUSH_FAILURE_POINT): Use correct printf formats.
8912         (POP_FAILURE_POINT): Use correct printf formats.  
8913         Use do {...} while (0)
8914
8915 2001-01-20  Martin Buchholz <martin@xemacs.org>
8916
8917         * XEmacs 21.2.42 "Poseidon" is released.
8918
8919 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8920
8921         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
8922
8923 2001-01-19  Martin Buchholz  <martin@xemacs.org>
8924
8925         De-kludgify FIXED_TYPE free list frobbing.
8926         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
8927         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
8928         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
8929         * alloc.c (Lisp_Free): New pseudo lisp object definition.
8930         * alloc.c (LRECORD_FREE_P): New.
8931         * alloc.c (MARK_LRECORD_AS_FREE): New.
8932         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
8933         * alloc.c (STRUCT_FREE_P): Deleted.
8934         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
8935         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
8936         * alloc.c (STRING_CHARS_FREE_P): New.
8937         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
8938         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
8939         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
8940         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
8941         * alloc.c (resize_string): Use new definitions.
8942         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
8943         * alloc.c (verify_string_chars_integrity): Use new definitions.
8944         * alloc.c (compact_string_chars): Use new definitions.
8945         * alloc.c: Update monster comments.
8946         * lrecord.h (lrecord_type): Add some new lrecord types for
8947         alloc.c's use.
8948
8949 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8950
8951         Improve alignment hackery.
8952         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
8953         (max_align_t): Moved from opaque.h - general purpose.
8954         (ALIGN_PTR): Use size_t, not long.
8955         * opaque.h (max_align_t): Move to lisp.h.
8956
8957 2001-01-18  Norbert Koch  <nk@LF.net>
8958
8959         * gui.h: Fix and add prototypes to fix build problems.
8960
8961 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8962
8963         temacs is going away, so `dump-temacs' is now a bad name.
8964         * .dbxrc (dump-temacs): Rename to `dmp'.
8965         * .gdbinit (dump-temacs): Rename to `dmp'.
8966
8967 2001-01-17  Andy Piper  <andy@xemacs.org>
8968
8969         * glyphs.c (print_image_instance): comment to make martin happy.
8970
8971         * glyphs-x.c (x_redisplay_widget): update faces after a frame
8972         change.
8973
8974         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
8975         activation.
8976         (mswindows_tab_control_redisplay): warning suppression.
8977
8978         * glyphs-widget.c (widget_update): re-write to cope with updated
8979         items.
8980         (widget_instantiate): use new gui_item functions.
8981         (tab_control_update): deleted.
8982         (progress_gauge_update): deleted.
8983         (image_instantiator_progress_guage): take out update reference.
8984         (image_instantiator_tree_view): ditto.
8985         (image_instantiator_tab_control): ditto.
8986
8987         * gui.c (widget_gui_parse_item_keywords): new function. Do things
8988         Right the new way.
8989         (gui_item_add_keyval_pair): re-write to cope with descriptors and
8990         return whether anything was changed.
8991         (update_gui_item_keywords): as it sounds.
8992
8993         * gui.h: declare widget_gui_parse_item_keywords.
8994
8995         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
8996         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
8997
8998 2001-01-17  Martin Buchholz <martin@xemacs.org>
8999
9000         * XEmacs 21.2.41 "Polyhymnia" is released.
9001
9002 2001-01-16  Didier Verna  <didier@xemacs.org>
9003
9004         * glyphs.c (image_instantiate): don't use fallbacks when
9005         instantiating a face's background pixmap by inheritance.
9006
9007 2001-01-14  Mike Sperber <mike@xemacs.org>
9008
9009         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
9010         Conditionalize accordingly.
9011
9012 2001-01-16  Martin Buchholz  <martin@xemacs.org>
9013
9014         * dumper.c (pdump_file_get): Fix a compiler warning.
9015
9016 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9017
9018         Make Purify happy when pdumping.
9019         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9020         iniitalizing all bits of new lisp object memory.
9021         * symbols.c (Fmake_local_variable): Likewise.
9022         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9023         * symbols.c (Fdefvaralias): Likewise.
9024         * mule-charset.c (vars_of_mule_charset): Likewise.
9025
9026 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9027         Add the `-nd' flag when running pre-dump operations under the debugger.
9028         * .dbxrc (run-temacs): Add `-nd'.
9029         * .dbxrc (update-elc): Likewise.
9030         * .dbxrc (dump-temacs): Likewise.
9031         * .gdbinit (run-temacs): Likewise.
9032         * .gdbinit (check-temacs): Likewise.
9033         * .gdbinit (update-elc): Likewise.
9034         * .gdbinit (dump-temacs): Likewise.
9035
9036 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9037
9038         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9039         export OBJECT_MODE=64
9040         configure --pdump --use-union-type=no
9041         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9042         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9043
9044         * miscplay.c (sndcnv8U_2mono):
9045         Avoid two uses of `++' in the same expression.
9046         Suppresses a GCC warning.
9047
9048 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9049
9050         Make sure future compilers don't miscompile alloc.c.
9051         * alloc.c:
9052         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9053         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9054
9055 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9056
9057         * dumper.c: A little post-pdump-rename comment fixup.
9058
9059 2001-01-09  Jerry James  <james@eecs.ku.edu>
9060
9061         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9062
9063 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9064
9065         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9066         script:
9067         #!/bin/sh
9068         replace_symbol () {
9069           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9070         }
9071
9072         replace_symbol pdump_wire_lists pdump_weak_object_chains
9073         replace_symbol pdump_wire_list dump_add_weak_object_chain
9074
9075         replace_symbol pdump_wires pdump_root_objects
9076         replace_symbol pdump_wire dump_add_root_object
9077
9078         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9079         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9080
9081         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9082         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9083         replace_symbol dumpstructinfo pdump_root_struct_ptr
9084         replace_symbol dumpstruct dump_add_root_struct_ptr
9085
9086         replace_symbol dumpopaque dump_add_opaque
9087         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9088         replace_symbol dumpopaqueinfos pdump_opaques
9089         replace_symbol dumpopaqueinfo pdump_opaque
9090
9091         replace_symbol nb_structdump nb_root_struct_ptrs
9092         replace_symbol nb_opaquedump nb_opaques
9093
9094         replace_symbol align_table pdump_align_table
9095         replace_symbol dump_header pdump_header
9096
9097         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9098         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9099
9100
9101 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9102
9103         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9104         optimizing bytecount_to_charcount().
9105
9106 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9107
9108         * config.h.in:
9109         (HAVE_DLFCN_H): Removed.
9110         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9111
9112 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9113
9114         Portable dumper maintainability improvements.
9115         * alloc.c (staticpro):
9116         * alloc.c (staticpro_nodump):
9117         * alloc.c (garbage_collect_1):
9118         * alloc.c (reinit_alloc_once_early):
9119         * alloc.c (init_alloc_once_early):
9120         * alloc.c: Move dumper functions to alloc.c.
9121         * dumper.c (pdump_backtrace):
9122         * dumper.c (pdump_dump_structs):
9123         * dumper.c (pdump_dump_opaques):
9124         * dumper.c (pdump_dump_rtables):
9125         * dumper.c (pdump_dump_wired):
9126         * dumper.c (pdump):
9127         * dumper.c (pdump_load_check):
9128         * dumper.c (pdump_load_finish):
9129         * dumper.c (pdump_file_unmap):
9130         * dumper.c (pdump_file_get):
9131         * dumper.c (pdump_resource_free):
9132         * dumper.c (pdump_resource_get):
9133         * dumper.c (pdump_file_free):
9134         * dumper.c (pdump_file_try):
9135         * dumper.c (pdump_load):
9136         Remove fixed size limits on staticpro(), staticpro_nodump(),
9137         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9138         Remove custom code for dumping lrecord_implementations_table - use
9139         dumpopaque instead.
9140         Remove (most of the) custom code for dumping staticpros - dump it
9141         like any other dynarr.
9142
9143         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9144         * dumper.c: Moved functions from alloc.c.
9145         * alloc.c (dumpstruct): Moved to dumper.c.
9146         * alloc.c (dumpopaque): Likewise.
9147         * alloc.c (pdump_wire): Likewise.
9148         * alloc.c (pdump_wire_list): Likewise.
9149
9150         * lisp.h (Dynarr_sizeof): New.
9151         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9152         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9153         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9154
9155         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9156         * lisp.h (dumpopaque): ditto.
9157         * lisp.h (pdump_wire): ditto.
9158         * lisp.h (pdump_wire_list): ditto.
9159
9160 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9161
9162         * make-src-depend (PrintPatternDeps):
9163         Use `sort' to make output independent of perl version.
9164
9165 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9166
9167         Port to Netbsd 1.5.
9168         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9169         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9170
9171 2001-01-03  Didier Verna  <didier@xemacs.org>
9172
9173         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9174         that `focus_frame' is alive before thinking of calling
9175         `redisplay_redraw_cursor' on it.
9176
9177 2001-01-08  Martin Buchholz <martin@xemacs.org>
9178
9179         * XEmacs 21.2.40 is released.
9180
9181 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9182
9183         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9184
9185 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9186
9187         * alloc.c (dbg_valmask): Make const.
9188         * alloc.c (dbg_typemask): Make const.
9189         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9190         * alloc.c (dbg_valbits): Make const.
9191         * alloc.c (dbg_gctypebits): Make const.
9192
9193 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9194
9195         * redisplay-x.c (x_bevel_area):
9196         redisplay.h (struct rune):
9197         Typo fixes in comments.
9198
9199 2001-01-05  Andy Piper  <andy@xemacs.org>
9200
9201         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9202         adjustment.
9203
9204         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9205
9206 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9207
9208         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9209
9210         * mule-ccl.c (stack_idx_of_map_multiple):
9211         Non const global data must not be initialized!
9212         Found by MIYASHITA Hisashi.
9213
9214 2001-01-02  Andy Piper  <andy@xemacs.org>
9215
9216         * frame.c (change_frame_size): make sure frame size is always
9217         marked as changed.
9218
9219         * glyphs.c (image_instance_layout): minor code reuse.
9220
9221         * window.c (Fcurrent_window_configuration): revert previous
9222         change.
9223
9224 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9225
9226         * glyphs.h:
9227         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9228
9229 2000-12-31  Andy Piper  <andy@xemacs.org>
9230
9231         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9232         when widget gets unmapped.
9233
9234         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9235         function. Make sure widgets losing focus don't just drop it.
9236         (handle_focus_event_1): record the widget with focus.
9237
9238 2000-12-31  Andy Piper  <andy@xemacs.org>
9239
9240         * window.c (allocate_window): use
9241         make_image_instance_cache_hash_table.
9242         (make_dummy_parent): ditto.
9243         (Fset_window_configuration): ditto.
9244
9245         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9246
9247         * glyphs.c (process_image_string_instantiator): use
9248         INSTANTIATOR_TYPE.
9249         (get_image_instantiator_governing_domain): ditto.
9250         (normalize_image_instantiator): ditto.
9251         (instantiate_image_instantiator): ditto.
9252         (make_image_instance_1): ditto.
9253         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9254         (instantiator_eq_equal): new function for use with instance hash
9255         tables.
9256         (instantiator_eq_hash): ditto.
9257         (make_image_instance_cache_hash_table): create a suitable hash
9258         table for storing image instances.
9259
9260         * elhash.h (hash_table_weakness): new internal weakness type
9261         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9262         declare new functions.
9263
9264         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9265         another weakness type for glyphs.
9266         (make_standard_lisp_hash_table): new function split out from
9267         make_general_lisp_hash_table.
9268         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9269         (hash_table_instantiate): ditto.
9270         (Fmake_hash_table): ditto.
9271
9272 2000-12-31  Martin Buchholz <martin@xemacs.org>
9273
9274         * XEmacs 21.2.39 is released.
9275
9276 2000-12-29  Andy Piper  <andy@xemacs.org>
9277
9278         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9279
9280         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9281         the frame has changed so that we pick up geometry changes such as
9282         menubar visibility.
9283
9284 2000-12-28  Andy Piper  <andy@xemacs.org>
9285
9286         * lastfile.c (my_ebss): make a char array so we can pad the
9287         bss. Fixes cygwin unexec.
9288
9289         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9290
9291 2000-12-26  Andy Piper  <andy@xemacs.org>
9292
9293         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9294         comments and try and be more precise about a non-/SIGIO world.
9295         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9296         SIGIO.
9297
9298         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9299         we don't normalize to zero width or height.
9300
9301 2000-12-24  Andy Piper  <andy@xemacs.org>
9302
9303         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9304
9305 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9306
9307         * s/sco5.h: SCO 5 has pty support.
9308
9309 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9310
9311         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9312         input-method-xlib.c contains whole contents of input-method-xfs.c,
9313         so we can use input-method-xlib.c's code for USE_XFONTSET
9314         using #ifdefs.
9315         * input-method-xfs.c: removed.
9316
9317 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9318
9319         * file-coding.h (enum coding_category_type): reorder enumerators to
9320         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9321         (now one greater than largest real coding_category_type enumerator).
9322         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9323         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9324         Fcoding_category_list, Fset_coding_priority_list,
9325         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9326         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9327
9328 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9329
9330         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9331         * redisplay-output.c (redisplay_output_window): Clear top of window
9332         when face is changed.
9333         * redisplay-x.c (x_redraw_exposed_window): Call
9334         redisplay_clear_top_of_window.
9335         * redisplay.h: Publish redisplay_clear_top_of_window.
9336
9337 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9338
9339         * buffer.c (Fkill_buffer): Map over all devices.
9340         * window.c (window_loop): Remove UNSHOW_BUFFER code.
9341         (list_windows): New function.
9342         (list_all_windows): Ditto.
9343         (Freplace_buffer_in_windows): Use them.
9344
9345 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
9346
9347         * database.c (berkdb_subtype): Recognize new subtype `queue'.
9348         (Fopen_database): Use `db_create' instead of `db_open'.
9349         (syms_of_database): Initialize Qqueue.
9350
9351 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9352
9353         * buffer.c (common_init_complex_vars_of_buffer): Initialize
9354         buffer_local_face_property.
9355         * buffer.h (struct buffer): New member buffer_local_face_property.
9356         * window.c (Fset_window_buffer):  Mark window's face as changed
9357         when buffer has buffer local face.
9358         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
9359         * objects.c (color_after_change): Set buffer_local_face_property
9360         when locale of face specifier is buffer.
9361         * objects.c (font_after_change): Ditto.
9362         * objects.c (face_boolean_after_change): Ditto.
9363         * glyphs.c (image_after_change): Ditto.
9364
9365 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9366
9367         * nt.c (mswindows_fstat): Report file permissions, volume serial
9368         number, etc. Code adapted from FSF Emacs 20.7.
9369
9370 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9371
9372         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
9373         of stat when we don't have symbolic links, to make sure
9374         mswindows_stat is called on mswindows.
9375
9376 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
9377
9378         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
9379
9380 2000-12-12  Martin Buchholz  <martin@xemacs.org>
9381
9382         * doprnt.c (emacs_doprnt_1): More printing fixes.
9383         Make printing of numbers compatible with libc and FSF Emacs.
9384         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
9385         Use the system printf to do most of the hard work of formatting,
9386         instead of doprnt_1().
9387         Calculate memory to allocate for format string.
9388         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
9389         (doprnt_1): Cleaner code and documentation.
9390
9391 2000-12-01  Jerry James  <james@eecs.ukans.edu>
9392
9393         * Makefile.in.in: Use the loop variable to install headers.
9394
9395 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9396
9397         * window.c (Fsplit_window): Don't invalidate face cache.
9398
9399 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9400
9401         * minibuf.c (Fall_completions): Undo the previous change
9402         which removed checking elements start with space.
9403
9404 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9405
9406         * mule-canna.c: Didier suppression.
9407
9408 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9409
9410         * mule-canna.c: rename static unsigned char buf[] to key_buffer
9411         (warning suppression).  Add English comment translations.
9412
9413 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9414
9415         * unexelfsgi.c (unexec): Better test for mmap failure.
9416
9417 2000-12-05  Martin Buchholz <martin@xemacs.org>
9418
9419         * XEmacs 21.2.38 is released.
9420
9421 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9422
9423         * redisplay.c (bar-cursor): Make a user variable.
9424
9425         * symsinit.h: Add init_postgresql_from_environment.
9426
9427 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9428
9429         * regex.c: Convert to clean C.
9430
9431 2000-12-05  Dan Holmsand  <dan@eyebee.com>
9432
9433         * realpath.c:
9434         Don't #include sysfile.h. Revert to duplicating PATH_MAX
9435         initialization.
9436         (sys_readlink): renamed to system_readlink to avoid conflict with
9437         the other sys_readlink.
9438
9439 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
9440
9441         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
9442
9443 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
9444
9445         * postgresql.c (init_postgresql_from_environment): new function.
9446         (vars_of_postgresql): Move code initializing Lisp variables out and
9447         into init_postgresql_from_environment.
9448         emacs.c (main_1): Call init_postgresql_from_environment if and only
9449         if running a dumped XEmacs.
9450
9451 2000-08-31  Dan Holmsand  <dan@eyebee.com>
9452
9453         * buffer.c: Make find-file-compare-truenames default to true on
9454         windows.
9455
9456         * realpath.c (win32_abs_start):
9457         (cygwin_readlink):
9458         (win32_readlink): New functions.
9459         (xrealpath): Return really real filenames on windows.
9460
9461         * fileio.c (Ffile_truename): Make file-truename work on windows.
9462
9463 2000-11-29  Didier Verna  <didier@xemacs.org>
9464
9465         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
9466         * faces.c (update_face_cachel_data): use it.
9467         * faces.c (add_face_cachel): use it. Complete background pixmap
9468         frobbing in face cache if `update_face_cachel_data' has not done so.
9469
9470 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
9471
9472         * search.c (string_match_1): Don't set last_thing_searched
9473         when search failed.
9474
9475 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
9476
9477         * buffer.c: Include casetab.h
9478         (common_init_complex_vars_of_buffer): Use new case-table object.
9479         * buffer.h: Include casetab.h
9480         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
9481         (DOWNCASE_TABLE_OF): Ditto.
9482         * bufslots.h: Remove char-tables and add case-table.
9483         * casetab.c: Include casetab.h
9484         (CASE_TABLE_P): Removed.
9485         (mark_case_table): New function.
9486         (allocate_case_table): New function.
9487         (Fcase_table_p): Use new case-table.
9488         (case_table_char): New function.
9489         (Fget_case_table): Ditto.
9490         (Fput_case_table): Ditto.
9491         (Fput_case_table_pair): Ditto.
9492         (Fcopy_case_table): Ditto.
9493         (Fcurrent_case_table): Return case-table.
9494         (Fstandard_case_table): Return case-table.
9495         (Fset_case_table): Fix doc-string.
9496         (set_case_table): Use case-table
9497         (syms_of_casetab): DEFSUBR new functions.
9498         (complex_vars_of_casetab): Set up standard case-table.
9499         * casetab.h: New file.
9500         * editfns.c: Include casetab.h
9501         (Fcompare_buffer_substrings): Use case-table.
9502         * inline.c: Include casetab.h
9503         * lisp.h: Remove bogus extern.
9504         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
9505         * search.c: Include casetab.h
9506         (TRANSLATE_ASCII): Removed.
9507         (TRANSLATE): Unconditionally translate character.
9508         (looking_at_1): Use case-table.
9509         (string_match_1): Ditto.
9510         (fast_string_match): Ditto.
9511         (search_command): Ditto.
9512         (search_buffer): Separate boyer_moore.  Check whether
9513         boyer_moore is possible.
9514         (simple_search): New function.
9515         (boyer_moore): Separated from search_buffer. Translate char.
9516
9517 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
9518
9519         * regex.c (RE_TR_ASCII): Removed.
9520         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
9521         (PATFETCH): Call PATFETCH_RAW.
9522         (PATFETCH_RAW): Fetch Emchar.
9523         (PATUNFETCH): Decrement charptr.
9524         (GET_BUFFER_SPACE): Rename b to buf_end.
9525         (BUF_PUSH): Ditto.
9526         (BUF_PUSH_2): Ditto.
9527         (BUF_PUSH_3): Ditto.
9528         (EXTEND_BUFFER): Ditto.
9529         (SET_LIST_BIT): Ditto.
9530         (regex_compile): Ditto.  Translate non ASCII char.
9531         (compile_range): Ditto.
9532         (re_search_2): Ditto.
9533         (re_match_2_internal): Compare Emchar.
9534         (bcmp_translate): Ditto.
9535
9536 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
9537
9538         * lisp.h (basic char/int typedefs):  comment improvement.
9539
9540 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
9541
9542         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
9543         unstomp inhibit_site_lisp.  Improve comments.
9544
9545 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
9546
9547         * mule-charset.c (Fcharset_property):  improve type checking, comments.
9548
9549 2000-11-28  Andy Piper  <andy@xemacs.org>
9550
9551         * redisplay-output.c (redisplay_output_subwindow): make sure we do
9552         clipped display for windows in the gutter also.
9553         (redisplay_display_boxes_in_window_p): change semantics of return
9554         codes to be more intuitive.
9555
9556         * gutter.h: declare display_boxes_in_gutter_p.
9557
9558         * gutter.c (display_boxes_in_gutter_p): new function for
9559         redisplay.
9560
9561 2000-11-22  Andy Piper  <andy@xemacs.org>
9562
9563         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
9564         autodetect domain.
9565
9566 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
9567
9568         * callproc.c (Fold_call_process_internal):
9569         * gpm.c (Freceive_gpm_event):
9570         (tty_get_foreign_selection): Might be just warning supression.
9571         * fileio.c (Fwrite_region_internal):
9572         (Fset_visited_file_modtime):
9573         * keymap.c (event_matches_key_specifier_p):
9574         Initialize GCPROed variable.
9575
9576         * menubar-x.c (command_builder_find_menu_accelerator):
9577         Initialize before use.
9578
9579 2000-11-23  Andy Piper  <andy@xemacs.org>
9580
9581         * unexcw.c (unexec): make the resulting executable executable.
9582
9583 2000-11-21  Martin Buchholz  <martin@xemacs.org>
9584
9585         * doc.c (get_doc_string):
9586         Use size_t, not int, for result of XSTRING_LENGTH.
9587
9588         * cmds.c (Fdelete_char):
9589         * cmds.c (Fpoint_at_eol):
9590         * cmds.c (Fself_insert_command):
9591         Use EMACS_INT, not int, for result of XINT.
9592         Someday, someone will want to insert more than 2**31 identical characters.
9593
9594         * cmds.c (Fdelete_char):
9595         * cmds.c (Fdelete_backward_char):
9596         * syntax.c (Fforward_word):
9597         * syntax.c (Fforward_comment):
9598         Make COUNT argument optional, for consistency with forward-char et al.
9599
9600 2000-11-22  Martin Buchholz  <martin@xemacs.org>
9601
9602         * lisp.h:
9603         * print.c (long_to_string):
9604         Return a useful value: the pointer at end of data written.
9605
9606         * doprnt.c:
9607         Use `static const char * const' for constant strings.
9608         (union printf_arg): Delete `i', `ui' members.
9609         (get_doprnt_args):
9610         (emacs_doprnt_1):
9611         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
9612         Do all printf-ing via the `l' specifier.
9613         Use EMACS_INT instead of int.
9614         Optimize.
9615
9616 2000-11-20  Didier Verna  <didier@xemacs.org>
9617
9618         * faces.c (update_face_cachel_data): don't frob the background
9619         pixmap when the window is being created. The face is needed but
9620         does not exist yet.
9621
9622 2000-11-20  Andy Piper  <andy@xemacs.org>
9623
9624         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
9625         messing with a debug environment.
9626
9627 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9628
9629         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
9630
9631 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9632
9633         * casetab.c (Fcase_table_p): Fix compile error and crash.
9634
9635 2000-11-18  Philip Aston  <philipa@mail.com>
9636
9637         * s/cygwin32.h: Cygwin has SVR4-like pty support.
9638
9639 2000-11-18  Martin Buchholz  <martin@xemacs.org>
9640
9641         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
9642         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
9643
9644 2000-11-17  Martin Buchholz  <martin@xemacs.org>
9645
9646         * config.h.in: Define HAVE_ELF_H if elf.h exists.
9647         * unexelf.c: Use HAVE_ELF_H.
9648         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
9649         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
9650         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
9651         Greg Harrington <greg_harrington@hotmail.com> provided a machine
9652         for testing.
9653         So this is an unexelfsgi.c from a different line of development.
9654
9655 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9656
9657         * regex.c (RE_TR_ASCII): New function.
9658         (RE_TRANSLATE): Call it.
9659
9660 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9661
9662         * buffer.h (TRT_TABLE_OF): Remove assert.
9663         (IN_TRT_TABLE_DOMAIN): Removed.
9664
9665 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9666
9667         * free-hook.c (log_gcpro):
9668         (show_gcprohist): Add support for GCPRO5.
9669
9670 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
9671
9672         * emacs.c (main_1): Improve -sd error message when --pdump=no.
9673
9674 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
9675
9676         * symeval.h: Declare flush_all_buffer_local_cache.
9677
9678         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
9679         (flush_buffer_local_cache): Added.
9680         (flush_all_buffer_local_cache): Added.
9681
9682         * lrecord.h: Remove unused XD_LO_RESET_NIL.
9683
9684         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
9685         (pdump_dump_data): Ditto.
9686         (pdump_reloc_one): Ditto.
9687         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
9688         before dumping.
9689
9690
9691 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9692
9693         * buffer.c: Remove if 0'ed entry.
9694         * buffer.h: Rewrite TRT to use char-table.
9695         * bufslots.h: Remove mirror tables.
9696         * casetab.c: Remove mirror tables.
9697         (CASE_TABLE_P): New macro.
9698         (Fcase_table_p): Element of a case table is string or char-table.
9699         (make_mirror_trt_table): Removed.
9700         (set_case_table): Setup char-table from strings for backward
9701         compatibility.
9702         * dired.c (Fdirectory_files):
9703         * dired-msw.c: (mswindows_get_files):
9704         * lisp.h: Change prototype of re_pattern_buffer.
9705         * regex.c: (RE_TRANSLATE): New macro.
9706         (TRANSLATE_P): Ditto.
9707         Change translate to type RE_TRANSLATE_TYPE.
9708         * regex.h: Define RE_TRANSLATE_TYPE
9709         * search.c (TRANSLATE): New macro.
9710         (TRANSLATE_ASCII): New macro.
9711         Translate table is changed to Lisp_Object.
9712         (signal_failure): Inhibit return.
9713
9714 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9715
9716         * device-msw.c:
9717         * eldap.c:
9718         * event-Xt.c:
9719         * event-stream.c:
9720         * print.c:
9721         Do UNGCPRO before return.
9722
9723 2000-11-14  Martin Buchholz <martin@xemacs.org>
9724
9725         * XEmacs 21.2.37 is released.
9726
9727 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9728
9729         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
9730         Add comments about discarded return value.
9731
9732 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9733
9734         * callint.c:
9735         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
9736
9737 2000-10-27  Andy Piper  <andy@xemacs.org>
9738
9739         * gutter.c (Fset_default_gutter_position): default left and right
9740         gutters to visible.
9741         (calculate_gutter_size): calculate resonable heuristic for left
9742         and right gutter sizes.
9743         (specifier_vars_of_gutter): change left and right gutter sizes to
9744         autodetect.
9745         (calculate_gutter_size_from_display_lines): new function.
9746         (output_gutter): check for resizing on left and right gutters.
9747         (clear_gutter): don't special case top and left gutters.
9748         (specifier_vars_of_gutter): use new signature for
9749         set_specifier_caching.
9750
9751         * glyphs-x.c (x_redisplay_widget): spelling fix.
9752         * glyphs.c (specifier_vars_of_glyphs):
9753         * menubar.c (specifier_vars_of_menubar):
9754         * redisplay.c (specifier_vars_of_redisplay):
9755         * toolbar.c (specifier_vars_of_toolbar):
9756         * window.c (specifier_vars_of_window):
9757         * scrollbar.c (specifier_vars_of_scrollbar):
9758         (complex_vars_of_scrollbar): use new signature for
9759         set_specifier_caching.
9760
9761         * specifier.c (set_specifier_caching): include recompute flag.
9762         (recompute_one_cached_specifier_in_window): always recompute if
9763         flag set.
9764         (recompute_one_cached_specifier_in_frame): ditto.
9765
9766         * specifier.h (struct specifier_caching): add recompute flag.
9767
9768 2000-10-24  Andy Piper  <andy@xemacs.org>
9769
9770         * unexcw.c (copy_executable_and_dump_data_section): add new
9771         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
9772         5.0 happy.
9773
9774 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9775
9776         * console-x.h (x_device): New member modifier_release_time.
9777         * event-Xt.c (x_handle_sticky_modifiers):
9778         Bound interval modifier keys are sticky.
9779         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
9780         * events.h: extern it.
9781
9782 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9783
9784         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
9785
9786 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9787
9788         * event-stream.c (execute_command_event): Preserve current_events
9789         and the like when event is misc-user-event.
9790         Inhibit quit during the call to maybe_echo_keys.
9791
9792 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9793
9794         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
9795         symlink when buffer is killed.
9796         (inhibit_clash_detection): New variable.
9797
9798 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9799
9800         * console.c (Fset_input_method): Trigger redisplay on tty.
9801
9802 2000-11-07  Martin Buchholz  <martin@xemacs.org>
9803
9804         * process.c (Fprocess_status): Revert to previous behavior:
9805         (process-status "nosuchprocess") ==> nil
9806
9807 2000-11-06  Martin Buchholz  <martin@xemacs.org>
9808
9809         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
9810         Work around another GCC 2.95.2 optimizer bug.
9811
9812 2000-11-02  Martin Buchholz  <martin@xemacs.org>
9813
9814         * process.c (Fget_process): Use LIST_LOOP_2.
9815         (kill_buffer_processes): Use LIST_LOOP_2.
9816
9817         * minibuf.c (Fall_completions):
9818         Delete old non-functional code for FSF fourth argument.
9819
9820         * frame.c (frame_matches_frame_spec):
9821         Renamed from `frame_matches_frametype'.  Update all callers.
9822         (device_matches_device_spec):
9823         Renamed from 'device_matches_console_spec'.  Update all callers.
9824
9825         * doc.c (Fsubstitute_command_keys):
9826         Remove buffer overflow crash.  Small code cleanups.
9827
9828         * casetab.c (check_case_table): Simpler code.
9829
9830         * window.c (Freplace_buffer_in_windows):
9831         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
9832         (and similar implementation) as Fdelete_windows_on.
9833         Update all callers.
9834
9835         * alloc.c (Fmake_list):
9836         * alloc.c (make_vector):
9837         * alloc.c (Fmake_vector):
9838         * alloc.c (make_bit_vector):
9839         * alloc.c (Fmake_bit_vector):
9840         * alloc.c (Fbit_vector):
9841         * alloc.c (Fmake_string):
9842         * alloc.c (Fpurecopy):
9843         * alloc.c (Fmemory_limit):
9844         * buffer.c:
9845         * buffer.c (Fget_buffer):
9846         * buffer.c (Fkill_buffer):
9847         * buffer.c (complex_vars_of_buffer):
9848         * bytecode.c (Fcompiled_function_stack_depth):
9849         * callint.c (Fprefix_numeric_value):
9850         * event-stream.c:
9851         * event-stream.c (Fread_key_sequence):
9852         * casetab.c:
9853         * casetab.c (Fcase_table_p):
9854         * casetab.c (check_case_table):
9855         * casetab.c (Fset_case_table):
9856         * casetab.c (Fset_standard_case_table):
9857         * chartab.c:
9858         * chartab.c (Fchar_table_type):
9859         * chartab.c (Freset_char_table):
9860         * chartab.c (Fget_char_table):
9861         * chartab.c (Fget_range_char_table):
9862         * chartab.c (Fput_char_table):
9863         * chartab.c (Fmap_char_table):
9864         * chartab.c (Fcategory_table_p):
9865         * chartab.c (Fcheck_category_at):
9866         * chartab.c (Fchar_in_category_p):
9867         * chartab.c (Fcategory_table):
9868         * chartab.c (Fcopy_category_table):
9869         * chartab.c (Fset_category_table):
9870         * chartab.c (Fcategory_designator_p):
9871         * chartab.c (Fcategory_table_value_p):
9872         * cmds.c (Fdelete_char):
9873         * cmds.c (Fdelete_backward_char):
9874         * cmds.c (Fself_insert_command):
9875         * cmds.c (Fself_insert_internal):
9876         * console.c (Fvalid_console_type_p):
9877         * console.c (Fcdfw_console):
9878         * console.c (Fconsole_type):
9879         * console.c (Fconsole_name):
9880         * console.c (Fconsole_device_list):
9881         * console.c (Fconsole_on_window_system_p):
9882         * data.c:
9883         * data.c (Feq):
9884         * data.c (Fold_eq):
9885         * data.c (Fsubr_interactive):
9886         * data.c (Fchar_to_int):
9887         * data.c (Fint_to_char):
9888         * data.c (Fsetcar):
9889         * data.c (Fsetcdr):
9890         * data.c (Fnumber_to_string):
9891         * data.c (Fstring_to_number):
9892         * data.c (Frem):
9893         * database.c (mark_database):
9894         * database.c (finalize_database):
9895         * database.c (Fdatabase_live_p):
9896         * database.c (Fdatabasep):
9897         * device-x.c (Fx_get_resource):
9898         * device.c (Fdfw_device):
9899         * dired.c:
9900         * dired.c (Ffile_name_completion):
9901         * dired.c (Ffile_name_all_completions):
9902         * dired.c (Fuser_name_completion):
9903         * dired.c (Fuser_name_completion_1):
9904         * dired.c (Fuser_name_all_completions):
9905         * doc.c (Fdocumentation):
9906         * doc.c (Fdocumentation_property):
9907         * doc.c (Fsubstitute_command_keys):
9908         * editfns.c:
9909         * editfns.c (Fchar_to_string):
9910         * editfns.c (Fstring_to_char):
9911         * editfns.c (Ftemp_directory):
9912         * editfns.c (Finsert_char):
9913         * editfns.c (Fbuffer_substring_no_properties):
9914         * editfns.c (Fnarrow_to_region):
9915         * editfns.c (Fchar_equal):
9916         * editfns.c (Fchar_Equal):
9917         * editfns.c (Ftranspose_regions):
9918         * emacs.c (Fdump_emacs):
9919         * eval.c (Fthrow):
9920         * eval.c (Fcommand_execute):
9921         * eval.c (Fautoload):
9922         * eval.c (Fbacktrace):
9923         * eval.c (Fbacktrace_frame):
9924         * events.c:
9925         * events.c (Fcopy_event):
9926         * events.c (Fcharacter_to_event):
9927         * events.c (Fevent_button):
9928         * events.c (Fevent_process):
9929         * extents.c:
9930         * extents.c (Fnext_extent_change):
9931         * extents.c (Fextent_property):
9932         * faces.c (Ffacep):
9933         * faces.c (Fmake_face):
9934         * file-coding.c:
9935         * file-coding.c (Fencode_shift_jis_char):
9936         * file-coding.c (Fencode_big5_char):
9937         * fileio.c (Ffile_name_directory):
9938         * fileio.c (Ffile_name_nondirectory):
9939         * fileio.c (Ffile_name_as_directory):
9940         * fileio.c (Fdirectory_file_name):
9941         * fileio.c (Ffile_truename):
9942         * fileio.c (Fsubstitute_in_file_name):
9943         * fileio.c (Ffile_modes):
9944         * fileio.c (Fset_file_modes):
9945         * fileio.c (Fset_default_file_modes):
9946         * fileio.c (Fverify_visited_file_modtime):
9947         * floatfns.c (Facos):
9948         * floatfns.c (Fasin):
9949         * floatfns.c (Fatan):
9950         * floatfns.c (Fcos):
9951         * floatfns.c (Fsin):
9952         * floatfns.c (Ftan):
9953         * floatfns.c (Fbessel_j0):
9954         * floatfns.c (Fbessel_j1):
9955         * floatfns.c (Fbessel_jn):
9956         * floatfns.c (Fbessel_y0):
9957         * floatfns.c (Fbessel_y1):
9958         * floatfns.c (Fbessel_yn):
9959         * floatfns.c (Ferf):
9960         * floatfns.c (Ferfc):
9961         * floatfns.c (Flog_gamma):
9962         * floatfns.c (Fexp):
9963         * floatfns.c (Fexpt):
9964         * floatfns.c (Flog):
9965         * floatfns.c (Flog10):
9966         * floatfns.c (Fsqrt):
9967         * floatfns.c (Fcube_root):
9968         * floatfns.c (Facosh):
9969         * floatfns.c (Fasinh):
9970         * floatfns.c (Fatanh):
9971         * floatfns.c (Fcosh):
9972         * floatfns.c (Fsinh):
9973         * floatfns.c (Ftanh):
9974         * floatfns.c (Fabs):
9975         * floatfns.c (Ffloat):
9976         * floatfns.c (Flogb):
9977         * floatfns.c (Fceiling):
9978         * floatfns.c (Ffloor):
9979         * floatfns.c (Fround):
9980         * floatfns.c (Ftruncate):
9981         * floatfns.c (Ffceiling):
9982         * floatfns.c (Fffloor):
9983         * floatfns.c (Ffround):
9984         * floatfns.c (Fftruncate):
9985         * fns.c (Fstring_equal):
9986         * fns.c (Fstring_lessp):
9987         * fns.c (concat2):
9988         * fns.c (concat3):
9989         * fns.c (vconcat2):
9990         * fns.c (vconcat3):
9991         * fns.c (Fsubstring):
9992         * fns.c (Fassoc):
9993         * fns.c (Fold_assoc):
9994         * fns.c (assoc_no_quit):
9995         * fns.c (Fassq):
9996         * fns.c (Fold_assq):
9997         * fns.c (assq_no_quit):
9998         * fns.c (Frassoc):
9999         * fns.c (Fold_rassoc):
10000         * fns.c (Frassq):
10001         * fns.c (Fold_rassq):
10002         * fns.c (rassq_no_quit):
10003         * fns.c (Fremassoc):
10004         * fns.c (remassoc_no_quit):
10005         * fns.c (Fremassq):
10006         * fns.c (remassq_no_quit):
10007         * fns.c (Fremrassoc):
10008         * fns.c (Fremrassq):
10009         * fns.c (remrassq_no_quit):
10010         * fns.c (Fsort):
10011         * fns.c (Fplist_get):
10012         * fns.c (Fplist_put):
10013         * fns.c (Fplist_remprop):
10014         * fns.c (Fplist_member):
10015         * fns.c (Flax_plist_get):
10016         * fns.c (Flax_plist_put):
10017         * fns.c (Flax_plist_remprop):
10018         * fns.c (Flax_plist_member):
10019         * fns.c (Fequal):
10020         * fns.c (Fold_equal):
10021         * fns.c (Frequire):
10022         * fns.c (Fbase64_encode_region):
10023         * fns.c (Fbase64_encode_string):
10024         * fns.c (Fbase64_decode_region):
10025         * frame.c:
10026         * frame.c (frame_matches_frame_spec):
10027         * frame.c (device_matches_device_spec):
10028         * frame.c (next_frame):
10029         * frame.c (previous_frame):
10030         * frame.c (Fnext_frame):
10031         * frame.c (Fprevious_frame):
10032         * frame.c (Fframe_property):
10033         * frame.c (Fset_frame_height):
10034         * frame.c (Fset_frame_size):
10035         * frame.h:
10036         * glyphs.c:
10037         * glyphs.c (if):
10038         * glyphs.c (decode_error_behavior_flag):
10039         * glyphs.c (Fmake_image_instance):
10040         * indent.c (Findent_to):
10041         * intl.c (Fignore_defer_gettext):
10042         * keymap.c (Fkeymapp):
10043         * keymap.c (Flookup_key):
10044         * lread.c:
10045         * lread.c (Fload_internal):
10046         * lread.c (Feval_buffer):
10047         * lread.c (Feval_region):
10048         * macros.c (Fexecute_kbd_macro):
10049         * marker.c (set_marker_internal):
10050         * marker.c (Fset_marker):
10051         * marker.c (set_marker_restricted):
10052         * marker.c (Fcopy_marker):
10053         * marker.c (noseeum_copy_marker):
10054         * menubar.c:
10055         * menubar.c (Fpopup_menu):
10056         * minibuf.c:
10057         * mule-charset.c (Fcharset_name):
10058         * mule-charset.c (Fchar_charset):
10059         * mule-charset.c (Fchar_octet):
10060         * mule-charset.c (Fsplit_char):
10061         * mule-wnnfns.c (Fwnn_open):
10062         * mule-wnnfns.c (Fwnn_dict_comment):
10063         * mule-wnnfns.c (Fwnn_quit_henkan):
10064         * mule-wnnfns.c (Fwnn_word_toroku):
10065         * mule-wnnfns.c (Fwnn_word_sakujo):
10066         * mule-wnnfns.c (Fwnn_word_use):
10067         * mule-wnnfns.c (Fwnn_hindo_set):
10068         * objects.c:
10069         * objects.c (Fmake_color_instance):
10070         * objects.c (Fmake_font_instance):
10071         * print.c (Fwrite_char):
10072         * process.c:
10073         * process.c (mark_process):
10074         * process.c (print_process):
10075         * process.c (get_process_from_usid):
10076         * process.c (Fprocessp):
10077         * process.c (Fprocess_live_p):
10078         * process.c (Fget_process):
10079         * process.c (Fget_buffer_process):
10080         * process.c (get_process):
10081         * process.c (Fprocess_id):
10082         * process.c (Fprocess_name):
10083         * process.c (Fprocess_command):
10084         * process.c (init_process_io_handles):
10085         * process.c (start_process_unwind):
10086         * process.c (Fstart_process_internal):
10087         * process.c (Fopen_multicast_group_internal):
10088         * process.c (Fset_process_window_size):
10089         * process.c (read_process_output):
10090         * process.c (send_process):
10091         * process.c (Fprocess_tty_name):
10092         * process.c (Fset_process_buffer):
10093         * process.c (Fprocess_buffer):
10094         * process.c (Fprocess_mark):
10095         * process.c (set_process_filter):
10096         * process.c (Fset_process_filter):
10097         * process.c (Fprocess_filter):
10098         * process.c (Fprocess_send_region):
10099         * process.c (Fprocess_send_string):
10100         * process.c (exec_sentinel):
10101         * process.c (Fset_process_sentinel):
10102         * process.c (Fprocess_sentinel):
10103         * process.c (status_notify):
10104         * process.c (Fprocess_status):
10105         * process.c (Fprocess_exit_status):
10106         * process.c (process_send_signal):
10107         * process.c (Fprocess_send_eof):
10108         * process.c (deactivate_process):
10109         * process.c (remove_process):
10110         * process.c (Fdelete_process):
10111         * process.c (kill_buffer_processes):
10112         * process.c (Fprocess_kill_without_query):
10113         * process.c (Fprocess_kill_without_query_p):
10114         * rangetab.c:
10115         * rangetab.c (Fget_range_table):
10116         * rangetab.c (Fput_range_table):
10117         * rangetab.c (Fremove_range_table):
10118         * rangetab.c (Fclear_range_table):
10119         * search.c:
10120         * search.c (Fskip_chars_forward):
10121         * search.c (Fskip_chars_backward):
10122         * search.c (Fskip_syntax_forward):
10123         * search.c (Fskip_syntax_backward):
10124         * search.c (search_command):
10125         * search.c (Freplace_match):
10126         * search.c (Fregexp_quote):
10127         * select.c (Fown_selection_internal):
10128         * select.c (Fselection_owner_p):
10129         * select.c (Fselection_exists_p):
10130         * select.c (Fget_selection_internal):
10131         * specifier.c:
10132         * symbols.c:
10133         * symbols.c (Fintern):
10134         * symbols.c (Fintern_soft):
10135         * symbols.c (Funintern):
10136         * symbols.c (Fapropos_internal):
10137         * symbols.c (Fset_default):
10138         * syntax.c:
10139         * syntax.c (Fsyntax_table_p):
10140         * syntax.c (Fcopy_syntax_table):
10141         * syntax.c (Fset_syntax_table):
10142         * syntax.c (Fchar_syntax):
10143         * syntax.c (syntax_match):
10144         * syntax.c (Fmatching_paren):
10145         * syntax.c (Fforward_word):
10146         * syntax.c (scan_lists):
10147         * syntax.c (Fscan_lists):
10148         * syntax.c (Fscan_sexps):
10149         * syntax.c (Fparse_partial_sexp):
10150         * toolbar.c (Fcheck_toolbar_button_syntax):
10151         * tooltalk.doc:
10152         * window.c:
10153         * window.c (Fwindowp):
10154         * window.c (Fwindow_live_p):
10155         * window.c (Fwindow_point):
10156         * window.c (Fdelete_window):
10157         * window.c (Fnext_window):
10158         * window.c (Fprevious_window):
10159         * window.c (Fother_window):
10160         * window.c (window_loop):
10161         * window.c (Fget_lru_window):
10162         * window.c (Fsplit_window):
10163         * window.c (Fenlarge_window):
10164         * window.c (Fenlarge_window_pixels):
10165         * window.c (Fshrink_window):
10166         * window.c (Fshrink_window_pixels):
10167         * window.c (change_window_height):
10168         * window.c (Fwindow_configuration_p):
10169         * window.c (Fcurrent_window_configuration):
10170         * window.h:
10171         * casefiddle.c (casify_object):
10172         * casefiddle.c (Fupcase):
10173         * casefiddle.c (Fdowncase):
10174         * casefiddle.c (Fcapitalize):
10175         * casefiddle.c (Fupcase_initials):
10176         * casefiddle.c (casify_region_internal):
10177         * casefiddle.c (casify_region):
10178         * casefiddle.c (Fupcase_region):
10179         * casefiddle.c (Fdowncase_region):
10180         * casefiddle.c (Fcapitalize_region):
10181         * casefiddle.c (Fupcase_initials_region):
10182         * casefiddle.c (Fupcase_word):
10183         * casefiddle.c (Fdowncase_word):
10184         * casefiddle.c (Fcapitalize_word):
10185         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10186         Replace 0 with '\0' when working with bytes.
10187         Replace initial "(" with "\(" in docstrings.
10188
10189 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10190
10191         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10192
10193         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10194
10195 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10196
10197         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10198
10199 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10200
10201         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10202         correctly.
10203
10204 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10205
10206         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10207         (inhibit_auto_save_session): New variable.
10208         (vars_of_fileio): Declare and initialize them.
10209         * fileio.c (Fdo_auto_save): Don't create session file if
10210         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10211
10212 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10213
10214         * sgiplay.c (play_internal): C++ compilability.
10215         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10216         * callproc.c (Fold_call_process_internal):
10217         Remove unused vars `env', `first'.
10218         * scrollbar.c (update_scrollbar_instance):
10219         #### unused var `current_window'.
10220         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10221         etc. within #ifdef NOT_YET.
10222         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10223         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10224         * specifier.c (specifier_instance):
10225         #### unused var `tag'.
10226         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10227
10228 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10229
10230         * fns.c (Fbutlast):
10231         * fns.c (list_sort):
10232         * fns.c (Ffillarray):
10233         * fns.c (bytecode_nconc2):
10234         * fns.c (Fnconc):
10235         * fns.c (mapcar1):
10236         * fns.c (Fmapconcat):
10237         Be pedantically 64-bit correct.  For the time when someone will
10238         want to have a list with length > 2**32.
10239
10240         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10241         Work around MIPSpro compiler bug.
10242
10243         * process-unix.c (unix_kill_child_process): Add snarky comment.
10244         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10245
10246         * config.h.in: Oops, _getpt ==> _getpty
10247
10248 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10249
10250         * config.h.in:
10251         * regex.c:
10252         Use void*, not char*, as return type of alloca().
10253
10254         * alloc.c (free_marker): Side effect inside assert expression!
10255
10256 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10257
10258         * mule-charset.c (Fset_charset_ccl_program): To check
10259         if the given ccl program is valid, use setup_ccl_program()
10260         instead of CHECK_VECTOR().
10261         (Fmake_charset): Likewise.
10262
10263 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10264
10265         * faces.c (get_extent_fragment_face_cache_index):
10266         Fix cachel.merged_faces memory leak.
10267
10268 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10269
10270         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10271         Reset MSB of octets obtained by DECODE_SJIS
10272         because of the incompatibility with Emacs.
10273         (ccl_driver)<CCL_ENCODE_SJIS>:
10274         Set MSB of octets before passing them to
10275         ENCODE_SJIS because of the incompatibility
10276         with Emacs.
10277
10278 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10279
10280         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10281         (DECLARE_LRECORD): Undo the last change.
10282         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10283
10284 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10285
10286         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10287         the implementation to lrecord_implementations_table.
10288
10289 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10290
10291         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10292         initial value of `lrecord_type_##c_name' and
10293         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10294         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10295         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10296         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10297         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10298
10299 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10300
10301         * miscplay.c (sndcnv8S_2mono):
10302         (sndcnv2monounsigned):
10303         (sndcnvULaw_2linear):
10304         (sndcnv16swap):
10305         Remove implementation-defined behavior.
10306
10307 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10308
10309         * input-method-xlib.c: Warning suppression.
10310
10311 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10312
10313         * mule-ccl.c: Sync up with Emacs 21.0.90.
10314         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10315         Do nothing.
10316         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10317         Likewise.
10318         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10319         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10320         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10321         leading char belongs to official 2-dimensional charset.
10322         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10323         write the given character as is.  Otherwise,
10324         if it is a multibyte char, convert it by
10325         non_ascii_set_charptr_emchar, then write it.
10326         (CCL_WRITE_STRING): Likewise.
10327         (ccl_get_compiled_code): New function.
10328         (setup_ccl_program): When ccl_prog is invalid,
10329         return -1.
10330         (Fregister_code_conversion_map): New function.
10331         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10332
10333         * mule-ccl.h: Sync up with Emacs 21.0.90.
10334         (Fregister_ccl_program): export it.
10335
10336         * redisplay-msw.c (separate_textual_runs):
10337         If ccl program is not valid, don't do ccl conversion.
10338
10339         * redisplay-x.c (separate_textual_runs): Ditto.
10340
10341         * file-coding.c (Fmake_coding_system):
10342         When type is ccl and value is vector, register it
10343         with a proper symbol.  And checks whether the
10344         given ccl program is valid.
10345         (mule_decode): When calling ccl_driver, if src indicates
10346         NULL pointer, set an empty string instead.
10347         (mule_encode): Likewise.
10348
10349 2000-10-11  Martin Buchholz  <martin@xemacs.org>
10350
10351         The following large batch of changes gets us back to a state of
10352         C++ compilability.  Extbyte is now a char, which means that
10353         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
10354
10355         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
10356
10357         * sound.c (Fplay_sound): Type correctness.
10358
10359         * select-x.c (hack_motif_clipboard_selection): Type correctness.
10360         (x_get_window_property): Type correctness.
10361         (receive_incremental_selection): unsigned char ==> Extbyte
10362         (selection_data_to_lisp_data): unsigned char ==> Extbyte
10363         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
10364         (Fx_store_cutbuffer_internal): Type correctness.
10365
10366         * process-unix.c (try_to_initialize_subtty): Type correctness.
10367
10368         * objects-x.c (x_print_color_instance): Type correctness.
10369         (x_print_font_instance): Type correctness.
10370         (x_list_fonts): SExtbyte ==> Extbyte.
10371         (valid_x_font_name_p): SExtbyte ==> Extbyte.
10372         (x_find_charset_font): SExtbyte ==> Extbyte.
10373         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
10374         (truename_via_XListFonts): SExtbyte ==> Extbyte.
10375         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
10376         Use bufbyte_strcmp.
10377
10378         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
10379         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
10380         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
10381         (BYTE_C0_P): Use bit ops for char-signedness safety.
10382         (BYTE_C1_P): Use bit ops for char-signedness safety.
10383         (CHARSET_BY_LEADING_BYTE):
10384         (CHARSET_BY_ATTRIBUTES):
10385         Always use inline function.
10386         Use type_checking_assert.
10387         Hide chlook.
10388
10389         * mule-charset.c (non_ascii_charptr_copy_char):
10390         Modify to work with both ASCII and non-ASCII characters.
10391         Improve docs and variable names.
10392         Replace over-clever fall-through switch with a simple loop.
10393         (Lstream_get_emchar_1):
10394         Replace over-clever fall-through switch with a simple loop.
10395
10396         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10397         Warning suppression.
10398
10399         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
10400         the return value of Lstream_getc, which could be EOF as well.
10401
10402         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
10403
10404         * lisp.h: Make Extbyte a char, not unsigned char, so that external
10405         APIs can be used on Extbytes without casts.  Risky!
10406         (SExtbyte): Remove.
10407         (UExtbyte): Remove.
10408
10409         * input-method-xlib.c (XIM_init_device):
10410         Use Xlib.h instead of IntrinsicP.h.
10411         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
10412         which will break in X11R7.
10413         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
10414         to call XRegisterIMInstantiateCallback with correct types.
10415
10416         * gui-x.c (button_item_to_widget_value): Type correctness.
10417
10418         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
10419
10420         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
10421         (xbm_instantiate_1): Type correctness.
10422         (BUILD_GLYPH_INST):  Type correctness.
10423
10424         * fileio.c (Fsubstitute_in_file_name): Type correctness.
10425
10426         * file-coding.c:
10427         (decode_coding_sjis):
10428         (decode_coding_big5):
10429         (decode_coding_ucs4):
10430         (decode_coding_utf8):
10431         (decode_coding_iso2022):
10432         (decode_coding_no_conversion):
10433         Make all decoding functions take an Extbyte * arg.
10434         (encode_coding_sjis):
10435         (encode_coding_big5):
10436         (encode_coding_ucs4):
10437         (encode_coding_utf8):
10438         (encode_coding_iso2022):
10439         (encode_coding_no_conversion):
10440         Make all encoding functions take a Bufbyte * arg.
10441         Use size_t instead of unsigned int for memory sizes.
10442         Only cast to unsigned char whenever dereferencing Extbyte *.
10443
10444         * doc.c (unparesseuxify_doc_string): Type correctness.
10445
10446         * console-x.c (split_up_display_spec):
10447         Rewrite without using details of internal string representation.
10448         (x_semi_canonicalize_device_connection): Type correctness.
10449
10450         * config.h.in:
10451         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
10452         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
10453         (HAVE_XFREE386): Removed.
10454
10455         * buffer.h (DEC_CHARPTR): `const' correctness.
10456         (bufbyte_strcmp): New.
10457         (bufbyte_memcmp): New.
10458
10459         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
10460
10461         * buffer.h (XCHAR_OR_CHAR_INT):
10462         Always use inline function.
10463         Remove redundant type checking assert() - XINT will abort quite nicely.
10464
10465 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10466
10467         * search.c (Freplace_match): Set newtext to an empty string.
10468
10469 2000-10-10  Martin Buchholz  <martin@xemacs.org>
10470
10471         * s/decosf1-3.h: Remove #include of stropts.h
10472         * s/ptx.h: Remove #include of stropts.h
10473         * s/usg5-4.h: Remove #include of stropts.h
10474         * sysproc.h:
10475         * config.h.in:
10476         Use stropts.h, not sys/stropts.h.
10477         Use strtio.h, not sys/strtio.h.
10478
10479 2000-10-04  Martin Buchholz <martin@xemacs.org>
10480
10481         * XEmacs 21.2.36 is released.
10482
10483 2000-09-21  Andy Piper  <andy@xemacs.org>
10484
10485         * glyphs-x.c (x_redisplay_widget): make sure non-structural
10486         changes still involve copying the widget tree.
10487         (update_widget_face): make sure a change is register in the widget
10488         tree. Call update_tab_widget_face appropriately.
10489         (update_tab_widget_face): ditto.
10490         (x_tab_control_redisplay): make sure non-structural changes still
10491         involve copying the widget tree.
10492
10493 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
10494
10495         * lread.c (locate_file): Check the path element is non-nil.
10496
10497 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10498
10499         * lisp.h: Warning suppression for SCO compilers.
10500
10501         * redisplay-tty.c (reset_tty_modes): Fix crash.
10502         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
10503
10504 2000-09-27  Martin Buchholz  <martin@xemacs.org>
10505
10506         Big signal/process handling overhaul.  Bugs fixed:
10507         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
10508         M-x comint-kill-subjob should work for both values nil and t of
10509         process-connection-type. It was broken on most platforms.
10510         Testing on Irix and Cygwin still needed.  Other plaforms tested.
10511         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
10512         * process-unix.c: Signal/Process handling overhaul.
10513         (pty_name): make 64 bytes, as `expect' does, for paranoia.
10514         (allocate_pty): Use all available modern methods of allocating
10515         ptys, falling back to old style BSD allocation as a last resort.
10516         Use allegedly more secure Unix98 pty allocation by default.
10517         (allocate_pty_the_old_fashioned_way): New. the last resort.
10518         (unix_create_process): Push ptem, ldterm, ttcompat where
10519         available.  Autoconfiscate.
10520         (try_to_initialize_subtty): New.
10521         (unix_kill_child_process): Proper signal handling for ptys on most
10522         platforms, using special knowledge of AIX, BSD, etc...
10523         (unix_create_process): Always disconnect_controlling_terminal() for
10524         subprocesses, whether using ptys or not.
10525         * process.h: Remove old getpt-dependent PTY code.
10526         * process.c (Fprocess_send_signal): New, obvious generic function.
10527         (decode_signal): New.
10528         (Finterrupt_process):
10529         (Fkill_process):
10530         (Fquit_process):
10531         (Fstop_process):
10532         (Fcontinue_process):
10533         (Fsignal_process): Use decode_signal.
10534         (process_send_signal):
10535         Many docstring corrections.
10536         Allow any signal to be sent to a process object.
10537         * config.h.in: Add symbols for big signal/process overhaul.
10538         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
10539         * sysproc.h: Include process-related headers, where available:
10540         sys/stropts.h sys/strtio.h pty.h libutil.h
10541         * s/irix4-0.h:
10542         * s/irix5-0.h:
10543         * s/cygwin32.h:
10544         * s/gnu.h:
10545         * s/linux.h:
10546         * s/hpux.h:
10547         * s/aix3-1.h:
10548         Remove old S&M pty stuff.
10549         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
10550         * systty.h: Simplify cpp hackery, improve comments.
10551         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
10552
10553         * editfns.c (Fformat_time_string):
10554         Be a little more paranoid with the return value of ctime.
10555
10556         * fileio.c (check_executable):
10557         (check_writable):
10558         Use symbolic constants X_OK, W_OK.
10559
10560         * console-x.c (split_up_display_spec): Fix a warning.
10561
10562 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10563
10564         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
10565         * ntproc.c (sys_spawnve): make_string ==> build_string
10566         Small clarity improvements.
10567
10568 2000-09-30  Martin Buchholz  <martin@xemacs.org>
10569
10570         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
10571
10572         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
10573
10574         * config.h.in (HAVE_STRCASECMP): Remove.
10575
10576 2000-09-29  Martin Buchholz  <martin@xemacs.org>
10577
10578         * redisplay-output.c (redisplay_output_pixmap):
10579         Cleaner and possibly more 64-bit correct code.
10580
10581 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
10582
10583         * dumper.c (pdump_load_finish): move restoration of
10584         `noninteractive1' to emacs.c (main_1).
10585         * emacs.c (main_1): protect LISP-visible command-line flags
10586         from pdump_load().
10587
10588 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
10589
10590         * Makefile.in.in (versionclean):  Use EXE_TARGET and
10591         DUMP_TARGET instead of literal program names.
10592
10593 2000-09-20  Martin Buchholz  <martin@xemacs.org>
10594
10595         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
10596
10597 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10598
10599         * *: Spelling mega-patch
10600
10601 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10602
10603         * fns.c (bad_bad_turtle):
10604         Delete "Eek!" comment, since we fixed the bug to which it refers.
10605
10606 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10607
10608         * alloca.c: Replace REGISTER with register.
10609
10610 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
10611
10612         * file-coding.c (ucs_to_char): Use countof.
10613
10614 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10615
10616         * file-coding.c: (ucs_to_char):
10617         (complex_vars_of_file_coding):
10618         Use countof instead of sizeof.
10619         Use CHECK_NATNUM instead of CHECK_INT.
10620
10621         * sysdep.c (strcasecmp): Remove.
10622         * device-x.c (ascii_strcasecmp): New.
10623         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
10624         Avoid using non-standard non-portable strcasecmp.
10625
10626 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10627
10628         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
10629         * font-lock.c: remove reference to emacsfns.h.
10630         * search.c: small doc improvement.
10631         * event-Xt.c: correct file names in comments.
10632         * console-x.h Correct file names in comments.
10633         * frame.c: Correct file names in comments.
10634         * event-stream.c: remove Energize from comments.
10635
10636 2000-09-15  Martin Buchholz  <martin@xemacs.org>
10637
10638         * symeval.h (DEFERROR_STANDARD):
10639         (DEFERROR):
10640         (DEFSYMBOL):
10641         (DEFSYMBOL_NO_DUMP):
10642         (DEFSYMBOL_MULTIWORD_PREDICATE):
10643         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
10644         (DEFKEYWORD):
10645         The construct &##name is not sensible C.
10646         Fixes compilation errors with Unixware native compiler.
10647
10648 2000-09-14  Martin Buchholz  <martin@xemacs.org>
10649
10650         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
10651         (next_frame_internal): Removed.  We now just have next_frame.
10652         (next_frame):
10653         Write a simpler and cleaner one-pass algorithm.
10654         Remove called_from_delete_device arg and #ifdefed-out code.
10655         (previous_frame):
10656         Renamed from prev_frame.  Update callers.
10657         Cleaned up to have an analogous implementation to next_frame.
10658         (other_visible_frames_internal): Remove the
10659         called_from_delete_device bogus arg, and hence, remove this
10660         function.  Just use other_visible_frames().
10661
10662         * window.c (Fnext_window):
10663         Prettify docstring.
10664         Since next_frame() is guaranteed to return a frame, remove check
10665         for nil inserted in previous patch.
10666         (Fprevious_window):
10667         Prettify docstring.
10668         Make code look more like Fnext_window.
10669         (window_loop):
10670         Respect the `console' arg when iterating through windows.
10671         Fixes bug: (get-buffer-window buffer t device) not respecting
10672         the `device' arg.
10673         This function needs more work, as others have pointed out.
10674
10675         * frame.h: Rename prev_frame to previous_frame.
10676         device_matches_console_spec no longer takes a `frame' arg.
10677
10678         * s/gnu.h:
10679         * s/linux.h:
10680         * s/hpux.h:
10681         Use EMACS_BLOCK_SIGNAL instead of sigblock.
10682         From "Golubev I. N." <gin@mo.msk.ru>.
10683
10684         * make-src-depend: Fix typo.
10685
10686 2000-09-13  Martin Buchholz  <martin@xemacs.org>
10687
10688         * window.c (Fnext_window):
10689         next_frame() might return nil, not a frame.
10690         Fixes this crash:
10691         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10692
10693         * frame.c (next_frame_internal):
10694         We've passed a frame if we've passed its device.
10695         Fixes this crash:
10696         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10697 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
10698
10699 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10700
10701         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10702         Allow option to suppress accelerators in menu/dialog items.
10703         (populate_or_checksum_helper): Pass dialog title through above.
10704
10705 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10706
10707         * event-msw.c (mswindows_key_to_emacs_keysym):
10708         Add "pause" key, fix "menu" key.
10709
10710 2000-09-09  Martin Buchholz  <martin@xemacs.org>
10711
10712         * eval.c (reinit_vars_of_eval):
10713         Increase max_lisp_eval_depth to 1000,
10714         required for thai-xtis.el to byte-compile under some circumstances.
10715
10716 2000-09-04  Martin Buchholz  <martin@xemacs.org>
10717
10718         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
10719         From Kenichi Handa.
10720
10721 2000-09-01  Martin Buchholz  <martin@xemacs.org>
10722
10723         * make-src-depend: Make the generated Makefiles smaller.
10724
10725         * s/hpux.h (SETUP_SLAVE_PTY):
10726         Provide a %d in the format string for the errno argument.
10727
10728         * editfns.c (Ftemp_directory):
10729         Warning fix.
10730         Avoid buffer overrun on very long file name.
10731
10732         * input-method-xlib.c (XIM_init_device):
10733         6th parameter of XRegisterIMInstantiateCallback has different
10734         pointer types on different OSes, so simply cast to (void *).
10735
10736         * unexhp9k800.c: Warning fixes.  Fiddly changes.
10737
10738         * sysdll.c (dll_open):
10739         shl_load will hang hard if passed a NULL filename.
10740         Simply return NULL for compatibility with dlopen.
10741         * sysdll.c: Conform to XEmacs coding standards.
10742
10743         * sysdep.c (get_pty_max_bytes):
10744         Support pty input lines longer than 512 bytes on HP-UX 10.20.
10745
10746 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10747
10748         * tooltalk.c: Add #include <syssignal.h>
10749
10750 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
10751
10752         * s/hpux.h: Don't use undefined function sigunblock().
10753
10754 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10755
10756         * config.h.in: Add HAVE_BALLOON_HELP.
10757         * emacs.c: Use HAVE_BALLOON_HELP.
10758         * Makefile.in.in (x_objs):
10759         Make Balloon Help conditional on finding shape.h.
10760
10761 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
10762
10763         * syntax.c (regex_emacs_buffer_p): New variable.
10764         * syntax.h (regex_emacs_buffer_p): extern.
10765         * search.c (looking_at_1):
10766         (string_match_1):
10767         (fast_string_match):
10768         (search_buffer): Set regex_emacs_buffer_p.
10769         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
10770         when before_dot, at_dot, after_dot.
10771
10772 2000-08-23  Andy Piper  <andy@xemacs.org>
10773
10774         * gui-x.c (popup_selection_callback): Only set action_occurred
10775         when we really have an image instance.
10776         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
10777
10778 2000-08-23  Andy Piper  <andy@xemacs.org>
10779
10780         * gui-msw.c (mswindows_handle_gui_wm_command): set
10781         action_occurred.
10782         * gui-x.c (popup_selection_callback): ditto.
10783
10784         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
10785         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
10786         (struct Lisp_Image_Instance): add action_occurred flag.
10787
10788         * glyphs.c (redisplay_subwindow): use action_occurred flag.
10789         (image_instance_changed): ditto.
10790         (reset_frame_subwindow_instance_cache): only unmap windows - do
10791         not remove them from the cache also.
10792
10793         * glyphs-widget.c (tab_control_update): better debug.
10794         (progress_gauge_update): ditto.
10795         (layout_update): ditto.
10796         (layout_instantiate): ditto.
10797         (tab_control_order_only_changed): cope with null pending items.
10798
10799         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
10800         debug. Force selection of an item when an action occurred. Cope
10801         with null pending_items.
10802         (mswindows_progress_gauge_redisplay): better debug.
10803         * glyphs-x.c (x_tab_control_redisplay): ditto.
10804
10805         * redisplay.c (redisplay_frame): reset the frame cache if the
10806         frame is garbaged.
10807
10808         * window.c (Fset_window_configuration): potentially re-enable
10809         frame cache reset.
10810         (window_unmap_subwindows): need to finalize instances here since
10811         it is only used in mark_window_as_deleted.
10812
10813 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
10814
10815         * nas.c (SndOpenDataForReading):
10816         nas.c (WaveOpenDataForReading):
10817         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
10818         Somehow escaped from the 2000-08-14 patch.
10819
10820 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
10821
10822         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
10823         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
10824
10825 2000-08-21  Andy Piper  <andy@xemacs.org>
10826
10827         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
10828         window if it is not already displayed.
10829
10830         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
10831         it is not already displayed.
10832
10833         * window.c (Fset_window_configuration): don't reset the frame
10834         cache.
10835
10836         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
10837         instances from the frame cache if we are actually finalizing them.
10838         (reset_frame_subwindow_instance_cache): reset frame cache only
10839         after unmapping everything.
10840         (map_subwindow): set displayed flag after mapping.
10841
10842 2000-08-21  Martin Buchholz  <martin@xemacs.org>
10843
10844         * data.c (indirect_function):
10845         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
10846
10847         * eval.c (function_argcount):
10848         Use original function when signaling errors.
10849
10850 2000-08-18  Andy Piper  <andy@xemacs.org>
10851
10852         * frame.c (delete_frame_internal): use new
10853         free_frame_subwindow_instances name.
10854
10855         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
10856         (add_tab_item): make return type correct.
10857         (mswindows_tab_control_instantiate): assert index of tab.
10858         (mswindows_tab_control_redisplay): Re-code to use
10859         gui_item_equal_sans_selected and gui_item_list_find_selected.
10860
10861         * glyphs-widget.c (tab_control_update): Correct comment.
10862
10863         * window.c (window_unmap_subwindows): use new
10864         unmap_subwindow_instance_cache_mapper.
10865         (window_unmap_subwindows_cache_mapper): deleted.
10866         (Fset_window_configuration): comparisons should now be with
10867         EQ. Preserve the subwindow instance cache across configuration
10868         changes.
10869         (allocate_window): ditto.
10870         (make_dummy_parent): ditto.
10871
10872         * glyphs.c (free_frame_subwindow_instances): rename from
10873         free_frame_subwindow_instance_cache. finalize all instances rather
10874         than just those in the display cache.
10875         (finalize_all_subwindow_instances): walk windows unmapping and
10876         finalizing subwindows.
10877         (unmap_subwindow_instance_cache_mapper): moved from
10878         window.c. Allow finalization as well as unmapping.
10879
10880         * gui.c (gui_item_list_find_selected): new function.
10881
10882         * gui.h (gui_item_list_find_selected): declare.
10883
10884         * glyphs-x.c (x_tab_control_redisplay): pick tab
10885         explicitly. Re-code to use gui_item_equal_sans_selected and
10886         gui_item_list_find_selected.
10887
10888         * glyphs-x.h: add lwlib-utils.h
10889
10890         * buffer.c (Frecord_buffer): undo previous change.
10891
10892 2000-08-09  Vin Shelton  <acs@xemacs.org>
10893
10894         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
10895         possible.  Create temporary files more securely.  The patch was
10896         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
10897         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
10898         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
10899         for details.
10900
10901 2000-08-07  Ben Wing  <ben@xemacs.org>
10902
10903         * getloadavg.c: remove duplicate (and windows-breaking)
10904         includes of fcntl.h and sys/file.h.
10905
10906         * nt.c: remove duplicate getloadavg() definition.
10907
10908         * sysdll.h (Qdll_filename_encoding): add missing stand-in
10909         encodings.
10910
10911 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10912
10913         * eval.c (function_argcount): If function needs to be autoloaded
10914         actually use the loaded definition.
10915         GCPRO function.
10916
10917 2000-08-05  Ben Wing  <ben@xemacs.org>
10918
10919         * getloadavg.c: add prototype for getloadavg().  remove
10920         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
10921         of the code).  remove duplicate header includes.
10922
10923         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
10924
10925         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
10926         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
10927         useful load average.
10928
10929         * alloc.c (reinit_alloc_once_early): removed references to
10930         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
10931         the lisp vars are the only things referencing the malloc_sbrk_*
10932         vars, and they were already if 0'd out.  these vars only exist
10933         in the older malloc.c, which is basically unused, and they're
10934         only for informational purposes.
10935
10936         * m\*.h: removed useless VIRT_ADDR_VARIES.
10937
10938         * m\powerpc.h: removed stray NO_ARG_ARRAY.
10939
10940 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10941
10942         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
10943         color if the image is a mono pixmap.
10944
10945 2000-07-30  Ben Wing  <ben@xemacs.org>
10946
10947         * Makefile.in.in (release):
10948         Remove stray @.
10949
10950         * buffer.c (directory_is_current_directory):
10951         * dired-msw.c (mswindows_get_files):
10952         * dired.c:
10953         * dired.c (Fdirectory_files):
10954         * dired.c (file_name_completion_stat):
10955         * dired.c (Ffile_attributes):
10956         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
10957         preprocessor tricks, to avoid problems on some machines
10958         (e.g. SCO).
10959
10960         * callproc.c (egetenv): GC docs.
10961
10962         * console-msw.h:
10963         * console-msw.h (struct mswindows_dialog_id):
10964         * lrecord.h (lrecord_type):
10965         New object for use with MSW dialogs.
10966
10967         * console.h (struct console_methods):
10968         New enable/disable frame methods, for proper modal dialogs.
10969
10970         * device-msw.c (msprinter_default_printer): Fix to follow
10971         proper Mule conventions.
10972
10973         * device-msw.c:
10974         * device-msw.c (signal_open_printer_error):
10975         * device-msw.c (msprinter_init_device):
10976         * device-msw.c (ensure_not_printing):
10977         * device-msw.c (plist_get_margin):
10978         * device-msw.c (Fmsprinter_select_settings):
10979         * device-msw.c (finalize_devmode):
10980         * device-msw.c (Fmsprinter_settings_despecialize):
10981         * device-msw.c (signal_enum_priner_error):
10982         * extents.c (decode_extent):
10983         * extents.c (decode_map_extents_flags):
10984         * extents.c (decode_extent_at_flag):
10985         * extents.c (Fextent_at):
10986         * extents.c (Fextents_at):
10987         * extents.c (symbol_to_glyph_layout):
10988         [[[[2]]]] Use structured errors.
10989
10990         * dialog-msw.c:
10991         * dialog-msw.c (mswindows_is_dialog_msg):
10992         * dialog-msw.c (mark_mswindows_dialog_id):
10993         * dialog-msw.c (dialog_proc):
10994         * dialog-msw.c (handle_question_dialog_box):
10995         * dialog-msw.c (syms_of_dialog_mswindows):
10996         Define new object to clean up marking; use it as a dialog identifier.
10997         Call new delete-dialog-box-hook.
10998
10999         * dialog-x.c (dbox_selection_callback):
11000         * dialog-x.c (dbox_descriptor_to_widget_value):
11001         * dialog-x.c (x_make_dialog_box_internal):
11002         Call new delete-dialog-box-hook.
11003         Return an id.
11004
11005         * dialog.c:
11006         * dialog.c (syms_of_dialog):
11007         * dialog.c (vars_of_dialog):
11008         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
11009
11010         * eval.c:
11011         * eval.c (signal_call_debugger):
11012         when noninteractive, output stack traces on the console instead
11013         of in a (never-seen) buffer.
11014
11015         * eval.c (signal_type_error):
11016         * eval.c (invalid_argument_2):
11017         * lisp.h:
11018         new funs for use w/structured errors.
11019
11020         * event-Xt.c:
11021         * event-Xt.c (x_to_emacs_keysym):
11022         * event-Xt.c (describe_event):
11023         * event-Xt.c (emacs_Xt_event_handler):
11024         * event-Xt.c (vars_of_event_Xt):
11025         * event-msw.c:
11026         * event-msw.c (mswindows_wnd_proc):
11027         * event-msw.c (vars_of_event_mswindows):
11028         rename {x,mswindows}-debug-events to debug-{}-events for
11029         consistency with other debug-foo variables.
11030
11031         * event-stream.c:
11032         document next-event more clearly.
11033
11034         * fileio.c (Ffile_name_directory):
11035         * fileio.c (Ffile_name_nondirectory):
11036         * fileio.c (Funhandled_file_name_directory):
11037         * fileio.c (file_name_as_directory):
11038         * fileio.c (Ffile_name_as_directory):
11039         * fileio.c (directory_file_name):
11040         * fileio.c (Fdirectory_file_name):
11041         * fileio.c (Fmake_temp_name):
11042         * fileio.c (Ffile_truename):
11043         * fileio.c (Fsubstitute_in_file_name):
11044         * fileio.c (expand_and_dir_to_file):
11045         * fileio.c (barf_or_query_if_file_exists):
11046         * fileio.c (check_executable):
11047         * fileio.c (Ffile_exists_p):
11048         * fileio.c (Ffile_writable_p):
11049         * fileio.c (Ffile_directory_p):
11050         * fileio.c (Ffile_regular_p):
11051         * fileio.c (Ffile_modes):
11052         * fileio.c (Ffile_newer_than_file_p):
11053         * fileio.c (Fverify_visited_file_modtime):
11054         * fileio.c (Fset_visited_file_modtime):
11055         * fileio.c (auto_save_1):
11056         (1). (2).
11057         fix up gcpro's.
11058
11059         * frame-msw.c:
11060         * frame-msw.c (mswindows_init_frame_1):
11061         * frame-msw.c (mswindows_enable_frame):
11062         * frame-msw.c (error_frame_unsizable):
11063         * frame-msw.c (msprinter_init_frame_1):
11064         * frame-msw.c (msprinter_init_frame_3):
11065         * frame-msw.c (console_type_create_frame_mswindows):
11066         (2).
11067         implement new enable/disable frame methods.
11068
11069         * frame-x.c:
11070         * frame-x.c (x_enable_frame):
11071         * frame-x.c (console_type_create_frame_x):
11072         implement new enable/disable frame methods.
11073
11074         * frame.c:
11075         * frame.c (Fdisable_frame):
11076         * frame.c (syms_of_frame):
11077         * frame.h (struct frame):
11078         implement new enable/disable frame methods/functions.
11079
11080         * general-slots.h:
11081         add initial-focus.
11082
11083         * glyphs-msw.c (mswindows_widget_instantiate):
11084         comment that initial-focus should be implemented.
11085
11086         * glyphs-widget.c:
11087         * glyphs-widget.c (check_valid_instantiator):
11088         * glyphs-widget.c (check_valid_orientation):
11089         * glyphs-widget.c (check_valid_tab_orientation):
11090         * glyphs-widget.c (check_valid_justification):
11091         * glyphs-widget.c (check_valid_border):
11092         * glyphs-widget.c (check_valid_callback):
11093         * glyphs-widget.c (check_valid_int_or_function):
11094         * glyphs-widget.c (check_valid_string_or_vector):
11095         * glyphs-widget.c (check_valid_item_list_1):
11096         * glyphs-widget.c (widget_validate):
11097         * glyphs-widget.c (combo_box_validate):
11098         * glyphs-widget.c (widget_instantiate):
11099         * glyphs-widget.c (syms_of_glyphs_widget):
11100         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11101         * glyphs-widget.c (image_instantiator_combo_box):
11102         * glyphs-widget.c (image_instantiator_scrollbar):
11103         * glyphs-widget.c (image_instantiator_tab_control):
11104         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11105         (2).
11106         support (unimplemented) keyword initial-focus.
11107         reindent long macros.
11108
11109         * glyphs-x.c (x_redisplay_widget):
11110         * glyphs-x.c (x_button_instantiate):
11111         * glyphs-x.c (x_button_redisplay):
11112         * glyphs-x.c (x_progress_gauge_instantiate):
11113         * glyphs-x.c (x_edit_field_instantiate):
11114         * glyphs-x.c (x_combo_box_instantiate):
11115         * glyphs-x.c (x_tab_control_instantiate):
11116         * glyphs-x.c (x_label_instantiate):
11117         * gui-x.c:
11118         * gui-x.c (button_item_to_widget_value):
11119         * gui-x.c (gui_items_to_widget_values_1):
11120         * gui-x.c (gui_item_children_to_widget_values):
11121         * gui-x.c (gui_items_to_widget_values):
11122         * gui-x.h:
11123         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11124         add new flag to gui-parsing routines to indicate whether
11125         accelerator specs should be supported.
11126
11127         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11128
11129         * glyphs.h (struct Lisp_Image_Instance):
11130         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11131         add initial-focus flag.
11132
11133         * gui.c:
11134         * gui.c (syms_of_gui):
11135         * gui.c (vars_of_gui):
11136         clean up menu-no-selection-hook.
11137
11138         * gui.h:
11139         support delete-dialog-box-hook.
11140
11141         * lread.c (Fload_internal):
11142         * lread.c (locate_file_in_directory_mapper):
11143         (1).
11144
11145         * lrecord.h:
11146         * lrecord.h (struct toolbar_button):
11147         * lrecord.h (syms_of_toolbar):
11148         document how to create a new object.
11149
11150         * menubar-msw.c (mswindows_char_is_accelerator):
11151         may be called on frames w/o menus.
11152
11153         * menubar.c (vars_of_menubar):
11154         clean up :filter docs.
11155
11156         * nt.c (readdir):
11157         * ntproc.c:
11158         (1).
11159
11160         * process-nt.c:
11161         * process-nt.c (validate_signal_number):
11162         * process-nt.c (signal_cannot_launch):
11163         * process-nt.c (nt_create_process):
11164         * process-nt.c (nt_send_process):
11165         * process-nt.c (nt_kill_child_process):
11166         * process-nt.c (nt_open_network_stream):
11167         * process-nt.c (syms_of_process_nt):
11168         (2).
11169         delete quote-handling.  call new lisp code that does it better.
11170
11171         * process-unix.c (connect_to_file_descriptor):
11172         * process-unix.c (allocate_pty):
11173         * process-unix.c (unix_send_process):
11174         * process-unix.c (unix_kill_child_process):
11175         * process-unix.c (unix_open_network_stream):
11176         * process-unix.c (unix_open_multicast_group):
11177         (1). (2).
11178
11179         * process.c:
11180         * process.c (Fstart_process_internal):
11181         (2).  need to canonicalize process path even if absolute.
11182
11183         * select-msw.c (symbol_to_ms_cf):
11184         * select-msw.c (ms_cf_to_symbol):
11185         * select-msw.c (cf_is_autofreed):
11186         * select-msw.c (mswindows_destroy_selection):
11187         * select.c:
11188         * select.c (syms_of_select):
11189         * select.h:
11190         support dibv5, fix bugs. (from Mike Alexander)
11191
11192         * select.c (Fget_selection_internal):
11193         * select.c (select_convert_out):
11194
11195         * sysdep.c:
11196         * sysdep.c (xemacs_stat):
11197         renamed.
11198
11199         * sysdep.c (mkdir):
11200         * sysdep.c (rmdir):
11201         but keep original stat() here because we provide encapsulation
11202         around these funs.
11203
11204         * sysfile.h:
11205         * sysfile.h (fstat):
11206         remove stat garbage.
11207
11208         * syswindows.h:
11209         fix X/MSW conflict.
11210         don't include tchar.h.  it's inappropriate because it makes
11211         compile-time distinctions when we want runtime distinctions.
11212         (we provide our own tchar replacements)
11213
11214         * toolbar.c:
11215         use default object printer for toolbar-button.
11216
11217         * unexcw.c:
11218         make sure we don't encapsulate.
11219
11220         * window.c (vars_of_window):
11221         emphasize that temp-buffer-show-hook is obsolete.
11222
11223 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11224
11225         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11226         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11227
11228         * events.c (Fevent_timestamp_lessp):
11229         Not 64-bit clean.  Use EMACS_INT, not int.
11230
11231 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11232
11233         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11234         unsigned int and changed the last enum to
11235         lrecord_type_last_built_in_type.
11236         (lrecord_implementations_table): changed prototype to know how
11237         long the array is supposed to be.
11238         (lrecord_type_count): new unsigned int to keep track of the
11239         current number of lisp lrecord types.
11240         (DEFINE_EXTERNAL_LRECORD):
11241         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11242         dynamic-modules to declare new lisp types. They are the same
11243         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11244         int for each new type, and increment lrecord_type_count by 1.
11245
11246         * alloc.c (lrecord_implementations_table): Changed to reference
11247         lrecord_type_last_built_in_type for the size of the array.
11248         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11249
11250 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11251
11252         * glyphs.h (check_valid_item_list): Renamed from
11253         check_valid_item_list_1.
11254
11255 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11256
11257         * select.c (Qselect_coerce): New.
11258         * select.c (Vselection_coercion_alist): New.
11259         * select.c (syms_of_select): Declare.
11260         * select.c (get-selection-internal): Use it.
11261         Use the new select-coerce functionality.
11262
11263         * select.c (select_coerce): New.
11264         * select.h (select_coerce): Declare.
11265         New function to coerce one type of data into another.
11266
11267 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11268
11269         * callproc.c (Fcall_process_internal):
11270         (Fcall_process_internal):
11271         * process-unix.c (unix_create_process):
11272         Save and restore the value of errno, so that error messages are accurate.
11273
11274 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11275
11276         * elhash.c (print_hash_table):
11277         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11278         Prettify docstrings and indentation.
11279
11280 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11281
11282         * window.c (Fwindow_pixel_edges): Subtract frame border and
11283         gutter size.
11284
11285 2000-07-31  Andy Piper  <andy@xemacs.org>
11286
11287         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11288         will acknowledge the change.
11289
11290         * glyphs.h: declare tab_control_order_only_changed.
11291
11292         * glyphs-x.c (x_tab_control_redisplay): use
11293         tab_control_order_only_changed.
11294
11295         * glyphs-widget.c (tab_control_order_only_changed): new function.
11296
11297         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11298         tab_control_order_only_changed.
11299
11300         * gui.c (gui_item_equal_sans_selected): new function.
11301         (gui_item_equal): use it.
11302
11303         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11304         :properties in favor of :items..
11305
11306         * glyphs-widget.c (check_valid_item_list): rename from
11307         check_valid_item_list_1.
11308         (check_valid_item_list_1): renamed.
11309         (combo_box_validate): deprecate :properties in favor of :items.
11310         (widget_instantiate): ditto.
11311         (tab_control_update): ditto.
11312         (image_instantiator_combo_box): ditto.
11313         (image_instantiator_tree_view): ditto.
11314         (image_instantiator_tab_control): ditto.
11315         (layout_post_instantiate): remove dead code.
11316
11317         * print.c (debug_print_no_newline): only write to debugger if in
11318         WIN32_NATIVE.
11319
11320         * elhash.c (Fmake_hash_table): update doc string.
11321
11322         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11323         messages whilst in GC. This at least stops XEmacs crashing but has
11324         the potential for wierd behaviour.
11325
11326 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11327
11328         * config.h.in:
11329         Make existence of s&m files optional.
11330
11331         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11332         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11333         * s/gnu.h: Remove HAVE_GETLOADAVG.
11334         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11335         * s/sol2.h: Remove HAVE_GETLOADAVG.
11336         * lisp.h: Remove getloadavg() declaration.
11337         * fns.c:
11338         Include <sys/loadavg.h> if available.
11339         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11340         * config.h.in:  Group together getloadavg()-related macros.
11341         Use only configure-time tests to detect getloadavg().
11342
11343 2000-07-30  Martin Buchholz  <martin@xemacs.org>
11344
11345         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
11346
11347 2000-07-25  Andy Piper  <andy@xemacs.org>
11348
11349         * syswindows.h: add tchar.h for native builds.
11350
11351         * frame.c (syms_of_frame): remove set-glyph-image.
11352
11353         * general-slots.h: add Qset_glyph_image.
11354
11355         * glyphs-widget.c (layout_update): add domain arg to
11356         set-glyph-image.
11357         (syms_of_glyphs_widget): remove set-glyph-image.
11358
11359 2000-07-23  Ben Wing  <ben@xemacs.org>
11360
11361         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
11362         Vpopup_frame_list.
11363
11364 2000-07-22  Andy Piper  <andy@xemacs.org>
11365
11366         * symsinit.h: add syms_of_win32().
11367
11368         * gui-msw.c (syms_of_gui_mswindows): remove
11369         Fmswindows_shell_execute.
11370         (Fmswindows_shell_execute): moved to win32.c.
11371
11372         * emacs.c (main_1): add syms_of_win32 ().
11373
11374         * win32.c (init_potentially_nonexistent_functions): rewrite in
11375         compiler-friendly terms.
11376         (Fmswindows_shell_execute): move here from gui-msw.c.
11377         (syms_of_win32): new.
11378
11379         * device-msw.c (Fmswindows_printer_list): clean up args to
11380         EnumPrinters.
11381         Don't include tchar under cygwin or mingw.
11382         (msprinter_default_printer): make cygwin-friendly.
11383
11384 2000-07-21  Andy Piper  <andy@xemacs.org>
11385
11386         * glyphs-widget.c (image_instantiator_tree_view): use tab
11387         control's update function.
11388         (layout_property): new function. Retrieve items.
11389
11390         * glyphs-msw.c (mswindows_tree_view_redisplay): new
11391         function. Re-populate the tree view from the pending items.
11392
11393         * glyphs.c (instantiate_image_instantiator): Make sure the domain
11394         is designated the parent if the domain is an image instance. This
11395         is needed so that dirtiness can be cascade up the hierarchy and
11396         thus for layout children to be redisplayed correctly.
11397         (allocate_image_instance): rename glyph -> parent.
11398
11399         * redisplay.h: change redisplay_output_layout signature.
11400
11401         * redisplay-msw.c (mswindows_output_display_block): use domain
11402         arg.
11403
11404         * redisplay-x.c (x_output_display_block): use domain arg.
11405
11406 2000-07-10  Andy Piper  <andy@xemacs.org>
11407
11408         * window.c (Fset_window_configuration): add comment.
11409
11410         * redisplay-output.c (compare_runes):
11411         (redisplay_output_subwindow): redisplay rather than update subwindow.
11412         (redisplay_output_layout): ditto.
11413
11414         * redisplay-msw.c (mswindows_frame_output_end):
11415         (mswindows_frame_output_end): make defer window pos optional.
11416
11417         * lisp.h: add Flast.
11418
11419         * glyphs.h (struct image_instantiator_methods): add dest_mask top
11420         normalize method. Change update method to be for changed
11421         instantiators. Add redisplay method. Change signature of layout
11422         method.
11423         (struct Lisp_Image_Instance): add instantiator.
11424         (IMAGE_INSTANCE_INSTANTIATOR): new.
11425         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
11426         (XIMAGE_INSTANCE_INSTANTIATOR): new.
11427         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
11428
11429         * glyphs.c:
11430         (find_instantiator_differences): new function.
11431         (Fset_instantiator_property): new convenience function.
11432         (check_image_instance_structure): strictly check for vector
11433         instantiators.
11434         (normalize_image_instantiator): make non-static.
11435         (instantiate_image_instantiator): pass on dest_mask and use new
11436         signatures for image_instance_layout and friends.
11437         (mark_image_instance): mark the instantiator. Mark the subwindow
11438         face not the widget face.
11439         (image_instance_equal): add instantiator.
11440         (image_instance_hash): ditto.
11441         (allocate_image_instance): ditto.
11442         (Fset_image_instance_property): removed.
11443         (Fimage_instance_file_name): ditto.
11444         (Fcolorize_image_instance): ditto.
11445         (image_instance_layout): add offsets to be set.
11446         (update_image_instance): new function. update an image instance
11447         from its changed instantiator.
11448         (inherit_normalize): add dest_mask.
11449         (xbm_normalize): ditto.
11450         (xface_normalize): ditto.
11451         (xpm_normalize): ditto.
11452         (text_update): set_property -> update.
11453         (image_instantiate): use the glyph identity as a hash key, not the
11454         instantiator.
11455         (glyph_width): use new image_instance_layout signature.
11456         (glyph_ascent): ditto.
11457         (glyph_descent): ditto.
11458         (glyph_height): ditto.
11459         (glyph_query_geometry): ressurrect.
11460         (glyph_layout): ditto.
11461         (redisplay_subwindow): update -> redisplay.
11462         (syms_of_glyphs): add Fset_instantiator_property.
11463         (image_instantiator_format_create): set_property -> update.
11464
11465         * glyphs-x.c:
11466         (autodetect_normalize): add dest_maks to signature.
11467         (x_redisplay_subwindow): update -> redisplay.
11468         (x_redisplay_widget): ditto.
11469         (x_button_redisplay): ditto.
11470         (x_progress_gauge_redisplay): ditto.
11471         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
11472         stacking order.
11473         (console_type_create_glyphs_x): update -> redisplay.
11474         (image_instantiator_format_create_glyphs_x): ditto.
11475
11476         * glyphs-widget.c:
11477         (check_valid_instantiator): disallow glyphs in the instantiator,
11478         they must now be vectors.
11479         (check_valid_instantiator_list): ditto.
11480         (glyph_instantiator_to_glyph): use internal symbol rather than
11481         intern.
11482         (widget_update): renamed from widget_set_property. Call cascaded
11483         update methods.
11484         (redisplay_widget): renamed from update_widget.
11485         (widget_layout): image_instance_layout now takes position as well
11486         as size.
11487         (widget_normalize): ditto.
11488         (widget_instantiate): ditto.
11489         (tab_control_query_geometry) ditto.:
11490         (tab_control_update): renamed from tab_control_set_property.
11491         (progress_gauge_update): set_property -> update.
11492         (layout_normalize): rewrite so that child instantiators are
11493         normalized also.
11494         (layout_update): new function. Create glyphs from the normalized
11495         children and cope with any other layout keywords. We do not
11496         instantiate children here that will be take care of by
11497         redisplay_output_layout.
11498         (layout_instantiate): call layout_update and not much else.
11499         (layout_post_instantiate): not sure whether this is needed
11500         anymore.
11501         (layout_query_geometry): query glyph geometry rather than
11502         image_instance geometry.
11503         (layout_layout): set offsets from pass in parameters. Use glyph
11504         geometry and layout functions rather than image instance ones.
11505         (native_layout_layout): ditto.
11506         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
11507         (image_instantiator_widget): set_property -> update.
11508         (image_instantiator_buttons): ditto.
11509         (image_instantiator_progress_guage): ditto.
11510         (image_instantiator_tab_control): ditto.
11511         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
11512         (image_instantiator_layout): add update method.
11513
11514         * glyphs-msw.c (bmp_normalize):
11515         (mswindows_resource_normalize): add dest_mask so that it can be
11516         proprogated by layout_normalize.
11517         (begin_defer_window_pos): make optional because it may not be the
11518         right thing to do and it introduces differences with X.
11519         (mswindows_unmap_subwindow): ditto.
11520         (mswindows_map_subwindow): ditto.
11521         (mswindows_redisplay_subwindow): renamed from
11522         mswindows_update_subwindow.
11523         (mswindows_redisplay_widget): ditto.
11524         (mswindows_button_redisplay): renamed from
11525         mswindows_button_update. Update is now what the instantiation
11526         function does for a changed instantiator.
11527         (mswindows_progress_gauge_instantiate): set the progress value
11528         here if appropriate.
11529         (mswindows_tab_control_redisplay): cope with re-ordering of the
11530         members of the tab widget by simply selecting the new top
11531         widget. This makes things appear ok if you click on a tab.
11532         (mswindows_combo_box_instantiate): image_instance_layout now takes
11533         position as well as size.
11534         (mswindows_progress_gauge_redisplay): renamed from
11535         mswindows_progress_gauge_update.
11536         (console_type_create_glyphs_mswindows): fix update -> redisplay.
11537         (image_instantiator_format_create_glyphs_mswindows): ditto.
11538
11539         * glyphs-eimage.c (jpeg_normalize):
11540         (gif_normalize):
11541         (png_normalize):
11542         (tiff_normalize): add dest_mask so that it can be proprogated by
11543         layout_normalize.
11544
11545         * elhash.c:
11546         (print_hash_table):
11547         (hash_table_weakness_validate):
11548         (decode_hash_table_weakness):
11549         (Fhash_table_weakness):
11550         (Fhash_table_type):
11551         (syms_of_elhash): use Ben's naming scheme for hashtable types..
11552
11553         * console.h (struct console_methods): move update_* to
11554         redisplay_*.
11555
11556 2000-07-20  Ben Wing  <ben@xemacs.org>
11557
11558         * *.[ch] (XSETOBJ): remove unused middle argument.
11559         lisp-disunion.h: correct wrap_object() to one argument.
11560
11561 2000-07-15  Ben Wing  <ben@xemacs.org>
11562
11563         * s/cygwin32.h:
11564         * s/cygwin32.h (CYGWIN_CONV_PATH):
11565         Add missing logb prototype for v1.1.
11566         Use post-b20 names and alias to pre-b20 names when pre-b20.
11567
11568         * s/windowsnt.h: [5].
11569
11570 2000-07-15  Ben Wing  <ben@xemacs.org>
11571
11572         * Makefile.in.in (x_objs):
11573         * Makefile.in.in (sheap_objs):
11574         * Makefile.in.in (objs):
11575         added win32.o, cosmetic cleanups.
11576
11577         * alloc.c (Fmake_byte_code):
11578         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
11579         etc. macros which declare their own args now.
11580
11581         * alloc.c (syms_of_alloc):
11582         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
11583
11584         * buffer.c:
11585         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
11586
11587         * buffer.c (Fget_file_buffer):
11588         Fixed GCPRO problem.
11589
11590         * buffer.c (get_truename_buffer):
11591         Fixed comment about GC checking.
11592
11593         * buffer.c (syms_of_buffer):
11594         Undeclared those dedicated frame funs.
11595         [2].
11596
11597         * buffer.h:
11598         Define convenience macros for internal/external conversions.
11599         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
11600         and Qenvironment_variable_encoding for cleaner code.
11601
11602         * bufslots.h:
11603         Remove dedicated-frame; in lisp.
11604
11605         * bytecode.c (funcall_compiled_function):
11606         [1].
11607
11608         * bytecode.c (syms_of_bytecode):
11609         [2].
11610
11611         * console-msw.c:
11612         * console-msw.c (mswindows_show_console): Rewrote.
11613
11614         * console-msw.c (Fmswindows_debugging_output): New.
11615         Sends to OutputDebugString (special MSWin debugger interface).
11616
11617         * console-msw.c (Fmswindows_message_box):
11618         Fixed stupid bugs so it works when called from kill-emacs.
11619
11620         * console-msw.c (syms_of_console_mswindows):
11621         Declare Fmswindows_debugging_output.
11622
11623         * console-msw.h:
11624         New MSWin prototypes.
11625
11626         * console-msw.h (struct mswindows_frame):
11627         New entry last-click-mods for improved button-modifier support.
11628
11629         * console-msw.h (FRAME_MSWINDOWS_POPUP):
11630         New struct entry `popup' with corresponding accessor.
11631
11632         * console-x.c:
11633         * console-x.c (split_up_display_spec):
11634         * console-x.c (get_display_arg_connection):
11635         * console-x.c (x_semi_canonicalize_console_connection):
11636         * console-x.c (x_canonicalize_device_connection):
11637         [[[6]]]: Change char to more specific type.
11638         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
11639
11640         * console-x.c (x_semi_canonicalize_console_connection):
11641         * console-x.c (x_canonicalize_device_connection):
11642         [[[9]]]: Fix up error signalling to use new structured error system.
11643
11644         * console-x.h:
11645         [[[4]]]: Define codesys aliases:
11646         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
11647         Qx_color_name_encoding, Qx_display_name_encoding.
11648
11649         * console.h (struct console_methods):
11650         New method make_dialog_box_internal supersedes older
11651         popup_dialog_box method.
11652
11653         * data.c:
11654         Define many new errors, part of new structured errors.
11655
11656         * data.c (init_errors_once_early):
11657         * data.c (syms_of_data):
11658         [2].
11659
11660         * device-msw.c (mswindows_init_device):
11661         [[[5]]]: Cleanup to support NT 3.51.
11662
11663         * device-msw.c (decode_devmode): Cleanup.
11664
11665         * device-msw.c (mswindows_handle_print_setup_dialog_box):
11666         * device-msw.c (mswindows_handle_print_dialog_box):
11667         * device-msw.c (mswindows_handle_page_setup_dialog_box):
11668         * device-msw.c (syms_of_device_mswindows):
11669         Delete the dialog box primitives recently introduced by Kirill and
11670         instead interface to general dialog box interface.
11671
11672         * device-x.c:
11673         * device-x.c (compute_x_app_name):
11674         * device-x.c (x_init_device):
11675         * device-x.c (Fx_valid_keysym_name_p):
11676         * device-x.c (Fx_set_font_path):
11677         [6].
11678         [7].
11679
11680         * device.h (wrap_device): New.
11681         First of its kind; meant to replace XSETDEVICE.
11682
11683         * dialog-msw.c: Many file-dialog symbols.
11684
11685         * dialog-msw.c (mswindows_register_popup_frame): New.
11686         * dialog-msw.c (mswindows_is_dialog_msg): New.
11687         For supporting kbd traversal in dialog boxes.
11688
11689         * dialog-msw.c (dialog_proc):
11690         Support hitting ESC in dialogs.
11691
11692         * dialog-msw.c (struct):
11693         Common dialog box errors.
11694
11695         * dialog-msw.c (handle_file_dialog_box): New.
11696         Add file dialog code.
11697
11698         * dialog-msw.c (handle_question_dialog_box):
11699         Redo existing code to support new question dialog syntax.
11700
11701         * dialog-msw.c (console_type_create_dialog_mswindows):
11702         We support new dialog console method.
11703
11704         * dialog-msw.c (syms_of_dialog_mswindows):
11705         * dialog-msw.c (vars_of_dialog_mswindows):
11706         New file dialog symbols, vars.
11707
11708         * dialog-x.c:
11709         * dialog-x.c (maybe_run_dbox_text_callback):
11710         * dialog-x.c (dbox_descriptor_to_widget_value):
11711         * dialog-x.c (x_make_dialog_box_internal):
11712         * dialog-x.c (console_type_create_dialog_x):
11713         Mule-ize entire file.
11714         Redo to support question dialog syntax.
11715         [6].
11716
11717         * dialog.c:
11718         * dialog.c (Fmake_dialog_box_internal):
11719         * dialog.c (syms_of_dialog):
11720         Kill old popup-dialog-box, replace with new primitive.
11721         Just call device method or signal error.
11722
11723         * eldap.c (Fldap_open):
11724         * eldap.c (Fldap_search_basic):
11725         * eldap.c (Fldap_add):
11726         * eldap.c (Fldap_modify):
11727         [1].
11728         [7].
11729
11730         * emacs.c:
11731         * emacs.c (make_arg_list_1):
11732         * emacs.c (make_arg_list):
11733         Mule-ize call to dll_init().
11734         [6].
11735         [8].
11736
11737         * emacs.c (make_argc_argv):
11738         * emacs.c (free_argc_argv):
11739         * emacs.c (init_cmdargs):
11740         * emacs.c (main_1):
11741         * emacs.c (Fkill_emacs):
11742         * emacs.c (Fdump_emacs):
11743         Update comments about what can be used in syms_* etc.
11744         Call init_win32() when necessary.
11745         Fix up MS Win dialog box in kill-buffer to actually work right.
11746         [7].
11747
11748         * eval.c:
11749         * eval.c (For):
11750         * eval.c (Fand):
11751         * eval.c (Fprogn):
11752         * eval.c (Fprog1):
11753         * eval.c (Fprog2):
11754         * eval.c (FletX):
11755         * eval.c (Flet):
11756         * eval.c (condition_case_3):
11757         * eval.c (Feval):
11758         * eval.c (function_argcount):
11759         * eval.c (funcall_lambda):
11760         [1].
11761
11762         * eval.c (type_error): New.
11763         * eval.c (maybe_type_error): New.
11764         * eval.c (continuable_type_error): New.
11765         * eval.c (maybe_continuable_type_error): New.
11766         * eval.c (type_error_with_frob): New.
11767         * eval.c (maybe_type_error_with_frob): New.
11768         * eval.c (continuable_type_error_with_frob): New.
11769         * eval.c (maybe_continuable_type_error_with_frob): New.
11770         New functions for use with structured errors.
11771
11772         * event-Xt.c:
11773         * event-Xt.c (x_event_to_emacs_event):
11774         Buttons are now modifiers too.
11775
11776         * event-Xt.c (emacs_Xt_current_event_timestamp):
11777         Implement new event method.
11778         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
11779
11780         * event-msw.c:
11781         * event-msw.c (ntpipe_shove_writer): [5].
11782         * event-msw.c (mswindows_enqueue_mouse_button_event):
11783         * event-msw.c (mswindows_drain_windows_queue):
11784         * event-msw.c (mswindows_wnd_proc): [7].
11785         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
11786         * event-msw.c (mswindows_modifier_state):
11787         Throughout: support new button modifiers.
11788
11789         * event-msw.c (emacs_mswindows_current_event_timestamp):
11790         Implement new event method.
11791         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
11792
11793         * event-stream.c:
11794         * event-stream.c (event_stream_current_event_timestamp): New.
11795         * event-stream.c (maybe_kbd_translate): New functionality.
11796         * event-stream.c (vars_of_event_stream):
11797         Document new kbd-translate-table functionality.
11798
11799         * event-stream.c (Fcurrent_event_timestamp): New.
11800         New primitive for use in fabricated events.
11801         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
11802
11803         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
11804
11805         * events.c:
11806         * events.c (Fmake_event):
11807         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
11808         [1].
11809         [9].
11810
11811         * events.c (format_event_object): fix gcc warnings.
11812
11813         * events.c (Fevent_timestamp): Document new primitives.
11814
11815         * events.c (TIMESTAMP_HALFSPACE): New.
11816
11817         * events.c (Fevent_timestamp_lessp): New.  New primitive for
11818         comparing timestamps correctly (half-space algorithm).
11819
11820         * events.c (Fevent_modifier_bits): Doc fix.
11821
11822         * events.c (Fevent_modifiers): Major doc addition.
11823         * events.c (event_x_y_pixel_internal): Typo fix.
11824         * events.c (syms_of_events): Declare new primitives.
11825
11826         * events.h:
11827         Update long comment for button modifiers, timestamps.
11828
11829         * events.h (struct event_stream):
11830         New current_event_timestamp method.
11831
11832         * extents.c:
11833         * extents.c (extent_in_region_p):
11834         * extents.c (decode_extent):
11835         * extents.c (Fset_extent_parent):
11836         * extents.c (decode_map_extents_flags):
11837         Fix gcc warnings.
11838         [9].
11839
11840         * extents.c (struct extent_at_arg):
11841         * extents.c (decode_extent_at_flag):
11842         * extents.c (extent_at_mapper):
11843         * extents.c (extent_at_bytind):
11844         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
11845         * extents.c (Fextents_at): New primitive. [9].
11846         * extents.c (symbol_to_glyph_layout): [9].
11847         Support new primitive `extents-at'.
11848
11849
11850         * extents.c (get_text_property_bytind):
11851         extent_at_bytind has another arg.
11852         [9].
11853
11854         * extents.c (syms_of_extents): New primitive.
11855
11856         * file-coding.c (Fmake_coding_system): [1].
11857         * file-coding.c (subsidiary_coding_system): fix gcc warning
11858         * file-coding.c (syms_of_file_coding): [2].
11859
11860         * fileio.c (Fexpand_file_name):
11861         * fileio.c (Fsysnetunam):
11862         * fileio.c (Ffile_exists_p):
11863         * fileio.c (Ffile_executable_p):
11864         * fileio.c (Fverify_visited_file_modtime):
11865         Clean up GCPROing.
11866
11867         * fileio.c (syms_of_fileio): [2].
11868
11869         * filelock.c (lock_file_1):
11870         * filelock.c (current_lock_owner):
11871         * filelock.c (lock_if_free):
11872         * filelock.c (lock_file):
11873         * filelock.c (unlock_file):
11874         Clean up GCPROing.
11875
11876         * fns.c (concat): Fix gcc warning.
11877
11878         * fns.c (Fmember):
11879         * fns.c (Fold_member):
11880         * fns.c (Fmemq):
11881         * fns.c (Fold_memq):
11882         * fns.c (memq_no_quit):
11883         * fns.c (Fassoc):
11884         * fns.c (Fold_assoc):
11885         * fns.c (Fassq):
11886         * fns.c (Fold_assq):
11887         * fns.c (assq_no_quit):
11888         * fns.c (Frassoc):
11889         * fns.c (Fold_rassoc):
11890         * fns.c (Frassq):
11891         * fns.c (Fold_rassq):
11892         * fns.c (rassq_no_quit):
11893         * fns.c (Fdelete):
11894         * fns.c (Fold_delete):
11895         * fns.c (Fdelq):
11896         * fns.c (Fold_delq):
11897         * fns.c (delq_no_quit):
11898         * fns.c (Fremassoc):
11899         * fns.c (Fremassq):
11900         * fns.c (remassq_no_quit):
11901         * fns.c (Fremrassoc):
11902         * fns.c (Fremrassq):
11903         * fns.c (remrassq_no_quit):
11904         * fns.c (Freverse):
11905         * fns.c (mapcar1):
11906         [1].
11907
11908         * frame-msw.c (mswindows_init_frame_1):
11909         * frame-msw.c (mswindows_delete_frame):
11910         Register popups with dialog code so keyboard traversing works.
11911
11912         * frame-tty.c (tty_raise_frame_no_select): [1].
11913
11914         * frame-x.c:
11915         * frame-x.c (x_set_frame_text_value):
11916         * frame-x.c (x_set_frame_properties):
11917         * frame-x.c (x_create_widgets):
11918         [7].
11919
11920         * frame.c:
11921         * frame.c (Fmouse_pixel_position): Minor doc fixes.
11922
11923         * frame.h (wrap_frame): New.
11924         Macro like wrap_device.
11925
11926         * general.c:
11927         * general.c (SYMBOL):
11928         * general.c (syms_of_general):
11929         Major reorg.  This is now just a wrapper and symbols themselves
11930         are listed in general-slots.h.
11931
11932         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
11933         * glyphs-msw.c (mswindows_resource_instantiate): [5].
11934
11935         * glyphs-msw.c (mswindows_native_layout_instantiate):
11936         Add DS_CONTROL so keyboard traversal will work.
11937
11938         * glyphs-widget.c:
11939         * glyphs-widget.c (syms_of_glyphs_widget):
11940         Move some symbols to general-slots.h.
11941
11942         * glyphs-x.c:
11943         * glyphs-x.c (xbm_instantiate_1):
11944         * glyphs-x.c (x_xbm_instantiate):
11945         * glyphs-x.c (x_xface_instantiate):
11946         * glyphs-x.c (autodetect_instantiate):
11947         * glyphs-x.c (cursor_font_instantiate):
11948         * glyphs-x.c (x_update_widget):
11949         * glyphs-x.c (x_widget_instantiate):
11950         * glyphs.c (bitmap_to_lisp_data):
11951         * glyphs.c (pixmap_to_lisp_data):
11952         [7].
11953
11954         * glyphs.c (syms_of_glyphs):
11955         [2].
11956
11957         * gui-x.c:
11958         * gui-x.c (print_widget_value):
11959         * gui-x.c (menu_separator_style_and_to_external):
11960         * gui-x.c (add_accel_and_to_external):
11961         * gui-x.c (button_item_to_widget_value):
11962         * gui-x.c (gui_items_to_widget_values_1):
11963         * gui-x.c (gui_items_to_widget_values):
11964         * gui-x.c (syms_of_gui_x):
11965         * gui-x.c (vars_of_gui_x):
11966         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
11967         [9].
11968
11969         * gui-x.h:
11970         Muleize, prototype changes matching gui-x.c.
11971
11972         * gui.c:
11973         * gui.c (separator_string_p):
11974         * gui.c (gui_item_add_keyval_pair):
11975         * gui.c (make_gui_item_from_keywords_internal):
11976         * gui.c (signal_too_long_error):
11977         * gui.c (parse_gui_item_tree_item):
11978         * gui.c (syms_of_gui):
11979         * gui.c (vars_of_gui):
11980         * gui.h:
11981         menu-no-selection-hook moved here (used by MSWin).
11982         Move some symbols to general-slots.h.
11983         [6].
11984         [9].
11985
11986         * insdel.c (get_buffer_pos_char):
11987         * insdel.c (get_buffer_range_char):
11988         Add GC comments.
11989
11990         * keymap.c (keymap_lookup_directly):
11991         * keymap.c (keymap_store):
11992         * keymap.c (ensure_meta_prefix_char_keymapp):
11993         * keymap.c (describe_map):
11994         * keymap.h:
11995         Support new button modifiers.
11996
11997         * lisp-disunion.h (wrap_object):
11998         * lisp-disunion.h (XSETOBJ):
11999         Rename make_obj to wrap_object.
12000
12001         * lisp-union.h:
12002         * lisp-union.h (make_int):
12003         * lisp-union.h (make_char):
12004         Support wrap_object.
12005
12006         * lisp.h:
12007         * lisp.h (LIST_LOOP):
12008         * lisp.h (EXTERNAL_LIST_LOOP):
12009         * lisp.h (LIST_LOOP_2):
12010         * lisp.h (EXTERNAL_LIST_LOOP_1):
12011         * lisp.h (EXTERNAL_LIST_LOOP_2):
12012         * lisp.h (EXTERNAL_LIST_LOOP_3):
12013         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
12014         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
12015         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
12016         * lisp.h (EXTERNAL_ALIST_LOOP_5):
12017         * lisp.h (EXTERNAL_ALIST_LOOP_6):
12018         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12019         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12020         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12021         * lisp.h (struct Lisp_Symbol):
12022         * lisp.h (maybe_continuable_error_with_frob):
12023         Fix up section comments.
12024         Add new types for char to indicate usage.
12025         Delete symbols auto-generated from general-slots.h.
12026         Add prototypes for structured error functions.
12027         Add long comments describing looping macros and change interface
12028         so that lvalues are automatically declared.
12029         Add NO_DECLARE macro in case callers want to declare lvalues
12030         themselves.
12031
12032         * lread.c (read_syntax_error):
12033         * lread.c (continuable_read_syntax_error):
12034         * lread.c (read_structure):
12035         * lread.c (sequence_reader):
12036         * lread.c (read_list_conser):
12037         * lread.c (read_compiled_function):
12038         Rename syntax_error and continuable_syntax_error to avoid clash
12039         with same-named structured error functions.
12040
12041         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12042         * menubar-msw.c (populate_menu_add_item):
12043         * menubar-msw.c (populate_or_checksum_helper):
12044         [5].
12045         [9].
12046
12047         * menubar-x.c:
12048         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12049         Mule-ize whole file.
12050
12051         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12052
12053         * mule-charset.c (Fmake_charset):
12054         * mule-wnnfns.c (Fwnn_set_param):
12055         [1].
12056
12057         * ntproc.c (create_child):
12058         * ntproc.c (Fwin32_set_current_locale):
12059         Add comments portending doom.
12060
12061         * objects-msw.c:
12062         * objects-msw.c (old_font_enum_callback_2):
12063         * objects-msw.c (font_enum_callback_1):
12064         * objects-msw.c (mswindows_enumerate_fonts):
12065         [5].
12066
12067         * objects-x.c:
12068         * objects-x.c (allocate_nearest_color):
12069         * objects-x.c (x_parse_nearest_color):
12070         * objects-x.c (x_initialize_color_instance):
12071         * objects-x.c (x_print_color_instance):
12072         * objects-x.c (x_finalize_color_instance):
12073         * objects-x.c (x_valid_color_name_p):
12074         * objects-x.c (x_initialize_font_instance):
12075         * objects-x.c (x_print_font_instance):
12076         * objects-x.c (valid_x_font_name_p):
12077         * objects-x.c (truename_via_FONT_prop):
12078         * objects-x.c (truename_via_random_props):
12079         * objects-x.c (truename_via_XListFonts):
12080         * objects-x.c (x_font_truename):
12081         * objects-x.c (x_font_instance_truename):
12082         * objects-x.c (x_font_instance_properties):
12083         * objects-x.c (x_list_fonts):
12084         * objects-x.c (x_find_charset_font):
12085         Mule-ize entire file.
12086         [7].
12087
12088         * objects-x.h:
12089         Mule-verify.
12090
12091         * print.c:
12092         * print.c (std_handle_out_external):
12093         * print.c (debug_print_no_newline):
12094         * print.c (syms_of_print):
12095         Output to all debugger kinds in debug-print.
12096         Fix console-output code under MSWin to actually work.
12097
12098         * process-nt.c (send_signal):
12099         * process-nt.c (nt_create_process):
12100         Use newer Unicode macros.
12101
12102         * process-unix.c (unix_create_process):
12103         * process-unix.c (unix_canonicalize_host_name):
12104         * process-unix.c (unix_open_network_stream):
12105         [7].
12106
12107         * scrollbar-x.c:
12108         Mule-verify.
12109
12110         * search.c (syms_of_search):
12111         [2].
12112
12113         * select-msw.c (mswindows_destroy_selection):
12114         Use LIST_LOOP_2.
12115
12116         * select-x.c (symbol_to_x_atom):
12117         [7].
12118
12119         * select.c (syms_of_select):
12120         [2].
12121
12122         * sound.c (Fplay_sound_file):
12123         [7].
12124
12125         * specifier.c:
12126         * specifier.c (decode_specifier_type):
12127         * specifier.c (Fvalid_specifier_locale_type_p):
12128         * specifier.c (check_valid_locale_or_locale_type):
12129         * specifier.c (decode_locale):
12130         * specifier.c (decode_locale_type):
12131         * specifier.c (decode_locale_list):
12132         * specifier.c (check_valid_domain):
12133         * specifier.c (decode_specifier_tag_set):
12134         * specifier.c (Fcanonicalize_tag_set):
12135         * specifier.c (Fdefine_specifier_tag):
12136         * specifier.c (Fspecifier_tag_predicate):
12137         * specifier.c (check_valid_inst_list):
12138         * specifier.c (check_valid_spec_list):
12139         * specifier.c (decode_how_to_add_specification):
12140         * specifier.c (check_modifiable_specifier):
12141         * specifier.c (specifier_add_spec):
12142         * specifier.c (boolean_validate):
12143         * specifier.c (display_table_validate):
12144         [9].
12145
12146         * specifier.c (syms_of_specifier):
12147         Move some symbols to general-slots.h.
12148         [2].
12149
12150         * symbols.c:
12151         * symbols.c (Fmapatoms):
12152         * symbols.c (Fapropos_internal):
12153         Add GCPROs.
12154
12155         * symbols.c (set_default_buffer_slot_variable):
12156         * symbols.c (set_default_console_slot_variable):
12157         [1].
12158
12159         * symbols.c (defsymbol_massage_name_1):
12160         * symbols.c (defkeyword_massage_name):
12161         * symbols.c (deferror_1):
12162         * symbols.c (deferror):
12163         * symbols.c (deferror_massage_name_and_message):
12164         * symeval.h:
12165         * symeval.h (DEFSYMBOL):
12166         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12167
12168         * symbols.c (syms_of_symbols):
12169         [2].
12170
12171         * symsinit.h:
12172         * symsinit.h (init_win32): New.
12173         Also new is syms_of_dialog_mswindows.
12174
12175         * syswindows.h:
12176         Add new Unicode macros, missing Cygwin wide-char functions,
12177         convenience conversion macros for Qmswindows_tstr, macros for
12178         encapsulating required MSWin <-> Cygwin filename conversions,
12179         prototype for dynamically-extracted (not in NT 3.51) functions.
12180
12181         * toolbar-x.c:
12182         Mule-verify.
12183
12184         * tooltalk.c (Fadd_tooltalk_message_arg):
12185         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12186         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12187         [7].
12188
12189         * tooltalk.c (syms_of_tooltalk):
12190         [2].
12191
12192         * unexnt.c:
12193         * unexnt.c (unexec):
12194         Fix up headers, declaration of unexec() to be more standard.
12195
12196 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12197
12198         * offix.h: Revert change to guard macros - they're used in offix.c!
12199
12200 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12201
12202         * lisp.h: Defsubred Fdelete.
12203
12204         * console-msw.h:  (msprinter_default_printer): Added.
12205
12206         * console-msw.c (msprinter_canonicalize_console_connection):
12207         (msprinter_canonicalize_device_connection): Added.
12208
12209         * device-msw.c (msprinter_default_printer):
12210         (Fmswingows_get_default_printer):
12211         (signal_enum_priner_error):
12212         (Fmswingows_printer_list): Added.
12213
12214 2000-07-19  Martin Buchholz <martin@xemacs.org>
12215
12216         * XEmacs 21.2.35 is released.
12217
12218 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12219
12220         * select-x.c (x_handle_selection_request):
12221         Text selected in xemacs and pasted into xterm failed to appear.
12222         Spelling fixes and cosmetic changes.
12223
12224 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12225
12226         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12227         XEmacs frame (fix for doubling chars in dialog boxes).
12228
12229 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12230
12231         * select.c (select_convert_in, select_convert_out):
12232         Don't call intern() every time.
12233
12234         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12235         * select.c (vars_of_select): Initialise them.
12236
12237 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12238
12239         * select.c (selection-coercible-types): New.
12240
12241         * select.c (own-selection-internal):
12242         * select.c (get-selection-internal):
12243         MULE bug fix - these should default to COMPOUND_TEXT and not
12244         STRING for MULE. I think.
12245
12246         * select.c (select_convert_out): Use selection-coercible-types
12247         to find types that we can attempt to perform coercions on.
12248
12249 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12250
12251         * mule-wnnfns.c:
12252         * mule-canna.c:
12253         Add coding: cookie to identify encoding.
12254
12255         * mule-canna.c (CANNA_mode_keys): make static.
12256         Use proper prototypes, even for functions of no arguments.
12257         Remove external prototype for Fding().
12258
12259         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12260
12261         * select.c (syms_of_select): Add missing DEFSUBR.
12262
12263 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12264
12265         * select.c (get_selection_internal, own_selection_internal):
12266         Make the type default to STRING, rather than placing a nil type
12267         into Vselection_alist.
12268
12269 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12270
12271         * gpmevent.c (tty_selection_exists_p):
12272         * gpmevent.c (tty_own_selection):
12273         Updated parameter lists.
12274
12275 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12276
12277         * select.h (selection-alist): Removed declaration.
12278
12279         * select.h (get_local_selection):
12280         * select.c (get_local_selection):
12281         Made static.
12282
12283         * select.h (convert_selection): Removed declaration.
12284         * select.c (convert_selection): Removed.
12285         This function belongs in Lisp.
12286
12287         * select.h (select_convert_in): Declare.
12288         * select.h (select_convert_out): Declare.
12289         * select.c (select_convert_in): New.
12290         * select.c (select_convert_out): New.
12291         New conversion functions for other files to call.
12292
12293         * select.h (select_notify_buffer_kill): Declare.
12294         * select.c (select_notify_buffer_kill): New.
12295         New functions that get called from kill-buffer.
12296
12297         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12298         X-specific lisp code.
12299
12300         * select.h: Declare some of the lisp-visible functions for
12301         external use.
12302
12303         * select.c (clean_local_selection_data): Removed. This was
12304         a disgusting function, and previously should have been in
12305         select-x.c in any case. The functionality is now provided
12306         in select-convert-from-integer (select.el).
12307
12308         * select.c (available-selection-types): Fixed stupidity where
12309         INTEGER and ATOM got added twice. Also add STRING when we see an
12310         extent.
12311
12312         * select.c (get-selection-internal): Removed symbol stripping. No
12313         longer causes conversion when data comes from the internal cache.
12314
12315         * select.c (syms_of_select): Added new functions.
12316
12317         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12318         error checking - previously this called abort!
12319
12320         * select-x.c (x_own_selection): Changed comment.
12321
12322         * select-x.c (x_handle_selection_request): Use select_convert_out.
12323         Don't mess with selection-alist; it's an internal variable of select.c.
12324
12325         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12326
12327         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12328         rather than messing with selection-alist.
12329
12330         * select-msw.c (mswindows_get_foreign_selection):
12331         Use TO_INTERNAL_FORMAT rather than hacking.
12332
12333 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12334
12335         * process-unix.c (unix_open_multicast_group):
12336         (unix_open_multicast_group): Remove useless casts.
12337
12338 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12339
12340         * sound.c (Fplay_sound): Fix `unused variable' warning.
12341
12342         * emacs.c (main): Use correct type for _environ on SCO5.
12343
12344 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
12345
12346         * console.h (own_selection_method):
12347         * console.h (selection_exists_p_method):
12348         * console.h (available_selection_types_method): New.
12349         * console.h (register_selection_data_type_method): New.
12350         * console.h (selection_data_type_name): New.
12351
12352         * console-msw.h (mswindows_destroy_selection): Declare it.  New
12353         function & alist to track GlobalAlloc()'d handles that need
12354         releasing when the clipboard data gets replaced or emptied.
12355
12356         * event-msw.c (mswindows_wnd_proc): Call it.
12357
12358         * lisp.h, general.c (Qappend): New symbol representing a
12359         `how-to-add' mode.
12360
12361         * select.c (own-selection-internal):
12362         * select.c (selection-exists-p):
12363         * select.c (available-selection-types): New.
12364         * select.c (register-selection-data-type): New.
12365         * select.c (selection-data-type-name): New.  New functions to deal
12366         with device-specific selection data formats.
12367         * select.c (selection-converter-out-alist): Renamed.
12368         * select.c (selection-converter-in-alist): New.
12369         * select.c (selection-appender-alist): New.  Added new alists.
12370         * select.c (syms_of_select, vars_of_select): Added new symbols &
12371         variables.
12372         * select.c (get_local_selection): Split.
12373         * select.c: Removed spurious type checking - selections may now be
12374         of any type, not just strings.
12375         * select.c (own-selection-internal):
12376
12377         * select.h, select.c (convert_selection): New. Created
12378         convert_selection() function based on get_local_selection().
12379         * select.h, select.c (QCF_*): New symbols representing mswindows
12380         clipboard formats.
12381         * select.h, select.c (Qreplace_all, Qreplace_existing): New
12382         symbols representing `how-to-add' modes.
12383
12384         * select-msw.c (x_sym_p): New.
12385         * select-msw.c (symbol_to_ms_cf): New.
12386         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
12387         symbols & clipboard formats. Can also handle string names.
12388         * select-msw.c (mswindows_own_selection):
12389         * select-msw.c (mswindows_selection_exists_p):
12390         Added `data-type' parameter. Use it.
12391         * select-msw.c (mswindows_available_selection_types): New.
12392         * select-msw.c (mswindows_register_selection_data_type): New.
12393         * select-msw.c (mswindows_selection_data_type_name): New.
12394         * select-msw.c (mswindows_own_selection):
12395         * select-msw.c (mswindows_get_foreign_selection):
12396         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
12397         * select-msw.c (console_create_select_mswindows): Added new methods.
12398         * select-msw.c (mswindows_destroy_selection): New.
12399         * select-msw.c (Vhandle_alist): New list.
12400         * select-msw.c (mswindows_own_selection):
12401
12402         * select-x.c (x_own_selection):
12403         * select-x.c (x_selection_exists_p):
12404         * select-x.c: Added some comments about maybe using new
12405         functionality.
12406         * select-x.c (x_own_selection):
12407
12408         * specifier.c: Remove definition of Qappend (now in general.c)
12409         * specifier.c (syms_of_specifier): Remove Qappend.
12410
12411 2000-07-12  Martin Buchholz  <martin@xemacs.org>
12412
12413         * config.h.in: Add socklen_t.
12414
12415         * s/decosf4-0.h: No special compiler flags needed or desired.
12416         In particular, undefine _BSD for DEC OSF 4.0.
12417
12418 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12419
12420         * redisplay-msw.c (msprinter_frame_output_end): Added.
12421         (console_type_create_redisplay_mswindows): Referred the above.
12422
12423         * frame.c (setup_frame_without_minibuffer): Do not create a
12424         default minibuffer frame on a printer device.
12425
12426         * frame-msw.c (apply_dc_geometry): Added.
12427         (msprinter_start_page):
12428         (msprinter_init_frame_3):
12429         (msprinter_eject_page): Use it.
12430
12431         * console-msw.h (struct msprinter_frame): Added pix_left and top,
12432         and removed residual duplex and orientation properties.
12433
12434 2000-07-11  Martin Buchholz  <martin@xemacs.org>
12435
12436         * eval.c (function_argcount): Work around a DEC CC compiler bug.
12437
12438         * unexalpha.c: Remove system prototypes from C sources!
12439
12440 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
12441
12442         * eval.c: Remove references to M-x edit-options in DEFUNs for
12443         `defvar' and `defconst'.
12444
12445 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12446
12447         * config.h.in: Remove SMART_INCLUDE hackery.
12448
12449         PostgreSQL hacking:
12450         * config.h.in: Don't use SMART_INCLUDE.
12451
12452         * postgresql.h: Include libpq-fe.h here.  Fix typo.
12453         * inline.c: Simply #include "postgresql.h"
12454         * postgresql.c:
12455         - Don't use SMART_INCLUDE
12456         - Use simply "const".
12457         - Use standard doc string conventions.
12458         - Use correct type for result of PQstatus.
12459
12460 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12461
12462         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
12463
12464         C++ compilation changes.
12465         * config.h.in (EXTERN_C): Define.
12466         * config.h.in (not): This is also a C++ keyword.
12467         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
12468         * cm.c: Use EXTERN_C.
12469         * redisplay-tty.c: Use EXTERN_C.
12470         * sysdep.c: Use EXTERN_C.  Remove Gould support.
12471
12472 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12473
12474         * general.c: Remove duplicate definition for Qfunction.
12475
12476 2000-07-08  Ben Wing  <ben@xemacs.org>
12477
12478         * device-msw.c (msprinter_init_device):
12479         * device-msw.c (sync_printer_with_devmode):
12480         * device-msw.c (handle_devmode_changes):
12481         * device-msw.c (print_dialog_worker):
12482         * device-msw.c (Fmsprinter_apply_settings):
12483         * device-msw.c (hash_devmode):
12484         * device-msw.c (Fmsprinter_settings_despecialize):
12485         use Qmswindows_tstr, not Qctext.
12486
12487         * vm-limit.c (check_memory_limits):
12488         avoid infinite loop printing warning messages.
12489
12490 2000-07-05  Craig Lanning  <lanning@scra.org>
12491
12492         * Makefile.in.in: Add support for including the Windows resources
12493         when building with the cygwin and mingw targets.
12494
12495         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
12496         not set or not correct.
12497         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
12498         (init_initial_directory): Don't try to use $PWD on the
12499         WIN32_NATIVE target.
12500
12501         * s\cygwin32.h:
12502         [[Add -mwindows to eliminate console window.]] not required --ben
12503         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12504         (MAIL_USE_POP): removed; now handled by configure.
12505
12506         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
12507         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
12508         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12509         (MAIL_USE_POP): removed; now handled by configure.
12510         (ENCAPSULATE_STAT): from Dan Holmsand, added.
12511         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
12512         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
12513         constant string.
12514         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
12515         up from <winsock.h> via systime.h.
12516         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
12517         (getpagesize): from Dan Holmsand, added.
12518         Added #endif which was left dangling by Ben's mega patch; added
12519         comment to help prevent this in the future.
12520
12521         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
12522
12523 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12524
12525         * console-msw.h (struct mswindows_device): Removed unnecessary
12526         cached device geometry values.
12527         Added update_tick and an accessor macro.
12528         (Lisp_Devmode): Added lrecord declaration.
12529         (struct msprinter_device): Contain devmode as a Lisp object.
12530         Added mswindows_get_selected_frame_hwnd();
12531
12532         * console.h (struct console_methods): Indentation nitpicking.
12533
12534         * device-msw.c (mswindows_init_device): Do not initialize geometry
12535         cache. Initialize update tick.
12536         (mswindows_device_system_metrics): Ask the device for its geometry.
12537         (global_free_2_maybe):
12538         (devmode_to_hglobal):
12539         (handle_printer_changes):
12540         (ensure_not_printing):
12541         (print_dialog_worker):
12542         (Fmsprinter_print_setup_dialog):
12543         (Fmsprinter_print_dialog):
12544         (plist_get_margin):
12545         (plist_set_margin):
12546         (Fmsprinter_page_setup_dialog): Added functions.
12547         (sync_printer_with_devmode):
12548         (handle_devmode_changes):
12549         (Fmsprinter_get_settings):
12550         (Fmsprinter_select_settings):
12551         (Fmsprinter_apply_settings):
12552         (allocate_devmode):
12553         (Fmsprinter_settings_copy):
12554         (Fmsprinter_settings_despecialize):
12555         (print_devmode):
12556         (finalize_devmode):
12557         (equal_devmode):
12558         (hash_devmode): Added functions
12559         (syms_of_device_mswindows): Init devmode lrecord class.
12560
12561         * device.h: Added an exfun for find-device.
12562
12563         * event-msw.c (mswindows_wnd_proc): Do not update the cached
12564         geometry; although, recreate the device compatible DC.
12565
12566         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
12567         (msprinter_init_frame_3):
12568         (msprinter_frame_property):
12569         (msprinter_internal_frame_property_p):
12570         (msprinter_frame_properties):
12571         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
12572         print job properties (will move to device settings).
12573
12574         * lisp.h: Added symbols.
12575
12576         * general.c (syms_of_general): Declared them.
12577
12578         * hash.c (string_hash): Added.
12579
12580         * lrecord.h (lrecord_type): Added devmode lrecord type.
12581
12582 2000-07-02  Mike Sperber <mike@xemacs.org>
12583
12584         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
12585         FreeBSD 4.0.
12586
12587 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
12588
12589         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
12590         integer.
12591
12592 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
12593
12594         * data.c (Fstring_to_number): Don't recognize floating point if
12595         base is not 10.
12596
12597 2000-06-22  Martin Buchholz  <martin@xemacs.org>
12598
12599         * glyphs-widget.c (tab_control_query_geometry):
12600         (widget_query_geometry):
12601         (button_query_geometry):
12602         * glyphs.c (text_query_geometry):
12603         Enforce type correctness.
12604
12605 2000-06-18  Martin Buchholz  <martin@xemacs.org>
12606
12607         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
12608         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
12609
12610 2000-06-17  Martin Buchholz  <martin@xemacs.org>
12611
12612         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
12613         conflicts with gcc's fixincluded version of FOO.h.
12614
12615         * glyphs.h (image_instance_geometry): Remove trailing `,'
12616
12617 2000-06-08  Mike Alexander  <mta@arbortext.com>
12618
12619         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
12620         (shove_thread): Don't write the same output twice
12621         (make_ntpipe_output_stream): Increase priority of shove thread
12622         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
12623         chance to run
12624         (ntpipe_shove_closer): Don't delete the pipe until we're done with
12625         it.
12626
12627 2000-06-12  Ben Wing  <ben@xemacs.org>
12628
12629         * s\mingw32.h (sigset):
12630         * s\windowsnt.h (sigset):
12631         rename msw_ to mswindows_ for consistency with general convention.
12632
12633 2000-06-12  Ben Wing  <ben@xemacs.org>
12634
12635         * console-msw.c:
12636         * console-msw.c (mswindows_get_console_hwnd):
12637         * console-msw.c (mswindows_ensure_console_allocated):
12638         * console-msw.c (mswindows_hide_console):
12639         * console-msw.c (mswindows_show_console):
12640         * console-msw.c (mswindows_ensure_console_buffered):
12641         * console-msw.c (mswindows_output_console_string):
12642         * console-msw.c (mswindows_windows9x_p):
12643         * console-msw.h:
12644         * device-msw.c (mswindows_get_workspace_coords):
12645         * device-msw.c (mswindows_device_system_metrics):
12646         * dialog-msw.c (mswindows_popup_dialog_box):
12647         * event-msw.c (mswindows_wnd_proc):
12648         * frame-msw.c (mswindows_size_frame_internal):
12649         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12650         * menubar-msw.c (displayable_menu_item):
12651         * menubar-msw.c (mswindows_char_is_accelerator):
12652         * nt.c:
12653         * nt.c (mswindows_sigset):
12654         * nt.c (mswindows_sigrelse):
12655         * nt.c (mswindows_sigpause):
12656         * nt.c (mswindows_raise):
12657         * nt.c (timer_proc):
12658         * ntproc.c:
12659         * ntproc.c (find_child_console):
12660         * ntproc.c (sys_kill):
12661         * print.c:
12662         * print.c (std_handle_out_external):
12663         * process-nt.c (find_child_console):
12664         * process-nt.c (send_signal_the_95_way):
12665         * process-nt.c (ensure_console_window_exists):
12666         * process-nt.c (nt_create_process):
12667         * syssignal.h:
12668         rename msw_ to mswindows_ for consistency with general convention.
12669
12670         * emacs.c:
12671         * dumper.c:
12672         include nt.h, not syswindows.h.
12673
12674         * nt.c (mswindows_fstat):
12675         * nt.c (mswindows_stat):
12676         prefix mswindows_ instead of attempting to directly override the
12677         library functions.  fix declarations.
12678
12679         * nt.h:
12680         include syswindows.h.  move some sysdep.h stuff here.
12681
12682         * ntheap.h:
12683         include syswindows.h, not <windows.h>.
12684
12685         * ntplay.c:
12686         clean up headers.
12687
12688         * sysdep.c:
12689         clean up headers.
12690
12691         * sysdep.c (sys_fstat):
12692         * sysdep.c (sys_stat):
12693         call mswindows versions when appropriate.
12694
12695         * sysdep.h:
12696         move mswin decls to nt.h.
12697
12698         * syswindows.h:
12699         add long comment describing appropriate use of the various windows
12700         headers.
12701
12702 2000-06-11  Ben Wing  <ben@xemacs.org>
12703
12704         * device-x.c: Correct doc string for sixth arg of x-get-resource.
12705
12706 2000-06-10  Ben Wing  <ben@xemacs.org>
12707
12708         * Makefile.in.in (release):
12709         Correction to make sure xemacs.exe always dumped when correct.
12710
12711         * alloca.c:
12712         * balloon_help.c:
12713         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
12714
12715         * buffer.c (set_buffer_internal):
12716         [[[[2]]]]: Remove HAVE_FEP code.
12717
12718         * buffer.c (init_initial_directory):
12719         [3].
12720
12721         * bytecode.c:
12722         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
12723         individual files.
12724
12725         * callproc.c:
12726         * callproc.c (call_process_cleanup):
12727         * callproc.c (Fold_call_process_internal):
12728         * callproc.c (child_setup):
12729         * callproc.c (getenv_internal):
12730         * callproc.c (init_callproc):
12731         * callproc.c (vars_of_callproc):
12732         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
12733         __CYGWIN32__ -> CYGWIN.
12734         DOS_NT -> WIN32_NATIVE.
12735         Remove MSDOS support/references, converting to WIN32_NATIVE
12736           where correct.
12737         __MINGW32__ -> MINGW.
12738         Fix windows.h includes.
12739         Remove bogus HAVE_NTGUI.
12740
12741         * config.h.in:
12742         [2].
12743
12744         * console-msw.c:
12745         mswindows_message_outputted added for use in allowing startup
12746         errors on the console to be seen.
12747
12748         * console-msw.c (msw_ensure_console_allocated):
12749         * console-msw.c (msw_output_console_string):
12750         * console-msw.c (DHEADER):
12751         * console-msw.c (DOPAQUE_DATA):
12752         * console-msw.c (DEVENT):
12753         * console-msw.c (DCONS):
12754         * console-msw.c (DCONSCDR):
12755         * console-msw.c (DSTRING):
12756         * console-msw.c (DVECTOR):
12757         * console-msw.c (DSYMBOL):
12758         * console-msw.c (DSYMNAME):
12759         Fix warnings.
12760
12761         * console-stream.c (stream_init_console):
12762         Fix text/binary problems.
12763
12764         * device-msw.c:
12765         * device-msw.c (mswindows_finish_init_device):
12766         * device-msw.c (mswindows_delete_device):
12767         [1].
12768
12769         * device.c (handle_asynch_device_change):
12770         [3].
12771
12772         * dgif_lib.c:
12773         * dgif_lib.c (DGifOpenFileName):
12774         * dgif_lib.c (DGifOpenFileHandle):
12775         * dgif_lib.c (DGifGetLine):
12776         * dgif_lib.c (DGifGetPixel):
12777         Added config.h/lisp.h, fix up includes.
12778         [1].
12779
12780         * dired-msw.c:
12781         [4].
12782
12783         * dired.c:
12784         * dired.c (file_name_completion):
12785         * dired.c (Ffile_attributes):
12786         * dired.c (syms_of_dired):
12787         [1].
12788
12789         * dumper.c:
12790         * dumper.c (pdump_file_unmap):
12791         * dumper.c (pdump_load):
12792         [1].
12793
12794         * editfns.c:
12795         * editfns.c (Ftemp_directory):
12796         * editfns.c (user_login_name):
12797         * editfns.c (Fuser_real_login_name):
12798         * editfns.c (get_home_directory):
12799         [1].
12800
12801         * elhash.c (finish_marking_weak_hash_tables):
12802         [[[[5]]]]: Fix GCC warnings.
12803
12804         * emacs.c:
12805         * emacs.c (mswindows_handle_hardware_exceptions):
12806         * emacs.c (make_arg_list_1):
12807         * emacs.c (main_1):
12808         * emacs.c (Fkill_emacs):
12809         * emacs.c (Fdump_emacs):
12810         [1].
12811         Fix problems with nested crashes, add long comment.
12812
12813         * event-Xt.c (init_event_Xt_late):
12814         [1].
12815
12816         * event-msw.c:
12817         * event-msw.c (mswindows_dde_callback):
12818         * event-msw.c (mswindows_handle_sticky_modifiers):
12819         * event-msw.c (mswindows_wnd_proc):
12820         [1].
12821         [5].
12822
12823         * events.c (character_to_event):
12824         [1].
12825
12826         * fileio.c:
12827         * fileio.c (Ffile_name_directory):
12828         * fileio.c (Ffile_name_nondirectory):
12829         * fileio.c (directory_file_name):
12830         * fileio.c (Fexpand_file_name):
12831         * fileio.c (Fsubstitute_in_file_name):
12832         * fileio.c (Ffile_name_absolute_p):
12833         * fileio.c (check_executable):
12834         * fileio.c (Ffile_readable_p):
12835         * fileio.c (Ffile_accessible_directory_p):
12836         * fileio.c (Ffile_modes):
12837         * fileio.c (Funix_sync):
12838         * fileio.c (vars_of_fileio):
12839         [1]. [4].
12840
12841         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
12842
12843         Expand getdefdir defn.
12844         Fix bogus rename() comment.
12845
12846         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
12847         to use standard XEmacs include files, e.g. sysfile.h, rather
12848         than system-specific includes.
12849
12850         * fns.c:
12851         * fns.c (Fsubseq):
12852         [5]. [6].
12853
12854         * frame.c (vars_of_frame):
12855         [1].
12856
12857         * getloadavg.c:
12858         * getloadavg.c (getloadavg):
12859         [1]. [6].
12860         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
12861         (We don't use it elsewhere in the code; just add a comment.)
12862
12863         * gif_io.c:
12864         [6].
12865         Add config.h.
12866
12867         * glyphs-msw.c:
12868         * glyphs-msw.c (mswindows_resource_instantiate):
12869         [1].
12870
12871         * glyphs-x.c (x_native_layout_instantiate):
12872         [5].
12873
12874         * gui-msw.c (Fmswindows_shell_execute):
12875         [1].
12876
12877         * insdel.c:
12878         [4].
12879
12880         * lisp.h:
12881         [4]. [5].
12882
12883         * lread.c (locate_file_in_directory_mapper):
12884         [1].
12885
12886         * lstream.c:
12887         [4].
12888
12889         * mem-limits.h:
12890         * mem-limits.h (get_lim_data):
12891         [1].
12892
12893         * menubar-msw.c:
12894         [4].
12895
12896         * ndir.h:
12897         [1].
12898
12899         * nt.c:
12900         * nt.c (getwd):
12901         * nt.c (closedir):
12902         * nt.c (rva_to_section):
12903         * nt.c (mswindows_executable_type):
12904         [1]. [6].
12905         Fix closedir() defn.
12906
12907         * nt.h:
12908         [[[[8]]]]: *_OK defs moved to sysfile.h.
12909
12910         * ntproc.c:
12911         [6]. [7].
12912
12913         * objects-x.c:
12914         [4].
12915
12916         * print.c:
12917         * print.c (std_handle_out_external):
12918         [1]. [4].
12919
12920         * process-nt.c:
12921         * process-nt.c (nt_create_process):
12922         [6].
12923         try to fix process quoting somewhat.
12924
12925         * process-unix.c (unix_create_process):
12926         [1].
12927
12928         * process.c:
12929         * process.c (vars_of_process):
12930         Add Vnull_device.
12931
12932         * process.h:
12933         [1].
12934
12935         * realpath.c:
12936         * realpath.c (xrealpath):
12937         [1].
12938
12939         * redisplay-tty.c (init_tty_for_redisplay):
12940         [3].
12941
12942         * redisplay.c:
12943         [4]. [6].
12944
12945         * scrollbar-msw.c:
12946         [4].
12947
12948         * sheap.c:
12949         * sheap.c (more_static_core):
12950         * sheap.c (report_sheap_usage):
12951         [5]. [6].
12952
12953         * signal.c:
12954         * signal.c (alarm_signal):
12955         [1]. [6].
12956
12957         * sound.c:
12958         [6].
12959
12960         * strftime.c:
12961         * strftime.c (zone_name):
12962         [1]. [5].
12963
12964         * symsinit.h (init_sunpro):
12965         [1].
12966
12967         * syscommctrl.h:
12968         commctrl.h not in Cygwin b20.1.
12969
12970         * sysdep.c:
12971         * sysdep.c (endif):
12972         * sysdep.c (sys_subshell):
12973         * sysdep.c (init_baud_rate):
12974         * sysdep.c (emacs_get_tty):
12975         * sysdep.c (emacs_set_tty):
12976         * sysdep.c (tty_init_sys_modes_on_device):
12977         * sysdep.c (init_system_name):
12978         * sysdep.c (sys_open):
12979         * sysdep.c (interruptible_open):
12980         * sysdep.c (sys_fopen):
12981         * sysdep.c (sys_mkdir):
12982         * sysdep.c (sys_rename):
12983         * sysdep.c (get_process_times_1):
12984         [1]. [6].
12985
12986         * sysdep.h:
12987         [1].
12988
12989         * sysdir.h:
12990         * sysdir.h (DIRENTRY_NONEMPTY):
12991         [1]. [6].
12992
12993         * sysdll.c (dll_init):
12994         * sysdll.h:
12995         [1].
12996
12997         * sysfile.h:
12998         [1]. [6]. [8].
12999         added text/binary defs.
13000
13001         * sysfloat.h:
13002         [1].
13003
13004         * sysproc.h:
13005         * sysproc.h (EDESTADDRREQ):
13006         * sysproc.h (poll_fds_for_input):
13007         [1]. [6].
13008
13009         * syspwd.h:
13010         [6].
13011
13012         * syssignal.h:
13013         [1].
13014
13015         * systime.h:
13016         [1]. [6].
13017
13018         * systty.h:
13019         [1].
13020
13021         * syswindows.h:
13022         [1].
13023         Always define WIN32_LEAN_AND_MEAN.
13024
13025         * unexcw.c (unexec):
13026         [5].
13027
13028         * unexec.c:
13029         * unexec.c (copy_text_and_data):
13030         * unexec.c (adjust_lnnoptrs):
13031         [1].
13032
13033         * unexnt.c:
13034         * unexnt.c (_start):
13035         [1].
13036
13037 2000-06-07  Ben Wing  <ben@xemacs.org>
13038
13039         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13040         was used only as a model.  We've long since extracted any useful
13041         logic or code out of this. (I just did an exhaustive search.)
13042
13043         * s\msdos.h: Removed.
13044
13045         * s\windows95.h: Removed.
13046
13047 2000-06-10  Ben Wing  <ben@xemacs.org>
13048
13049         * s\cygwin32.h:
13050         [1]. [5].
13051         Don't use extern with fun defs.
13052
13053         * s\mingw32.h:
13054         [1]. [7].
13055         Remove nt\inc include.
13056         Remove getdisk, getdefdir. (The former is unused, the latter
13057         expanded in fileio.h.)
13058
13059         * s\windowsnt.h:
13060         * s\windowsnt.h (WIN32_NATIVE):
13061         * s\windowsnt.h (HAVE_STRCASECMP):
13062         [1]. [7].
13063         Add long comment about preprocessor changes.
13064         Remove getdisk, getdefdir. (The former is unused, the latter
13065         expanded in fileio.h.)
13066
13067 2000-06-10  Ben Wing  <ben@xemacs.org>
13068
13069         * m\arm.h:
13070         * m\delta.h:
13071         * m\intel386.h:
13072         * m\sequent.h:
13073         * m\template.h:
13074         * m\windowsnt.h:
13075         [1].
13076         Remove bogus/unused NO_SOCK_SIGIO.
13077
13078 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13079
13080         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13081         not an Emchar.
13082
13083 2000-06-04  Mike Sperber <mike@xemacs.org>
13084
13085         * casetab.c (set_case_table): For `set-standard-case-table',
13086         actually deposit the new case tables where the rest of XEmacs can
13087         see them.
13088
13089 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13090
13091         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13092
13093 2000-06-05  Ben Wing  <ben@xemacs.org>
13094
13095         * callproc.c (child_setup): Don't do close_load_descs() under
13096         MS Windows.  Put in a comment explaining why.
13097
13098 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13099
13100         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13101         Toolkit shell" which breaks `kill-compilation' on Windows NT
13102         native, retaining STDERR handling improvements.
13103
13104 2000-06-01  Andreas Jaeger  <aj@suse.de>
13105
13106         * s/s390.h: Support for S390, based on a patch by Martin
13107         Schwidefsky <schwidefsky@de.ibm.com>.
13108
13109 2000-05-30  Andy Piper  <andy@xemacs.org>
13110
13111         * window.c (allocate_window):
13112         (make_dummy_parent):
13113         (Fset_window_configuration): use new hashtable type.
13114
13115         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13116         (struct image_instantiator_methods):
13117         (struct Lisp_Image_Instance): make instance geometry signed.
13118
13119         * glyphs.c (instantiate_image_instantiator):
13120         (image_instance_query_geometry):
13121         (image_instance_layout):
13122         (image_instance_layout):
13123         (query_string_geometry):
13124         (text_query_geometry):
13125         (image_instantiate):
13126         (image_instantiate):
13127         (cache_subwindow_instance_in_frame_maybe):
13128         (subwindow_query_geometry): make instance geometry signed.
13129
13130         * glyphs-widget.c (widget_query_geometry):
13131         (widget_layout):
13132         (button_query_geometry):
13133         (tree_view_query_geometry):
13134         (tab_control_query_geometry):
13135         (layout_query_geometry):
13136         (layout_layout):
13137         (native_layout_layout): make instance geometry signed.
13138
13139 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13140
13141         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13142         constant.
13143
13144         * general.c (syms_of_general): Add Qfull_assoc symbol.
13145
13146         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13147         correctly.
13148         (decode_weak_list_type): Decode full-assoc type.
13149         (encode_weak_list_type): Encode full-assoc type.
13150         (Fmake_weak_list): Update doc string.
13151
13152 2000-05-30  Andy Piper  <andy@xemacs.org>
13153
13154         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13155
13156         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13157         (decode_hash_table_weakness): ditto.
13158         (Fhash_table_weakness): ditto.
13159         (Fhash_table_type): ditto.
13160         (finish_marking_weak_hash_tables): ditto.
13161         (hash_table_weakness_validate): ditto.
13162         (syms_of_elhash): ditto.
13163
13164 2000-05-28  Martin Buchholz <martin@xemacs.org>
13165
13166         * XEmacs 21.2.34 is released.
13167
13168 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13169
13170         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13171         start cache.
13172         (updating_line_start_cache): Gone.
13173         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13174         generic code to force a minimum of 1 line laid out in the
13175         CMOTION_DISP case.
13176
13177 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13178
13179         * glyphs.c (instantiate_image_instantiator): Check for initialized
13180         height & width no longer special cases IMAGE_NOTHING.
13181         (nothing_instantiate): Set height and width of instance.
13182
13183 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13184
13185         * unexelf.c (unexec): Search for ".data" section.
13186         Initialize new_data2_offset from old_data_index.
13187         Remove redundant check for ElfW.
13188
13189 2000-05-23  Andy Piper  <andy@xemacs.org>
13190
13191         * glyphs.c (get_image_instantiator_governing_domain): allow more
13192         specific domains as the governing domain rather than expecting an
13193         exact match. This fixes problems with layouts.
13194
13195 2000-05-22  Andy Piper  <andy@xemacs.org>
13196
13197         * redisplay-output.c (compare_runes): check for non-images
13198
13199         * glyphs.c (set_glyph_dirty_p): ditto.
13200         (update_glyph_cachel_data): ditto.
13201
13202         * glyphs-widget.c (layout_post_instantiate): ditto.
13203         (layout_post_instantiate): ditto.
13204
13205         * event-msw.c (mswindows_wnd_proc): warning removal.
13206
13207 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13208
13209         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13210
13211         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13212
13213         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13214
13215         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13216         (mswindows_executable_type): mingw32 now has enough headers for
13217         this to work.
13218
13219 2000-05-20  Andy Piper  <andy@xemacs.org>
13220
13221         * console-msw.c (mswindows_output_last_error): ; -> ,
13222
13223 2000-05-12  Andy Piper  <andy@xemacs.org>
13224
13225         * console-msw.c (FROB): compare ints with ints.
13226
13227 2000-05-11  Andy Piper  <andy@xemacs.org>
13228
13229         * glyphs-x.c (x_finalize_image_instance): make minimal build
13230         happy.
13231
13232 2000-05-20  Ben Wing  <ben@xemacs.org>
13233
13234         * event-Xt.c:
13235         * event-Xt.c (vars_of_event_Xt):
13236         move modifier-keys-are-sticky to event-stream.c.
13237
13238         * event-msw.c:
13239         * event-msw.c (mswindows_enqueue_mouse_button_event):
13240         * event-msw.c (key_needs_default_processing_p):
13241         * event-msw.c (XEMSW_LCONTROL):
13242         * event-msw.c (mswindows_handle_sticky_modifiers):
13243         * event-msw.c (FROB):
13244         * event-msw.c (clear_sticky_modifiers):
13245         * event-msw.c (output_modifier_keyboard_state):
13246         * event-msw.c (output_alt_keyboard_state):
13247         * event-msw.c (mswindows_wnd_proc):
13248         * event-msw.c (mswindows_modifier_state):
13249         * event-msw.c (emacs_mswindows_handle_magic_event):
13250         implement sticky modifiers.
13251
13252         * event-stream.c:
13253         * event-stream.c (vars_of_event_stream):
13254         move modifier-keys-are-sticky here.
13255
13256         * lisp.h:
13257         add CHECK_FUNCTION.
13258
13259         * rangetab.c:
13260         implement map-range-table.
13261
13262
13263 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13264
13265         * redisplay-tty.c (reset_tty_modes):
13266         (tty_redisplay_shutdown): Adjust argument type to
13267         tty_frame_output_end.
13268
13269 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13270
13271         * eval.c (Fbacktrace): Don't output a line with only right
13272         parenthesis.
13273
13274 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13275
13276         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13277         (Fpq_reset_poll): Ditto.
13278
13279 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13280
13281         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13282
13283 2000-05-16  Ben Wing  <ben@xemacs.org>
13284
13285         * buffer.c:
13286         * buffer.c (dfc_convert_to/from_internal_format):
13287         * buffer.c (reinit_vars_of_buffer):
13288         Fix conversion functions to allow reentrancy.
13289
13290         * console-msw.c:
13291         * console-msw.c (mswindows_output_last_error):
13292         New fun, generally useful -- output a human-readable
13293         version of GetLastError() on the console.
13294
13295         * console-msw.h:
13296         * console-msw.h (struct mswindows_frame):
13297         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13298
13299         * console-stream.c (stream_output_begin):
13300         * console-stream.c (stream_output_end):
13301         * console-stream.c (stream_output_vertical_divider):
13302         * console-stream.c (stream_clear_region):
13303         * console-stream.c (stream_flash):
13304         * console-stream.c (console_type_create_stream):
13305         Delete blank stream methods, not needed.
13306
13307         * console.h (struct console_methods):
13308         Split begin/end methods into window and frame.
13309
13310         * event-msw.c:
13311         * event-msw.c (mswindows_handle_paint):
13312         * event-msw.c (output_alt_keyboard_state):
13313         * event-msw.c (mswindows_wnd_proc):
13314         * event-msw.c (vars_of_event_mswindows):
13315         Comment about problems with ignored-expose.
13316         Define mswindows-debug-events; not really implemented.
13317
13318         * frame-msw.c (mswindows_init_frame_1):
13319         random cleanups.
13320
13321         * glyphs-msw.c:
13322         * glyphs-msw.c (begin_defer_window_pos):
13323         * glyphs-msw.c (mswindows_unmap_subwindow):
13324         * glyphs-msw.c (mswindows_map_subwindow):
13325         * glyphs-msw.c (mswindows_resize_subwindow):
13326         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13327
13328         * glyphs.c (make_image_instance_1):
13329         Fix crash.
13330
13331         * gutter.c (Fredisplay_gutter_area):
13332         Use new begin/end methods.
13333
13334         * lisp.h (Dynarr_new2):
13335         New creation fun.
13336
13337         * redisplay-msw.c:
13338         * redisplay-msw.c (mswindows_frame_output_begin):
13339         * redisplay-msw.c (mswindows_frame_output_end):
13340         * redisplay-msw.c (console_type_create_redisplay_mswindows):
13341         New begin/end methods -- handle DeferWindowPos.
13342
13343         * redisplay-output.c (redisplay_move_cursor):
13344         * redisplay-output.c (redraw_cursor_in_window):
13345         * redisplay-output.c (redisplay_update_line):
13346         * redisplay-output.c (redisplay_output_window):
13347         New begin/end methods.
13348
13349         * redisplay-tty.c:
13350         * redisplay-tty.c (tty_frame_output_begin):
13351         * redisplay-tty.c (tty_frame_output_end):
13352         * redisplay-tty.c (console_type_create_redisplay_tty):
13353         New begin/end methods.
13354
13355         * redisplay-x.c:
13356         * redisplay-x.c (x_window_output_begin):
13357         * redisplay-x.c (x_window_output_end):
13358         * redisplay-x.c (console_type_create_redisplay_x):
13359         New begin/end methods.
13360
13361         * redisplay.c (redisplay_frame):
13362         * redisplay.c (Fredisplay_echo_area):
13363         New begin/end methods.
13364         use MAYBE_DEVMETH for clear_frame; it may not exist.
13365
13366         * window.h (WINDOW_XFRAME):
13367         WINDOW_XFOO macros -- get locale and decode struct pointer.
13368
13369
13370 2000-05-12  Ben Wing  <ben@xemacs.org>
13371
13372         * emacs.c:
13373         * emacs.c (ensure_no_quitting_from_now_on):
13374         * emacs.c (fatal_error_signal):
13375         * emacs.c (mswindows_handle_hardware_exceptions):
13376         * emacs.c (main):
13377         * emacs.c (Fkill_emacs):
13378         * emacs.c (shut_down_emacs):
13379         * emacs.c (assert_failed):
13380         various improvements in fatal error handling.
13381
13382         * eval.c:
13383         move preparing_for_armageddon to emacs.c.
13384
13385         * lisp.h:
13386         declare fatal_error_in_progress.
13387
13388         * print.c:
13389         * print.c (std_handle_out_external):
13390         * print.c (std_handle_out_va):
13391         * print.c (stderr_out):
13392         * print.c (stdout_out):
13393         use console under mswin when no standard output.
13394         don't do code conversion during fatal error.
13395
13396         * scrollbar.c (Fscrollbar_page_up):
13397         * scrollbar.c (Fscrollbar_page_down):
13398         fix missing else.  reindent.
13399
13400 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
13401
13402         Emergency fix.
13403
13404         * glyphs.h (GLYPH_CACHEL_DESCENT):
13405         (GLYPH_CACHEL_DESCENT):
13406         (GLYPH_CACHEL_DESCENT):
13407         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
13408         used in case these are inline functions.
13409         Use more absurd values to error check.
13410
13411         include window.h for error check functions.
13412
13413 2000-05-11  Ben Wing  <ben@xemacs.org>
13414
13415         * cmdloop.c (Freally_early_error_handler):
13416         Display message box under windows; otherwise, message will disappear
13417         before it can be viewed.
13418
13419         * console-msw.c:
13420         * console-msw.c (Fmswindows_message_box):
13421         * console-msw.c (FROB):
13422         * console-msw.c (syms_of_console_mswindows):
13423         Define new fun `mswindows-message-box'.
13424         #### I will merge this into `popup-dialog-box'; just give me
13425         a bit of time.
13426
13427         * general.c:
13428         * general.c (syms_of_general):
13429         Some new symbols used in `mswindows-message-box'.
13430
13431         * glyphs.c:
13432         * glyphs.c (Fset_image_instance_property):
13433         put warning in this fun.
13434
13435         * glyphs.h:
13436         * glyphs.h (GLYPH_CACHEL_WIDTH):
13437         * glyphs.h (GLYPH_CACHEL_ASCENT):
13438         * glyphs.h (GLYPH_CACHEL):
13439         * glyphs.h (GLYPH_CACHEL_GLYPH):
13440         define error-checking versions to try to catch a bug i've seen --
13441         redisplay gets in an infinite loop because the glyph width of the
13442         continuation glyph is 65535.
13443
13444         * lisp.h:
13445         Extern message-box stuff.
13446
13447         * window.c (allocate_window):
13448         * window.c (make_dummy_parent):
13449         * window.c (Fset_window_configuration):
13450         Use EQUAL not EQ for subwindow caches to make them work a bit
13451         better. (Something is still very broken.)
13452
13453
13454 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13455
13456         * glyphs.c (image_instantiate): Suppress gcc warnings.
13457         (Fmake_image_instance): Fix doc string.
13458         * specifier.c (Fmake_specifier): Ditto.
13459
13460 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
13461
13462         * paths.h.in (PATH_LOCK): Removed.
13463         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
13464         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
13465
13466 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13467
13468         * fns.c (Ffeaturep): Update e-mail address in doc-string.
13469         Document (featurep '(and xemacs 21.02)).
13470
13471 2000-05-09  Ben Wing  <ben@xemacs.org>
13472
13473         * buffer.c (complex_vars_of_buffer):
13474         update modeline-format doc.
13475
13476         * device.h:
13477         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
13478
13479         * emacs.c:
13480         timeline of all released versions of Emacs, for use in creating
13481         authorship comments and in synching up.
13482
13483         * glyphs-widget.c (image_instantiator_buttons):
13484         * glyphs-widget.c (image_instantiator_edit_fields):
13485         * glyphs-widget.c (image_instantiator_combo_box):
13486         * glyphs-widget.c (image_instantiator_scrollbar):
13487         * glyphs-widget.c (image_instantiator_progress_guage):
13488         * glyphs-widget.c (image_instantiator_tree_view):
13489         * glyphs-widget.c (image_instantiator_tab_control):
13490         * glyphs-widget.c (image_instantiator_labels):
13491         * glyphs-widget.c (image_instantiator_layout):
13492         * glyphs-widget.c (image_instantiator_native_layout):
13493         rename decode_domain method to governing_domain.
13494
13495         * glyphs.c:
13496         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
13497         * glyphs.c (add_entry_to_device_ii_format_list):
13498         make sure we don't put an entry more than once into the list.
13499         * glyphs.c (check_instance_cache_mapper):
13500         *************************************************************
13501         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13502         HAVE BEEN GETTING.
13503         *************************************************************
13504         * glyphs.c (get_image_instantiator_governing_domain):
13505         clean up, expand on new concept of governing domain.
13506         * glyphs.c (instantiate_image_instantiator):
13507         * glyphs.c (allocate_image_instance):
13508         use governing_domain instead of cache_domain in naming.
13509         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
13510         * glyphs.c (make_image_instance_1):
13511         * glyphs.c (Fmake_image_instance):
13512         allow for any domain (not just device), and process the
13513         governing domain correctly.  very big doc fix.
13514         * glyphs.c (Fimage_instance_domain):
13515         new primitive, to retrieve the governing domain of an image instance.
13516         * glyphs.c (image_instantiate):
13517         use new governing_domain stuff.  this fixes a crash you could get
13518         by instantiating certain widget glyphs in frame locales. (should
13519         signal an error instead of crashing.)
13520         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
13521         * glyphs.c (Fglyphp): clean up doc.
13522         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
13523         * glyphs.c (syms_of_glyphs):
13524         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
13525         * glyphs.c (image_instantiator_format_create): add some comments about
13526         bogus code.
13527         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
13528         for current-display-table. (Apparently Hrjove implemented in 1998 a
13529         design I wrote up in 1996, but didn't update the doc string.)
13530
13531         * glyphs.h: clean up a doc string.
13532         * glyphs.h (governing_domain):
13533         * glyphs.h (struct image_instantiator_methods):
13534         changes for governing_domain stuff.
13535
13536         * gutter.c:
13537         * gutter.c (Fgutter_specifier_p):
13538         * gutter.c (Fgutter_size_specifier_p):
13539         * gutter.c (Fgutter_visible_specifier_p):
13540         * objects.c:
13541         * objects.c (Fcolor_specifier_p):
13542         * objects.c (Ffont_specifier_p):
13543         * objects.c (Fface_boolean_specifier_p):
13544         doc strings moved to make-*-specifier.
13545
13546         * redisplay.c (add_disp_table_entry_runes_1):
13547         * redisplay.c (generate_fstring_runes):
13548         * redisplay.c (screen):
13549         add random comments and doc strings.
13550
13551         * specifier.c:
13552         * specifier.c (Fmake_specifier):
13553         major overhaul of this doc string.
13554
13555         * specifier.c (Fvalid_specifier_domain_p):
13556         comment about the bogosity of image instances being domains.
13557         * specifier.c (decode_domain):
13558         now non-static, used in glyphs.c.
13559         * specifier.c (specifier_instance):
13560         comment about the bogosity of image instances being domains.
13561         * specifier.c (Fgeneric_specifier_p):
13562         move doc string to make-generic-specifier.
13563         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
13564         rebackslashify.
13565
13566         * specifier.h:
13567         * specifier.h (DOMAIN_FRAME):
13568         * specifier.h (DOMAIN_LIVE_P):
13569         * specifier.h (DOMAIN_XDEVICE):
13570         rebackslashify.
13571         add comments about problems with these macros.
13572         prototype for decode_domain.
13573
13574         * toolbar.c:
13575         * toolbar.c (Ftoolbar_specifier_p):
13576         move doc string to `make-toolbar-specifier'.
13577
13578         * window.c (window_unmap_subwindows_cache_mapper):
13579         *************************************************************
13580         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13581         HAVE BEEN GETTING.
13582         *************************************************************
13583
13584 2000-05-09  Andy Piper  <andy@xemacs.org>
13585
13586         * glyphs.h: declare reset_frame_subwindow_instance_cache.
13587
13588         * window.c (Fset_window_configuration): reset the frame subwindow
13589         cache and re-initialize the window subwindow caches.
13590
13591         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
13592
13593 2000-05-09  Ben Wing  <ben@xemacs.org>
13594
13595         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
13596         DWORD.
13597
13598 2000-04-26  Mike Woolley  <mike@bulsara.com>
13599
13600         * ntheap.c: Changed recreate_heap to limit the amount reserved
13601         for the heap to that which is actually available. Also now
13602         displays a message box (with some dignostics) in the event that
13603         it still can't start.
13604
13605 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
13606
13607         * callproc.c (Fold_call_process_internal): GCPRO path
13608
13609 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
13610
13611         Patch by Bill Perry.
13612
13613         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
13614         back data instead of #ifdef.
13615         (Fscrollbar_page_down): ditto.
13616
13617 2000-05-07  Ben Wing  <ben@xemacs.org>
13618
13619         * buffer.h:
13620         Kludge for defining Qmswindows_tstr.
13621
13622         * nt.c:
13623         * nt.c (open_input_file):
13624         * nt.c (open_output_file):
13625         * nt.c (rva_to_section):
13626         * nt.c (mswindows_executable_type):
13627         Move all memory-mapped-file routines here (some were in unexnt.c,
13628         which is bad because they are used by process-nt.c, and unexnt
13629         won't be around when portable dumping).  Synched the above routines
13630         with FSF 20.6.
13631
13632         * nt.h:
13633         Removed ifdef'd out bogus code.
13634         Fixed some prototypes.
13635
13636         * nt.h (file_data):
13637         * nt.h (OFFSET_TO_RVA):
13638         * nt.h (RVA_TO_OFFSET):
13639         * nt.h (RVA_TO_PTR):
13640         Moved the memory-mapped-file structures, macros and prototypes
13641         here, to parallel nt.c.  ntheap.h should really be removed
13642         entirely, and it's a non-portable-dumper specific file.
13643
13644         * ntheap.h (round_to_next):
13645         Moved the memory-mapped-file structures, macros and prototypes
13646         to nt.h.
13647
13648         * ntproc.c (compare_env):
13649         Moved rva_to_section and mswindows_executable_type to nt.c.
13650         Moved compare_env to process-nt.c.
13651         ntproc.c will die, one day.
13652
13653         * ntproc.c (sys_spawnve):
13654         Account for win32_ -> mswindows_.
13655
13656         * process-nt.c:
13657         * process-nt.c (struct nt_process_data):
13658         * process-nt.c (ensure_console_window_exists):
13659         * process-nt.c (compare_env):
13660         * process-nt.c (nt_create_process):
13661         * process-nt.c (nt_kill_process_by_pid):
13662         * process-nt.c (syms_of_process_nt):
13663         * process-nt.c (vars_of_process_nt):
13664         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
13665         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
13666         changes).  Eliminate our old `nt-quote-process-args' mechanism.
13667         Synch up nt_create_process with FSF 20.6 sys_spawnve.
13668         Move compare_env here from ntproc.c.
13669
13670         * process.c (Fprocess_send_region):
13671         Takes an optional fourth argument, BUFFER, which should fix some
13672         problems with call-process.
13673
13674         * syscommctrl.h:
13675         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
13676
13677         * syswindows.h:
13678         Move ICC_BAR_CLASSES to syscommctrl.h.
13679         Add preliminary macros for MSWindows/Mule.  More to come.
13680
13681         * unexnt.c:
13682         * unexnt.c (unexec):
13683         open_output_file moved to nt.c.
13684
13685
13686 2000-05-05  Andy Piper  <andy@xemacs.org>
13687
13688         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
13689         instance from the frame cache also since GC may catch up too late
13690         to make frame deletion sane.
13691
13692 2000-05-04  Andy Piper  <andy@xemacs.org>
13693
13694         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
13695         (x_finalize_image_instance): ungcpro on deletion.
13696
13697         * glyphs.c (image_instantiator_format_create): give pointers a
13698         query geometry method so that the geometry is at least set.
13699
13700         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
13701         initialize layouts if using widgets.
13702
13703 2000-05-03  Andy Piper  <andy@xemacs.org>
13704
13705         * nt.c: remove bogus reference to sysmmsystem.h
13706
13707         * gui-x.c (popup_selection_callback): fix no selection abort.
13708
13709 2000-05-02  Andy Piper  <andy@xemacs.org>
13710
13711         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
13712         (mswindows_widget_instantiate): ditto.
13713
13714         * glyphs-widget.c (initialize_widget_image_instance): initialize
13715         children correctly.
13716         (widget_instantiate): cope with children and items in the same
13717         instance.
13718
13719         * glyphs.c (mark_image_instance): cope with children as a first
13720         class member.
13721         (image_instance_equal): ditto.
13722         (image_instance_hash): ditto.
13723         (image_instance_changed): ditto.
13724
13725 2000-04-30  Andy Piper  <andy@xemacs.org>
13726
13727         * glyphs.c (subwindow_query_geometry): new function. Return some
13728         defaults.
13729         (subwindow_instantiate): don't assign dimensions if none have been
13730         given.
13731         (image_instantiator_format_create): add subwindow_query_geometry.
13732         (print_image_instance): cope with layouts as widgets.
13733
13734 2000-04-29  Andy Piper  <andy@xemacs.org>
13735
13736         * frame.c (delete_frame_internal): call
13737         free_frame_subwindow_instance_cache so that all subwindows are
13738         finalized before their parent.
13739         (mark_frame): remove subwindow_cachels.
13740         (Fmake_frame): remove subwindow_cachel manipulation.
13741         (allocate_frame_core): subwindow_instance_cache is a weak list.
13742         (delete_frame_internal): set subwindow_instance_cache to nil.
13743
13744         * glyphs-msw.c (mswindows_finalize_image_instance): make double
13745         finalization safe.
13746         (mswindows_finalize_image_instance): use the device
13747         not the domain as the domain may have died already.
13748
13749         * glyphs-x.c (x_finalize_image_instance): ditto.
13750         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
13751         HEIGHT.
13752
13753         * redisplay-output.c (redisplay_unmap_subwindows): update for
13754         subwindow instance cache as a weak list.
13755         (redisplay_unmap_subwindows_maybe): ditto.
13756         (redisplay_unmap_subwindows_except_us): ditto.
13757
13758         * glyphs.c (unmap_subwindow): error checking will check the domain
13759         so don't deal with it here. Don't use cachels anymore.
13760         (map_subwindow): ditto.
13761         (update_subwindow_cachel_data): remove old accessor names.
13762         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
13763         (Fresize_subwindow): don't update cachel.
13764         (mark_subwindow_cachels):
13765         (update_subwindow_cachel_data):
13766         (add_subwindow_cachel):
13767         (get_subwindow_cachel_index):
13768         (update_subwindow_cachel):
13769         (reset_subwindow_cachels):
13770         (mark_subwindow_cachels_as_not_updated): deleted.
13771         (cache_subwindow_instance_in_frame_maybe): new function. Add a
13772         subwindow instance to the frame cache.
13773         (find_matching_subwindow): update for subwindow instance cache as
13774         a weak list.
13775         (update_widget_instances): ditto.
13776         (image_instance_type_to_mask):inlined.
13777         (free_frame_subwindow_instance_cache): new function. finalize all
13778         subwindows that are instantiated.
13779
13780         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
13781         of cachel information.
13782         (IMAGE_INSTANCE_DISPLAY_X):
13783         (IMAGE_INSTANCE_DISPLAY_Y):
13784         (IMAGE_INSTANCE_DISPLAY_WIDTH):
13785         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
13786         (XIMAGE_INSTANCE_DISPLAY_X):
13787         (XIMAGE_INSTANCE_DISPLAY_Y):
13788         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
13789         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
13790         remove subwindow_cachel structure and function references.
13791         (image_instance_type_to_mask): inline from glyphs.c
13792
13793         * redisplay.c (redisplay_frame): remove subwindow_cachel
13794         references.
13795
13796         * frame.h (struct frame): remove subwindow_cachels.
13797         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
13798
13799         * frameslots.h: add subwindow_instance_cache.
13800
13801         * window.c (replace_window): check subwindow cache of replacement.
13802         (window_unmap_subwindows_cache_mapper):
13803         (window_unmap_subwindows): new functions. Unmap all subwindows
13804         cached on this window.
13805         (mark_window_as_deleted): unmap all subwindows.
13806
13807 2000-04-27  Andy Piper  <andy@xemacs.org>
13808
13809         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
13810
13811         * glyphs-widget.c (widget_layout): return something.
13812         (layout_layout): return something. Fail if not initialized.
13813         (layout_query_geometry): ditto.
13814         (image_instantiator_native_layout): new function. Initialized the
13815         native layout type.
13816         (widget_instantiate): don't do layout stuff here.
13817
13818         * glyphs.c (instantiate_image_instantiator): reorded calling or
13819         instantiate and post_instantiate with layout in between.
13820         (image_instance_layout): be more selective about deciding whether
13821         the layout has been done or not.
13822
13823         * glyphs.h (struct image_instantiator_methods): return a value
13824         from layout_method.
13825
13826 2000-04-26  Andy Piper  <andy@xemacs.org>
13827
13828         * glyphs.c (allocate_image_instance): make initial width and
13829         height unspecified. Set initialized to 0.
13830
13831         * syscommctrl.h new file. Encapsulates commctrl.h.
13832
13833         * syswindows.h new file. Encapsulates windows.h.
13834
13835         * ntplay.c: use new syswindows.h and syscommctrl.h header.
13836         * nt.c: ditto.
13837         * console-msw.h: ditto.
13838
13839         * redisplay-tty.c (tty_output_display_block): remove layout references.
13840
13841         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
13842         window handle rather than just the frame.
13843
13844         * glyphs.c (mark_image_instance): remove layout references.
13845         (print_image_instance): ditto.
13846         (image_instance_equal): ditto.
13847         (image_instance_hash): ditto.
13848         (decode_image_instance_type): ditto.
13849         (encode_image_instance_type): ditto.
13850         (image_instantiate): ditto.
13851         (allocate_glyph): ditto.
13852         (Fimage_instance_height): ditto.
13853         (Fimage_instance_width): ditto.
13854         (update_subwindow): ditto.
13855
13856         * redisplay-x.c (x_output_display_block): recode for layouts as
13857         widgets.
13858
13859         * redisplay-output.c (redisplay_output_layout): recode for layouts
13860         as widgets.
13861         (compare_runes): remove layout references.
13862
13863         * redisplay-msw.c (mswindows_output_display_block): recode for
13864         layouts as widgets.
13865
13866         * glyphs-widget.c (image_instantiator_layout): remove
13867         layout_possible_dest_types.
13868         (layout_possible_dest_types): deleted.
13869
13870         * glyphs.h (image_instance_type): remove layout references.
13871         (struct Lisp_Image_Instance): ditto. Add initialized flag.
13872         (IMAGE_INSTANCE_INITIALIZED): new accessor.
13873         (XIMAGE_INSTANCE_INITIALIZED): ditto.
13874
13875 2000-04-25  Andy Piper  <andy@xemacs.org>
13876
13877         * glyphs-widget.c (image_instantiator_buttons):
13878         (image_instantiator_edit_fields):
13879         (image_instantiator_combo_box):
13880         (image_instantiator_scrollbar):
13881         (image_instantiator_progress_guage):
13882         (image_instantiator_tree_view):
13883         (image_instantiator_tab_control):
13884         (image_instantiator_labels):
13885         (image_instantiator_layout): call default post_instantiate method.
13886         (widget_post_instantiate): new function. Simply lays out the
13887         widgets.
13888
13889         * glyphs.h (struct image_instantiator_methods): add
13890         post_instantiate method.
13891
13892         * glyphs.c (instantiate_image_instantiator): add post_instantiate
13893         method calls.
13894
13895 2000-04-23  Andy Piper  <andy@xemacs.org>
13896
13897         * glyphs.h (struct image_instantiator_methods): add
13898         decode_domain_method.
13899         (struct Lisp_Image_Instance): remove subwindow frame - it can be
13900         derived from the domain.
13901         (IMAGE_INSTANCE_FRAME): new accessor.
13902         (XIMAGE_INSTANCE_FRAME): ditto.
13903
13904         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
13905         instead of _SUBWINDOW_FRAME.
13906         (finalize_image_instance): ditto.
13907         (Fimage_instance_foreground): ditto.
13908         (Fimage_instance_background): ditto.
13909         (image_instantiate): ditto.
13910         (update_subwindow_cachel): ditto.
13911         (update_subwindow): ditto.
13912         (unmap_subwindow): ditto.
13913         (map_subwindow): ditto
13914         (subwindow_instantiate): ditto.
13915         * glyphs-msw.c (mswindows_update_widget): ditto.
13916         (mswindows_progress_gauge_instantiate): ditto.
13917         (mswindows_tab_control_update): ditto.
13918         * glyphs-x.c (x_update_widget): ditto.
13919         (x_widget_instantiate): ditto.
13920         (x_tab_control_instantiate): ditto.
13921         (x_tab_control_update): ditto.
13922         * event-msw.c (mswindows_wnd_proc): ditto
13923
13924         * glyphs-widget.c (image_instantiator_layout): use
13925         subwindow_decode_domain.
13926         (image_instantiator_buttons): ditto.
13927         (image_instantiator_edit_fields): ditto.
13928         (image_instantiator_combo_box): ditto.
13929         (image_instantiator_scrollbar): ditto.
13930         (image_instantiator_progress_guage): ditto.
13931         (image_instantiator_tree_view): ditto.
13932         (image_instantiator_tab_control): ditto.
13933         (image_instantiator_labels): ditto.
13934         (image_instantiator_layout): ditto.
13935
13936         * glyphs.c: add instance error checking to many functions.
13937         (instantiate_image_instantiator): decode device from cache_domain.
13938         (image_instantiate): partially rewrite by using
13939         decode_image_instantiator_domain to determine what domain the
13940         instance needs to be cached in.
13941         (decode_image_instantiator_domain): new function. Determine what
13942         domain the image needs to be cached in.
13943         (check_window_subwindow_cache): new error checking function.
13944         (check_instance_cache_mapper): ditto.
13945         (check_image_instance_structure): ditto.
13946         (subwindow_decode_domain): new function. Encodes a window as a
13947         subwindow's cache domain.
13948         (image_instantiator_format_create): use it for text and
13949         subwindows.
13950
13951 2000-04-21  Andy Piper  <andy@xemacs.org>
13952
13953         * glyphs.c (image_instance_device): new function.
13954         (image_instance_frame): new function.
13955         (image_instance_window): new function.
13956         (image_instance_live_p): new function.
13957
13958         * window.c (mark_window_as_deleted): reset the subwindow_instance_
13959         cache to nil.
13960
13961         * glyphs.h (struct Lisp_Image_Instance): device->domain.
13962         (IMAGE_INSTANCE_DOMAIN): new accessor.
13963         (XIMAGE_INSTANCE_DOMAIN): ditto.
13964
13965         * glyphs-x.c (x_finalize_image_instance): device->domain.
13966
13967         * glyphs-msw.c (init_image_instance_geometry): device->domain.
13968         (mswindows_finalize_image_instance): ditto.
13969
13970         * glyphs-eimage.c (jpeg_instantiate): device->domain.
13971         (gif_instantiate): ditto.
13972         (png_instantiate): ditto.
13973         (tiff_instantiate): ditto.
13974
13975         * glyphs.c (instantiate_image_instantiator): use domain rather
13976         than device.
13977         (mark_image_instance): device -> domain.
13978         (print_image_instance): ditto.
13979         (finalize_image_instance): ditto.
13980         (image_instance_equal): ditto.
13981         (allocate_image_instance): ditto.
13982         (Fcolorize_image_instance): ditto.
13983         (query_string_geometry): ditto.
13984         (image_instantiate): ditto
13985         (query_string_font): ditto.
13986         (image_instantiate): ditto.
13987         (update_subwindow): ditto.
13988         (unmap_subwindow): ditto.
13989         (map_subwindow): ditto.
13990         (subwindow_instantiate): ditto.
13991
13992         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
13993         (DOMAIN_FRAME): ditto.
13994         (DOMAIN_WINDOW): ditto.
13995         (DOMAIN_LIVE_P): ditto.
13996         (XDOMAIN_DEVICE): ditto.
13997         (XDOMAIN_FRAME): ditto.
13998         (XDOMAIN_WINDOW): ditto.
13999
14000         * specifier.c (Fvalid_specifier_domain_p): add image instances as
14001         a valid specifier domain.
14002
14003 2000-04-19  Andy Piper  <andy@xemacs.org>
14004
14005         * glyphs-widget.c (syms_of_glyphs_widget): remove
14006         widget-callback-current-channel.
14007         (vars_of_glyphs_widget): ditto.
14008         * glyphs.h: ditto
14009
14010         * gui.c (get_gui_callback): revert to previous behaviour.
14011
14012 2000-04-18  Andy Piper  <andy@xemacs.org>
14013
14014         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
14015         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
14016         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
14017
14018         * glyphs.c (image_instance_equal): add margin_width.
14019         (image_instance_hash): ditto.
14020
14021         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14022         (layout_query_geometry): ditto.
14023         (layout_layout): ditto.
14024         (syms_of_glyphs_widget): add margin-width.
14025         (image_instantiator_layout): allow margin-width.
14026
14027         * glyphs.c (update_widget_instances): make a normal function.
14028         (syms_of_glyphs): remove Qupdate_widget_instances.
14029         * glyphs.h: ditto.
14030
14031         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14032         so that we don't corrupt ideas about the last event or
14033         command. Remove widget-callback-current-channel fiddling.
14034         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14035
14036 2000-05-01  Martin Buchholz <martin@xemacs.org>
14037
14038         * XEmacs 21.2.33 is released.
14039
14040 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14041
14042         * make-src-depend: Allow dots in header file name.
14043
14044 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14045
14046         * mule-charset.h (struct charset_lookup): Add
14047         next_allocated_1_byte_leading_byte and
14048         next_allocated_2_byte_leading_byte.
14049         * mule-charset.c: Move above two variables so that those values
14050         will be dumped.
14051
14052 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14053
14054         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14055         when string length is zero.
14056         (find_charsets_in_emchar_string): Ditto.
14057
14058 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14059
14060         * lisp.h: extern Qdialog and Qmenubar.
14061
14062         * gui-x.c: added events.h.
14063                 also fixed typo which made the file uncompilable.
14064
14065         * general.c: Added Qmenubar and Qdialog
14066
14067 2000-04-28  Ben Wing  <ben@xemacs.org>
14068
14069         * frame-msw.c (mswindows_init_frame_1):
14070         * frame-msw.c (mswindows_mark_frame):
14071         * event-msw.c (mswindows_enqueue_dispatch_event):
14072         * console-msw.h:
14073         * console-msw.h (struct mswindows_frame):
14074         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14075         there are now three hash tables for callbacks.
14076         mswindows_enqueue_dispatch_event is no longer static.
14077
14078         * dialog-x.c (maybe_run_dbox_text_callback):
14079         * dialog-x.c (dbox_descriptor_to_widget_value):
14080         switch to new cons3 form for callbacks.
14081
14082         * glyphs-msw.c (mswindows_register_gui_item):
14083         * glyphs-msw.c (mswindows_widget_instantiate):
14084         * glyphs-msw.c (add_tree_item):
14085         * glyphs-msw.c (add_tab_item):
14086         new image instance parameter, so it can be passed to callback-ex.
14087         respect :callback-ex as well as :callback.
14088
14089         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14090         add :callback-ex.
14091
14092         * glyphs.c (print_image_instance):
14093         prettify, e.g. now prints widget type.
14094
14095         * gui-x.h:
14096         certain funs have new image instance parameter.
14097
14098         * gui.c:
14099         * gui.c (get_gui_callback):
14100         * gui.c (gui_item_add_keyval_pair):
14101         * gui.c (gui_item_init):
14102         * gui.c (gui_add_item_keywords_to_plist):
14103         * gui.c (mark_gui_item):
14104         * gui.c (gui_item_hash):
14105         * gui.c (gui_item_equal):
14106         * gui.c (copy_gui_item):
14107         * gui.c (syms_of_gui):
14108         recognize callback-ex in a number of places.
14109         also, fix the annoying "can't get out of yes-no dialog" bug.
14110
14111         * gui.h:
14112         * gui.h (struct Lisp_Gui_Item):
14113         recognize callback-ex in a number of places.
14114
14115         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14116         new parameter in button_item_to_widget_value.
14117
14118         * glyphs-x.c (x_update_widget):
14119         * glyphs-x.c (x_button_instantiate):
14120         * glyphs-x.c (x_button_update):
14121         * glyphs-x.c (x_progress_gauge_instantiate):
14122         * glyphs-x.c (x_edit_field_instantiate):
14123         * glyphs-x.c (x_combo_box_instantiate):
14124         * glyphs-x.c (x_tab_control_instantiate):
14125         * glyphs-x.c (x_label_instantiate):
14126         new image instance parameter in various places.
14127
14128         * event-Xt.c:
14129         * event-Xt.c (enqueue_Xt_dispatch_event):
14130         this fun gets exported.
14131
14132         * gui-msw.c:
14133         * gui-msw.c (mswindows_handle_gui_wm_command):
14134         handle both :callback and :callback-ex, and generate our own
14135         event because it's one of the callback-ex arguments.
14136
14137         * gui-x.c:
14138         * gui-x.c (popup_selection_callback):
14139         handle both :callback and :callback-ex, and generate our own
14140         event because it's one of the callback-ex arguments.
14141         * gui-x.c (button_item_to_widget_value):
14142         * gui-x.c (gui_items_to_widget_values_1):
14143         * gui-x.c (gui_item_children_to_widget_values):
14144         * gui-x.c (gui_items_to_widget_values):
14145         new image instance parameter in various places.
14146
14147         * fns.c (Freplace_list):
14148         fix small typo in doc string.
14149
14150         * lisp.h:
14151         declare enqueue_Xt_dispatch_event.
14152
14153 2000-04-28  Ben Wing  <ben@xemacs.org>
14154
14155         * buffer.c:
14156         * buffer.c (Frecord_buffer):
14157         * buffer.c (syms_of_buffer):
14158         delete record-buffer-hook.
14159
14160         * fns.c:
14161         * fns.c (Freplace_list):
14162         * fns.c (syms_of_fns):
14163         new primitive replace-list.
14164
14165         * frameslots.h:
14166         slot for old buffer-alist.
14167
14168         * lisp.h:
14169         exfun replace-list.
14170
14171         * redisplay.c:
14172         * redisplay.c (redisplay_frame):
14173         * redisplay.c (syms_of_redisplay):
14174         * redisplay.c (vars_of_redisplay):
14175         new hook buffer-list-changed-hook.
14176         call it.
14177
14178 2000-04-27  Ben Wing  <ben@xemacs.org>
14179
14180         * extents.h: extern in_modeline_generation.
14181
14182         * redisplay.c (generate_formatted_string_db): set
14183         in_modeline_generation.
14184
14185         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14186         flags if in modeline generation.  otherwise frame-modified-tick
14187         is ticked far too often.
14188         Declare in_modeline_generation.
14189
14190 2000-04-26  Ben Wing  <ben@xemacs.org>
14191
14192         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14193         option.
14194         (vars_of_emacs): add quick-build as an error-checking option.
14195         A bit kludgy, but there doesn't seem much point in creating
14196         a real var for this.
14197
14198         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14199
14200 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14201
14202         * redisplay.h (struct display_line): Add a new variable,
14203         line_continuation.
14204
14205         * redisplay.c (create_text_block): Set dl->line_continuation if
14206         the line continues.
14207         (create_string_text_block): Ditto.
14208         (regenerate_window_incrementally): Use line_continuation instead
14209         of searching continuation glyph.
14210         (add_margin_runes): Call add_glyph_rune.
14211         (add_glyph_rune): Handle margin glyph.
14212
14213 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14214
14215         * filelock.c (fill_in_lock_file_name):
14216         ANSIfy.
14217         Check for IS_ANY_SEP instead of '/'.
14218         (lock_file_1):
14219         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14220         Never check errno without first seeing that system call failed.
14221         (unlock_file): Add GCPRO.
14222         (Flock_buffer): Fix docstring.
14223         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14224
14225 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14226
14227         * sysdep.c (get_pty_max_bytes):
14228         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14229         strings longer than 252 bytes.
14230
14231         * md5.c: Unconditionally include ANSI header <limits.h>
14232
14233         * glyphs-x.c (convert_EImage_to_XImage):
14234         * lisp-union.h (union Lisp_Object):
14235         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14236
14237 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14238
14239         * filelock.c (current_lock_owner): Remove unused variable o, p.
14240
14241 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14242
14243         * callint.c: Remove multiply defined symbol Qlet
14244         (syms_of_callint): ditto.
14245
14246 2000-04-14  Andy Piper  <andy@xemacs.org>
14247
14248         * general.c (syms_of_general): add last-command, this-command, let
14249         and funcall.
14250
14251         * lisp.h: declare various symbols.
14252
14253         * glyphs.h: declare Qwidget_callback_current_channel;
14254
14255         * glyphs-widget.c (syms_of_glyphs_widget): add
14256         Qgui_callback_current_channel.
14257         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14258
14259         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14260         widget-callback-current-channel when invoking the interactive
14261         arg. Also bind last-command and next-command when invoking the
14262         widget updates.
14263         * gui-x.c (popup_selection_callback): ditto.
14264
14265         * gui.c (get_gui_callback): massage args so that we are always
14266         calling eval. This allows us to add our own variable bindings
14267         outside.
14268
14269         * glyphs-x.c (x_button_instantiate): use
14270         gui_items_to_widget_values since this is GC safe.
14271         (x_progress_gauge_instantiate): ditto.
14272         (x_edit_field_instantiate): ditto.
14273         (x_label_instantiate): ditto.
14274
14275         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14276         (emacs_Xt_event_widget_focus_out): new function
14277         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14278         focus.
14279         (emacs_Xt_event_add_widget_actions): new function. add focus
14280         functions as actions.
14281         (init_event_Xt_late): use it.
14282
14283 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14284
14285         * event-stream.c (Fdispatch_event): Doc fix.
14286
14287 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14288
14289         * postgresql.c: Remove all references to PQsetenv*.
14290
14291         * postgresql.h: Remove references to PGsetenvHandler object.
14292         * lrecord.h (lrecord_type): Ditto.
14293
14294 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14295
14296         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14297         real_heigh and real_width members, and accessor macros for these.
14298
14299         * glyphs-msw.c (init_image_instance_geometry): New function.
14300         (init_image_instance_from_dibitmap): Use it.
14301         (mswindows_resource_instantiate): Use it.
14302         (init_image_instance_from_xbm_inline): Use it.
14303         (mswindows_initialize_image_instance_mask): Use real bitmap
14304         geometry.
14305         (mswindows_create_resized_bitmap): Ditto.
14306         (mswindows_create_resized_mask): Ditto.
14307
14308         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14309         and bitmap to their surface size.
14310
14311 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14312
14313         * process-unix.c (unix_send_process): Guard against process MIA
14314         after Faccept_process_output.
14315
14316 2000-04-11  Ben Wing  <ben@xemacs.org>
14317
14318         * eval.c (unbind_to_hairy): fix brokenness introduced by
14319         nanosecond speed improvements.
14320
14321 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14322
14323         * sunplay.c (init_device): To play sounds correctly, the device
14324         apparently needs to be initialized at least once by XEmacs.  Make
14325         it so.
14326
14327 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14328
14329         * redisplay.c (add_margin_runes): Add text image glyph
14330           handling.
14331
14332 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14333
14334         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14335         gcc is newer than 2.5.
14336
14337 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14338
14339         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14340
14341         * fns.c (size_bit_vector):
14342         * alloc.c (size_vector):
14343         (make_vector_internal):
14344         (make_bit_vector_internal):
14345         (sweep_bit_vectors_1):
14346         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
14347
14348 2000-04-06  Andy Piper  <andy@xemacs.org>
14349
14350         * gmalloc.c (malloc): undo previous change.
14351         (malloc): ditto.
14352         (free): ditto.
14353         (realloc): ditto.
14354
14355 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
14356
14357         * line-number.c (buffer_line_number): Revert to former version.
14358
14359 2000-04-06  Andy Piper  <andy@xemacs.org>
14360
14361         * gmalloc.c (malloc): add error checking.
14362         (malloc): ditto.
14363         (free): ditto.
14364         (realloc): ditto.
14365
14366         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
14367         button_item_to_widget_value arg.
14368
14369         * glyphs-x.c (x_button_instantiate): add extra
14370         button_item_to_widget_value arg.
14371         (x_progress_gauge_instantiate): ditto.
14372         (x_edit_field_instantiate): ditto.
14373         (x_label_instantiate): ditto.
14374
14375         * gui-x.c (gui_items_to_widget_values_1): add extra
14376         button_item_to_widget_value arg.
14377         (button_item_to_widget_value): add extra menu_item_p arg.
14378
14379         * gui-x.h: change signature of button_item_to_widget_value.
14380
14381         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
14382         button_item_to_widget_value arg.
14383
14384 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
14385
14386         * buffer.h (struct buffer): auto_save_modified should be long.
14387
14388 2000-04-05  Andy Piper  <andy@xemacs.org>
14389
14390         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
14391         type.
14392         (button_query_geometry): give a little more room so that athena
14393         buttons fit.
14394
14395 2000-04-05  Andy Piper  <andy@xemacs.org>
14396
14397         * faces.c (complex_vars_of_faces): The widget face should inherit
14398         the font of the gui-element face.
14399
14400 2000-04-04  Andy Piper  <andy@xemacs.org>
14401
14402         * glyphs-x.c (x_button_update): new function. unconditionally
14403         update a button's state when the instance is dirty.
14404         (image_instantiator_format_create_glyphs_x): add x_button_update.
14405         (x_widget_instantiate): remove old resize cruft.
14406
14407 2000-04-02  Andy Piper  <andy@xemacs.org>
14408
14409         * frame.c (change_frame_size_1): The introduction of gutters means
14410         that we need to allow 0 as a potential frame dimension.
14411
14412 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14413
14414         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
14415         image glyph if allow_cursor.
14416         (add_hscroll_rune): Don't allow cursor to border glyph.
14417         (create_text_block): Ditto.
14418
14419         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
14420         text not in buffer.
14421         (redisplay_output_layout): Call ensure_face_cachel_complete for
14422         text image glyph.
14423
14424
14425 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14426
14427         * redisplay.c (add_glyph_rune): Adding text image as text runes.
14428
14429         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
14430         not in buffer
14431
14432         * redisplay-tty.c (tty_output_display_block): Delete the routine
14433         for text image glyph
14434         * redisplay-x.c (x_output_display_block): ditto
14435         * redisplay-msw.c (mswindows_output_display_block): ditto
14436
14437 2000-02-02  Mike Alexander  <mta@arbortext.com>
14438
14439         Note: Some of these were committed by accident as part of other
14440         patches.
14441
14442         * regex.c (regex_compile): Avoid compiler warnings.
14443
14444         * ntproc.c (sys_spawnve): Avoid compiler warnings.
14445
14446         * nt.h: Declare term_ntproc correctly.
14447
14448         * nt.c: Remove incorrect declaration of get_home_directory which
14449         is declared correctly in lisp.h.
14450
14451         * keymap.c (get_keyelt): Avoid compiler warnings.
14452         (raw_lookup_key_mapper): Avoid compiler warnings.
14453
14454         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
14455
14456         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
14457
14458         * filemode.c (mode_string): Avoid compiler warnings.
14459
14460         * file-coding.c (Fcoding_system_aliasee): Add return statement to
14461         avoid warning.
14462
14463         * events-mod.h: Undef some things that winuser.h defines differently.
14464
14465         * data.c (Faset): Avoid compiler warnings.
14466
14467         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
14468
14469 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14470
14471         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
14472         Fall through to simple beep on error.
14473         Replace "extern" by real header file.
14474
14475         * linuxplay.c: Use nativesound.h
14476         (play_sound_data): Return error code. Be less verbose on error.
14477
14478         * sunplay.c: Use nativesound.h
14479         (play_sound_data): Return error code. Be less verbose on error.
14480
14481         * ntplay.c: Use nativesound.h
14482         (play_sound_data): Return fake error code
14483
14484         * sgiplay.c: Use nativesound.h
14485         (play_sound_data): Return error code
14486
14487         * hpplay.c: Use nativesound.h, partially implement
14488         new error code. Break compilation until finished.
14489         (play_sound_data): error code.
14490
14491         * nativesound.h (play_sound_file):
14492           (play_sound_data): Prototype in new header.
14493
14494 2000-03-31  Andy Piper  <andy@xemacs.org>
14495
14496         * glyphs-widget.c: (button_query_geometry): new function. Adjust
14497         for toggle and radio buttons.
14498         (image_instantiator_buttons): use it.
14499
14500 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14501
14502         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
14503         (x_update_horizontal_scrollbar_callback): Return if no mirror was
14504         found. Scrollbar event probably belonged to some old config.
14505
14506 2000-03-31  Andy Piper  <andy@xemacs.org>
14507
14508         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
14509         than 1.
14510         (initialize_widget_image_instance): default layout to
14511         LAYOUT_HORIZONTAL rather than 0.
14512         (widget_instantiate): reverse the item list at the end rather than
14513         every iteration.
14514         (layout_layout): re-code for the border text at the front of the
14515         item list rather than at the end.
14516         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
14517         provided by the user.
14518         (widget_query_geometry): comment.
14519
14520 2000-03-30  Andy Piper  <andy@xemacs.org>
14521
14522         * glyphs-widget.c (image_instantiator_layout): allow standard
14523         widget keywords in layouts.
14524
14525         * gutter.c (output_gutter): cope with nil gutter contents.
14526
14527         * frame.c (Fset_frame_properties): add gutter docs.
14528
14529 2000-03-29  Andy Piper  <andy@xemacs.org>
14530
14531         * toolbar-msw.c (TBSTYLE_FLAT): add.
14532         (mswindows_output_toolbar): minor fiddling.
14533
14534 2000-03-29  Andy Piper  <andy@xemacs.org>
14535
14536         * gutter.c (output_gutter): force gutter size recalculation if
14537         what we are trying to display won't fit.
14538         (update_gutter_geometry): new function. A per-gutter version of
14539         update_frame_gutter_geometry.
14540         (update_frame_gutter_geometry): use it.
14541         (redraw_exposed_gutter): add extra debugging output.
14542
14543 2000-03-28  Mike Alexander  <mta@arbortext.com>
14544
14545         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
14546         (pdump_file_unmap): Implement it on Windows
14547         (pdump_file_get): Save alocated handles for pdump_file_unmap
14548
14549 2000-03-28  Andy Piper  <andy@xemacs.org>
14550
14551         * gui.c (get_gui_callback): treat Quit specially.
14552
14553 2000-03-27  Andy Piper  <andy@xemacs.org>
14554
14555         * glyphs.c (image_instantiate): be careful to check in the same
14556         way we assigned.
14557
14558 2000-03-27  Didier Verna  <didier@xemacs.org>
14559
14560         * config.h.in: define the proper SMART_INCLUDE macro.
14561         handle renaming of `foo_h_path' to `foo_h_file'.
14562
14563         * database.c: ditto.
14564
14565         * emacs.c: ditto.
14566
14567         * linuxplay.c: ditto.
14568
14569         * terminfo.c: ditto.
14570
14571         * tooltalk.h: ditto.
14572
14573 2000-03-27  Andy Piper  <andy@xemacs.org>
14574
14575         * glyphs-msw.c (mswindows_update_widget): make sure the widget
14576         gets updated whenever the face might have changed.
14577
14578 2000-03-26  Mike Alexander  <mta@arbortext.com>
14579
14580         * dumper.c (pdump_resource_free): Fix the comment.
14581
14582 2000-03-21  Olivier Galibert  <galibert@pobox.com>
14583
14584         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
14585
14586 2000-03-22  Mike Alexander  <mta@arbortext.com>
14587
14588         * dumper.c: Include Windows headers on Windows
14589         (pdump_resource_free): Add a body to the function
14590         (pdump_load): exe_name -> exe_path and add some comments.
14591
14592 2000-03-25  Mike Alexander  <mta@arbortext.com>
14593
14594         * gui.c (copy_gui_item_tree): Return a value in all cases
14595
14596 2000-03-21  Didier Verna  <didier@xemacs.org>
14597
14598         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
14599         lwlib/config.h.in.
14600         (SMART_INCLUDE): new macro.
14601         (POSTGRES_INCLUDE): new macro to include postgresql headers from
14602         the proper location.
14603
14604         * postgresql.c: use it.
14605
14606         * inline.c: ditto.
14607
14608 2000-03-24  Andy Piper  <andy@xemacs.org>
14609
14610         * gutter.c (redraw_exposed_gutters): must be "in display" when we
14611         do this.
14612
14613 2000-03-24  Andy Piper  <andy@xemacs.org>
14614
14615         * redisplay-output.c (compare_runes): use image_instance_changed
14616         to detect changes. Do not depend on glyphs_changed, only depend on
14617         dirtiness.
14618          (redisplay_output_layout): add debug messages.
14619         (compare_runes): ditto.
14620
14621         * glyphs.h: declare new functions.
14622         (struct Lisp_Image_Instance): remove percent and associated
14623         accessors.
14624
14625         * gui.h: declare new copying functions.
14626
14627         * gui.c (copy_gui_item_tree): new function.
14628         (copy_gui_item): new function.
14629         (gui_item_id_hash): revert to standard hash.
14630         (gui_item_hash): ditto.
14631         (gui_item_hash_internal): deleted.
14632         (mark_gui_item): mark value.
14633         (gui_item_add_keyval_pair): add value.
14634         (gui_item_init): ditto.
14635         (gui_add_item_keywords_to_plist): ditto.
14636         (gui_item_equal): ditto.
14637         (syms_of_gui): add Q_value.
14638
14639         * glyphs-x.c (x_progress_gauge_update): use pending items and
14640         value for setting the state.
14641         (x_update_widget): don't set items from pending here.
14642
14643         * glyphs-widget.c (update_widget): update items here.
14644         (progress_gauge_set_property): use items for storing value. Put
14645         new value in pending items.
14646
14647         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
14648         items for new value. Convert percent -> value.
14649         (mswindows_tab_control_update): don't update items here.
14650
14651         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
14652         (update_subwindow): ditto.
14653         (image_instance_changed): new function. Compare hash values and
14654         past and present widget items.
14655         (image_instantiate): We more careful about where we instantiate
14656         things.
14657         (image_instantiate): add error checking.
14658
14659         * gutter.c (syms_of_gutter): use -hook.
14660
14661 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
14662
14663         * console-tty.c (Fset_console_tty_input_coding_system): Use
14664         Qkeyboard.
14665         (Fset_console_tty_output_coding_system): Use Qterminal.
14666         (tty_init_console): Use Qkeyboard and Qterminal.
14667
14668 2000-03-21  Ben Wing  <ben@xemacs.org>
14669
14670         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
14671         From Mike Alexander <mta@arbortext.com>.
14672
14673 2000-03-21  Ben Wing  <ben@xemacs.org>
14674
14675         * event-msw.c (mswindows_need_event): Horrible kludge to fix
14676         process brokenness.  Proper implementation to come.
14677         * callproc.c:
14678         Rename call-process-internal to old-call-process-internal.
14679         New impl. in process.el.
14680
14681 2000-03-21  Martin Buchholz  <martin@xemacs.org>
14682
14683         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
14684
14685 2000-03-20  Andy Piper  <andy@xemacs.org>
14686
14687         * glyphs.c (full_list_hash): make hashes of the same elements in
14688         different orders return different values.
14689
14690 2000-03-20  Martin Buchholz <martin@xemacs.org>
14691
14692         * XEmacs 21.2.32 is released.
14693
14694 2000-03-20  Martin Buchholz  <martin@xemacs.org>
14695
14696         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
14697         (DFC_MALLOC_USE_CONVERTED_DATA):
14698         Add aliasing-safe casts to allow use with char* or unsigned char*
14699         lvalues.
14700
14701         * eldap.c (Fldap_open):
14702         (Fldap_search_basic):
14703         (Fldap_add):
14704         (Fldap_modify):
14705         Make C++-compilable.
14706         Make sure GCPRO'ed variables are initialized.
14707         Use temp variables to avoid repeated calls to Flength.
14708
14709 2000-03-16  Martin Buchholz  <martin@xemacs.org>
14710
14711         * sysfile.h:
14712         Make sure PATH_MAX is always defined.
14713         Include limits.h for PATH_MAX.
14714         Deprecate use of MAXPATHLEN.
14715
14716 2000-03-10  Martin Buchholz  <martin@xemacs.org>
14717
14718         * emacs.c: Add reinit_vars_of_fileio.
14719         * symsinit.h: Add reinit_vars_of_fileio.
14720         * fileio.c (reinit_vars_of_fileio): New.
14721         * fileio.c (Fmake_temp_name):
14722         Initialize temp_name random number from microseconds to make
14723         collisions even less likely.  Initialize always at process startup
14724         time.  (make-temp-name) used to return the same file name twice in
14725         a row when PDUMP.
14726         Random stylistic fiddling.
14727         Comment fixes.
14728
14729 2000-03-20  Andy Piper  <andy@xemacs.org>
14730
14731         * glyphs.c (image_instantiate): allow text glyphs to be
14732         instantiated in the minibuffer window.
14733
14734 2000-03-19  Andy Piper  <andy@xemacs.org>
14735
14736         * glyphs.c (image_instance_hash): be careful about which items we
14737         hash on.
14738
14739         * glyphs-widget.c (tab_control_set_property): record into pending
14740         items rather than the actual items.
14741
14742         * glyphs-x.c (x_update_widget): use pending items to update with.
14743
14744         * glyphs-msw.c (mswindows_tab_control_update): use pending items
14745         to update with.
14746
14747         * glyphs.c (mark_image_instance): mark pending items.
14748
14749         * window.c (Fset_window_configuration): record the buffer.
14750         (Fselect_window): totally revert previous change which breaks many
14751         things.
14752
14753 2000-03-18  Andy Piper  <andy@xemacs.org>
14754
14755         * glyphs-msw.c (mswindows_tab_control_update): force selected
14756         item.
14757
14758         * glyphs.c (image_instantiate): don't allow the minibuffer as a
14759         window domain cache, otherwise we get inconsistencies at
14760         startup. There is something fishy at startup which can lead to the
14761         minibuffer being the selected window when the gutter content is
14762         instantiated.
14763
14764         * gui.c (parse_gui_item_tree_list): add probably unnecessary
14765         gcpros.
14766         (parse_gui_item_tree_children): ditto.
14767         (parse_gui_item_tree_item): ditto.
14768
14769         * glyphs.c (Fupdate_widget_instances): return something.
14770
14771 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
14772
14773         * window.c (Fselect_window): Undo 2000-03-17 change.
14774
14775 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
14776
14777         * postgresql.c (Fpq_setenv): Remove this turkey when linking
14778         against v7.0 libraries.  Insta-coredump city until the postgres
14779         folks fix it.
14780
14781 2000-03-17  Andy Piper  <andy@xemacs.org>
14782
14783         * faces.c (complex_vars_of_faces): don't give the widget face an
14784         inherited background pixmap.
14785
14786         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
14787         selected item.
14788
14789         * event-stream.c (Fdispatch_non_command_events): return something.
14790
14791         * gutter.c (output_gutter): use widget face.
14792         (clear_gutter): ditto.
14793
14794         * NEWS: adjust again.
14795
14796         * window.c (Fselect_window): make sure this runs to completion to
14797         avoid oddities with Fset_window_configuration.
14798         (Fcurrent_window_configuration): in general do not save the
14799         minibuffer as the selected window.
14800
14801         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
14802
14803 2000-03-16  Olivier Galibert  <galibert@pobox.com>
14804
14805         * emacs.c (Frunning_temacs_p): Revert previous patch.
14806         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
14807
14808 2000-03-16  Andy Piper  <andy@xemacs.org>
14809
14810         * glyphs-x.c (x_tab_control_update): if no widget values then
14811         return.
14812
14813         * NEWS: update for new features.
14814
14815         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
14816         synthetic event to the native system.
14817         (reinit_vars_of_event_Xt): set force_event_pending to
14818         emacs_Xt_force_event_pending.
14819
14820         * events.h (struct event_stream): add force_event_pending.
14821
14822         * specifier.c (recompute_one_cached_specifier_in_window): add
14823         comment.
14824
14825         * redisplay.c (redisplay_frame): don't call
14826         update_frame_subwindows. Reset subwindow cachels when
14827         subwindows_changed, removing this was an optimization too far.
14828
14829         * redisplay-output.c (compare_runes): reorganize so that we catch
14830         glyph changes when we want them. Set optimize_output when this
14831         would help layouts.
14832         (redisplay_output_layout): remove frame_really_changed, use
14833         optimize_output instead.
14834
14835         * redisplay-msw.c (mswindows_output_display_block): reset
14836         optimize_output after outputting a glyph.
14837         * redisplay-x.c (x_output_display_block): ditto.
14838         * redisplay-tty.c (tty_output_display_block): ditto.
14839
14840         * gutter.c: (specifier_vars_of_gutter): use new spec changed
14841         functions.
14842         (gutter_specs_changed): do specific gutter positions.
14843         (top_gutter_specs_changed): new function. Only update the
14844         specified gutter specs.
14845         (bottom_gutter_specs_changed): ditto.
14846         (left_gutter_specs_changed): ditto.
14847         (right_gutter_specs_changed): ditto.
14848
14849         * gui.c (gui_item_hash_internal): new function, does a real hash.
14850         (gui_item_id_hash): use it.
14851         (gui_item_hash): hash the eval'ed gui_item.
14852
14853         * gui-x.c (popup_selection_callback): send an eval event to call
14854         Fupdate_widget_instances.
14855
14856         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
14857         to call Fupdate_widget_instances.
14858
14859         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
14860         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
14861
14862         * glyphs.c: (update_frame_subwindows): deleted.
14863         (Fupdate_widget_instances): new function for updating the dirty
14864         state of widgets that might have changed.
14865         (syms_of_glyphs): add Qupdate_widget_instances.
14866         (full_list_hash): hash a list completely.
14867         (image_instance_hash): use it for items and properties.
14868
14869         * frame-msw.c (mswindows_size_frame_internal): remove unused
14870         variable.
14871
14872         * faces.h (struct face_cachel): fix comment.
14873
14874         * event-stream.c (Fdispatch_non_command_events): new
14875         function. Process non-command events, forcing an event cycle
14876         beforehand.
14877         (syms_of_event_stream): declare.
14878         (event_stream_force_event_pending): new function. Force an event
14879         on the native event queue so that an event cycle will occur next
14880         time we check.
14881
14882         * event-msw.c:
14883         (struct ntpipe_shove_stream):
14884         (mswindows_enqueue_dispatch_event):
14885         (mswindows_dequeue_dispatch_event):
14886         (mswindows_cancel_dispatch_event):
14887         (mswindows_pump_outstanding_events):
14888         (mswindows_drain_windows_queue):
14889         (mswindows_handle_paint):
14890         (mswindows_wnd_proc):
14891         (mswindows_key_to_emacs_keysym):
14892         (get_process_input_waitable):
14893         (emacs_mswindows_delete_stream_pair): re-indent file.
14894         (mswindows_need_event): do not process further fds if the windows
14895         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
14896         fixes the 100% cpu problem.
14897         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
14898
14899 2000-03-15  Olivier Galibert  <galibert@pobox.com>
14900
14901         * alloc.h: New.
14902         * dumper.h: New.
14903         * dumper.c: New.
14904
14905         * emacs.c: Moved dump file searching to dumper.c.
14906         (Frunning_temacs_p): Fixed.
14907
14908         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
14909         last_lrecord_type_index_assigned.
14910
14911 2000-02-20  Olivier Galibert  <galibert@pobox.com>
14912
14913         * symsinit.h: Added reinit parameter to init_console_stream
14914         declaration.
14915
14916         * lisp.h: Added file parameter to pdump_load declaration.
14917
14918         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
14919         support.  Added dump file searching.
14920
14921         * config.h.in: Added EMACS_PROGNAME.
14922
14923         * console-stream.c (init_console_stream): Fix reinitialisation
14924         when running from temacs.
14925
14926         * alloc.c (pdump): Add id support.
14927         (pdump_load): Add file parameter and signature/id support.
14928
14929         * Makefile.in.in: Add full pdump support.
14930
14931 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
14932
14933         * postgresql.c: Update documentation to reflect latest code
14934         status.
14935         (print_result): Show tuple counts in printed representation when
14936         appropriate.
14937         (Fpq_put_nbytes): MULE-ize.
14938         (Fpq_get_line_async): Ditto.
14939
14940 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14941
14942         * postgresql.c (Fpq_lo_import): Fix return value.
14943         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
14944
14945 2000-03-13  Ben Wing  <ben@xemacs.org>
14946
14947         * alloc.c (pdump_load):
14948         Fix compile warning under mswin.
14949
14950 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14951
14952         * postgresql.c: Mule-ization, bug fixes.
14953         Use PG_CODING to encapsulate coding system name changes.
14954         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
14955         (pg-coding-system): Create.
14956
14957         (Fpq_conn_defaults): Mule-ize.
14958         (Fpq_connectdb): Mule-ize & bug fix.
14959         (Fpq_connect_start): Mule-ize.
14960         (Fpq_set_client_encoding): Mule-ize.
14961         (Fpq_finish): Document `DEAD' connection status.
14962         (Fpq_clear): Ditto.
14963         (Fpq_pgconn): Mule-ize.
14964         (Fpq_exec): Mule-ize & bug fix.
14965         (Fpq_send_query): Ditto.
14966         (Fpq_get_result): Ditto.
14967         (Fpq_res_status): Mule-ize.
14968         (Fpq_result_error_message): Mule-ize.
14969         (Fpq_ntuples): fix comments.
14970         (Fpq_fname): Mule-ize.
14971         (Fpq_fnumber): Mule-ize.
14972         (Fpq_ftype): fix comments.
14973         (Fpq_get_value): Mule-ize.
14974         (Fpq_cmd_status): Ditto.
14975         (Fpq_cmd_tuples): Ditto.
14976         (Fpq_oid_value): Ditto.
14977         (Fpq_notifies): Ditto.
14978         (Fpq_lo_import): Ditto.
14979         (Fpq_lo_export): Ditto.
14980         (Fpq_get_line): Ditto.
14981         (Fpq_put_line): Mule-ize and bug fix.
14982         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
14983
14984 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14985
14986         * postgresql.c (vars_of_postgresql): Mule-ize.
14987         (Fpq_conn_defaults): Ditto.
14988
14989 2000-03-12  Ben Wing  <ben@xemacs.org>
14990
14991         * alloc.c (Fmake_byte_code):
14992         * alloc.c (debug_string_purity_print):
14993         * alloc.c (pdump_backtrace):
14994         * alloc.c (pdump_get_indirect_count):
14995         * alloc.c (pdump_register_sub):
14996         * alloc.c (pdump_register_object):
14997         * alloc.c (pdump_register_struct):
14998         * alloc.c (pdump_dump_data):
14999         * alloc.c (pdump_reloc_one):
15000         Minor cleanups.
15001
15002         * console-msw.c:
15003         * console-msw.c (GetConsoleHwnd):
15004         * console-msw.c (msw_hide_console):
15005         * console-msw.c (msw_show_console):
15006         * console-msw.c (msw_ensure_console_buffered):
15007         * console-msw.c (msw_output_console_string):
15008         * console-msw.c (console_type_create_mswindows):
15009
15010         a) Added functions to manipulate the console window for use with
15011         shell support.
15012
15013         b) Added support for writing text to the console, which is now
15014         used under Windows when xemacs is not being run non-interactively,
15015         to write text that would otherwise be destined for stdout because
15016         under these circumstances, text written to stdout tends to
15017         disappear and not be seen.
15018
15019         * console-msw.h:
15020         * event-Xt.c:
15021         * event-Xt.c (x_event_to_emacs_event):
15022         * event-Xt.c (describe_event_window):
15023         * events-mod.h (XEMACS_MOD_CONTROL):
15024         * events.c:
15025         * events.c (Fmake_event):
15026         * events.c (character_to_event):
15027         * events.c (event_to_character):
15028         * events.c (format_event_object):
15029         * events.c (Fevent_modifiers):
15030         * events.h:
15031         * events.h (struct key_data):
15032         * events.h (struct button_data):
15033         * events.h (struct misc_user_data):
15034         * frame-x.c (Fcde_start_drag_internal):
15035         * frame-x.c (Foffix_start_drag_internal):
15036         * gpmevent.c (Freceive_gpm_event):
15037         * keymap.c:
15038         * keymap.c (bucky_sym_to_bucky_bit):
15039         * keymap.c (control_meta_superify):
15040         * keymap.c (make_key_description):
15041         * keymap.c (keymap_lookup_directly):
15042         * keymap.c (create_bucky_submap):
15043         * keymap.c (keymap_store):
15044         * keymap.c (define_key_check_and_coerce_keysym):
15045         * keymap.c (define_key_parser):
15046         * keymap.c (define_key_alternate_name):
15047         * keymap.c (Fdefine_key):
15048         * keymap.c (raw_lookup_key_mapper):
15049         * keymap.c (struct map_keymap_unsorted_closure):
15050         * keymap.c (map_keymap_unsorted_mapper):
15051         * keymap.c (map_keymap_sort_predicate):
15052         * keymap.c (map_keymap_sorted):
15053         * keymap.c (accessible_keymaps_mapper_1):
15054         * keymap.c (where_is_recursive_mapper):
15055         * keymap.c (describe_map_mapper):
15056         * keymap.c (describe_map_sort_predicate):
15057         * keymap.c (describe_map):
15058         * keymap.c (complex_vars_of_keymap):
15059         And a number of other files, the key modifier preprocessor
15060         constants that xemacs uses have names that conflict with constants
15061         defined under MS Windows for other purposes, so they were renamed
15062         to begin with the prefix XEMACS_. The variables that hold such
15063         modifiers were changed to consistently be of type int to fix
15064         various compile warnings.
15065
15066         * console.c (complex_vars_of_console):
15067         * device.c:
15068         * device-msw.c:
15069         * device-msw.c (mswindows_finish_init_device):
15070         * device-msw.c (msw_get_workspace_coords):
15071         * device-msw.c (mswindows_device_system_metrics):
15072         and various other files, added support for a new
15073         device property called offset-workspace which returns the position
15074         of the upper left corner of the workspace area and goes along with
15075         the existing size-workspace property.
15076
15077         * dialog-msw.c:
15078         * dialog-msw.c (push_bufbyte_string_as_unicode):
15079         * dialog-msw.c (mswindows_popup_dialog_box):
15080         Added support for XEmacs-style accelerator specifications in
15081         button text.  Note: I didn't add support for this under X Windows,
15082         and somebody needs to do this.
15083
15084         * dialog.c:
15085         * dialog.c (Fpopup_dialog_box):
15086         Documented the support for accelerators that was just mentioned.
15087
15088         editfns.c (get_home_directory): Changed behavior under Windows
15089         when HOME not defined; former behavior was irretrievably broken.
15090
15091         * emacs.c:
15092         * emacs.c (main_1):
15093         * emacs.c (main):
15094         * minibuf.c (clear_echo_area_internal):
15095         * minibuf.c (echo_area_append):
15096         * print.c:
15097         * print.c (std_handle_out_external):
15098         * print.c (std_handle_out_va):
15099         * print.c (fatal):
15100         * print.c (write_string_to_stdio_stream):
15101         * print.c (output_string):
15102         * print.c (debug_print):
15103         * print.c (debug_backtrace):
15104         * print.c (debug_short_backtrace):
15105         Cleaned up the code that prints text to stdout so that this can be
15106         changed to output into a console window instead under MS Windows,
15107         as described above.
15108
15109         * eval.c:
15110         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15111         * eval.c (internal_catch):
15112         * eval.c (unwind_to_catch):
15113         * eval.c (throw_or_bomb_out):
15114         * eval.c (condition_case_1):
15115         * eval.c (signal_1):
15116         * eval.c (check_error_state_sanity):
15117         * eval.c (call_with_suspended_errors_1):
15118         * eval.c (call_with_suspended_errors):
15119         * eval.c (reinit_vars_of_eval):
15120         Added code to catch throw loops and check for a pesky bug that may
15121         be gone now.
15122
15123         * event-msw.c:
15124         * event-msw.c (key_needs_default_processing_p):
15125         * event-msw.c (mswindows_wnd_proc):
15126         * event-msw.c (mswindows_modifier_state):
15127         * event-msw.c (emacs_mswindows_quit_p):
15128         * event-msw.c (vars_of_event_mswindows):
15129         a) Added support for using the alt key to select menu items as is
15130         standard under MS Windows.  This is controlled using the variable
15131         menu-accelerator-enabled, just like under X Windows.  There is an
15132         option on the options menu to turn this support on.  I really
15133         think that it should be on by default under Windows, but I'm not
15134         going to make this change yet.
15135
15136         b)  Added support for dynamic display size changes under Windows.
15137
15138         * event-stream.c:
15139         * event-stream.c (maybe_echo_keys):
15140         * event-stream.c (Fnext_event):
15141         * event-stream.c (command_builder_find_leaf):
15142         * event-stream.c (lookup_command_event):
15143         * event-stream.c (execute_command_event):
15144         * event-stream.c (pre_command_hook):
15145         * event-stream.c (post_command_hook):
15146         * event-stream.c (syms_of_event_stream):
15147         * event-stream.c (vars_of_event_stream):
15148         * event-stream.c (complex_vars_of_event_stream):
15149         * events.h (struct command_builder):
15150
15151         a) Tried to clean up a little bit the horribly written x-specific
15152         accelerator code that crept into this file.  I moved this code
15153         into menubar-x.c where it belongs. I also needed to move the
15154         command builder structure into the file events.h because it is
15155         accessed directly by this accelerator code.  What I didn't do, but
15156         which should be done at some point, is to properly abstract this
15157         code using device methods instead of the kludgy way that it
15158         currently hooks into the event code.
15159
15160         b) Added the lisp variables this-command-properties and
15161         last-command- properties, which should be used to synchronize two
15162         adjacent commands in preference to playing games with the variable
15163         this-command, which is typically what happens.
15164
15165         c) Added some slightly nasty code to hook into the lisp support
15166         for shifted- motion-key selection.  This is actually necessary for
15167         somewhat complicated reasons, which are described in
15168         simple.el. (NB: I think the proper thing would be to have the code
15169         that calls the pre and post command hooks also call out to generic
15170         lisp functions in simple.el, where all built-in stuff could be
15171         added.  I will think about this more.)
15172
15173         * event-unixoid.c (poll_fds_for_input):
15174         * lread.c (readchar):
15175         * redisplay-tty.c (tty_clear_frame):
15176         * redisplay-x.c (x_get_gc):
15177         * signal.c (interrupt_signal):
15178         And a whole bunch of other files: fixed up places that printed
15179         directly to stderr to instead call the function stderr_out so that
15180         the changes I made under Windows work correctly.
15181
15182         * filemode.c (mode_string):
15183         Warning fixes.
15184
15185         * frame-msw.c:
15186         * frame-msw.c (mswindows_size_frame_internal):
15187         Fixed the computation of frame size and position to keep the frame
15188         within the workspace area, rather than within the physical
15189         dimensions of the screen, so that the frame doesn't overlap window
15190         manager decorations, such as the start menu and toolbar, typically
15191         at the bottom of the screen.
15192
15193         * frame.c (vars_of_frame):
15194         Changed the default frame title format under MS Windows to consist
15195         of buffername-XEmacs, which is standard under MS Windows.  I think
15196         it might be a good idea to change this everywhere because I think
15197         it is superior to the current frame title format, but this is the
15198         kind of change that is likely to cause some people to get annoyed,
15199         so I'm not making it.
15200
15201         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15202
15203         * gui-msw.c (mswindows_handle_gui_wm_command):
15204         Fixed compile warnings.
15205
15206         * gui-x.c:
15207         * gui-x.c (strdup_and_add_accel):
15208         * gui-x.c (button_item_to_widget_value):
15209         * gui-x.h:
15210         Added code to automatically put an accelerator onto the beginning
15211         of menu items that don't have one as is now the standard, and is
15212         described more later.  Also fixed things so that the menu item
15213         name can be an evaluated expression, again a new standard.
15214
15215         * gui.c:
15216         * gui.c (gui_item_add_keyval_pair):
15217         * gui.c (make_gui_item_from_keywords_internal):
15218         * gui.c (gui_add_item_keywords_to_plist):
15219         * gui.c (gui_item_accelerator):
15220         * gui.c (gui_name_accelerator):
15221         * gui.c (gui_item_included_p):
15222         * gui.c (gui_item_display_flush_left):
15223         * gui.c (gui_item_display_flush_right):
15224         * gui.c (parse_gui_item_tree_item):
15225         * gui.c (parse_gui_item_tree_children):
15226         * gui.c (parse_gui_item_tree_list):
15227         Mule-ized.  Cleanup.  GCPRO addition.
15228
15229         * line-number.c (buffer_line_number):
15230         * lisp.h:
15231         * lisp.h (EMACS_INT_MAX):
15232         Added the manifest constant EMACS_INT_MIN corresponding to the
15233         existing constant EMACS_INT_MAX.  This is partially to fix compile
15234         warnings under Windows, and partly for cleanliness.
15235
15236         * menubar-msw.c:
15237         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15238         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15239         * menubar-msw.c (displayable_menu_item):
15240         * menubar-msw.c (populate_menu_add_item):
15241         * menubar-msw.c (populate_or_checksum_helper):
15242         * menubar-msw.c (populate_menu):
15243         * menubar-msw.c (update_frame_menubar_maybe):
15244         * menubar-msw.c (prune_menubar):
15245         * menubar-msw.c (msw_char_is_accelerator):
15246         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15247         * menubar-msw.c (mswindows_handle_wm_command):
15248         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15249         * menubar-msw.c (mswindows_handle_wm_initmenu):
15250         * menubar-msw.c (mswindows_update_frame_menubars):
15251         * menubar-msw.c (mswindows_free_frame_menubars):
15252         * menubar-msw.c (mswindows_popup_menu):
15253         Fixed a bug in handling accelerators where an extra character
15254         would be displayed in the menu item.  Also generalized the
15255         function displayable_menu_item because it is now used by the
15256         dialog box code as well.  And finally, added code in the functions
15257         that create the menubar to extract a list of accelerators for the
15258         top level menubar, which is used in the event code to determine
15259         whether a particular alt-key combination should be used to invoke
15260         a menu item, or should be passed through to access the standard
15261         XEmacs keymap binding for this key combination.
15262
15263         Much needed GCPROing.
15264
15265         * menubar-x.c:
15266         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15267         * menubar-x.c (menu_item_descriptor_to_widget_value):
15268         * menubar-x.c (restore_in_menu_callback):
15269         * menubar-x.c (x_popup_menu):
15270         * menubar-x.c (menu_move_up):
15271         * menubar-x.c (menu_move_down):
15272         * menubar-x.c (menu_move_left):
15273         * menubar-x.c (menu_move_right):
15274         * menubar-x.c (menu_select_item):
15275         * menubar-x.c (command_builder_operate_menu_accelerator):
15276         * menubar-x.c (menu_accelerator_junk_on_error):
15277         * menubar-x.c (command_builder_find_menu_accelerator):
15278         * menubar-x.c (Faccelerate_menu):
15279         * menubar.h:
15280         Moved a whole bunch of code here that was previously in
15281         event-stream.c as described above.  There is also code connected
15282         to the new standard of adding an accelerator to the beginning of
15283         menu items that don't have one as described above and below.
15284
15285         * menubar.c:
15286         * menubar.c (menu_parse_submenu_keywords):
15287         * menubar.c (Fmenu_find_real_submenu):
15288         * menubar.c (Fnormalize_menu_item_name):
15289         * menubar.c (syms_of_menubar):
15290         * menubar.c (vars_of_menubar):
15291         * menubar.c (complex_vars_of_menubar):
15292
15293         a) Cleaned up a bunch of documentation and improved it.
15294
15295         b) XEmacs now automatically adds an accelerator onto the beginning
15296         of any menu items that don't have one.  I did this because there
15297         will inevitably be some menu items on the main menubar that don't
15298         have accelerators on them because the package that adds that
15299         particular menu item hasn't yet been fixed up to have accelerators
15300         in them and it looked rather strange to have some items with and
15301         some items without accelerators, especially since even in items
15302         without accelerators, you can, at least under windows, still
15303         access the item through an accelerator corresponding to the first
15304         character in the item's name.  If people don't like this behavior,
15305         I can add a variable to turn it off optionally, but I'm not sure
15306         this is a good idea because we really do need to have accelerators
15307         on all of the menu items, and if a package doesn't like the
15308         accelerators being put on the first character, then it should put
15309         the accelerators where they belong.
15310
15311         c) I made a behavior change, which is that the descriptor that
15312         specifies the text of the menu item, which formerly was just a
15313         string, can now also be an evaluated expression.  This makes this
15314         descriptor parallel with all of the others, which could also be
15315         evaluated expressions.  This also obviates the need for the
15316         keyword :label, which was previously listed in the documentation
15317         as unimplemented, and which was for the same purpose.
15318
15319         d) GCPROing.
15320
15321         * ntproc.c:
15322         * ntproc.c (new_child):
15323         * ntproc.c (sys_spawnve):
15324         * ntproc.c (find_child_console):
15325         * ntproc.c (sys_kill):
15326         Fixed compile warnings.  By the way, this file should really go
15327         away entirely, and this will happen as soon as Kirill makes his
15328         final round of process cleanups, which affect the function
15329         call-process.
15330
15331         * process-nt.c:
15332         * process-nt.c (struct nt_process_data):
15333         * process-nt.c (find_process_from_pid):
15334         * process-nt.c (send_signal_the_nt_way):
15335         * process-nt.c (enable_child_signals):
15336         * process-nt.c (find_child_console):
15337         * process-nt.c (send_signal_the_95_way):
15338         * process-nt.c (nt_finalize_process_data):
15339         * process-nt.c (ensure_console_window_exists):
15340         * process-nt.c (nt_create_process):
15341         * process-nt.c (nt_kill_child_process):
15342         * process-nt.c (nt_kill_process_by_pid):
15343         * process-nt.c (nt_open_network_stream):
15344         * process-nt.c (vars_of_process_nt):
15345         Copied over code from Emacs 20.5 to correctly send signals to sub-
15346         processes under Windows 95.  Also added code to automatically
15347         create and hide console window when a sub-process is created under
15348         Windows 95, which obviates the need for the separate runemacs.exe
15349         executable, and finally implemented some variables that were
15350         implemented in Emacs 20.5, but previously not in XEmacs.  These
15351         include mswindows- start-process-share-console and
15352         mswindows-start-process-inherit-error-mode. (Both of these only
15353         apply to Windows 95.)
15354
15355         * regex.c (regex_compile): Fixed a compile warning.
15356
15357         * select-msw.c:
15358         * select-msw.c (mswindows_own_selection):
15359         * select-msw.c (mswindows_get_foreign_selection):
15360         * select-msw.c (mswindows_disown_selection):
15361         * select-msw.c (console_type_create_select_mswindows):
15362         * select-msw.c (syms_of_select_mswindows):
15363         Cleaned up the file and implemented the device method
15364         selection_exists_p, which had accidentally been left out.  Also
15365         removed four lisp functions that were remnants from before the
15366         time when the selection code was properly device abstracted.
15367         These functions are no longer needed because there are generic
15368         equivalents, and because they were added recently and don't exist
15369         in FSF Emacs, I don't think there's any problem with just deleting
15370         them.
15371
15372         * sysdep.c:
15373         * sysdep.c (sys_subshell):
15374         Fixed a compile warning, although in this case there's probably
15375         something wrong with this code, and it ought to be looked into
15376         more thoroughly by somebody who understands it.
15377
15378         * window.c:
15379         * window.c (Fwindow_text_area_height):
15380         * window.c (Fwindow_width):
15381         * window.c (Fwindow_full_width):
15382         * window.c (Fwindow_pixel_width):
15383         * window.c (debug_print_window):
15384         * window.c (syms_of_window):
15385         Added functions window-text-area-height and window-full-width,
15386         which are functions for returning various width and height
15387         characteristics of a window. (One of these functions is necessary
15388         for making the file dialog box work correctly, and the other one
15389         was added for completeness.)  Also added a table to the
15390         documentation for window-height which describes the entire scheme
15391         for accessing width and height characteristics of a window.
15392
15393 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15394
15395         * nt.c (fstat): Added a comment for another problem with
15396         non-encapsulated [f]stat(), reported by Adrian Aichner
15397         <aichner@ecf.teradyne.com>.
15398
15399 2000-03-11  Andy Piper  <andy@xemacs.org>
15400
15401         * window.c (make_dummy_parent): initialize subwindow instance
15402         cache.
15403         (Fset_window_configuration): zero extent_modiff.
15404
15405 2000-03-10  Andy Piper  <andy@xemacs.org>
15406
15407         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
15408         more changes can be triggered.
15409         (Fredisplay_frame): ditto.
15410         (Fredraw_device): ditto.
15411         (Fredisplay_device): ditto.
15412         (redisplay_frame): make non-static.
15413         (redisplay_frame): call update_frame_gutter_geometry outside of
15414         display proper.
15415
15416         * gutter.h: declare update_frame_gutter_geometry.
15417
15418         * redisplay.h: declare redisplay_frame.
15419
15420         * gutter.c (update_frame_gutter_geometry): move geometry changes
15421         in update_frame_gutters here. Geometry changes can only occur
15422         outside of redisplay.
15423         (update_frame_gutters): remove geometry change code.
15424         (Fredisplay_gutter_area): make sure that we are in display when we
15425         update and that we have flushed any size changes.
15426
15427 2000-03-11  Andy Piper  <andy@xemacs.org>
15428
15429         * alloc.c (pdump_dump_data): remove i & count shadows.
15430
15431 2000-02-27  Mike Alexander  <mta@arbortext.com>
15432
15433         * sysdep.h: Declare pdump_read_file
15434
15435         * sysdep.c (pdump_read_file): New function
15436
15437         * alloc.c (pdump_load): Call pdump_read_file to get the portable
15438         dump data
15439
15440 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15441
15442         * lrecord.h: add `lrecord_type_pgsetenv'.
15443
15444 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
15445
15446         * symsinit.h: declare (vars|syms)_of* functions.
15447         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
15448
15449 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
15450
15451         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
15452
15453         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
15454         GCCs.
15455
15456         * emacs.c (main_1): Call postgres initialization code.
15457
15458         * postgresql.h: New file.  PostgreSQL RDBMS support.
15459         * postgresql.c: New file.
15460
15461 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
15462
15463         * redisplay-output.c (redisplay_output_display_block): Disable
15464         redundant code.
15465
15466 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15467
15468         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
15469         (Fcanna_henkan_next): Ditto.
15470         (Fcanna_bunsetu_henkou): Ditto.
15471         (Fcanna_henkan_kakutei): Ditto.
15472         (Fcanna_henkan_end): Ditto.
15473         (Fcanna_henkan_quit): Ditto.
15474         (Fcanna_henkan_next): Set retun value correctly.
15475         (c2mu): Use unsigned char instead of signed char.
15476
15477 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15478
15479         * emacs.c (main_1): Always call syms_of_gui.
15480         * inline.c: include gui.h
15481
15482 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15483
15484         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
15485         converted to Lisp_Object.
15486         (Qtop_bottom): New variable.
15487         (syms_of_redisplay): Initialize it.
15488         * redisplay.h (Vvisible_bell): Ditto.
15489         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
15490         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
15491         only flash top and bottom.
15492
15493 2000-03-08  Andy Piper  <andy@xemacs.org>
15494
15495         * buffer.c (Frename_buffer): record new buffer name the right way.
15496
15497 2000-03-08  Andy Piper  <andy@xemacs.org>
15498
15499         * glyphs.c (update_subwindow): increase hash depth so that widget
15500         items get picked up properly.
15501
15502         * redisplay-output.c (compare_runes): increase hash depth so that
15503         widget items get picked up properly.
15504
15505 2000-03-08  Andy Piper  <andy@xemacs.org>
15506
15507         * gutter.c (output_gutter): add some debug.
15508
15509         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
15510         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
15511         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
15512
15513         * redisplay-output.c (compare_runes): use display_hash to
15514         determine if glyphs really are not the same.
15515
15516         * glyphs.c (update_subwindow): check display_hash to see if
15517         anything really needs to be updated. If not then do
15518         nothing. Record the display_hash after updating.
15519         (image_instance_equal): compare the image_instance face also.
15520
15521 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
15522
15523         * redisplay.h: Fix comment style.
15524
15525 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15526
15527         * consle-msw.h (struct mswindows_frame):
15528         Added new member paint_pending to indicate whether a WM_PAINT
15529         magic event has been queued for this frame.
15530
15531         * event-msw.c (mswindows_drain_windows_queue):
15532         Don't queue a WM_PAINT magic event if one is already queued.
15533         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
15534
15535         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
15536
15537 2000-03-07  Didier Verna  <didier@xemacs.org>
15538
15539         * dired.c: #include `regex.h' after `sysfile.h'.
15540
15541 2000-03-06  Martin Buchholz  <martin@xemacs.org>
15542
15543         * sound.c (init_nas_sound): Fix compiler warning.
15544
15545         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
15546         (FREE_STRUCT_P):
15547         (MARK_STRUCT_AS_FREE):
15548         (MARK_STRUCT_AS_NOT_FREE):
15549         Make `gcc -fstrict-aliasing' work properly.
15550
15551 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15552
15553         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
15554         (mswindows_delete_device): Call CoUnnitialize().
15555
15556         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
15557
15558 2000-02-25    <CraigL@DyCon.com>
15559
15560         * process-nt.c: MinGW now has <shellapi.h>, but still needs
15561         <errno.h>.
15562
15563         * sysdep.c: This extern declaration for environ prevents MinGW
15564         from finding the variable in CRTDLL.DLL.
15565
15566         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
15567         windows headers.
15568         (SHGFI_EXETYPE): ..
15569         (WM_MOUSEWHEEL): ..
15570         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
15571         definitions.
15572         (MMRESULT): Removed, now defined in cygwin's windows headers.
15573         (TIMECAPS): ..
15574         (uid_t,gid_t,pid_t,ssize_t): ..
15575         (_timeb): Removed, MinGW defines both _timeb and timeb.
15576         (HAVE_H_ERRNO): Added.
15577         (HAVE_TZNAME): Added, configure is not detecting this.
15578
15579 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
15580
15581         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
15582         * syntax.c (syntax_match): Use it.
15583
15584         * cmds.c: Import auto-fill-chars from FSF Emacs.
15585         (Vauto_fill_chars): New variables.
15586         (internal_self_insert): Check Vauto_fill_chars.
15587         (vars_of_cmds):
15588         Declare auto-fill-chars as a Lisp variable and initialize it.
15589
15590 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15591
15592         * fileio.c (Fmake_symbolic_link):
15593         (Ffile_symlink_p):
15594         Run handlers even if local machine doesn't have symlinks.
15595
15596 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15597
15598         * event-msw.c (mswindows_drain_windows_queue):
15599         Don't generate paint magic events for non-XEmacs frames.
15600
15601 2000-03-05  Andy Piper  <andy@xemacs.org>
15602
15603         * redisplay.c (redisplay_frame): generate_displayable_area and
15604         friends assumes that we are not in GC, we therefore have to make
15605         sure that this doesn't happen.
15606
15607         * gutter.c (calculate_gutter_size): generate_displayable_area
15608         assumes that we are not in GC, we therefore have to make sure that
15609         this doesn't happen.
15610
15611 2000-03-05  Martin Buchholz  <martin@xemacs.org>
15612
15613         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
15614
15615 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15616
15617         * redisplay.c (regenerate_window): Make sure we set a sane value
15618         for end_pos even if we jump out of the loop.
15619         (regenerate_window): Answer Ben's question :-).
15620         (start_end_of_last_line): Add may_error argument.
15621         (start_of_last_line):
15622         (end_of_last_line): Pass may_error = 0.
15623         (end_of_last_line_may_error): New function.
15624         (pixel_to_glyph_translation): Use it, so we don't crash in
15625         event_to_glyph.
15626
15627 2000-03-04  Andy Piper  <andy@xemacs.org>
15628
15629         * window.h (struct window): add gutter_extent_modiff.
15630
15631         * window.c (allocate_window): zero out gutter_extent_modiff.
15632
15633         * redisplay.h: declare sync_display_line_structs.
15634
15635         * redisplay.c (add_glyph_rune): add a better comment.
15636
15637         * redisplay-output.c (sync_display_line_structs): made non-static.
15638         (compare_runes): remove unneccesary glyph cachel access.
15639
15640         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
15641
15642         * gutter.c (output_gutter): don't output the gutter if extent
15643         changes only involve extents in buffers. use 4 sets of display
15644         lines.
15645         (gutter_extent_signal_changed_region_maybe): new function. Mark
15646         extents in gutters as changed.
15647         (update_frame_gutters): use 4 sets of display lines.
15648         (reset_gutter_display_lines): ditto.
15649         (free_frame_gutters): ditto.
15650         (redraw_exposed_gutter): force output of gutters.
15651
15652         * frame.h (struct frame): add 4 sets of gutter display lines.
15653
15654         * extents.c: (extent_changed_for_redisplay): signal changes to
15655         extents in strings in the gutter as well as extents in buffers.
15656
15657 2000-03-02  Andy Piper  <andy@xemacs.org>
15658
15659         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
15660
15661         * frame.c (Fmake_frame): make sure the gutters get initialized
15662         after the frame is visible.
15663         (set_frame_selected_window): re-arrange compilation macros a
15664         little.
15665         (change_frame_size_1): mark gutters changed.
15666
15667         * device.c (Fset_device_class): mark gutters changed.
15668
15669 2000-03-01  Andy Piper  <andy@xemacs.org>
15670
15671         * window.c (window_top_frame_gutter_height): deleted.
15672         (window_bottom_frame_gutter_height): ditto.
15673         (window_left_frame_gutter_height): ditto.
15674         (window_right_frame_gutter_height): ditto.
15675         (window_top_gutter_height): don't use them.
15676         (window_bottom_gutter_height): ditto.
15677         (window_left_gutter_width): ditto.
15678         (window_right_gutter_width): ditto.
15679         (Fsplit_window): ditto.
15680         (Fwindow_pixel_edges): don't use border dimensions here.
15681
15682         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
15683         (update_scrollbar_instance): ditto.
15684
15685         * redisplay.c (generate_modeline): don't take gutters into account.
15686         (generate_modeline): ditto.
15687         (redisplay_frame): small gutter display optimization.
15688
15689         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
15690
15691         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
15692         gutters into account.
15693
15694         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
15695         for window position and type.
15696
15697         * gutter.c (get_gutter_coords): fix for frame gutters.
15698         (update_frame_gutters): update frame geometry if the gutters have
15699         changed.
15700         (init_frame_gutters): record current gutter geometries.
15701
15702         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
15703         var.
15704         (mswindows_widget_instantiate): ditto.
15705
15706         * frame.h (struct frame): add current_gutter_bounds.
15707
15708         * frame.c (change_frame_size_1): position window and minibuffer
15709         appropriately taking into account the frame gutters.
15710
15711         * frame-x.c: (x_initialize_frame_size): take into account the
15712         frame gutters.
15713
15714 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15715
15716         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
15717
15718 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15719
15720         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
15721
15722 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15723
15724         * file-coding.c (reset_decoding_stream): Clear previous
15725         detection state when autodetect.
15726
15727 2000-02-29  Didier Verna  <didier@xemacs.org>
15728
15729         * extents.c (set_extent_glyph_1): don't require extents to be
15730         attached.
15731
15732 2000-02-27  Andy Piper  <andy@xemacs.org>
15733
15734         * gutter.c (Fset_default_gutter_position): don't default left and
15735         right gutter visibility to t.
15736         (Fset_default_gutter_position): run
15737         default-gutter-position-changed-hook.
15738         (syms_of_gutter): add default-gutter-position-changed-hook.
15739
15740 2000-02-26  Andy Piper  <andy@xemacs.org>
15741
15742         * specifier.c (Fmake_specifier): add gutter references.
15743
15744         * gutter.h (RAW_WINDOW_GUTTER): new macro.
15745
15746         * lisp.h: declare Fvalid_plist_p.
15747
15748         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
15749         as changed.
15750         (default_gutter_visible_p_changed_in_window): invalidate gutter as
15751         well as its visibility so that it gets reconstructed.
15752         (construct_window_gutter_spec): new function. Construct a string
15753         to be displayed in the gutter from a plist of strings. Take care
15754         to only use elements that are declared as visible.
15755         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
15756         WINDOW_GUTTER.
15757         (gutter_validate): allow plists of strings in the specifier.
15758         (gutter_specs_changed): construct the real_gutter from the gutter
15759         specs using construct_window_gutter_spec.
15760         (gutter_visible_validate): gutter-visible is a new specifier type.
15761         (Fgutter_visible_specifier_p): new function for the new specifier.
15762         (syms_of_gutter): declare gutter-visible and
15763         Fgutter_visible_specifier_p.
15764         (specifier_type_create_gutter): intitalize new gutter-visible
15765         specifier.
15766         (reinit_specifier_type_create_gutter): ditto.
15767         (specifier_vars_of_gutter): use new specifier type for gutter
15768         visibility.
15769         (init_frame_gutters): construct real_gutter correctly.
15770         (Fgutter_specifier_p): beef up documentation.
15771         (Fgutter_size_specifier_p): ditto.
15772
15773         * winslots.h: add real_gutter slots.
15774
15775 2000-02-25  Andy Piper  <andy@xemacs.org>
15776
15777         * device-msw.c: Be kind to older cygwin versions. From Raymond
15778         Toy <toy@rtp.ericsson.se>.
15779
15780         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
15781         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
15782
15783 2000-02-25  Martin Buchholz  <martin@xemacs.org>
15784
15785         * elhash.c (MARK_OBJ): Practice macro hygiene.
15786
15787 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15788
15789         * miscplay.c: s/__inline__/inline/g;
15790         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
15791         (get_device_compdc): INLINE ==> static inline
15792         * *.[ch]: Change INLINE to INLINE_HEADER globally.
15793         find -name '*.h' | \
15794         xargs global-replace \
15795         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
15796
15797 2000-02-25  Andy Piper  <andy@xemacs.org>
15798
15799         * window.c (window_top_frame_gutter_height): new function.
15800         (window_top_window_gutter_height): ditto.
15801         (window_top_gutter_height): use them.
15802         (window_bottom_frame_gutter_height): new function.
15803         (window_bottom_window_gutter_height): ditto.
15804         (window_bottom_gutter_height): use them.
15805         (window_left_window_gutter_width): new function.
15806         (window_left_frame_gutter_width): ditto.
15807         (window_left_gutter_width): use them.
15808         (window_right_window_gutter_width): new function.
15809         (window_right_frame_gutter_width): ditto.
15810         (window_right_gutter_width): use them.
15811         (window_pixel_height): new function. calulate window pixel height
15812         with frame gutter involvement.
15813         (Fsplit_window): calculate new sizes taking frame gutters into
15814         account.
15815         (window_char_height_to_pixel_height): don't include frame gutters.
15816         (window_char_height): use window_pixel_height.
15817         (window_pixheight): rename from window_pixel_height.
15818         (change_window_height): use it.
15819         (window_pixel_height_to_char_height): don't include frame gutters.
15820         (window_char_width_to_pixel_width): ditto.
15821
15822 2000-02-25  Andy Piper  <andy@xemacs.org>
15823
15824         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
15825         if it is.
15826
15827 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15828
15829         * alloc.c (staticpro):
15830         (staticpro_nodump):
15831         (dumpstruct):
15832         (dumpopaque):
15833         (pdump_wire):
15834         (pdump_wire_list):
15835         (compact_string_chars):
15836         (pdump_dump_wired):
15837         Convert:  if (foo) abort();  ==>  assert (! foo);
15838
15839         * eldap.c (Fldap_search_basic):
15840         (Fldap_add):
15841         (Fldap_modify):
15842         (Fldap_delete):
15843         Fix compiler warnings, and possible crashes if (random) return
15844         value were to be used.
15845
15846 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15847
15848         * device-msw.c: Workaround ResetDC failure.
15849
15850         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
15851         applying a devmode.
15852
15853         * redisplay-msw.c (get_frame_dc): Added start_page_p.
15854         (mswindows_text_width): Do not start printer page.
15855
15856         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
15857
15858         * glyphs-msw.c: Added image methods to msprinter console and
15859         msprinter-specific image instantiation.
15860
15861 2000-02-20  Mike Alexander  <mta@arbortext.com>
15862
15863         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
15864         to avoid crashes when selection-sets-clipboard is on
15865         (mswindows_own_selection): ditto
15866
15867 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15868
15869         * glyphs-msw.c:
15870         * redisplay-msw.c (get_frame_dc):
15871         (get_frame_compdc):
15872         * console-msw.h:
15873         * device-msw.c (mswindows_init_device):
15874         (mswindows_delete_device):
15875         (msprinter_init_device):
15876         (msprinter_delete_device):
15877         * frame-msw.c (mswindows_init_frame_1):
15878         (mswindows_delete_frame):
15879         (msprinter_init_frame_3):
15880         (msprinter_delete_frame): Move compatible DC to device object from
15881         frame object, for both mswindows and msprinter. Only one at a time
15882         is needed, it is a real waste to have one per frame!
15883
15884 2000-02-23  Andy Piper  <andy@xemacs.org>
15885
15886         * glyphs.c: add dynamic width and height elements.
15887         (image_instance_equal): ditto.
15888
15889         * glyphs-widget.c (widget_query_geometry): calculate width and
15890         height dynamically if required.
15891         (initialize_widget_image_instance): initialize dynamic dimensions.
15892         (widget_instantiate): pick-up dynamic dimensions.
15893
15894         * glyphs.h (struct Lisp_Image_Instance): add width and height for
15895         dynamic determination. Add appropriate macros.
15896
15897         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
15898         dimensions safe.
15899         (WINDOW_GUTTER_SIZE): ditto.
15900         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
15901
15902         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
15903         inline.
15904         (get_frame_dc): ditto.
15905
15906         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
15907         here.
15908
15909 2000-02-23  Martin Buchholz <martin@xemacs.org>
15910
15911         * XEmacs 21.2.31 is released.
15912
15913 2000-02-22  Ben Wing <ben@xemacs.org>
15914
15915         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
15916
15917 2000-02-22  Andy Piper  <andy@xemacs.org>
15918
15919         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
15920
15921 2000-02-21  Mike Sperber <mike@xemacs.org>
15922
15923         * .dbxrc:
15924         * .gdbinit:
15925         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
15926         variables.
15927
15928 2000-02-21  Mike Sperber <mike@xemacs.org>
15929
15930         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
15931
15932 2000-02-21  Martin Buchholz <martin@xemacs.org>
15933
15934         * XEmacs 21.2.30 is released.
15935
15936 2000-02-20  Martin Buchholz  <martin@xemacs.org>
15937
15938         Performance hacking.
15939         * *.c (syms_of_*):
15940         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
15941         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
15942         * emacs.c (main_1):
15943         * lisp.h (DEFUN):
15944         * console.c (DEFVAR_CONSOLE_LOCAL_1):
15945         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
15946         * symeval.h (DEFVAR_SYMVAL_FWD):
15947         * symbols.c (guts_of_unbound_marker):
15948         Make all c_readonly objects also lisp_readonly and marked for life.
15949         * lrecord.h (struct lrecord_implementation):
15950         Document flags better.
15951         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
15952         * lrecord.h (DECLARE_LRECORD):
15953         * lrecord.h (XSETRECORD):
15954         * lrecord.h (RECORDP):
15955         * lrecord.h (RECORD_TYPEP):
15956         * lrecord.h (RECORD_MARKER): New.
15957         * lrecord.h (error_check_*):
15958         * lrecord.h (CONCHECK_NONRECORD):
15959         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
15960         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
15961         * lrecord.h (set_lheader_implementation):
15962         * lrecord.h (enum lrecord_type): New.
15963         * symeval.h (SYMBOL_VALUE_MAGIC_P):
15964         * alloc.c (disksave_object_finalization_1):
15965         * alloc.c (mark_object):
15966         * alloc.c (lrecord_type_index):
15967         * alloc.c (tick_lcrecord_stats):
15968         * alloc.c (Fgarbage_collect):
15969         * alloc.c (init_alloc_once_early):
15970         * alloc.c (pdump_load):
15971         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
15972         * alloc.c (lrecord_type_index): Delete.
15973         Make lisp object type indexes be constant.
15974           Makes (byte-compile) 5% faster.
15975         Put all marker functions into their own array.
15976           Makes (garbage-collect) 5% faster.
15977         Optimize SYMBOL_VALUE_MAGIC_P.
15978           Makes (byte-compile) 2-3% faster.
15979         * config.h.in (gc_checking_assert): New.
15980         * alloc.c: Use gc_checking_assert().
15981         * .dbxrc: Make compatible with new object type implementation.
15982         * .gdbinit: Make compatible with new object type implementation.
15983         * alloc.c: Delete all symbols defined only for debugging, such as
15984         Lisp_Type_Vector and lrecord_charset.
15985
15986 2000-02-21  Andy Piper  <andy@xemacs.org>
15987
15988         * gui-msw.c (Fmswindows_shell_execute): fix file location
15989         problems.
15990
15991         * buffer.c (Fkill_buffer): remove buffer from alist buffer
15992         unshowing so that set_window_buffer doesn't undo
15993         kill_buffer_hook's hard work.
15994
15995         * glyphs-widget.c (tab_control_query_geometry): don't count the
15996         first item when calculating geometry.
15997
15998         * glyphs.c (map_subwindow): remove redundant code.
15999         (update_frame_subwindows): be more circumspect about when to
16000         update subwindows.
16001
16002         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
16003         when items haven't changed. Update faces if faces have changed as
16004         well as just the widget face.
16005         (x_tab_control_update): Update faces if faces have changed as well
16006         as just the widget face.
16007
16008 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16009
16010         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
16011         registration.
16012         (build_syscolor_string): Use mswindows_color_to_string to try to
16013         get a named color.
16014         (mswindows_device_system_metrics): Reverse the foreground and
16015         background colors so that they match the documentation.
16016
16017         * objects-msw.c: (mswindows_X_color_map): tweak some values so
16018         they match the default Windows palette.
16019         (mswindows_color_to_string): New function.
16020
16021 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16022
16023         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16024
16025 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16026
16027         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16028         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16029
16030         * symbols.c (init_symbols_once_early): Removed obsolete
16031         DATA_SEG_BITS related kludge.
16032         (defvar_magic): Ditto.
16033
16034         * malloc.c: Removed obsolete DATA_SEG_BITS
16035         * ralloc.c: Ditto.
16036         * mem-limits.h: Ditto.
16037
16038         * Makefile.in.in: Removed obsolete HAVE_SHM
16039         * emacs.c: Ditto.
16040
16041 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16042
16043         *  device-msw.c (mswindows_delete_device): Free DDE string
16044         handles.
16045
16046 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16047
16048         * keymap.c (get_keyelt):
16049         * unexnt.c (unexec):
16050         * vm-limit.c (memory_warnings):
16051         * ntheap.c (recreate_heap):
16052         * ntheap.h (UNINIT_PTR):
16053         * select-msw.c (Fmswindows_get_clipboard):
16054         (Fmswindows_set_clipboard):
16055         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16056         * objects-msw.c:
16057         * menubar-msw.c (displayable_menu_item):
16058         * glyphs-msw.c:
16059         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16060         * sysdep.c (sys_subshell):
16061         * process-nt.c (nt_create_process):
16062         * nt.c (normalize_filename):
16063         (dostounix_filename):
16064         (unixtodos_filename):
16065         * ntproc.c (win32_executable_type):
16066         * ntplay.c (play_sound_data_1):
16067         (play_sound_file):
16068         * editfns.c (get_home_directory):
16069         * event-msw.c (struct winsock_stream):
16070         (mswindows_dde_callback):
16071         * device-msw.c (msprinter_init_device):
16072         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16073
16074         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16075         mswindows_clear_toolbar were swapped!
16076
16077         * objects-msw.c:(colormap_t):
16078         (fontmap_t):
16079         * emacs.c (struct standard_args): Fixed const jumble.
16080
16081         * glyphs-widget.c (update_widget): Fixed comparison notation.
16082
16083         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16084
16085         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16086         __declspec(noreturn) syntax.
16087
16088 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16089
16090         * eldap.c (Fldap_open):
16091         (Fldap_search_basic):
16092         (Fldap_add):
16093         (Fldap_modify):
16094         Use new coding system conversion macros.
16095
16096 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16097
16098         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16099
16100 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16101
16102         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16103         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16104
16105         * eldap.c (Qadd, Qreplace): New constant symbols
16106         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16107         interruptions by XEmacs signals
16108         Remove unnecessary calls to slow_down_interrupts and
16109         speed_up_interrupts
16110         (Fldap_search_basic): Renamed from Fldap_search_internal
16111         Added new optional parameter VERBOSE that triggers the
16112         display of progress messages
16113         Remove unnecessary calls to slow_down_interrupts and
16114         speed_up_interrupts
16115         LDAP result code analysis rewritten
16116         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16117         (syms_of_eldap): Define the new symbols and functions
16118
16119
16120 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16121
16122         * realpath.c: Determine PATH_MAX maximally portably.
16123
16124         * insdel.c (bytecount_to_charcount): Optimize.
16125         The function used to be optimized for entirely ASCII sequences.
16126         Now it is optimized for successive characters from the same
16127         charset.  This also wins big for _mostly_ ASCII sequences.
16128
16129         * fileio.c (Ffile_truename): convert return from realpath() using
16130         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16131         - Rewrite GCPROing slightly.
16132
16133         * sysdep.c (sys_open): Do filename conversion, like all other
16134         sys_* functions.  Fixes bug:
16135         (let ((file-name-coding-system 'iso-8859-2))
16136            (write-region x y latin2-name))
16137         ==> writes filename using internal encoding.
16138
16139 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16140
16141         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16142         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16143         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16144         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16145         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16146         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16147         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16148         (CONST_IF_NOT_DEBUG): Delete.
16149         * alloc.c (this_one_is_unmarkable): Delete.
16150         (mark_object): Don't check for this_one_is_unmarkable. Use the
16151         c_readonly flag instead.
16152         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16153
16154 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16155
16156         * event-msw.c (mswindows_drain_windows_queue):
16157         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16158         away redundant repaint events.
16159
16160 2000-02-17  Andy Piper  <andy@xemacs.org>
16161
16162         * redisplay.h: declare mark_redisplay_structs.
16163
16164         * redisplay.c (redisplay_window):
16165         (redisplay_frame): don't check subwindows_state_changed.
16166         (mark_redisplay): mark gutters here.
16167
16168         * glyphs.c: (instantiate_image_instantiator): always layout if we
16169         haven't done so already.
16170         (allocate_image_instance): don't mark as dirty.
16171         (update_subwindow): bind inhibit_quit.
16172
16173         * gutter.c (mark_gutters): new function.
16174
16175         * glyphs-x.c (x_update_widget): Always resize to get round a
16176         widget bug.
16177
16178         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16179         breaking absolutely everything.
16180
16181         * gutter.h: declare mark_gutters.
16182
16183 2000-02-16  Martin Buchholz <martin@xemacs.org>
16184
16185         * XEmacs 21.2.29 is released.
16186
16187 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16188
16189         * fns.c (size_bit_vector): Fix computation of the size.
16190
16191 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16192
16193         * *.[ch]: Change CONST to const globally.
16194         find -name '*.[ch]' | \
16195         xargs global-replace \
16196         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16197         - Remove vestigial references to CONST_IS_LOSING
16198
16199 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16200
16201         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16202         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16203         events instead of dispatching them directly.
16204         (mswindows_handle_paint): New function to do repainting.
16205         (mswindows_wnd_proc):
16206         (emacs_mswindows_handle_magic_event): Call above function.
16207
16208 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16209
16210         * objects-msw.c (mswindows_create_font_variant): Return the new
16211         font handle.
16212         (initialize_font_instance): Get font metrics from the underlined
16213         variant of the font to cope with the case where the underlined
16214         font has a bigger descent.
16215
16216 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16217
16218         * gui.c (gui_item_accelerator): Return the first underlined
16219         character in item name.
16220
16221 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16222
16223         * lisp.h: Added Qprinter.
16224
16225         * general.c (syms_of_general): Initialized it.
16226
16227         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16228         (get_frame_dc):
16229         (get_frame_compdc): Made inline.
16230
16231         * console.h (struct console_methods): Added eject_page method.
16232
16233         * frame.h: Added FRAME_DISPLAY_P and friends.
16234         Aligned backslahes in many macros in more readable fashion.
16235         Added page_number to struct frame, and an accessor macro
16236         for it.
16237
16238         * defice.h: Added DEVICE_DISPLAY_P and friends.
16239
16240         * device.c (Fdevice_printer_p): Used these.
16241
16242         * frame.c (allocate_frame_core): Initialize page number.
16243         (Fprint_job_page_number):
16244         (Fprint_job_eject_page): Implemented.
16245
16246         * frame-msw.c (msprinter_eject_page): Added method.
16247         (msprinter_start_page): Added.
16248
16249         * window.c (Fwindow_truncated_p): Fixed docstring.
16250         (Fwindow_last_line_visible_height): Implemented.
16251
16252 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16253
16254         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16255
16256 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16257
16258         * syntax.c (scan_words): Always advance at least one character.
16259
16260 2000-02-13  Andy Piper  <andy@xemacs.org>
16261
16262         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16263         to make sure the glyph is in the cachels.
16264
16265         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16266         global image instance flag.
16267         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16268         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16269
16270         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16271         (Fset_image_instance_property): mark layout as changed.
16272         (invalidate_glyph_geometry_maybe): mark layout as changed.
16273         (glyph_width): use new NEEDS_LAYOUT macro.
16274         (glyph_ascent): ditto.
16275         (glyph_descent): ditto.
16276         (glyph_height): ditto.
16277         (image_instance_layout): mark layout as clean after laying out.
16278         (update_subwindow): don't mark layout as clean here.
16279
16280         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16281         should no longer be needed.
16282
16283         * glyphs-x.c (x_update_widget): sanitize asserts.
16284         (x_finalize_image_instance): sanitize assignment to widgets.
16285
16286         * glyphs-widget.c (widget_instantiate): don't need to clear the
16287         layout flag here.
16288
16289 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16290
16291         * sysdep.c (getcwd): Use standard prototype.
16292         * sysdep.h (getcwd): Use standard prototype.
16293
16294         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16295         (sequence, start, end).
16296         Remove redundant type checking.
16297         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16298         view of `caller-protects') to avoid a crash where the real fix was
16299         found elsewhere.
16300
16301 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16302
16303         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16304
16305         * s/sol2.h: Remove feature macro initialization.
16306
16307         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16308         (vector_hash): New.  Code from internal_hash.
16309         * lrecord.h:
16310         Fix up allocation subsystem comments.
16311
16312         * config.h.in: Add __EXTENSIONS__ for Solaris.
16313
16314         * systime.h (EMACS_GETTIMEOFDAY): New.
16315         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16316         Remove Solaris-specific code.
16317         Use void* for the (ignored) second arg for gettimeofday().
16318
16319         * elhash.c (hash_table_hash): Implement it, finally.
16320         * elhash.c:  Use hashcode_t.
16321
16322         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16323         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16324
16325         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16326         * fns.c (size_bit_vector):
16327         * alloc.c (size_vector):
16328         (make_vector_internal):
16329         (make_bit_vector_internal):
16330         (sweep_bit_vectors_1):
16331         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16332
16333 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16334
16335         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16336         Include strings.h to avoid warnings for bzero and strcasecmp.
16337
16338 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16339
16340         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
16341         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
16342
16343         * fns.c (size_bit_vector): New.  Declare bit vectors as a
16344         sequence.
16345
16346 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16347
16348         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
16349         use a value field instead.
16350         (symbol_value_forward_forward): Use value field.
16351         (DEFVAR_SYMVAL_FWD): Use value field.
16352         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
16353         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
16354         (DEFVAR_CONST_INT): Ditto.
16355         (DEFVAR_BOOL): Ditto.
16356         (DEFVAR_CONST_BOOL): Ditto.
16357         (DEFVAR_INT_MAGIC): Ditto.
16358         (DEFVAR_BOOL_MAGIC): Ditto.
16359
16360         * symbols.c (guts_of_unbound_marker): Use value field.
16361         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
16362         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
16363
16364         * lisp.h: Declare dumpopaque and noninteractive1.
16365
16366         * alloc.c (dumpopaque): Added.
16367         (pdump_dump_opaquevec): Added.
16368         (pdump): Call pdump_dump_opaquevec to dump opaque data.
16369         (pdump_load): Reload opaque data.  Sync noninteractive1 with
16370         noninteractive.
16371
16372 2000-02-10  Andy Piper  <andy@xemacs.org>
16373
16374         * glyphs.c (image_instance_layout): if the size changes, mark it
16375         as such.
16376
16377         * redisplay-output.c (redisplay_output_layout): Update the
16378         subwindow here.
16379         (redisplay_output_subwindow): ditto.
16380
16381         * glyphs.c (update_subwindow): make sure we reset flags for
16382         layouts as well as everything else.
16383
16384         * glyphs-widget.c (layout_layout): don't need to set the instances
16385         dimensions here.
16386
16387 2000-02-09  Martin Buchholz  <martin@xemacs.org>
16388
16389         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
16390         not HAVE_DLOPEN, which is a lower-level thing.
16391
16392         * .cvsignore: Ignore gmon.out
16393
16394 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
16395
16396         * .cvsignore: Ignore portable dumper xemacs.dmp file
16397
16398 2000-02-09  Andy Piper  <andy@xemacs.org>
16399
16400         * redisplay-output.c (redisplay_output_layout): be more clever
16401         about when we output based on the changed flags.
16402
16403         * glyphs.h (struct image_instantiator_methods): add update_method.
16404         (struct Lisp_Image_Instance): add changed flags. Declare new
16405         macros for manipulating them.
16406
16407         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
16408         (image_instance_parent_glyph): find an image_instance's parent
16409         glyph or image_instance.
16410         (image_instance_layout): mark the size as changed.
16411         (set_image_instance_dirty_p): new function. mark an image
16412         instance, plus all of its parents, as dirty.
16413         (Fset_image_instance_property): use it.
16414         (Fglyph_animated_timeout_handler): use it.
16415         (update_subwindow): call update_widget and device methods for
16416         update_subwindow. Mark all changed flags as clean.
16417         (Fresize_subwindow): mark size as changed.
16418
16419         * glyphs-x.c (x_finalize_image_instance): try and detect gc
16420         failures.
16421         (x_update_subwindow): only resize subwindows here.
16422         (x_update_widget): new function. Update all changed properties of
16423         a widget.
16424         (x_resize_subwindow): deleted.
16425         (x_widget_set_property): deleted.
16426         (x_progress_gauge_set_property): deleted.
16427         (x_progress_gauge_update): new function. Implement recorded
16428         changes.
16429         (x_tab_control_update): ditto.
16430         (x_tab_control_set_property): deleted.
16431         (console_type_create_glyphs_x): declare new functions.
16432         (image_instantiator_format_create_glyphs_x): ditto.
16433
16434         * glyphs-widget.c (widget_set_property): mark text changed.
16435         (update_widget): new function. Update properties of a widget.
16436         (widget_instantiate): for layouts make sure we set their
16437         children's parent correctly.
16438         (tab_control_set_property): new function. Record changes that will
16439         take place under redisplay's control.
16440         (progress_gauge_set_property): ditto.
16441         (image_instantiator_progress_guage): declare new functions.
16442         (image_instantiator_tab_control): ditto.
16443
16444         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
16445         now.
16446         (mswindows_update_widget): new function. Update all properties on
16447         a widget that have changed.
16448         (mswindows_button_update): new function. Update a button's set
16449         state.
16450         (mswindows_tab_control_update): new function. Update the items in
16451         a tab.
16452         (mswindows_tab_control_set_property): deleted.
16453         (mswindows_progress_gauge_update): new function. Update the
16454         progress gauge's progress.
16455         (mswindows_widget_set_property): deleted. This is all done
16456         asynchronously now.
16457         (mswindows_progress_gauge_set_property): ditto.
16458         (console_type_create_glyphs_mswindows): declare new methods.
16459         (image_instantiator_format_create_glyphs_mswindows): ditto.
16460
16461         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
16462         (msprinter_set_frame_properties): ditto.
16463
16464         * console.h (struct console_methods): Add update_widget_method.
16465
16466 2000-02-09  Andy Piper  <andy@xemacs.org>
16467
16468         * gui-msw.c (Fmswindows_shell_execute): Make
16469         mswindows-shell-execute industrial strength.
16470
16471 2000-02-08  Martin Buchholz  <martin@xemacs.org>
16472
16473         * lrecord.h: Make macro argument `props' match member function `plist'.
16474         * fns.c (Fget):
16475         * fns.c (Fput):
16476         * fns.c (Fremprop):
16477         * fns.c (Fobject_plist):
16478         * alloc.c:
16479         * symbols.c:
16480         Object property list frobbing cleanup.
16481         - Allow any lisp object (compared with `eq'), not just symbols, as
16482           keys in object plists.
16483         - Move symbol plist frobbing into symbols.c, where it belongs.
16484         - Move string plist frobbing into alloc.c, where it belongs.
16485         - Everything's an lrecord now, so no need to test for symbolp, etc.
16486         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
16487
16488         * extents.c: Reorder code to remove declarations.
16489
16490         * frame.h (store_in_alist): Remove useless declaration.
16491
16492 2000-02-07  Martin Buchholz  <martin@xemacs.org>
16493
16494         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
16495         * config.h.in: Add HAVE_XCONVERTCASE.
16496
16497 2000-02-07  Andy Piper  <andy@xemacs.org>
16498
16499         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
16500         it breaks many things.
16501
16502 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
16503
16504         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
16505         actually can start a common comment type.
16506         * src/syntax.h (SYNTAX_END_P): ditto for end.
16507
16508 2000-02-07  Martin Buchholz <martin@xemacs.org>
16509
16510         * XEmacs 21.2.28 is released.
16511
16512 2000-02-06  Martin Buchholz  <martin@xemacs.org>
16513
16514         * event-Xt.c (x_keysym_to_character): New.
16515         (maybe_define_x_key_as_self_inserting_character): New.
16516         (x_has_keysym): New.
16517         Auto-define all keys on the keyboard as self-insert-key.
16518
16519 2000-02-02  Martin Buchholz  <martin@xemacs.org>
16520
16521         * menubar.c (vars_of_menubar): A small code simplification.
16522
16523         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
16524
16525         * ExternalShell.c:
16526         * ExternalClient.c:
16527         * EmacsShell-sub.c:
16528         * EmacsManager.c:
16529         * EmacsFrame.c:
16530         Use consistent style for specifying X resources.
16531
16532         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
16533         This makes (dontusethis-set-symbol-value-handler) actually usable.
16534
16535         * lrecord.h (lrecord_decription_type):
16536         * alloc.c (pdump_register_sub):
16537         (pdump_dump_data):
16538         (pdump_reloc_one):
16539         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
16540         Comply with XEmacs coding style.
16541         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
16542         args, and XD_LISP_OBJECT_ARRAY with 3 args.
16543
16544         * keymap.c (Faccessible_keymaps):
16545         Make (accessible-keymaps map "\C-h") do the Right Thing.
16546         Make (accessible-keymaps map []) do the Right Thing.
16547         Make (accessible-keymaps map "") do the Right Thing.
16548         (check_keymap_definition_loop): New function.
16549         (keymap_store_internal): Keep luser from shooting self in foot,
16550           via (define-key ctl-x-4-map "p" global-map).
16551         Remove fullness slot from struct Lisp_Keymap, since hash tables
16552         are now reliable.
16553         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
16554
16555 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16556
16557         * redisplay.c (init_redisplay): Fix small memory leak.
16558         * elhash.h:
16559         * elhash.c (pdump_reorganize_hash_table):
16560         Rename from reorganize_hash_table. Change prototype.
16561         Reuse the original memory for hentries.  Save 100k.
16562         * alloc.c (PDUMP_READ): new macro.
16563         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
16564         * alloc.c: No need to #ifndef before #undef.
16565
16566         * print.c: Allow debug_print() to print readably by modifying
16567         debug_print_readably.  Use consistent variable names.
16568
16569         * .dbxrc: Try to get things to work even if stopped in a function
16570         without source available by explicitly specifying source files.
16571 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16572
16573         * unexnt.c (_start): Removed bogus code which caused loading heap
16574         from differrent executable file.
16575         Removed bogus assignment to _fmode, which caused inconsistencies.
16576
16577 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16578
16579         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
16580         Have spawnve encapsulation regard DONT_ENCAPSULATE.
16581         Do not preliminary `#define signal sigset'.
16582
16583         * systime.h: Do not prototype environ on windows nt and cygwin,
16584         this conflicts with system header.
16585
16586         * syssignal.h: Use correct define for WINDOWSNT
16587
16588         * sysdep.h: Do not prototype environ on windows nt, this conflicts
16589         with system header.
16590
16591         * sysdep.c (near start of file): Fixed commentary and rearranged
16592         ifdefs in readable order.
16593         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
16594         (start_of_text):
16595         (end_of_text):
16596         (end_of_data): Do not compile in if using PDUMP.
16597
16598         * symsinit.h: Prototyped vars_of_nt().
16599
16600         * ntproc.c (windows9x_p): Added, instead of os_subtype.
16601         (find_child_console): Use it.
16602         (sys_kill): Use it.
16603
16604         * ntheap.h: Do not extern os_subtype.
16605
16606         * ntheap.c (cache_system_info): Do not cache unneeded:
16607         nt_major_version, nt_minor_version and os_subtype.
16608         (recreate_heap): Do not compile in when PDUMPing.
16609
16610         * nt.c (geteuid and friends): Use the new varibale
16611         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
16612         (init_user_info): Removed the above mentioned hackery.
16613         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
16614         stat has been fixed in the C runtime.
16615         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
16616
16617         * file-coding.c (struct file_coding_dump): Do not define
16618         ucs_to_mule_table in the struct if not MULE.
16619         (struct struct lrecord_description fcd_description_1): Do not dump
16620         the above.
16621
16622         * emacs.c (main_1): Call vars_of_nt().
16623         (right before Fdump_emacs_data): Don't need lastfile if using both
16624         portabe dumper and system malloc.
16625
16626         * alloc.c (Fmemory_limit): Conditionalized out.
16627         (pdump): Use OPEN_BINARY for the portable dump file.
16628         (pdump_load): Ditto.
16629
16630 2000-02-02  Mike Alexander  <mta@arbortext.com>
16631
16632         * nt.c (convert_time): Set tm_isdst before calling mktime and
16633         avoid calling it at all if the compiler supports 64 bit integers.
16634         Also initialize utc_base_ft before using it.
16635
16636 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16637
16638         * frame.c (change_frame_size_1): Take f->internal_border_width
16639         into consideration when calculating the width of the frame.
16640
16641 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16642
16643         * window.c (frame_min_height):
16644         (frame_size_valid_p):
16645         (frame_pixsize_valid_p): Added.
16646         (check_frame_size): Generalized.
16647
16648         * window.h: Prototyped the above.
16649
16650         * lisp.h:
16651         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
16652         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
16653         Deleted Vwin32_* and Vbinary_process_* unused variables.
16654
16655         * device-msw.c (msprinter_init_device): Do not get printer font
16656         list; Added DEVMODE functions.
16657
16658         * frame-msw.c: Added lots of printer code.
16659
16660         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
16661         general.c.
16662
16663         * console-msw.h: Added more msprinter device private slots.
16664
16665 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16666
16667         * event-msw.c (key_needs_default_processing_p): Added.
16668         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
16669
16670 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16671
16672         * glyphs.c (image_instance_layout): Mark image instance as clean
16673         after layout.
16674         (glyph_dirty_p): Removed redundant function.
16675         (invalidate_glyph_geometry_maybe): Added.
16676         (update_glyph_cachel_data): Call it.
16677
16678         * glyphs.h: Prototyped it.
16679
16680         * redisplay.c (add_glyph_rune): Call it.
16681         (redisplay_window): Reset glyphs cachels when frame faces have
16682         changed, thus forcing recomputation of built-in border glyphs.
16683
16684 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16685
16686         * Makefile.in.in: Make portable dumper and purify play well together.
16687         Add imperfect, but better than nothing, support for pdump.
16688         Remove xemacs.dmp when temacs is re-generated.
16689         Don't ignore errors when dumping xemacs.
16690
16691         * symbols.c (maybe_call_magic_handler): Remove one magic number.
16692
16693 2000-01-28  Andy Piper  <andy@xemacs.org>
16694
16695         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
16696         (setup_normal_frame): ditto.
16697         (setup_frame_without_minibuffer): ditto.
16698         (setup_minibuffer_frame): ditto.
16699         (delete_frame_internal): ditto.
16700         (Fmake_frame_invisible): ditto.
16701         (Ficonify_frame): ditto.
16702
16703         * window.h: change Fset_window_buffer signature.
16704
16705         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
16706         (Fset_window_buffer): allow recording of buffer if the window is
16707         the selected window.
16708         (window_loop): Use new Fset_window signature.
16709
16710 2000-01-23  Daniel Pittman  <daniel@danann.net>
16711
16712         * config.h.in: Added template for `HAVE_ATHENA_3D'
16713
16714 2000-01-29  Andy Piper  <andy@xemacs.org>
16715
16716         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
16717
16718         * gutter.c (output_gutter): Don't output if the window isn't live.
16719
16720 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16721
16722         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
16723         of 01/12/00: Moved SetFocus back here where it belongs.
16724
16725 2000-01-23  Andy Piper  <andy@xemacs.org>
16726
16727         * s/cygwin32.h: declare printer things.
16728
16729 2000-01-26  Andy Piper  <andy@xemacs.org>
16730
16731         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
16732         Alexander.
16733
16734 2000-01-24  Andy Piper  <andy@xemacs.org>
16735
16736         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
16737         (mswindows_button_instantiate): Make sure glyph is a pixmap.
16738
16739         * glyphs-widget.c (widget_instantiate): Avoid shadows.
16740
16741         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
16742
16743         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
16744
16745         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
16746         (mswindows_output_display_block): Avoid local shadows.
16747
16748         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
16749         (mswindows_enqueue_mouse_button_event): ditto.
16750         (mswindows_handle_gui_wm_command): remove declaration.
16751
16752         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
16753         warnings.
16754
16755         * console-msw.h: Avoid shadows.
16756         (mswindows_get_toolbar_button_text):
16757         (emacs_mswindows_create_stream_pair):
16758         (emacs_mswindows_delete_stream_pair):
16759         (mswindows_handle_toolbar_wm_command): declare.
16760
16761         * device-msw.c (build_syscolor_string): Avoid shadows.
16762
16763 2000-01-23  Andy Piper  <andy@xemacs.org>
16764
16765         * glyphs-widget.c (widget_instantiate): reverse the items for
16766         layouts so that children are in the expected order.
16767
16768 2000-01-28  Martin Buchholz  <martin@xemacs.org>
16769
16770         * ralloc.c: safe_bcopy ==> memmove
16771         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
16772         * s/msdos.h: Remove BCOPY macros.
16773         * insdel.c (gap_right): Remove BCOPY conditional code.
16774         * insdel.c (gap_left): Remove BCOPY conditional code.
16775         XEmacs demands a working ANSI C compiler - hence memmove.
16776
16777         * regex.c (regex_compile): Remove accidental use of trigraphs.
16778
16779 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16780
16781         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
16782         event timestamp.
16783
16784 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16785
16786         * event-msw.c (mswindows_drain_windows_queue): Added the
16787         parameter.
16788         (mswindows_need_event): Commented the call to
16789         mswindows_drain_windows_queue().
16790         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
16791         only.
16792
16793         * console-msw.h: Moved a few function prototypes here from
16794         event-msw.c.
16795
16796         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
16797         parameter from unsigned short to unsigned long.
16798         (Fmswindows_shell_execute): Added return value.
16799
16800 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16801
16802         * sysdep.c (init_system_name):
16803           process-unix.c (unix_canonicalized_host_name):
16804         Don't call freeaddrinfo() if getaddrinfo() fails.
16805
16806         * process-unix.c (unix_open_unix_network_stream):
16807         Moved the code to get a port # into address loop.
16808
16809 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16810
16811         * buffer.c (reinit_vars_of_buffer):
16812         The right place to initialize conversion_in_dynarr and
16813         conversion_out_dynarr.
16814
16815         * alloc.c (pdump): Use the real open() till sys_open() is functional.
16816
16817         * process-unix.c (unix_canonicalize_host_name): Muleize.
16818         (unix_open_network_stream): Muleize.
16819
16820         * buffer.h: Fix up prototypes for ralloc.c functions.
16821
16822 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16823         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
16824         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
16825                 instead of gethostbyname()
16826         * process-unix.c: In unix_canonicalize_host_name() and
16827                 unix_open_network_stream(), add code to use getaddrinfo()
16828                 instead of gethostbyname().
16829
16830 2000-01-27  Daniel Pittman <daniel@danann.net>
16831
16832         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
16833         libs when built with flat Athena.
16834
16835 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16836
16837         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
16838         Use coding standards for function prototypes.
16839
16840 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16841
16842         * dialog-msw.c (push_lisp_string_as_unicode):
16843         * doc.c (unparesseuxify_doc_string):
16844         * dired.c (Fuser_name_completion_1):
16845         * dired.c (Fuser_name_all_completions):
16846         * dired.c (free_user_cache):
16847         * dired.c (user_name_completion):
16848         * console-x.c (get_display_arg_connection):
16849         * minibuf.c (clear_echo_area_internal):
16850         * minibuf.c (echo_area_append):
16851         * eldap.c (Fldap_open):
16852         * eldap.c (Fldap_search_internal):
16853         * frame-x.c (x_set_frame_text_value):
16854         * frame-x.c (x_set_frame_properties):
16855         * frame-x.c (x_create_widgets):
16856         * redisplay-tty.c (term_get_fkeys_1):
16857         * objects-x.c (x_parse_nearest_color):
16858         * objects-x.c (x_valid_color_name_p):
16859         * objects-x.c (x_initialize_font_instance):
16860         * objects-x.c (x_list_fonts):
16861         * objects-x.c (x_find_charset_font):
16862         * tooltalk.c (Fadd_tooltalk_message_arg):
16863         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
16864         * tooltalk.c (Fadd_tooltalk_pattern_arg):
16865         * process-unix.c (unix_create_process):
16866         * ntproc.c (sys_spawnve):
16867         * sound.c (Fplay_sound_file):
16868         * sound.c (Fplay_sound):
16869         * buffer.c (init_initial_directory):
16870         * buffer.c (init_buffer):
16871         * editfns.c (init_editfns):
16872         * editfns.c (Ftemp_directory):
16873         * editfns.c (Fuser_full_name):
16874         * editfns.c (uncache_home_directory):
16875         * editfns.c (get_home_directory):
16876         * editfns.c (Fuser_home_directory):
16877         * editfns.c (Fformat_time_string):
16878         * editfns.c (Fcurrent_time_string):
16879         * gui-x.c (button_item_to_widget_value):
16880         * database.c (Fopen_database):
16881         * event-Xt.c (x_to_emacs_keysym):
16882         * event-Xt.c (x_event_to_emacs_event):
16883         * event-Xt.c (describe_event_window):
16884         * event-msw.c (mswindows_wnd_proc):
16885         * glyphs-eimage.c (jpeg_instantiate):
16886         * glyphs-eimage.c (gif_instantiate):
16887         * glyphs-eimage.c (png_instantiate):
16888         * glyphs-eimage.c (tiff_instantiate):
16889         * glyphs-x.c (xbm_instantiate_1):
16890         * glyphs-x.c (x_xbm_instantiate):
16891         * glyphs-x.c (x_xface_instantiate):
16892         * glyphs-x.c (autodetect_instantiate):
16893         * glyphs-x.c (cursor_font_instantiate):
16894         * glyphs-x.c (x_widget_instantiate):
16895         * glyphs-x.c (x_widget_set_property):
16896         * glyphs-x.c (x_widget_property):
16897         * glyphs-x.c (BUILD_GLYPH_INST):
16898         * print.c (write_string_to_stdio_stream):
16899         * print.c (output_string):
16900         * print.c (Falternate_debugging_output):
16901         * print.c (Fexternal_debugging_output):
16902         * glyphs-msw.c (extract_xpm_color_names):
16903         * glyphs-msw.c (mswindows_xpm_instantiate):
16904         * glyphs-msw.c (bmp_instantiate):
16905         * glyphs-msw.c (resource_name_to_resource):
16906         * glyphs-msw.c (mswindows_resource_instantiate):
16907         * glyphs-msw.c (xbm_instantiate_1):
16908         * glyphs-msw.c (mswindows_xbm_instantiate):
16909         * glyphs-msw.c (mswindows_xface_instantiate):
16910         * glyphs-msw.c (mswindows_widget_instantiate):
16911         * glyphs-msw.c (add_tree_item):
16912         * glyphs-msw.c (add_tab_item):
16913         * glyphs-msw.c (mswindows_combo_box_instantiate):
16914         * glyphs-msw.c (mswindows_widget_property):
16915         * glyphs-msw.c (mswindows_combo_box_property):
16916         * glyphs-msw.c (mswindows_widget_set_property):
16917         * console.c (stuff_buffered_input):
16918         * objects-msw.c (mswindows_initialize_color_instance):
16919         * objects-msw.c (mswindows_valid_color_name_p):
16920         * objects-msw.c (mswindows_list_fonts):
16921         * objects-msw.c (mswindows_font_instance_truename):
16922         * bytecode.c (optimize_compiled_function):
16923         * select-x.c (symbol_to_x_atom):
16924         * select-x.c (x_atom_to_symbol):
16925         * select-x.c (hack_motif_clipboard_selection):
16926         * select-x.c (selection_data_to_lisp_data):
16927         * select-x.c (lisp_data_to_selection_data):
16928         * select-x.c (Fx_get_cutbuffer_internal):
16929         * select-x.c (Fx_store_cutbuffer_internal):
16930         * buffer.h (TO_EXTERNAL_FORMAT): New function.
16931         * buffer.h (TO_INTERNAL_FORMAT): New function.
16932         * emacs.c (make_arg_list_1):
16933         * emacs.c (make_argc_argv):
16934         * emacs.c (main_1):
16935         * emacs.c (Fdump_emacs):
16936         * emacs.c (split_string_by_emchar_1):
16937         * file-coding.h:
16938         * lisp.h:
16939         * lstream.h:
16940         * symsinit.h:
16941         * device-x.c (x_init_device):
16942         * device-x.c (Fx_valid_keysym_name_p):
16943         * device-x.c (Fx_get_font_path):
16944         * device-x.c (Fx_set_font_path):
16945         * glyphs.c (bitmap_to_lisp_data):
16946         * glyphs.c (pixmap_to_lisp_data):
16947         * alloc.c (make_ext_string): Use coding system arguments.  Update
16948         all callers.
16949         * alloc.c (build_string):
16950         * callproc.c (child_setup):
16951         * callproc.c (init_callproc):
16952         * fileio.c (lisp_strerror):
16953         * fileio.c (directory_file_name):
16954         * fileio.c (Fexpand_file_name):
16955         * fileio.c (Ffile_truename):
16956         * fileio.c (Fsysnetunam):
16957         * fileio.c (Fdo_auto_save):
16958         * sysdep.c (sys_readdir):
16959         * tests.c: New file.  Allow adding C tests.
16960         Replace GET_* macros with a more comprehensible and flexible
16961         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
16962         Modify all calls.
16963         Any coding system can be used to do format conversion.
16964         Eliminate enum external_data_format.
16965         Eliminate convert_to_external_format.
16966         Eliminate convert_to_internal_format.
16967         Make sure file-name, keyboard, terminal, and ctext are always
16968         defined as coding systems or aliases.  Make
16969         file-name-coding-system, terminal-coding-system, and
16970         keyboard-coding-system magical variables that are equivalent to
16971         defining the corresponding coding system aliases.
16972
16973         * file-coding.c (Fcoding_system_canonical_name_p): New function.
16974         * file-coding.c (Fcoding_system_alias_p): New function.
16975         * file-coding.c (Fcoding_system_aliasee): New function.
16976         * file-coding.c (append_suffix_to_symbol): New function.
16977         * file-coding.c (dangling_coding_system_alias_p): New function.
16978         * file-coding.c (Ffind_coding_system):
16979         * file-coding.c (Fcopy_coding_system):
16980         * file-coding.c (encode_coding_no_conversion):
16981         * file-coding.c (syms_of_file_coding):
16982         * file-coding.c (vars_of_file_coding):
16983         Rewrite coding system alias code.
16984         Allow nested aliases, like symbolic links.
16985         Allow redefinition of coding system aliases.
16986         Prevent existence of dangling coding system aliases.
16987
16988         * dired.c (Fuser_name_completion_1):
16989         * dired.c (Fuser_name_all_completions):
16990         A crash would happen if user did QUIT in the middle of building
16991         user_name_cache.  Remove redundant code in mainline and unwind_protect.
16992
16993         * lisp.h:
16994         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
16995
16996         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
16997         an unsigned char *.  Update all callers.
16998
16999 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17000
17001         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
17002
17003 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17004
17005         * elhash.c (hentry_description): Use more portable definition.
17006         (resize_hash_table): Initialize new hentries using
17007         xnew_array_and_zero, thereby simplifying the code.
17008
17009         * mule-charset.c (make_charset): Make sure entire object is
17010         initialized, to avoid Purify warnings.
17011
17012         * alloc.c (resize_string): Fix unlikely crash with big strings.
17013
17014 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17015
17016         * realpath.c (xrealpath):
17017         Don't call getwd().
17018
17019 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17020
17021         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17022
17023 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17024
17025         * unexelfsgi.c (unexec): Change the way we decide which segment
17026         should be extended.
17027
17028         Assumption that .bss section should be outside the PT_LOADable
17029         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17030         it's present) is inside the 'data' segment. This would fail the
17031         test which was used to find a segment to grow and cover new
17032         heap. Instead of this assumption, I created another one - on IRIX
17033         the segment to grow should start below .bss and it's address
17034         should extent above the end of .bss. Once this segment is
17035         identified, it's grown to accommodate the new heap and new
17036         zero-length .bss section is added at the end of .data2.
17037
17038 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17039
17040         * eval.c (Feval): Wrong number of arguments should use original
17041         function, not the indirect_function version of it.
17042
17043 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17044
17045         * glyphs-x.c (x_button_instantiate): Don't add image if
17046         it is not a pixmap.
17047         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17048         is relative.
17049
17050 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17051
17052         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17053         declaration.
17054         (DEFVAR_INT_MAGIC): Ditto.
17055         (DEFVAR_BOOL_MAGIC): Ditto.
17056         * glyphs.h: Reindent backslash.
17057
17058 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17059
17060         * glyphs-widget.c (layout_query_geometry):
17061         (layout_layout): Use correct types for gheight, gwidth.
17062
17063 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17064
17065         * EmacsManager.c (QueryGeometry): Purified.
17066
17067 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17068
17069         * alloc.c (make_float): Make sure entire object is initialized, to
17070         avoid Purify warnings.
17071         (pdump_register_sub): Remove useless assignment.
17072         (pdump): Use xmalloc, not malloc.
17073         (pdump_load): Use xmalloc, not malloc.
17074
17075 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17076
17077         * callproc.c:
17078         * dired-msw.c:
17079         * fileio.c:
17080         * process-nt.c:
17081         * redisplay-msw.c:
17082         * sysdep.c: Removed redundant #include <windows.h>
17083
17084 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17085
17086         * frame.c (delete_frame_internal): Do not delete device when its
17087         implementation so declares.
17088         (delete_frame_internal): Set device selected frame to nil when
17089         last frame goes away.
17090
17091         * device-msw.c (msprinter_device_system_metrics): Implemented.
17092         (mswindows_device_system_metrics): Added 'device-dpi property.
17093
17094         * device.c: (Fdevice_printer_p): Added.
17095         Added 'offset-workspace device metric.
17096
17097         * console.h (device_metrics): Declared DM_offset_workspace.
17098
17099 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17100
17101         * fileio.c (Ffile_truename): Remove pointless and confusing
17102         initialization of elen.
17103
17104         * glyphs-widget.c: Compiler warning fixes.
17105
17106 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17107
17108         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17109         instead of a Lisp_Object as argument to make it consistent with
17110         the other LIVE_P macros.
17111         (CHECK_LIVE_PROCESS): New macro.
17112
17113         * process.c: Declare Qprocess_live_p.
17114         (Fprocess_live_p): New function.
17115         (create_process): Use PROCESS_LIVE_P.
17116         (read_process_output): Ditto.
17117         (set_process_filter): Ditto.
17118         (Fdelete_process): Ditto.
17119         (kill_buffer_processes): Ditto
17120         (process_send_signal): Use CHECK_LIVE_PROCESS.
17121         (Fprocess_input_coding_system): Check whether process is still
17122         alive (fix PR#1061).
17123         (Fprocess_output_coding_system): Ditto.
17124         (Fprocess_coding_system): Ditto.
17125         (Fset_process_input_coding_system): Ditto.
17126         (Fset_process_output_coding_system): Ditto.
17127
17128 2000-01-23  Andy Piper  <andy@xemacs.org>
17129
17130         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17131         layout and widget.
17132
17133         * glyphs.c (mark_image_instance): take into account changed
17134         image_instance format.
17135         (image_instance_equal): ditto.
17136         (image_instance_hash): ditto.
17137
17138         * glyphs-widget.c (widget_instantiate): Incorporate layout
17139         instantiation here. Delay layout of the layout until later.
17140         (layout_instantiate): deleted.
17141         (layout_query_geometry): new function. get the geometry of a
17142         layout.
17143         (layout_layout): layout a layout dynamically.
17144         (image_instantiator_widget): New function - splitting up
17145         image_instantiator_format_create_glyphs_widget for netwinder
17146         compilation.
17147         (image_instantiator_buttons):
17148         (image_instantiator_edit_fields):
17149         (image_instantiator_combo_box):
17150         (image_instantiator_scrollbar):
17151         (image_instantiator_progress_guage):
17152         (image_instantiator_tree_view):
17153         (image_instantiator_tab_control):
17154         (image_instantiator_labels):
17155         (image_instantiator_layout): ditto.
17156         (image_instantiator_format_create_glyphs_widget): Call preceding
17157         functions.
17158
17159 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17160
17161         * process.c (Fset_process_coding_system):
17162         * device-x.c (Fx_keysym_hash_table):
17163         Docstring fixes.
17164
17165         * lstream.c (Lstream_write): Return documented value, not 0.
17166
17167         * fileio.c (directory_file_name):
17168         (Fsubstitute_in_file_name):
17169         (Fsubstitute_insert_file_contents_internal):
17170         (Fwrite_region_internal):
17171         * emacs.c:
17172         * sysdep.c:
17173         * getloadavg.c:
17174         * systty.h:
17175         Remove vestigial APOLLO-conditional code.
17176
17177 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17178
17179         * getpagesize.h: Add guard macros.
17180         * libsst.h: Add guard macros.
17181         * libst.h: Add guard macros.
17182         * line-number.h: Add guard macros.
17183         * ndir.h: Add guard macros.
17184         * sysfloat.h: Add guard macros.
17185         * sysfile.h: Add guard macros.
17186         * sysproc.h: Add guard macros.
17187         * syswait.h: Add guard macros.
17188         * xintrinsic.h: Add guard macros.
17189         * xintrinsicp.h: Add guard macros.
17190         * xmmanager.h: Add guard macros.
17191         * xmmanagerp.h: Add guard macros.
17192         * xmprimitive.h: Add guard macros.
17193         * xmu.h: Add guard macros.
17194         * gpmevent.h: Add copyright statement. Add guard macros.
17195         * miscplay.h: Add guard macros.
17196         * *.h: Use consistent C-standards-approved guard macro names.
17197
17198         * opaque.c (make_opaque): Switch parameter order.
17199         * opaque.h (make_opaque): Switch parameter order.
17200         Update all callers.
17201         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17202
17203         * config.h.in (type_checking_assert): Added.
17204         (bufpos_checking_assert): Added.
17205
17206 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17207
17208         * alloc.c: Harmless pdump changes.
17209         - Use countof().
17210         - spell alignment correctly.
17211         * sysdep.c: Use countof()
17212
17213 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17214
17215         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17216         initially_selected_for_input() console method, default to 0.
17217         (semi_canonicalize_console_connection): Try to delegate to
17218         canonicalize_console_connection if no such console method.
17219         (canonicalize_console_connection): Vice versa.
17220         (print_console): Do not print nil connection.
17221
17222         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17223         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17224         (XDEVIMPF_FRAMELESS_OK): Added.
17225         (CONSOLE_INHERITS_METHOD): Added.
17226
17227         * console-msw.c (mswindows_canonicalize_console_connection):
17228         Added.
17229         (mswindows_canonicalize_device_connection): Added.
17230
17231         * console-msw.h (struct msprinter_device): Added this struct and
17232         accessor macros.
17233         (mswindows_device): Made fontlist a lisp object.
17234
17235         * device.c (semi_canonicalize_device_connection):  Try to delegate
17236         to canonicalize_device_connection if no such console method.
17237         (canonicalize_device_connection): Vice versa.
17238         (print_device): Do not print nil connection.
17239
17240         * device-msw.c (mswindows_init_device): Call InitCommonControls
17241         when have widgets.
17242         (mswindows_delete_device): Removed fontlist deallocation.
17243         (mswindows_mark_device): Added.
17244
17245         * events.c (event_equal): Added abort() at unreached code.
17246         (event_hash): Ditto.
17247
17248         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17249         fallback tags of Windows devices.
17250
17251         * general.c (syms_of_general): Initialized Qmsprinter.
17252
17253         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17254         of fallback tags of Windows devices.
17255
17256         * lisp.h: Declared Qmsprinter.
17257
17258         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17259         of strings.
17260         (mswindows_list_fonts): Ditto.
17261         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17262         that it can be used by both mswindows and msprinter devices.
17263         (initialize_font_instance): Added.
17264         (mswindows_initialize_font_instance): Use it.
17265         (msprinter_initialize_font_instance): Added.
17266
17267         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17268         and implementation flags check.
17269         (redisplay_without_hooks): Changed the call to the above.
17270         (Fredraw_device): Ditto.
17271         (Fredisplay_device): Ditto.
17272
17273         * redisplay-msw.c (get_frame_dc): Implemented.
17274         (get_frame_compdc): Implemented.
17275         (many functions): Use the two functions above to get device
17276         contexts, ether for a window or a printer.
17277
17278 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17279
17280         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17281         initialization here.
17282         (init_symbols_once_early): Call it.
17283         * emacs.c (main_1): Call it.
17284         * symsinit.h: Declare it.
17285
17286 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17287
17288         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17289         Lisp_Object.
17290         (pdump_backtrace): Ditto.
17291         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17292         (pdump_get_entry): Abort if trying to register a null pointer.
17293         (pdump_dump_data): Cleanup types when relocating.
17294         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17295         (pdump_dump_rtables): Remove bad casts.
17296         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17297         Lisp_Object instead of a EMACS_INT for the hashtable
17298         reorganization.
17299
17300 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17301
17302         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17303
17304         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17305
17306         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17307
17308         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17309
17310 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17311
17312         * faces.h (FACE_STRIKETHRU_P): Added.
17313
17314         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17315         of font variants.
17316
17317         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17318         (mswindows_set_dc_font): New function, aware of font variants,
17319         separated from mswindows_update_dc.
17320
17321         * objects-msw.h (struct mswindows_font_instance_data): Added
17322         definition.
17323
17324         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17325         cached fonts and the data structure.
17326         (mswindows_initialize_font_instance): Added creation of font data
17327         structure.
17328         (mswindows_print_font_instance): Print at least something.
17329         (mswindows_create_font_variant): Implemented.
17330         (mswindows_get_hfont): Implemented.
17331
17332 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17333
17334         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17335         prototyping problem with msvc.
17336
17337         * emacs.c (main_1): added syms_of_gui_mswindows() call
17338
17339         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17340         syms_of_gui_mswindows() function
17341
17342         * symsinit.h: added the prototype for syms_of_gui_mswindows()
17343
17344 2000-01-18  Martin Buchholz <martin@xemacs.org>
17345
17346         * XEmacs 21.2.27 is released.
17347
17348 2000-01-18  Martin Buchholz  <martin@xemacs.org>
17349
17350         * glyphs-eimage.c (struct tiff_error_struct):
17351         (tiff_error_func):
17352         (tiff_warning_func):
17353         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
17354
17355         * unexmips.c:
17356         * unexhp9k3.c:
17357         * unexfreebsd.c:
17358         * unexec.c: Remove vestigial Lucid C code.
17359         * unexalpha.c:
17360         * unexaix.c:
17361         * termcap.c:
17362         * libsst.c: Ansify.
17363         Remove declarations of errno and strerror().
17364
17365         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
17366
17367         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
17368
17369 2000-01-16  Martin Buchholz  <martin@xemacs.org>
17370
17371         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
17372         Optimize.
17373
17374 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17375
17376         * md5.c:
17377         * file-coding.c:
17378         * file-coding.h:
17379         Change enum eol_type to eol_type_t.
17380
17381 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17382
17383         * gui.c (get_gui_callback): Check cons before accessing car.
17384
17385 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17386
17387         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
17388         (XSETSPECIFIER_TYPE): Ditto.
17389
17390 2000-01-17  Didier Verna  <didier@xemacs.org>
17391
17392         * redisplay.c (generate_fstring_runes): compute string size in
17393         characters, not bytes.
17394
17395 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17396
17397         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
17398
17399 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
17400
17401         * print.c (print_error_message): Call print_prepare().
17402
17403 2000-01-14  Martin Buchholz  <martin@xemacs.org>
17404
17405         * .dbxrc: Renamed from dbxrc.
17406
17407         * events.c (event_to_character):
17408         Use `assert (foo)' instead of `if (!foo) abort()'
17409
17410         * .gdbinit (xtype): Add documentation.
17411         * .gdbinit (check-temacs): New function.
17412         * .gdbinit (check-xemacs): New function.
17413         * dbxrc (check-xemacs): New function.
17414         * dbxrc (check-xemacs): New function.
17415
17416 2000-01-14  Andy Piper  <andy@xemacs.org>
17417
17418         * glyphs-widget.c (widget_query_geometry): Make sure that we
17419         calculate default dimensions correctly.
17420
17421 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17422
17423         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
17424
17425         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
17426         pdump_wire'd variable.
17427
17428         * emacs.c: (main_1): Conditionalized calls to
17429         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
17430
17431 2000-01-13  Martin Buchholz  <martin@xemacs.org>
17432
17433         * window.c (Fset_window_configuration):
17434         * sysdep.c (_start):
17435         * input-method-motif.c (res):
17436         * event-Xt.c (Xt_process_to_emacs_event):
17437         Simple compiler warning fixes.
17438
17439         * bytecode.c (funcall_compiled_function): Use the original
17440         function symbol on the backtrace list in preference to the
17441         compiled_function object in error messages.
17442
17443 2000-01-13  Andy Piper  <andy@xemacs.org>
17444
17445         * glyphs-x.c (update_widget_face): Make sure we update the widget
17446         background as well as foreground.
17447
17448 2000-01-13  Andy Piper  <andy@xemacs.org>
17449
17450         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
17451         fields to subwindow.
17452         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
17453         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
17454         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17455         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17456
17457         * glyphs-widget.c (check_valid_tab_orientation): new function.
17458         (initialize_widget_image_instance): zero orientation and
17459         justification.
17460         (widget_instantiate): pick up orientation.
17461         (tab_control_query_geometry): return appropriate values for
17462         vertical tabs.
17463
17464         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
17465         appropriate creation flags for left, right and bottom tabs.
17466
17467         * s/cygwin32.h: add tab definitions.
17468
17469 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17470
17471         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
17472         frame upon hiding a subwindow.
17473         (mswindows_button_instantiate): Changed the push button style to
17474         BS_PUSHBUTTON.
17475         (mswindows_button_instantiate): Removed button BS_NOTIFY
17476         style.
17477         (mswindows_button_instantiate): Removed redundant check for
17478         a disabled gui item.
17479         (mswindows_button_instantiate): Made use of WS_TABSTOP
17480         consistent: "operable" controls (edit, button, tree, scroll) have
17481         this style, "display-only" ones (static, progress gauge) do
17482         not. This style is currently ignored by XEmacs though. Also,
17483         removed the WS_EX_CONTROLPARENT style - it is not for children,
17484         it is for their parents!
17485         (mswindows_edit_field_instantiate): Ditto.
17486         (mswindows_progress_gauge_instantiate): Ditto.
17487         (mswindows_tree_view_instantiate): Ditto.
17488         (mswindows_tab_control_instantiate): Ditto.
17489         (mswindows_scrollbar_instantiate): Ditto.
17490         (mswindows_combo_box_instantiate): Ditto.
17491         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
17492         style to the "clip" window.
17493         (mswindows_button_instantiate): Removed compilation warning by
17494         equally typing terms of the ?: operator.
17495
17496 2000-01-12  Didier Verna  <didier@xemacs.org>
17497
17498         * redisplay.c (generate_fstring_runes): new parameter holding the
17499         last modeline-format extent.
17500         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
17501         extent, fill the glyph block with it.
17502         (generate_fstring_runes): handle these parameters.
17503         (generate_formatted_string_db): ditto.
17504
17505         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
17506         glyphs'extents in the modeline.
17507
17508 1999-01-11  Mike Woolley  <mike@bulsara.com>
17509
17510         * ntheap.c: Reduced the reserved heap space from 1Gb down to
17511         256Mb, as a workaround for the non-starting problem many people
17512         have experienced.
17513
17514 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17515
17516         * console-tty.c (Fset_console_tty_output_coding_system):
17517         Force redrawing tty frame.
17518
17519 2000-01-10  Didier Verna  <didier@xemacs.org>
17520
17521         * redisplay.c (generate_fstring_runes): fix size computation bug.
17522
17523 2000-01-09  William M. Perry <wmperry@aventail.com>
17524
17525         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
17526
17527 2000-01-09  Andy Piper  <andy@xemacs.org>
17528
17529         * glyphs-msw.c: index -> i to avoid shadows.
17530         (xbm_create_bitmap_from_data): make static.
17531         (check_valid_string_or_int): deleted.
17532         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
17533
17534         * glyphs-x.c (x_update_subwindow): remove unused args.
17535
17536         * glyphs.c (glyph_image_instance): return the thing. Don't set the
17537         back pointer - this is done in allocate_image_instance.
17538         (query_string_font): return Qnil to make the compiler happy.
17539         (unmap_subwindow): set to ~0 to make the compiler happy.
17540         (glyph_query_geometry): comment out until used.
17541         (glyph_layout): ditto.
17542
17543 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17544
17545         * insdel.c (signal_after_change): Remove extraneous unbind_to().