update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2006-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * concord.c: Add EXFUN for Fconcord_object_get.
4         (Vconcord_genre_object_hash_table): New variable.
5         (concord_genre_cache_get_object): New function.
6         (concord_genre_cache_put_object): New function.
7         (Fconcord_make_object): Use object cache; put object-ID into `=id'
8         feature.
9         (Fconcord_object_put): Call `concord_index_sync' after
10         `concord_index_strid_put_obj'.
11         (vars_of_concord): Setup Vconcord_genre_object_hash_table.
12
13 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
14
15         * concord.c (Fconcord_decode_object): Do GCPRO for
16         Fconcord_make_object.
17         (func_for_each_object): Likewise; do GCPRO for
18         for_each_object_closure->function.
19         (Fconcord_foreach_object_in_feature): Use GCPRO4 for
20         for_each_object_closure->function, for_each_object_closure->genre,
21         for_each_object_closure->ds and for_each_object_closure->ret.
22         (concord_object_validate): Do GCPRO for Fconcord_make_object.
23
24 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
25
26         * concord.c: Add EXFUNs for Fconcord_decode_object and
27         Fconcord_object_put.
28         (Fconcord_make_object): Change order of arguments.
29         (Fconcord_decode_object): Modify for Fconcord_make_object.
30         (func_for_each_object): Likewise.
31         (concord_object_validate): Likewise.
32         (concord_object_instantiate): Use GCPRO2 for `data' and `retval'.
33
34 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
35
36         * concord.c (Fconcord_object_put): Setup index for `=FOO' feature.
37
38 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
39
40         * concord.c (Fconcord_decode_object): Try to use readable print
41         form as a key of Concord-index.
42         (Fconcord_object_get): Try to use readable print form as an ID of
43         Concord-object.
44         (Fconcord_object_put): Try to use readable print form as an ID of
45         Concord-object and a feature value.
46         (Fconcord_object_spec): Try to use readable print form as an ID of
47         Concord-object.
48
49 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
50
51         * concord.c (print_concord_object): Support readable form.
52
53 2006-04-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
54
55         * emacs.c (main_1): Call `structure_type_create_concord' when
56         HAVE_CONCORD is defined.
57
58         * symsinit.h (structure_type_create_concord): New prototype.
59
60         * concord.c (Qconcord_object): New variable.
61         (Qgenre): Likewise.
62         (Q_id): Likewise.
63         (Fconcord_ds_directory): Use <char*> instead of <unsigned char*>
64         for directory.
65         (add_feature_to_list_mapper): Use <char*> instead of <unsigned
66         char*> for genre-name.
67         (Fconcord_feature_list): Likewise.
68         (Fconcord_make_object): Likewise.
69         (Fconcord_decode_object): Likewise; use <char*> instead of
70         <unsigned char*> for feature_name and strid.
71         (Fconcord_object_get): Use <char*> instead of <unsigned char*> for
72         c_obj and feature_name.
73         (Fconcord_object_put): Likewise; use <char*> instead of <unsigned
74         char*> for c_value.
75         (struct closure_for_object_spec): Use <char*> instead of <unsigned
76         char*> for member `object_id'.
77         (add_feature_to_spec_mapper): Use <char*> instead of <unsigned
78         char*> for feature-name.
79         (Fconcord_object_spec): Use <char*> instead of <unsigned char*>
80         for c_obj.
81         (func_for_each_object): Cast to avoid warnings.
82         (Fconcord_foreach_object_in_feature): Use <char*> instead of
83         <unsigned char*> for genre_name and feature_name.
84         (concord_name_validate): New function.
85         (concord_object_validate): Likewise.
86         (concord_object_instantiate): Likewise.
87         (syms_of_concord): Add new builtin symbols `concord-object',
88         `genre' and `=id'.
89         (structure_type_create_concord): New function.
90
91 2006-04-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
92
93         * concord.c (Vconcord_ds_hash_table): New variable.
94         (Vconcord_genre_hash_table): New variable.
95         (Fconcord_open_ds): Use Vconcord_ds_hash_table.
96         (Fconcord_ds_directory): New function.
97         (Fconcord_assign_genre): New function.
98         (Fconcord_genre_directory): New function.
99         (Fconcord_genre_ds): New function.
100         (Fconcord_feature_list): Allow to omit `ds'.
101         (Fconcord_make_object): Likewise.
102         (Fconcord_decode_object): Likewise.
103         (Fconcord_foreach_object_in_feature): Likewise.
104         (syms_of_concord): Add new builtin function Fconcord_ds_directory,
105         Fconcord_assign_genre, Fconcord_genre_directory and
106         Fconcord_genre_ds.
107         (vars_of_concord): Setup Vconcord_ds_hash_table and
108         Vconcord_genre_hash_table.
109
110 2006-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
111
112         * concord.c (struct closure_for_each_object): Add new member
113         `ret'.
114         (func_for_each_object): Setup the return value to
115         `for_each_object_closure->ret'.
116         (Fconcord_foreach_object_in_feature): If FUNCTION returns non-nil,
117         returns the value instead of Qt.
118
119 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
120
121         * concord.c: New file.
122
123 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
124
125         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
126         `lrecord_type_concord_object'.
127
128 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
129
130         * symsinit.h (syms_of_concord): New prototype.
131         (vars_of_concord): New prototype.
132
133         * emacs.c (main_1): Setup symbols and variable about concord if
134         HAVE_CONCORD is defined.
135
136         * config.h.in (HAVE_CONCORD): New macro.
137
138 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
139
140         * chartab.c (Fput_char_attribute): For each character relation
141         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
142
143 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
144
145         * chartab.c (Fput_char_attribute): Use
146         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
147         calling `put_char_composition'.
148
149 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
150
151         * chartab.c (Q_halfwidth_of): New variable.
152         (put_char_composition): Return `<-halfwidth' instead of
153         `=decomposition' for compatibility mapping to single character
154         tagged `narrow'.
155         (Fput_char_attribute): Convert char-specs in value of
156         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
157         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
158         for `<-halfwidth'.
159         (syms_of_chartab): Add new symbol `<-halfwidth'.
160
161 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
162
163         * chartab.c (put_char_composition): Return
164         `<-formed@{isolated|initial|medial|final}' for compatibility
165         mapping to single character tagged
166         `{isolated|initial|medial|final}'.
167
168 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
169
170         * chartab.c (Q_compat_of): Deleted.
171         (put_char_composition): Return `<-FOO' for compatibility mapping
172         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
173         of `symbol_name (XSYMBOL(...))'.
174         (Fput_char_attribute): Convert char-specs in value of
175         `{<-|->}font[^*]*' to characters and put reverse links.
176         (Fsave_char_attribute_table): Don't refer Q_compat_of.
177         (syms_of_chartab): Delete builtin symbol `<-compat'.
178
179 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
180
181         * chartab.c (Q_circled_of): New variable.
182         (put_char_composition): Return `<-circled' instead of
183         `=decomposition' for compatibility mapping to single character
184         tagged `circle'.
185         (Fput_char_attribute): Convert char-specs in value of
186         `{<-|->}circled[^*]*' to characters and put reverse links.
187         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
188         for `<-circled'.
189         (syms_of_chartab): Add new symbol `<-circled'.
190
191 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
192
193         * chartab.c (Qto_decomposition_at_circled): New variable.
194         (put_char_composition): Return `=>decomposition@circled' instead
195         of `=decomposition' for compatibility decomposition mapping tagged
196         `circle'.
197         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
198
199 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
200
201         * chartab.c (Q_subscript_of): New variable.
202         (put_char_composition): Return `<-subscript' instead of
203         `=decomposition' for compatibility mapping to single character
204         tagged `sub'.
205         (Fput_char_attribute): Convert char-specs in value of
206         `{<-|->}subscript[^*]*' to characters and put reverse links.
207         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
208         for `<-subscript'.
209         (syms_of_chartab): Add new symbol `<-subscript'.
210
211 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
212
213         * chartab.c (Q_superscript_of): New variable.
214         (put_char_composition): Return `<-superscript' instead of
215         `=decomposition' for compatibility mapping to single character
216         tagged `super'.
217         (Fput_char_attribute): Convert char-specs in value of
218         `{<-|->}superscript[^*]*' to characters and put reverse links.
219         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
220         for `<-superscript'.
221         (syms_of_chartab): Add new symbol `<-superscript'.
222
223 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
224
225         * chartab.c (Qto_decomposition_at_compat): Deleted.
226         (Qto_decomposition_at_superscript): New variable.
227         (put_char_composition): Use `=>decomposition@superscript' instead
228         of `=decomposition' for compatibility decomposition mapping tagged
229         `super'.
230         (Fput_char_attribute): Fix condition about `put_char_composition'.
231         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
232         add news symbol `=>decomposition@superscript'.
233
234 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
235
236         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
237         for compatibility decomposition mapping tagged FOO.
238         (Fput_char_attribute): Modify for `put_char_composition'.
239
240 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
241
242         * chartab.c (Qto_decomposition_at_compat): New variable.
243         (Q_compat_of): Renamed from `Q_compatibility_of'.
244         (put_char_composition): Rename `Q_compatibility_of' to
245         `Q_compat_of'; return `=>decomposition@compat' for compatibility
246         decomposition mapping.
247         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
248         `Q_compat_of'.
249         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
250         `<-compatibility' to `<-compat'.
251
252 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
253
254         * chartab.c (Q_compatibility_of): New variable.
255         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
256         object is proved to be a cons cell; return `<-compatibility' if
257         the first element of argument `value' is `compat'.
258         (Fput_char_attribute): Eliminate the first value if
259         `put_char_composition' returns `<-compatibility'.
260         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
261         for `<-compatibility'.
262         (syms_of_chartab): Add new symbol `<-compatibility'.
263
264 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
265
266         * chartab.c (Q_canonical): New variable.
267         (put_char_composition): Return a feature name: return
268         `->canonical' if argument `value' specifies single character.
269         (Fput_char_attribute): Use `put_char_composition' to determine
270         feature name for `=decomposition' or `->denotational'.
271         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
272         for `->canonical'.
273         (syms_of_chartab): Add new symbol `->canonical'.
274
275 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
276
277         * chartab.c (Qmap_decomposition): New variable.
278         (Fput_char_attribute): Convert `->decomposition' to
279         `=decomposition'.
280         (syms_of_chartab): Add new symbol `=decomposition'.
281
282 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
283
284         * chartab.c (Fget_range_char_table): Fix serious problem when
285         `range' is nil.
286
287 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
288
289         * chartab.c (char_table_get_db): Use `read_from_c_string'.
290
291 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
292
293         * lread.c (read_from_c_string): New function.
294
295         * lisp.h (read_from_c_string): New prototype.
296
297 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
298
299         * chartab.c (Fput_char_attribute): Convert char-specs in value of
300         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
301         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
302         for `{<-|->}Oracle-Bones[^*]*'.
303
304 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
305
306         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
307         (Kizu).
308
309 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
310
311         * text-coding.c (Qccs_priority_list): New variable in XEmacs
312         CHISE.
313         (Fmake_coding_system): Support new property `ccs-priority-list' in
314         XEmacs CHISE.
315         (Fcoding_system_property): Likewise.
316         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
317         Vdefault_coded_charset_priority_list in XEmacs CHISE.
318         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
319         XEmacs CHISE.
320         (complex_vars_of_file_coding): Define new coding-system-property
321         `ccs-priority-list' in XEmacs CHISE.
322
323         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
324
325 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
326
327         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
328         changed to normal function.
329         (encode_char_2): Likewise.
330
331         * mule-charset.c (decoding_table_put_char): Copied from
332         char-ucs.h; changed to normal function.
333         (encode_char_2): Likewise.
334
335 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
336
337         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
338         New extern.
339         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
340         (encode_char_2_search_children): New inline function.
341         (encode_char_2): Refer
342         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
343         and use `encode_char_2_search_children'.
344
345 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
346
347         * mule-charset.c
348         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
349         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
350         (vars_of_mule_charset): Add new variable
351         `display-coded-charset-priority-use-inheritance' and
352         `display-coded-charset-priority-use-hierarchy-order'.
353
354 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
355
356         * char-ucs.h (Q_subsumptive): New extern.
357         (Q_denotational): Likewise.
358         (encode_char_2): Search children specified by `->subsumptive' and
359         `->denotational'.
360
361 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
362
363         * mule-charset.c (complex_vars_of_mule_charset): Modify the
364         X-registry of `ucs-bmp'.
365
366 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
367
368         * chartab.c (char-variants): Refer `->subsumptive',
369         `->denotational' and `->identical' as same as `->ucs-unified'.
370
371 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
372
373         * chartab.c (Fput_char_attribute): Convert char-specs in value of
374         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
375         links.
376
377 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
378
379         * text-coding.c: Add EXFUN for `Fregexp_quote'.
380         (decode_add_er_char): Fix problem about infinite loop when a CCS
381         specified in `coded-charset-entity-reference-alist' is not
382         existed.
383
384 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
385
386         * mule-charset.c (syms_of_mule_charset): Rename
387         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
388
389 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
390
391         * fns.c (simplify_char_spec): Don't allocate new character-object
392         if specified char_spec does not have any CCS-features.
393
394         * chartab.h: Add EXFUN for Fdefine_char.
395
396         * chartab.c: Delete EXFUN for Fdefine_char.
397
398 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
399
400         * fns.c (simplify_char_spec): Use Fdefine_char instead of
401         Ffind_char for char-spec.
402
403 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
404
405         * lisp-disunion.h (XCHARVAL): Fix condition about
406         SIZEOF_EMACS_INT.
407
408 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
409
410         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
411         <int> for `code'.
412         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
413         point; use <Emchar> instead of <int> for character-id.
414
415 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
416
417         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
418         (make_char): Likewise.
419         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
420         environment.
421         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
422         instead of <int> as the type of return value; use <Lisp_Object>
423         instead of <Emchar> as the type of argument.
424         (XCHARVAL[macro version]): Cast the result into <Emchar>.
425
426         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
427         syntaxcode> instead of <int>.
428
429 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
430
431         * chartab.c (put_char_composition): Use DECODE_CHAR to get
432         character corresponding with UCS code point.
433         (Fput_char_attribute): Likewise.
434
435         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
436         character in the UCS decoding-table if the char-id is not equal to
437         the UCS code point.
438
439 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
440
441         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
442         for aliases; write `description'; write
443         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
444         not 0.
445
446 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
447
448         * chartab.c (Fsave_char_attribute_table): Don't use
449         `save_charset_properties'.
450
451         * mule-charset.c (Fsave_charset_properties): Renamed from
452         `save_charset_properties' and changed to Lisp function again;
453         write property `type' as `CCS'; write properties `final-byte' and
454         `mother' if they exists.
455         (syms_of_mule_charset): Revive builtin function
456         `save-charset-properties' when HAVE_LIBCHISE is defined.
457
458 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
459
460         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
461         instead of Vexec_directory.
462         (char_attribute_system_db_file): Likewise.
463
464 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
465
466         * chartab.c (Fsave_char_attribute_table): Use
467         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
468         defined.
469
470         * mule-charset.c (save_charset_properties): Renamed from
471         `Fsave_charset_properties'; changed to non-Lisp function.
472         (syms_of_mule_charset): Abolish builtin function
473         `save-charset-properties'.
474
475 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
476
477         * mule-charset.c (Fsave_charset_properties): New function when
478         HAVE_LIBCHISE is defined.
479         (syms_of_mule_charset): Add new builtin function
480         `save-charset-properties' when HAVE_LIBCHISE is defined.
481
482 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
483
484         * chartab.c (Fput_char_attribute): Convert char-specs in value of
485         `{<-|->}ancient[^*]*' to characters and put reverse links.
486         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
487         for `{<-|->}ancient[^*]*'.
488
489 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
490
491         * chartab.c (Fput_char_attribute): Convert char-specs in value of
492         `{<-|->}original[^*]*' to characters and put reverse links.
493         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
494         for `{<-|->}original[^*]*'.
495
496 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
497
498         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
499
500 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
501
502         * mule-charset.c (Qsystem_char_id): New variable.
503
504         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
505         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
506
507 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
508
509         * chartab.c (Fput_char_attribute): When processing a reference of
510         a character, put into the end of the reversed reference of each
511         target character.
512
513 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
514
515         * chartab.c (Q_same): Deleted.
516         (Q_same_of): Deleted.
517         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
518         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
519         for `{<-|->}same'.
520         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
521
522 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
523
524         * chartab.c (Q_vulgar): Deleted.
525         (Q_vulgar_of): Deleted.
526         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
527         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
528         for `{<-|->}vulgar'.
529         (syms_of_chartab): Don't define `{<-|->}vulgar'.
530
531 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
532
533         * chartab.c (Fput_char_attribute): Convert char-specs in value of
534         `{<-|->}wrong[^*]*' to characters and put reverse links.
535         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
536         for `{<-|->}wrong[^*]*'.
537
538 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
539
540         * chartab.c (Q_vulgar): New variable.
541         (Q_vulgar_of): New variable.
542         (Fput_char_attribute): Convert char-specs in value of
543         `{->|<-}vulgar' to characters and put reverse links.
544         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
545         for `{->|<-}vulgar'.
546         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
547
548 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
549
550         * text-coding.c (decode_add_er_char): Must to quote prefix string
551         as regexp.
552
553 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
554
555         * mule-charset.c (put_char_ccs_code_point): Store characters of
556         =ucs whose code_points >= 0xF0000.
557
558 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
559
560         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
561         CHISE.
562         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
563         CHISE.
564         (complex_vars_of_mule_charset): Add new coded-charset
565         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
566         builtin characters over 0xEFFFF.
567
568         * chartab.c (syms_of_chartab): Don't define symbol
569         `system-char-id' in every case.
570
571         * char-ucs.h (Qsystem_char_id): New extern variable.
572         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
573
574 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
575
576         * text-coding.c (char_encode_utf8): Try to use entity-references
577         for U-000F0000 ...  U-0010FFFF.
578
579 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
580
581         * text-coding.c (ER_BUF_SIZE): New macro.
582         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
583         `er_buf'.
584         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
585         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
586
587 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
588
589         * chartab.c (find_char_feature_in_family): New function.
590         (Fchar_feature): Use `find_char_feature_in_family' with
591         `->identical', `<-subsumptive' and `<-denotational'.
592
593 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
594
595         * text-coding.c (char_encode_as_entity_reference): Allow prefix
596         within 8 characters; fix infinite loop.
597
598 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
599
600         * chartab.c (Q_same): New variable.
601         (Q_same_of): New variable.
602         (Fput_char_attribute): Convert char-specs in value of
603         `{->|<-}same' to characters and put reverse links.
604         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
605         for `{->|<-}same'.
606         (syms_of_chartab): Add new symbols `{->|<-}same'.
607
608 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
609
610         * chartab.c (Q_component): New variable.
611         (Q_component_of): Likewise.
612         (Fput_char_attribute): Convert char-specs in value of
613         `{->|<-}ideographic-component-forms' to characters and put reverse
614         links.
615         (syms_of_chartab): Add new symbols
616         `{->|<-}ideographic-component-forms'.
617
618 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
619
620         * chartab.c (Q_identical): New variable.
621         (Q_identical_from): New variable.
622         (Fchar_feature): Regard `->identical' as a feature to find
623         ancestors.
624         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
625         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
626         for `{->|<-}identical'.
627         (syms_of_chartab): Add new symbols `{->|<-}identical'.
628
629 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
630
631         * char-ucs.h (encode_char_2): New inline function.
632         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
633
634 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
635
636         * chartab.c (Fput_char_attribute): Convert char-specs to
637         characters in value of `ideographic-structure'.
638         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
639         for `{<-|->}simplified(@...)'.
640         (Fdefine_char): Try to use predefined character's id.
641
642 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
643
644         * fns.c (simplify_char_spec): Try to convert builtin chars to
645         defined chars.
646
647 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
648
649         * chartab.c (Fput_char_attribute): Convert char-specs in value of
650         `<-simplified[^*]*' to characters and put reverse links.
651
652 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
653
654         * chartab.c (Q_subsumptive): Renamed from Q_unified.
655         (Q_subsumptive_from): Renamed from Q_unified_from.
656         (Fchar_feature): Use `Q_subsumptive_from' instead of
657         `Q_unified_from'.
658         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
659         `Q_unified'.
660         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
661         `<-unified' to `<-subsumptive'.
662
663 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
664
665         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
666         inheritance itself; fix typo; stop recursive search if cyclic
667         inheritance is found.
668
669 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
670
671         * chartab.c (Q_denotational): New variable.
672         (Q_denotational_from): New variable.
673         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
674         (put_char_attribute): New function.
675         (Fput_char_attribute): Use `put_char_attribute'; regard
676         `->denotational' and `<-denotational' as same as `->unified' and
677         `<-unified'.
678         (syms_of_chartab): Add new symbols `->denotational' and
679         `<-denotational'.
680
681 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
682
683         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
684         `Fget_char_attribute'.
685         (Fchar_variants): Likewise.
686         (get_char_table): Likewise.
687         (Fchar_feature): New function.
688         (put_char_composition): Use `Fchar_feature' instead of
689         `Fget_char_attribute'.
690         (Fput_char_attribute): Likewise; don't put the target character
691         into its `->unified' value.
692         (syms_of_chartab): Add new builtin function `char-feature'.
693
694 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
695
696         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
697         `Fget_char_attribute'.
698         (char_encode_utf8): Likewise.
699
700         * chartab.h: Add an EXFUN for `Fchar_feature'.
701
702 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
703
704         * chartab.c (Vnext_defined_char_id): New variable.
705         (Fput_char_attribute): Accept characters in `->unified'.
706         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
707         new characters which are not related with builtin char-id ranges.
708         (vars_of_chartab): Add new variable `next-defined-char-id'.
709
710 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
711
712         * chartab.c (Q_unified): New variable.
713         (Q_unified_from): New variable.
714         (Fput_char_attribute): Add code for `->unified'.
715         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
716         XEmacs CHISE.
717
718 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
719
720         * mule-charset.c (decode_ccs_conversion): New function.
721         (decode_defined_char): Use `decode_ccs_conversion'.
722         (decode_builtin_char): Likewise.
723
724 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
725
726         * char-ucs.h: Change some charset-ids of private coded-charsets.
727
728 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
729
730         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
731         (char_encode_as_entity_reference): Likewise.
732         (decode_coding_big5): Modify for `decode_defined_char' and
733         `DECODE_CHAR'.
734         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
735         avoid compiler warning.
736         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
737
738         * mule-charset.c (decode_defined_char): Add new argument
739         `without_inheritance'.
740         (Fdecode_char): Add new optional argument `without_inheritance'.
741         (Fdecode_builtin_char): Modify for `Fdecode_char'.
742
743         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
744         (simplify_char_spec): Likewise.
745
746         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
747         setting.
748
749         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
750         (map_char_table): Likewise.
751         (Fdefine_char): Use `Fdecode_char' without inheritance.
752         (Ffind_char): Modify for `Fdecode_char'.
753
754         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
755
756         * char-ucs.h (decode_defined_char): Add new argument
757         `without_inheritance'.
758         (DECODE_CHAR): Likewise.
759         (MAKE_CHAR): Modify for `DECODE_CHAR'.
760
761 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
762
763         * chartab.c (Vchise_system_db_directory): New variable.
764         (vars_of_chartab): Add new variable `chise-system-db-directory'.
765
766 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
767
768         * chartab.c: EXFUN `Fmount_char_attribute_table'.
769         (print_chartab_range): Don't define when `UTF2000' is defined.
770         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
771         `CHISE_DS_open'.
772
773 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
774
775         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
776         and optional argument `rehash' is specified, call
777         `open_chise_data_source_maybe' before
778         `chise_ds_foreach_char_feature_name' is called.
779
780 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
781
782         * chartab.c (char_attribute_list_reset_map_func): New function
783         when HAVE_LIBCHISE is defined.
784         (Fchar_attribute_list): Add new optional argument `rehash' when
785         HAVE_LIBCHISE is defined.
786         (open_chise_data_source_maybe): Use "chise-db" instead of
787         "char-db".
788         (char_attribute_system_db_file): Likewise.
789         (Fload_char_attribute_table): Use
790         `chise_feature_foreach_char_with_value' instead of
791         `chise_char_feature_value_iterate'.
792
793 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
794
795         * chartab.c (Vchise_db_directory): New variable.
796         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
797
798 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
799
800         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
801         instead of HAVE_CHISE to specify using with libchise.
802
803         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
804
805         * chartab.h: Don't use HAVE_CHISE_CLIENT.
806
807         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
808         defined or HAVE_LIBCHISE_LIBCHISE is defined.
809         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
810         is defined.
811         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
812         HAVE_CHISE to specify using with libchise.
813         (syms_of_chartab): Don't define symbol `system-char-id' when
814         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
815
816 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
817
818         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
819         specify CHISE DB support.
820         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
821         of `char_attribute_system_db_file' to check feature DB file.
822
823         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
824         HAVE_CHISE_CLIENT to specify CHISE DB support.
825
826         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
827         specify CHISE DB support.
828         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
829         not defined.
830         (Freset_char_attribute_table): Use `chise_feature_setup_db'
831         instead of `char_attribute_system_db_file' to check feature DB
832         file.
833
834 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
835
836         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
837         `HAVE_CHISE_CLIENT'.
838
839 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
840
841         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
842         (Fsave_charset_mapping_table): Don't use
843         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
844
845         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
846         (HAVE_LIBCHISE): New macro.
847
848         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
849
850         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
851         (Fsave_char_attribute_table): Don't use
852         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
853
854 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
855
856         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
857         defined.
858         (save_uint16_byte_table): Likewise.
859         (save_byte_table): Likewise.
860         (char_table_get_db): Use `chise_ds_load_char_feature_value'
861         instead of `chise_char_load_feature_value'.
862         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
863
864 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
865
866         * chartab.h (struct Lisp_Char_Table): Delete member
867         `feature_table' if CHISE is defined.
868
869         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
870         (Fcopy_char_table): Likewise.
871         (char_table_open_db_maybe): Likewise.
872         (char_table_close_db_maybe): Likewise.
873         (char_table_get_db): Likewise.
874         (Fmount_char_attribute_table): Likewise.
875         (Fload_char_attribute_table): Likewise.
876
877 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
878
879         * mule-charset.c (load_char_decoding_entry_maybe): Use
880         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
881         `chise_ccs_decode'.
882
883 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
884
885         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
886         instead of `chise_open_data_source'.
887         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
888         `chise_ds_close'.
889
890 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
891
892         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
893         instead of `chise_ds_open_feature_table'.
894         (char_table_close_db_maybe): Don't use `chise_ft_close'.
895
896 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
897
898         * mule-charset.c (Fsave_charset_mapping_table): Use
899         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
900         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
901         `chise_ccs_sync' instead of `chise_ccst_close'.
902         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
903
904         * chartab.c (open_chise_data_source_maybe): Modify for
905         `chise_open_data_source'.
906         (char_table_open_db_maybe): Modify for
907         `chise_ds_open_feature_table'.
908
909 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
910
911         * mule-charset.c (load_char_decoding_entry_maybe): Use
912         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
913         `chise_ccst_close'.
914
915 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
916
917         * mule-charset.c (Fsave_charset_mapping_table): Use
918         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
919         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
920         `chise_dt_put_char' and `chise_dt_close'.
921         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
922         `chise_ccs_decode' and `chise_ccst_close' instead of
923         `chise_ds_open_decoding_table', `chise_dt_get_char' and
924         `chise_dt_close'.
925
926         * chartab.c (char_table_get_db): Use
927         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
928         (load_char_attribute_table_map_func): Modify for
929         `chise_char_feature_value_iterate'.
930         (Fload_char_attribute_table): Use
931         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
932
933 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
934
935         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
936
937 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
938
939         * chartab.c (put_char_table): Modify for inherited coded-charsets
940         in XEmacs CHISE.
941
942 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
943
944         * chartab.c (Fput_char_table_map_function): Fixed.
945         (word_boundary_p): Don't check charset in XEmacs CHISE.
946
947 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
948
949         * mule-charset.c (Fsave_charset_mapping_table): Use
950         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
951         instead of `chise_open_decoding_table'; refer
952         `default_chise_data_source'; use `chise_dt_close' instead of
953         `chise_close_decoding_table'.
954         (load_char_decoding_entry_maybe): Likewise.
955
956         * chartab.c (default_chise_data_source): New variable when `CHISE'
957         is defined.
958         (Fcopy_char_table): `ct->ds' is deleted.
959         (open_chise_data_source_maybe): New function.
960         (Fclose_char_data_source): New function.
961         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
962         use `chise_ds_open_feature_table' instead of
963         `chise_open_feature_table'.
964         (char_table_close_db_maybe): Use `chise_ft_close' instead of
965         `chise_close_feature_table'; `cit->ds' is deleted.
966         (syms_of_chartab): Add new builtin function
967         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
968
969         * chartab.h (default_chise_data_source): New extern variable.
970         (open_chise_data_source_maybe): New prototype.
971         (struct Lisp_Char_Table): Delete `ds'.
972
973 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
974
975         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
976         `CHISE' is defined.
977
978 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
979
980         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
981         not defined; add code for non-libchise setting.
982         (char_table_close_db_maybe): Likewise.
983         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
984         defined.
985         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
986         even if `CHISE' is not defined.
987         (Freset_char_attribute_table): Likewise.
988         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
989         `char_table_close_db_maybe' even if `CHISE' is not defined; use
990         `char_table_get_db'.
991         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
992         `char_table_close_db_maybe' even if `CHISE' is not defined.
993
994 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
995
996         * chartab.c (char_table_open_db_maybe): New function.
997         (char_table_close_db_maybe): New function.
998         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
999         (Freset_char_attribute_table): Likewise.
1000         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1001         `char_table_close_db_maybe'.
1002         (Fload_char_attribute_table): Likewise.
1003
1004 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1005
1006         * chartab.c: Don't include <chise.h> because it is included in
1007         chartab.h.
1008         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
1009         defined.
1010         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
1011         `CHISE' is defined.
1012         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
1013         `CHISE' is defined.
1014         (Fclose_char_attribute_table): Close `ct->feature_table' and
1015         `ct->ds' when `CHISE' is defined.
1016         (Freset_char_attribute_table): Likewise.
1017         (load_char_attribute_maybe): Use `cit->ds' and
1018         `cit->feature_table' when `CHISE' is defined.
1019         (Fload_char_attribute_table): Likewise.
1020
1021         * chartab.h: Include <chise.h> when `CHISE' is defined.
1022         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
1023         when `CHISE' is defined.
1024
1025 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1026
1027         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
1028         is defined.
1029         (char_table_description): Likewise.
1030         (Fmake_char_table): Likewise.
1031         (Fcopy_char_table): Likewise.
1032         (Fmount_char_attribute_table): Likewise.
1033         (Fclose_char_attribute_table): Likewise.
1034         (Freset_char_attribute_table): Likewise.
1035         (load_char_attribute_maybe): Likewise.
1036         (Fload_char_attribute_table): Likewise.
1037
1038         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
1039         defined.
1040
1041 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1042
1043         * chartab.c (load_char_attribute_table_map_func): New function
1044         when CHISE is defined.
1045         (Qload_char_attribute_table_map_function): Don't define when CHISE
1046         is defined.
1047         (Fload_char_attribute_table_map_function): Likewise.
1048         (Fload_char_attribute_table): Use libchise when `CHISE' is
1049         defined.
1050         (syms_of_chartab): Don't define
1051         `load-char-attribute-table-map-function' when CHISE is defined.
1052
1053 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1054
1055         * chartab.c: Include <chise.h> when `CHISE' is defined.
1056         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
1057
1058 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1059
1060         * mule-charset.c (charset_code_point): Fix problem when searching
1061         in mother CCS fails with `defined_only' mode.
1062
1063 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1064
1065         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
1066         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
1067         (put_char_composition): Likewise.
1068         (Fput_char_attribute): Likewise.
1069         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
1070
1071 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1072
1073         * chartab.c (Q_ucs): Deleted.
1074         (Fput_char_attribute): Don't refer `->ucs'.
1075         (Fdefine_char): Likewise.
1076         (Ffind_char): Likewise.
1077         (syms_of_chartab): Delete `->ucs'.
1078
1079 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1080
1081         * mule-charset.c (Qmap_cns11643_2): Renamed from
1082         `Qchinese_cns11643_2'.
1083         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
1084         `chinese-cns11643-2'.
1085         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
1086         `=cns11643-2'.
1087
1088 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1089
1090         * mule-charset.c (Qmap_cns11643_1): Renamed from
1091         `Qchinese_cns11643_1'.
1092         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
1093         `chinese-cns11643-1'.
1094         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
1095         `=cns11643-1'.
1096
1097 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1098
1099         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
1100         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
1101         `chinese-gb12345'.
1102         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
1103         `=gb12345'.
1104
1105 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1106
1107         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
1108         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
1109         `chinese-gb2312'.
1110         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
1111         `=gb2312'.
1112
1113 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1114
1115         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
1116         (syms_of_mule_charset): Add new symbol `=big5' instead of
1117         `chinese-big5'.
1118         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1119
1120 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1121
1122         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1123         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1124         `korean-ksc5601'.
1125         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1126         `=ks-x1001'.
1127
1128 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1129
1130         * mule-charset.c (Qmap_jis_x0212): Renamed from
1131         `Qjapanese_jisx0212'.
1132         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1133         `japanese-jisx0212'.
1134         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1135         `=jis-x0212'.
1136
1137 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1138
1139         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1140         `Qjapanese_jisx0208'.
1141         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1142         of `japanese-jisx0208'.
1143         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1144         `=jis-x0208-1983'.
1145
1146 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1147
1148         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1149         `Qjapanese_jisx0208_1978'.
1150         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1151         of `japanese-jisx0208-1978'.
1152         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1153         `=jis-x0208-1978'.
1154
1155 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1156
1157         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1158         only for XEmacs CHISE.
1159
1160 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1161
1162         * char-ucs.h: Compact non-ISO-IR charset-ids.
1163         (LEADING_BYTE_UCS): Changed to -177.
1164         (LEADING_BYTE_CONTROL_1): Changed to -77.
1165         (LEADING_BYTE_UCS_BMP): Changed to -176.
1166         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1167
1168 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1169
1170         * mule-charset.c (Qiso_ir): New variable.
1171         (Fmake_charset): Recognise new property `iso-ir'.
1172         (syms_of_mule_charset): Add new symbol `iso-ir'.
1173
1174 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1175
1176         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1177         n to -n; charset-id of non ISO-IR sets are changed to positive
1178         numbers.
1179
1180 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1181
1182         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1183         for &MCS-XXXXXXXX; values.
1184
1185 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1186
1187         * mule.c (Vxemacs_chise_version): Renamed from
1188         `Vutf_2000_version'.
1189         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1190         `utf-2000-version' as an alias for `xemacs-chise-version'.
1191
1192 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1193
1194         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1195         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1196         defined.
1197
1198         * config.h.in (CHISE): New macro.
1199
1200 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1201
1202         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1203         of `ucs'.
1204         (Qmap_ucs): New variable.
1205         (syms_of_mule_charset): Add new symbol `=ucs'.
1206         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1207
1208         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1209         (simplify_char_spec): Likewise.
1210
1211         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1212
1213         * char-ucs.h (Qmap_ucs): New extern variable.
1214
1215 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1216
1217         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1218         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1219         don't define it when UTF2000 is not defined.
1220         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1221         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1222         when UTF2000 is not defined.
1223         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1224         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1225
1226 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1227
1228         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1229
1230         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1231         (Qucs_gb): Deleted.
1232         (syms_of_mule_charset): Delete `ucs-gb'.
1233         (complex_vars_of_mule_charset): Likewise.
1234
1235 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1236
1237         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1238
1239         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1240         (Qucs_cns): Deleted.
1241         (syms_of_mule_charset): Delete `ucs-cns'.
1242         (complex_vars_of_mule_charset): Likewise.
1243
1244 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1245
1246         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1247
1248         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1249         (Qucs_jis): Deleted.
1250         (syms_of_mule_charset): Delete `ucs-jis'.
1251         (complex_vars_of_mule_charset): Likewise.
1252
1253 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1254
1255         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1256
1257         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1258         (Qucs_ks): Deleted.
1259         (syms_of_mule_charset): Delete `ucs-ks'.
1260         (complex_vars_of_mule_charset): Likewise.
1261
1262 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1263
1264         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1265         (Qideograph_daikanwa_2): Deleted.
1266         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1267         (complex_vars_of_mule_charset): Likewise.
1268
1269         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1270         (LEADING_BYTE_DAIKANWA_1): Deleted.
1271         (LEADING_BYTE_DAIKANWA_2): Deleted.
1272         (MIN_CHAR_DAIKANWA): Deleted.
1273         (MAX_CHAR_DAIKANWA): Deleted.
1274
1275 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1276
1277         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1278         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1279         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1280
1281         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1282         (Vcharset_ideograph_daikanwa): Deleted.
1283         (Qideograph_hanziku_{1..12}): Deleted.
1284         (Qideograph_daikanwa): Deleted.
1285         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1286         Vcharset_ideograph_daikanwa.
1287         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1288         `ideograph-hanziku-{1..12}'.
1289         (complex_vars_of_mule_charset): Likewise.
1290
1291 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1292
1293         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1294
1295         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1296         (Qideograph_gt_pj_{1..11}): Deleted.
1297         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1298         (complex_vars_of_mule_charset): Likewise.
1299
1300 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1301
1302         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1303         (Vcharset_ideograph_gt): Deleted.
1304         (Qucs_big5): Deleted.
1305         (Qideograph_gt): Deleted.
1306         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1307         `ideograph-gt'.
1308         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1309         and `ideograph-gt'.
1310
1311         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1312         (LEADING_BYTE_GT): Deleted.
1313         (MIN_CHAR_GT): Deleted.
1314         (MAX_CHAR_GT): Deleted.
1315
1316 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1317
1318         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1319
1320 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1321
1322         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1323         (save_uint16_byte_table): Likewise.
1324         (save_byte_table): Likewise; convert values by it.
1325         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1326         for `ideographic-structure'.
1327         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1328         as the filter for `ideographic-structure'.
1329
1330 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1331
1332         * chartab.c (put_char_composition): New function.
1333         (Fput_char_attribute): Use `put_char_composition'; use
1334         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1335
1336         * fns.c (simplify_char_spec): New function.
1337         (char_ref_simplify_spec): New function.
1338         (Fchar_refs_simplify_char_specs): New function.
1339         (syms_of_fns): Add new builtin function
1340         `char-refs-simplify-char-specs'.
1341
1342 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1343
1344         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1345         (Qideograph_cbeta): Deleted.
1346         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1347         (complex_vars_of_mule_charset): Likewise.
1348
1349         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1350         (MIN_CHAR_CBETA): Comment out.
1351         (MAX_CHAR_CBETA): Likewise.
1352
1353 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1354
1355         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1356         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1357         CHISE client feature.
1358
1359 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1360
1361         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1362
1363 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1364
1365         * mule-charset.c (charset_lookup_description_1): Use
1366         `NUM_LEADING_BYTES' in UTF-2000.
1367
1368 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1369
1370         * char-ucs.h (GC_CHARSETP): Deleted.
1371
1372 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1373
1374         * char-ucs.h (MAX_CHAR_GT): Updated.
1375
1376 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1377
1378         * text-coding.c: Sync with XEmacs 21.4.10.
1379
1380 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1381
1382         * mule-charset.c (Vcharset_china3_jef): Deleted.
1383         (Qchina3_jef): Deleted.
1384         (syms_of_mule_charset): Don't define `china3-jef'.
1385         (complex_vars_of_mule_charset): Likewise.
1386
1387         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1388         (MIN_CHAR_CHINA3_JEF): Comment out.
1389         (MAX_CHAR_CHINA3_JEF): Comment out.
1390
1391 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1392
1393         * mule-charset.c (Vcharset_ucs_gb): New variable.
1394         (Qucs_gb): New variable.
1395         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1396         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1397
1398         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1399
1400 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1401
1402         * mule-charset.c (charset_code_point): if a coded-charset has a
1403         final-byte, don't inherit the builtin range of the mother CCS.
1404
1405 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1406
1407         * mule-charset.c (charset_code_point): Fix problem about
1408         inheritance.
1409
1410 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1411
1412         * mule-charset.c (decode_builtin_char): Reorganized.
1413
1414 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1415
1416         * text-coding.c (char_encode_as_entity_reference): Modify for
1417         `charset_code_point'.
1418         (char_encode_shift_jis): Likewise.
1419         (char_encode_big5): Likewise.
1420         (char_encode_utf8): Likewise.
1421         (char_encode_iso2022): Likewise.
1422
1423         * mule-charset.c (charset_code_point): Add new argument
1424         `defined_only'.
1425         (Fencode_char): Add new optional argument `defined_only'.
1426
1427         * chartab.c (put_char_table): Modify for `charset_code_point'.
1428
1429         * char-ucs.h (charset_code_point): Add new argument
1430         `defined_only'.
1431         (encode_char_1): Modify for `charset_code_point'.
1432
1433 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1434
1435         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1436         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1437
1438 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1439
1440         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1441         (Qjis_x0208): Likewise.
1442         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1443         XCHARSET_FINAL(charset).
1444         (charset_code_point): Modify condition for final-byte based
1445         builtin-chars.
1446         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1447         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1448         in UTF-2000; specify `=jis-x0208' as the mother of
1449         `japanese-jisx0208-1978', `japanese-jisx0208' and
1450         `japanese-jisx0208-1990' in UTF-2000.
1451
1452 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1453
1454         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1455
1456 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1457
1458         * text-coding.c (decode_coding_utf16): Support UTF-16.
1459         (char_encode_utf16): Fixed.
1460
1461 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1462
1463         * text-coding.c (Qutf16): New variable in MULE.
1464         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1465         (Fcoding_system_type): Add `utf-16' in MULE.
1466         (struct detection_state): Add a structure for utf16 in MULE.
1467         (detect_coding_type): Setup st->utf16.mask in MULE.
1468         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1469         MULE.
1470         (reset_encoding_stream): Use `char_encode_utf16' and
1471         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1472         (detect_coding_utf16): New function [incomplete].
1473         (decode_coding_utf16): New function [support only UCS-2].
1474         (char_encode_utf16): New function.
1475         (char_finish_utf16): New function.
1476         (syms_of_file_coding): Add new symbol `utf-16'; setup
1477         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1478
1479         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1480         UTF-2000.
1481         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1482         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1483
1484 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1485
1486         * chartab.c (put_char_table): When a charset is specified as a
1487         range in UTF-2000, don't support builtin characters.
1488
1489 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1490
1491         * mule-charset.c (decode_defined_char): Don't refer external
1492         database if Qunbound or Qnil are found.
1493         (Fsave_charset_mapping_table): Don't define it if
1494         HAVE_CHISE_CLIENT is not defined.
1495         (Freset_charset_mapping_table): New function.
1496         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1497         found in external database.
1498         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1499         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1500         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1501
1502 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1503
1504         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1505         not.
1506
1507 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1508
1509         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1510         Q_lowercase, Q_uppercase in UTF-2000.
1511
1512         * chartab.c (get_char_table): Add special code for the standard
1513         case table to use character attribute `->downcase' and
1514         `->uppercase' for case operations in UTF-2000.
1515
1516         * casetab.c (Qflippedcase): New variable in UTF-2000.
1517         (Q_lowercase): Likewise.
1518         (Q_uppercase): Likewise.
1519         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1520         and `->uppercase' in UTF-2000.
1521         (complex_vars_of_casetab): Assign attribute name `downcase' to
1522         downcase and CANON table of Vstandard_case_table in UTF-2000;
1523         assign attribute name `flippedcase' to upcase and EQV table of
1524         Vstandard_case_table in UTF-2000.
1525
1526 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1527
1528         * text-coding.c (decode_add_er_char): Support isolated-chars.
1529         (char_encode_as_entity_reference): Likewise.
1530
1531 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1532
1533         * emacs.c (Vutf_2000_lisp_directory): New variable.
1534         (Vconfigure_utf_2000_lisp_directory): Likewise.
1535         (complex_vars_of_emacs): Add new variable
1536         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1537
1538 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1539
1540         * char-ucs.h (DECODE_CHAR): Delete special code for
1541         `chinese-big5-1' and `chinese-big5-2'.
1542
1543         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1544         (Qbig5_2): Likewise.
1545         (decode_defined_char): Support CONVERSION_BIG5_1 and
1546         CONVERSION_BIG5_2.
1547         (decode_builtin_char): Likewise.
1548         (charset_code_point): Likewise.
1549         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1550         'conversion in UTF-2000.
1551         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1552         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1553         `chinese-big5-2' as children of `chinese-big5'.
1554
1555         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1556         (CONVERSION_BIG5_2): New macro.
1557
1558 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1559
1560         * text-coding.c (char_encode_big5): Support entity-reference.
1561
1562 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1563
1564         * text-coding.c (char_encode_as_entity_reference): New function.
1565         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1566
1567 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1568
1569         * text-coding.c (decode_coding_big5): Support entity-reference
1570         decoding feature.
1571
1572 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1573
1574         * text-coding.c (allocate_coding_system): Initialize initial
1575         charsets for CODESYS_UTF8.
1576         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1577         charset-g2 for CODESYS_UTF8.
1578         (decode_coding_utf8): Use charset-g0.
1579         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1580         to force variants to map to UCS.
1581
1582 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1583
1584         * text-coding.c (Qutf_8_mcs): New variable.
1585         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1586         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1587         instead of `utf-8' in UTF-2000.
1588
1589 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1590
1591         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1592         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1593         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1594         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1595         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1596         CONVERSION_96x96x96x96 are introduced.
1597         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1598         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1599         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1600
1601         * char-ucs.h (CONVERSION_94): New macro.
1602         (CONVERSION_96): New macro.
1603         (CONVERSION_94x94): New macro.
1604         (CONVERSION_96x96): New macro.
1605         (CONVERSION_94x94x94): New macro.
1606         (CONVERSION_96x96x96): New macro.
1607         (CONVERSION_94x94x94x60): New macro.
1608         (CONVERSION_94x94x94x94): New macro.
1609         (CONVERSION_96x96x96x96): New macro.
1610
1611 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1612
1613         * chartab.c (Vcharacter_variant_table): Deleted.
1614         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1615         of `Vcharacter_variant_table'.
1616         (Fput_char_attribute): Likewise.
1617         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1618         (complex_vars_of_chartab): Likewise.
1619
1620 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1621
1622         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1623
1624         * fns.c (Qideographic_structure): New variable.
1625         (Qkeyword_char): New variable.
1626         (ids_format_unit): New function.
1627         (Fideographic_structure_to_ids): New function.
1628         (syms_of_fns): Add new symbols `ideographic-structure' and
1629         `:char'; add new builtin function `ideographic-structure-to-ids'.
1630
1631         * data.c (Fchar_ref_p): New function.
1632         (syms_of_data): Add new builtin function `char-ref-p'.
1633
1634         * chartab.h: Add an EXFUN for `Ffind_char'.
1635
1636 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1637
1638         * text-coding.c (Vcharacter_composition_table): Deleted.
1639         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1640         in every UTF-2000.
1641
1642         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1643         UTF-2000.
1644         (Vcharacter_composition_table): Deleted.
1645         (Fget_composite_char): Use the implementation for external-DB
1646         support in every UTF-2000.
1647         (Fput_char_attribute): Likewise.
1648         (char_attribute_system_db_file): Don't define if external-DB
1649         feature is not available.
1650         (Fsave_char_attribute_table): Likewise.
1651         (Fmount_char_attribute_table): Likewise.
1652         (Fclose_char_attribute_table): Likewise.
1653         (Freset_char_attribute_table): Likewise.
1654         (Fload_char_attribute_table): Likewise.
1655         (syms_of_chartab): Don't define `save-char-attribute-table',
1656         `mount-char-attribute-table', `reset-char-attribute-table',
1657         `close-char-attribute-table' and `load-char-attribute-table' if
1658         external-DB feature is not available.
1659         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1660
1661 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1662
1663         * text-coding.c (Qcomposition): Add extern if external-DB feature
1664         is supported.
1665         (Vcharacter_composition_table): Don't add extern if external-DB
1666         feature is supported.
1667         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1668         character composition rule if external-DB feature is supported.
1669
1670         * chartab.c (Vcharacter_composition_table): Don't define if
1671         external-DB feature is supported.
1672         (Qcomposition): New variable.
1673         (Fget_composite_char): New implementation for external-DB support.
1674         (Fput_char_attribute): Use `composition' property of each
1675         character instead of `Vcharacter_composition_table' to store
1676         character-composition rules if external-DB feature is supported.
1677         (syms_of_chartab): Add new symbol `composition'.
1678         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1679         external-DB feature is supported.
1680
1681 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1682
1683         * chartab.c (Vchar_db_stingy_mode): New variable.
1684         (load_char_attribute_maybe): Close database if
1685         Vchar_db_stingy_mode is not NIL.
1686         (Fload_char_attribute_table_map_function): Use
1687         `get_char_id_table_0' instead of `get_char_id_table'.
1688         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1689
1690         * chartab.h (get_char_id_table_0): New inline function.
1691         (get_char_id_table): Use `get_char_id_table_0'.
1692
1693 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1694
1695         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1696         and `COMPOSE_ADD_CHAR'.
1697         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1698
1699 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1700
1701         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1702         instead of `DECODE_ADD_UCS_CHAR'.
1703         (COMPOSE_ADD_CHAR): Likewise.
1704
1705 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1706
1707         * text-coding.c (decode_flush_er_chars): New inline function.
1708         (decode_add_er_char): New function.
1709         (decode_coding_utf8): Use `decode_flush_er_chars' and
1710         `decode_add_er_char'.
1711
1712 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1713
1714         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1715         done before `decode_output_utf8_partial_char'.
1716
1717         * mule-charset.c (complex_vars_of_mule_charset): Specify
1718         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1719         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1720
1721 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1722
1723         * mule-charset.c (decode_defined_char): New function; search
1724         mother.
1725         (decode_builtin_char): Don't search mother if
1726         XCHARSET_MAX_CODE(charset) == 0.
1727         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1728         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1729         (Fdecode_char): Use `decode_defined_char' instead of
1730         `DECODE_DEFINED_CHAR'.
1731         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1732         mother of `Vcharset_ucs_jis'.
1733
1734         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1735         instead of `DECODE_DEFINED_CHAR'.
1736
1737         * char-ucs.h (decode_defined_char): Renamed from
1738         `DECODE_DEFINED_CHAR'; changed to normal function.
1739         (DECODE_CHAR): Use `decode_defined_char' instead of
1740         `DECODE_DEFINED_CHAR'.
1741
1742         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1743
1744 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1745
1746         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1747
1748         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1749         variable.
1750         (Quse_entity_reference): New variable.
1751         (Qd): New variable.
1752         (Qx): New variable.
1753         (QX): New variable.
1754         (coding_system_description): Add description for
1755         `ccs_priority_list'.
1756         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1757         (allocate_coding_system): Initialize `ccs_priority_list' in
1758         UTF-2000.
1759         (Fmake_coding_system): Add description about
1760         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1761         (codesys).
1762         (Fcoding_system_property): Accept `disable-composition' and
1763         `use-entity-reference' in UTF-2000.
1764         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1765         in UTF-2000.
1766         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1767         (decode_coding_utf8): Decode entity-reference if
1768         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1769         (char_encode_utf8): Encode non-Unicode characters as
1770         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1771         (str->codesys).
1772         (syms_of_file_coding): Add new symbols `use-entity-reference',
1773         `d', `x', `X'.
1774         (vars_of_file_coding): Add new variable
1775         `coded-charset-entity-reference-alist'.
1776         (complex_vars_of_file_coding): Declare `disable-composition' and
1777         `use-entity-reference' to be coding-system-properties in UTF-2000.
1778
1779         * file-coding.h (struct Lisp_Coding_System): Add new member
1780         `use_entity_reference' and `ccs_priority_list'.
1781         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1782         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1783         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1784
1785 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1786
1787         * chartab.c (save_uint8_byte_table): Don't clear the table.
1788         (save_uint16_byte_table): Likewise.
1789         (save_byte_table): Likewise.
1790         (Fmount_char_attribute_table): New function.
1791         (syms_of_chartab): Add new builtin function
1792         `mount-char-attribute-table'.
1793
1794 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1795
1796         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1797         "w+" mode.
1798         (load_char_decoding_entry_maybe): Open database as read-only mode.
1799
1800         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1801         open database as "w+" mode.
1802         (load_char_attribute_maybe): Open database as read-only mode.
1803         (Fload_char_attribute_table): Likewise.
1804
1805 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1806
1807         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1808         (char_table_description): Delete member `db_file'.
1809         (Fmake_char_table): Don't refer `ct->db_file'.
1810         (Fcopy_char_table): Likewise.
1811         (Fsave_char_attribute_table): Likewise.
1812         (Fclose_char_attribute_table): Likewise.
1813         (Freset_char_attribute_table): Likewise.
1814         (load_char_attribute_maybe): Likewise.
1815         (Fload_char_attribute_table): Likewise.
1816
1817         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1818
1819 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1820
1821         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1822         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1823         `ct->db' is living.
1824         (load_char_attribute_maybe): Likewise.
1825         (Fload_char_attribute_table): Likewise.
1826
1827 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1828
1829         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1830         `ct->db_file' unconditionally.
1831
1832 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1833
1834         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1835         UTF-2000.
1836         (char_table_description): Add description for `db_file' and `db'
1837         in UTF-2000.
1838         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1839         UTF-2000.
1840         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1841         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1842         (Fclose_char_attribute_table): New function.
1843         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1844         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1845         and `cit->db'.
1846         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1847         (syms_of_chartab): Add new builtin function
1848         `Fclose_char_attribute_table'.
1849
1850 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1851
1852         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1853         `db' in UTF-2000.
1854         (load_char_attribute_maybe): Change interface.
1855         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1856
1857 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1858
1859         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1860
1861 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1862
1863         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1864         instead of `DECODE_CHAR' for mother; don't use special code for
1865         chinese-big5 to use code space of chinese-big5-1 and
1866         chinese-big5-2.
1867         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1868         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1869
1870         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1871         (MAX_CHAR_BIG5_CDP): Revival.
1872
1873 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1874
1875         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1876         the XLFD registry-encoding name of `chinese-big5'.
1877
1878 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1879
1880         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1881         (Qchinese_big5_cdp): Deleted.
1882         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1883         (complex_vars_of_mule_charset): Delete coded-charset
1884         `chinese-big5-cdp'.
1885
1886         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1887         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1888         `CHARSET_ID_OFFSET - n' for private CCS.
1889         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1890         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1891         of `MIN_LEADING_BYTE'.
1892         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1893         `(CHARSET_ID_OFFSET - 97)'.
1894         (MIN_CHAR_BIG5_CDP): Deleted.
1895         (MAX_CHAR_BIG5_CDP): Deleted.
1896
1897 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1898
1899         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1900
1901 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1902
1903         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1904         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1905         chartab.c].
1906
1907         * chartab.c (Vutf_2000_version): Moved to mule.c.
1908         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1909
1910 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1911
1912         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1913         when HAVE_CHISE_CLIENT is not defined.
1914
1915         * mule.c (vars_of_mule): Provide feature `chise' when
1916         HAVE_CHISE_CLIENT is defined.
1917
1918 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1919
1920         * config.h.in (UTF2000): Add comment.
1921         (HAVE_CHISE_CLIENT): New macro.
1922
1923 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1924
1925         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1926         CONSP.
1927         (Fput_char_attribute): Likewise.
1928         (char_attribute_system_db_file): Encode file-name of attribute.
1929         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1930         the initial value.
1931
1932 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1933
1934         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1935         (Fsave_charset_mapping_table): Use
1936         `char_attribute_system_db_file'.
1937         (load_char_decoding_entry_maybe): Likewise.
1938
1939         * chartab.h (Qsystem_char_id): New external variable.
1940         (char_attribute_system_db_file): New prototype.
1941
1942         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1943         (char_attribute_system_db_file): New function.
1944         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1945         (Freset_char_attribute_table): Likewise.
1946         (load_char_attribute_maybe): Likewise.
1947         (Fload_char_attribute_table): Likewise.
1948         (syms_of_chartab): Add new symbol `system-char-id'.
1949
1950 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1951
1952         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1953         `XCHARSET_GRAPHIC(ccs)'.
1954
1955 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1956
1957         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1958
1959 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1960
1961         * chartab.c (Q_ucs_variants): New variable.
1962         (syms_of_chartab): Add new symbol `->ucs-variants'.
1963         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1964         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1965         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1966
1967         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1968
1969         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1970         `HAVE_DATABASE' is defined.
1971         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1972         `HAVE_DATABASE' is defined.
1973
1974 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1975
1976         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1977         attribute-table.
1978         (Freset_char_attribute_table): New function.
1979         (syms_of_chartab): Add new builtin function
1980         `reset-char-attribute-table'.
1981
1982 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1983
1984         * chartab.c (load_char_attribute_maybe): Don't make directories.
1985
1986 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1987
1988         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1989
1990         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1991         for decoding-table.
1992
1993 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1994
1995         * mule-charset.c (Fsave_charset_mapping_table): Use
1996         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1997
1998         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1999         instead of `XCHARSET_CHARS'.
2000
2001 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2002
2003         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
2004         (XCHARSET_BYTE_SIZE): Likewise.
2005
2006         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
2007         mule-charset.c].
2008         (XCHARSET_BYTE_SIZE): Likewise.
2009
2010 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2011
2012         * chartab.c (Fput_char_attribute): Use exec-directory instead of
2013         data-directory to store database.
2014         (Fsave_char_attribute_table): Likewise.
2015         (load_char_attribute_maybe): Likewise.
2016         (Fload_char_attribute_table): Likewise.
2017
2018 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2019
2020         * mule-charset.c (Fsave_charset_mapping_table): New function.
2021         (syms_of_mule_charset): Add new builtin function
2022         `save-charset-mapping-table'.
2023
2024 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2025
2026         * char-ucs.h (decoding_table_check_elements): Delete prototype.
2027         (get_ccs_octet_table): New inline function.
2028         (put_ccs_octet_table): Likewise.
2029         (decoding_table_put_char): Use `get_ccs_octet_table' and
2030         `put_ccs_octet_table'.
2031         (decoding_table_remove_char): Use `decoding_table_put_char'.
2032         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
2033
2034         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
2035         into encoding_table.
2036         (make_charset): Use Qunbound instead Qnil as initial value of
2037         decoding_table.
2038
2039 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2040
2041         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
2042         element is Qunloaded.
2043         (map_over_uint16_byte_table): Likewise.
2044         (map_over_byte_table): Likewise.
2045         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
2046         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
2047         database support, load encoding-table of the specified
2048         coded-charset if it is not loaded yet.
2049         (save_uint8_byte_table): New function of UTF-2000 with external
2050         database support.
2051         (save_uint16_byte_table): Likewise.
2052         (save_byte_table): Likewise.
2053         (Fput_char_attribute): Don't store value into external database
2054         even if the external database feature is supported in UTF-2000;
2055         set `attribute' as name of char-table if the external database
2056         feature is supported.
2057         (Fsave_char_attribute_table): New function in UTF-2000.
2058         (syms_of_chartab): Add new builtin function
2059         `save-char-attribute-table' in UTF-2000.
2060
2061 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2062
2063         * chartab.c (char_attribute_table_to_put): New variable in
2064         UTF-2000.
2065         (Qput_char_table_map_function): Likewise.
2066         (value_to_put): Likewise.
2067         (Fput_char_table_map_function): New function in UTF-2000.
2068         (put_char_table): Use `Fmap_char_attribute' for
2069         CHARTAB_RANGE_CHARSET in UTF-2000.
2070         (Fput_char_attribute): Store symbol instead of string in
2071         `XCHAR_TABLE_NAME (table)'.
2072         (load_char_attribute_maybe): Likewise.
2073         (syms_of_chartab): Add new symbol/function
2074         `put-char-table-map-function'.
2075
2076 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2077
2078         * database.h: Add new EXFUN for `Fmap_database'.
2079
2080         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
2081         (syms_of_database): Likewise.
2082
2083         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
2084         UTF-2000.
2085         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
2086         (XCHAR_TABLE_UNLOADED): Likewise.
2087
2088         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
2089         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
2090         HAVE_DATABASE is defined.
2091         (char_attribute_table_to_load): New variable of UTF-2000 with
2092         external database support.
2093         (Qload_char_attribute_table_map_function): Likewise.
2094         (Fload_char_attribute_table_map_function): New function of
2095         UTF-2000 with external database support.
2096         (Fload_char_attribute_table): New function of UTF-2000.
2097         (Fmap_char_attribute): Call Fload_char_attribute_table if
2098         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
2099         (syms_of_chartab): Add new symbol and function
2100         `load-char-attribute-table-map-function' in UTF-2000 with external
2101         database support; add new function `load-char-attribute-table' in
2102         UTF-2000.
2103
2104 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2105
2106         * chartab.h (load_char_attribute_maybe): New prototype for
2107         UTF-2000 with DATABASE support.
2108         (get_char_id_table): Use `load_char_attribute_maybe' if
2109         HAVE_DATABASE is defined.
2110
2111         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
2112         with DATABASE support.
2113
2114 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2115
2116         * chartab.c (Fput_char_attribute): Use S-expression as key of
2117         external database.
2118
2119         * chartab.h (get_char_id_table): Use S-expression as key of
2120         external database.
2121
2122 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2123
2124         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2125         if an element is not loaded, load the corresponding attributes
2126         from an external database.
2127         (map_over_uint16_byte_table): Likewise.
2128         (map_over_byte_table): Likewise.
2129         (map_char_table): Modify for `map_over_uint8_byte_table',
2130         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2131         element is not loaded, load the corresponding attributes from an
2132         external database.
2133         (Fput_char_attribute): Change initial values to Qunloaded.
2134
2135         * chartab.h (get_char_id_table): If a character attribute is not
2136         loaded and the attribute value is not found in an external
2137         database, store Qunbound as the attribute value.
2138
2139 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2140
2141         * chartab.c (BT_UINT8_unloaded): New macro.
2142         (UINT8_VALUE_P): Accept Qunloaded.
2143         (UINT8_ENCODE): Likewise.
2144         (UINT8_DECODE): Likewise.
2145         (BT_UINT16_unloaded): New macro.
2146         (UINT16_VALUE_P): Accept Qunloaded.
2147         (UINT16_ENCODE): Likewise.
2148         (UINT16_DECODE): Likewise.
2149         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2150         BT_UINT16_unloaded.
2151         (mark_char_table): Mark `ct->name' in UTF-2000.
2152         (char_table_description): Add `name' in UTF-2000.
2153         (Fmake_char_table): Initialize `ct->name'.
2154         (Fcopy_char_table): Copy `ct->name'.
2155         (Fput_char_attribute): Store value into an external database if
2156         HAVE_DATABASE is defined.
2157
2158         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2159         UTF-2000.
2160         (CHAR_TABLE_NAME): New macro in UTF-2000.
2161         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2162         (get_char_id_table): Try to read an external database if Qunloaded
2163         is stored in a table.
2164
2165         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2166         Qunloaded.
2167
2168 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2169
2170         * database.h: Add EXFUN definitions for Fopen_database,
2171         Fput_database, Fget_database and Fclose_database.
2172
2173         * data.c (Qunloaded): New variable in UTF-2000.
2174
2175         * lisp.h (Qunloaded): New variable in UTF-2000.
2176
2177 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2178
2179         * mule-charset.c (put_char_ccs_code_point): Modify for
2180         `decoding_table_remove_char' and `decoding_table_put_char'.
2181         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2182
2183         * char-ucs.h (decoding_table_remove_char): Change arguments to
2184         hide decoding_table vector.
2185         (decoding_table_put_char): Likewise.
2186
2187 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2188
2189         * mule-charset.c (decoding_table_remove_char): Moved to
2190         char-ucs.h.
2191         (decoding_table_put_char): Likewise.
2192
2193         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2194         from mule-charset.c].
2195         (decoding_table_remove_char): New inline function [moved from
2196         mule-charset.c].
2197         (decoding_table_put_char): Likewise.
2198
2199 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2200
2201         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2202         extension.
2203
2204 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2205
2206         * mule-charset.c (decode_builtin_char): Support mother charsets.
2207
2208 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2209
2210         * mule-charset.c (Q94x94x60): New variable.
2211         (charset_code_point): Support conversion `94x94x60'.
2212         (Fmake_charset): Likewise.
2213         (syms_of_mule_charset): Add new symbol `94x94x60'.
2214
2215         * char-ucs.h (CONVERSION_94x94x60): New macro.
2216
2217 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2218
2219         * mule-charset.c (charset_code_point): Unify code about
2220         `code-offset'.
2221
2222 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2223
2224         * mule-charset.c (charset_code_point): Merge code about builtin
2225         characters into code about mother charsets; don't use
2226         `range_charset_code_point'.
2227         (range_charset_code_point): Deleted.
2228
2229 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2230
2231         * mule-charset.c (Qcode_offset): New variable.
2232         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2233         `max-code'; accept new property `code-offset'.
2234         (syms_of_mule_charset): Add new symbol `code-offset'.
2235
2236 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2237
2238         * mule-charset.c (range_charset_code_point): Fixed.
2239
2240 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2241
2242         * mule-charset.c (decode_builtin_char): Change semantics of
2243         code-offset of coded-charset.
2244         (charset_code_point): Likewise.
2245         (range_charset_code_point): Likewise.
2246         (complex_vars_of_mule_charset): Modify for the change.
2247
2248 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2249
2250         * mule-charset.c (Fencode_char): Reverse arguments.
2251
2252         * mule-charset.c (charset_code_point): Fixed.
2253
2254 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2255
2256         * mule-charset.c (Vcharset_mojikyo): Deleted.
2257         (Vcharset_mojikyo_2022_1): Deleted.
2258         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2259         (Qmin_code): New variable in UTF-2000.
2260         (Qmax_code): Likewise.
2261         (Qmother): Likewise.
2262         (Qconversion): Likewise.
2263         (Q94x60): Likewise.
2264         (Qmojikyo): Deleted.
2265         (Qmojikyo_2022_1): Deleted.
2266         (Qmojikyo_pj_{1..22}): Deleted.
2267         (mark_charset): Mark `cs->mother'.
2268         (charset_description): Add description for `mother'.
2269         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2270         new arguments `mother' and `conversion'; use
2271         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2272         (charset_code_point): Moved from char-ucs.h; support `mother'
2273         charset feature.
2274         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2275         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2276         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2277         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2278         allow 2 as the value of `graphic' in UTF-2000; add new properties
2279         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2280         require `final' in UTF-2000; modify for `make_charset'.
2281         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2282         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2283         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2284         (Fencode_char): New function.
2285         (syms_of_mule_charset): Add new builtin function `encode-char' in
2286         UTF-2000; add new symbols `min-code', `max-code', `mother',
2287         `conversion' and `94x60'; delete symbols `mojikyo',
2288         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2289         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2290         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2291         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2292
2293         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2294         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2295
2296         * char-ucs.h (Vcharset_mojikyo): Deleted.
2297         (Vcharset_mojikyo_2022_1): Deleted.
2298         (LEADING_BYTE_MOJIKYO): Deleted.
2299         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2300         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2301         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2302         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2303         add new member `mother'; add new member `conversion'.
2304         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2305         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2306         (CHARSET_MOTHER): New macro.
2307         (CHARSET_CONVERSION): New macro.
2308         (CONVERSION_IDENTICAL): New macro.
2309         (CONVERSION_94x60): New macro.
2310         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2311         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2312         (XCHARSET_MOTHER): New macro.
2313         (XCHARSET_CONVERSION): New macro.
2314         (MIN_CHAR_MOJIKYO): Deleted.
2315         (MAX_CHAR_MOJIKYO): Deleted.
2316         (DECODE_MOJIKYO_2022): Deleted.
2317         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2318         (charset_code_point): Changed to non-inline function.
2319         (encode_char_1): Use `charset_code_point'.
2320         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2321
2322 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2323
2324         * lread.c (read_compiled_function): Fix prototype.
2325         (read_vector): Likewise.
2326
2327 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2328
2329         * lrecord.h (struct lrecord_header): Delete `older'.
2330         (set_lheader_implementation): Delete code for `older'.
2331         (set_lheader_older_implementation): Deleted.
2332         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2333         (OLDER_RECORD_P): Deleted.
2334         (OLDER_RECORD_HEADER_P): Deleted.
2335         (alloc_older_lcrecord): Deleted.
2336         (alloc_older_lcrecord_type): Deleted.
2337
2338         * alloc.c (all_older_lcrecords): Deleted.
2339         (alloc_older_lcrecord): Deleted.
2340         (disksave_object_finalization_1): Delete code for older objects.
2341         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2342         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2343
2344 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2345
2346         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2347         instead of `make_older_vector'.
2348         (put_char_ccs_code_point): Likewise.
2349         (mark_charset): Mark `cs->decoding_table'.
2350         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2351
2352         * lisp.h (make_older_vector): Deleted.
2353         (make_vector_newer): Deleted.
2354
2355         * config.h.in (HAVE_GGC): Deleted.
2356
2357         * alloc.c (make_older_vector): Deleted.
2358         (make_vector_newer_1): Deleted.
2359         (make_vector_newer): Deleted.
2360
2361 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2362
2363         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2364         (Qideograph_daikanwa_2): New variable.
2365         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2366         (complex_vars_of_mule_charset): Add new coded-charset
2367         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2368         `LEADING_BYTE_DAIKANWA'.
2369
2370         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2371         (LEADING_BYTE_DAIKANWA_1): New macro.
2372         (LEADING_BYTE_DAIKANWA_2): New macro.
2373         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2374
2375 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2376
2377         * mule-charset.c (complex_vars_of_mule_charset): Change
2378         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2379         the second revised version.
2380
2381 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2382
2383         * mule-charset.c (Vcharset_ucs_smp): New variable.
2384         (Vcharset_ucs_sip): New variable.
2385         (Qucs_smp): New variable.
2386         (Qucs_sip): New variable.
2387         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2388         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2389         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2390         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2391         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2392         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2393
2394         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2395         (LEADING_BYTE_UCS_SIP): New macro.
2396         (MIN_CHAR_SMP): New macro.
2397         (MAX_CHAR_SMP): New macro.
2398         (MIN_CHAR_SIP): New macro.
2399         (MAX_CHAR_SIP): New macro.
2400
2401 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2402
2403         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2404         utf-2000.
2405
2406 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2407
2408         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2409         value; don't store value into `encoding_table' of `Lisp_Charset'.
2410         (mark_charset): `encoding_table' was deleted.
2411         (charset_description): Likewise.
2412         (make_charset): Likewise.
2413         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2414         `put_char_ccs_code_point'.
2415
2416         * chartab.h (Fput_char_attribute): New EXFUN.
2417
2418         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2419         is unified with normal symbol space.
2420         (Fget_char_attribute): Likewise.
2421         (Fput_char_attribute): Likewise; behavior of
2422         `put_char_ccs_code_point' is changed.
2423
2424         * char-ucs.h: Include "elhash.h".
2425         (Vchar_attribute_hash_table): New external variable.
2426         (struct Lisp_Charset): Delete `encoding_table'.
2427         (CHARSET_ENCODING_TABLE): New implementation; refer
2428         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2429         `Lisp_Charset'.
2430
2431 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2432
2433         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2434         (cs) == 0.
2435
2436 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2437
2438         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2439         `chinese-big5'.
2440
2441 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2442
2443         * chartab.c (uint8_byte_table_description): New constant.
2444         (uint8-byte-table): Use `uint8_byte_table_description'.
2445         (uint16_byte_table_description): New constant.
2446         (uint16-byte-table): Use `uint16_byte_table_description'.
2447
2448 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2449
2450         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2451         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2452
2453 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2454
2455         * mule-charset.c (Vcharset_ucs_ks): New variable.
2456         (Qucs_ks): New variable.
2457         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2458         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2459
2460         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2461
2462 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2463
2464         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2465         (Fdecode_char): Likewise.
2466
2467         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2468         chartab.h.
2469         (Fdefine_char): Modify for Fdecode_char.
2470         (Ffind_char): Likewise.
2471
2472         * mule-charset.c (Fdecode_char): Add new optional argument
2473         `defined-only'.
2474         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2475
2476 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2477
2478         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2479         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2480         (allocate_coding_system): Initialize initial-charsets of
2481         CODESYS_BIG5 in XEmacs UTF-2000.
2482         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2483         CODESYS_BIG5 in XEmacs UTF-2000.
2484         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2485         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2486
2487         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2488         variables.
2489         (Qideograph_hanziku_{1 .. 12}): Likewise.
2490         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2491         .. 12}'.
2492         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2493         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2494         `ideograph-hanziku-{1 .. 12}'.
2495
2496         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2497         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2498         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2499         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2500         (DECODE_DEFINED_CHAR): New inline function.
2501         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2502
2503 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2504
2505         * mule-charset.c (Vcharset_china3_jef): Renamed from
2506         `Vcharset_japanese_jef_china3'.
2507         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2508         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2509         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2510         (syms_of_mule_charset): Rename `china3-jef' from
2511         `japanese-jef-china3'.
2512         (complex_vars_of_mule_charset): Likewise; rename
2513         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2514
2515         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2516         `LEADING_BYTE_JEF_CHINA3'.
2517         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2518         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2519
2520 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2521
2522         * mule-charset.c (encode_builtin_char_1): Comment out special code
2523         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2524
2525         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2526         (MAX_CHAR_MOJIKYO_0): Comment out.
2527         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2528         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2529         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2530         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2531
2532 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2533
2534         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2535         (Qideograph_cbeta): New variable.
2536         (encode_builtin_char_1): Comment out special code for
2537         coded-charset `mojikyo' and `japanese-jef-china3'.
2538         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2539         (complex_vars_of_mule_charset): Add new coded-charset
2540         `ideograph-cbeta'.
2541
2542         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2543         (MIN_CHAR_CBETA): New macro.
2544         (MAX_CHAR_CBETA): New macro.
2545
2546 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2547
2548         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2549         (LEADING_BYTE_JEF_CHINA3): New macro.
2550         (MIN_CHAR_JEF_CHINA3): New macro.
2551         (MAX_CHAR_JEF_CHINA3): Likewise.
2552         (DECODE_CHAR): Fixed.
2553
2554 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2555
2556         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2557         (Qjapanese_jef_china3): New variable.
2558         (encode_builtin_char_1): Support `japanese-jef-china3'.
2559         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2560         (complex_vars_of_mule_charset): Add new coded-charset
2561         `japanese-jef-china3'.
2562
2563 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2564
2565         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2566         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2567         94^4, 96^3, 96^4, 128^n and 256^n set.
2568         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2569         (map_char_table): Likewise.
2570
2571 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2572
2573         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2574         UTF-2000.
2575
2576 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2577
2578         * chartab.h (get_char_id_table): New inline function.
2579
2580         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2581         function.
2582
2583 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2584
2585         * chartab.h (decode_char_table_range): New prototype in XEmacs
2586         UTF-2000.
2587         (put_char_id_table): New inline function in XEmacs UTF-2000.
2588
2589         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2590         function.
2591         (decode_char_table_range): Delete static declaration in XEmacs
2592         UTF-2000.
2593
2594 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2595
2596         * chartab.c (put_char_id_table): Use `put_char_table'.
2597
2598 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2599
2600         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2601         (map_over_uint16_byte_table): Likewise.
2602         (map_over_byte_table): Likewise.
2603         (map_char_table): Modify for `map_over_uint8_byte_table',
2604         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2605         UTF-2000.
2606
2607 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2608
2609         * chartab.c (struct map_char_table_for_charset_arg): New
2610         structure.
2611         (map_char_table_for_charset_fun): New function.
2612         (map_char_table): Use `map_char_table' for encoding_table of
2613         `range->charset'.
2614
2615 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2616
2617         * chartab.c (map_char_table): Check a character is found in
2618         range->charset instead of non default value is defined in
2619         char-table when range is CHARTAB_RANGE_ROW.
2620
2621 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2622
2623         * chartab.c (map_char_id_table): Deleted.
2624         (Fmap_char_attribute): Use `map_char_table' instead of
2625         `map_char_id_table'.
2626
2627 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2628
2629         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2630         UTF-2000.
2631         (update_syntax_table): Deleted in XEmacs UTF-2000.
2632
2633         * syntax.c (find_defun_start): Use `syntax_table' instead of
2634         `mirror_syntax_table' in XEmacs UTF-2000.
2635         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2636         UTF-2000.
2637         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2638         XEmacs UTF-2000.
2639         (Fmatching_paren): Likewise.
2640         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2641         in XEmacs UTF-2000.
2642         (find_start_of_comment): Likewise.
2643         (find_end_of_comment): Likewise.
2644         (Fforward_comment): Likewise.
2645         (scan_lists): Likewise.
2646         (char_quoted): Likewise.
2647         (Fbackward_prefix_chars): Likewise.
2648         (scan_sexps_forward): Likewise.
2649         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2650         (update_syntax_table): Likewise.
2651
2652         * search.c (skip_chars): Use `syntax_table' instead of
2653         `mirror_syntax_table' in XEmacs UTF-2000.
2654         (wordify): Likewise.
2655         (Freplace_match): Likewise.
2656
2657         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2658         `mirror_syntax_table' in XEmacs UTF-2000.
2659         (WORDCHAR_P_UNSAFE): Likewise.
2660         (re_match_2_internal): Likewise.
2661
2662         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2663         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2664
2665         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2666         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2667
2668         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2669         XEmacs UTF-2000.
2670
2671         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2672         UTF-2000.
2673         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2674         (char_table_description): Delete `mirror_table' in XEmacs
2675         UTF-2000.
2676         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2677         UTF-2000.
2678         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2679         (Fcopy_char_table): Likewise.
2680         (put_char_table): Don't call `update_syntax_table' in XEmacs
2681         UTF-2000.
2682
2683         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2684         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2685         (casify_region_internal): Likewise.
2686
2687         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2688
2689         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2690         `mirror_syntax_table' in XEmacs UTF-2000.
2691
2692         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2693         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2694         (Fexpand_abbrev): Likewise.
2695
2696 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2697
2698         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2699
2700 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2701
2702         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2703         (map_over_uint16_byte_table): Likewise.
2704         (map_over_byte_table): Likewise.
2705         (get_char_id_table): Refer `cit->default_value'.
2706         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2707         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2708         of character-id ranges.
2709         (mark_char_table): Mark `ct->default_value'.
2710         (char_table_description): Add `default_value'.
2711         (fill_char_table): Use `default_value'.
2712         (decode_char_table_range): Decode `nil' as
2713         `CHARTAB_RANGE_DEFAULT'.
2714         (get_char_id_table): Refer `cit->default_value'.
2715         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2716         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2717         temporary hack; check value of char-table is bound or not.
2718         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2719
2720         * chartab.h (struct Lisp_Char_Table): Add new member
2721         `default_value' in XEmacs UTF-2000.
2722         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2723         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2724         UTF-2000.
2725
2726 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2727
2728         * chartab.h (Lisp_Char_ID_Table): Deleted.
2729
2730         * chartab.c (char_table_description): Fix typo.
2731         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2732         `Lisp_Char_ID_Table'.
2733
2734 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2735
2736         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2737         `CHAR_ID_TABLE_P'.
2738
2739         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2740         `CHAR_ID_TABLE_P'.
2741
2742         * chartab.h (XCHAR_ID_TABLE): Deleted.
2743         (XSETCHAR_ID_TABLE): Deleted.
2744         (CHAR_ID_TABLE_P): Deleted.
2745
2746         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2747         `CHAR_ID_TABLE_P'.
2748         (Fget_composite_char): Likewise.
2749         (put_char_table): Likewise.
2750         (add_char_attribute_alist_mapper): Fixed.
2751         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2752         `CHAR_ID_TABLE_P'.
2753         (Fget_char_attribute): Likewise.
2754         (Fget_char_attribute): Likewise.
2755         (Fmap_char_attribute): Likewise.
2756
2757         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2758         `CHAR_ID_TABLE_P'.
2759         (encode_char_1): Likewise.
2760
2761 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2762
2763         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2764         `XCHAR_ID_TABLE'.
2765
2766         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2767         instead of `XCHAR_ID_TABLE'.
2768         (remove_char_ccs): Likewise.
2769
2770         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2771         `XCHAR_ID_TABLE'.
2772         (Fget_composite_char): Likewise.
2773         (Fchar_variants): Likewise.
2774         (put_char_table): Likewise.
2775         (add_char_attribute_alist_mapper): Likewise.
2776         (Fchar_attribute_alist): Likewise.
2777         (Fget_char_attribute): Likewise.
2778         (Fput_char_attribute): Likewise.
2779         (Fmap_char_attribute): Likewise.
2780         (Fmap_char_attribute): Likewise.
2781
2782         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2783         `XCHAR_ID_TABLE'.
2784         (encode_char_1): Likewise.
2785
2786 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2787
2788         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2789         `Lisp_Char_ID_Table'.
2790         (mark_char_id_table): Deleted.
2791         (print_char_id_table): Likewise.
2792         (char_id_table_equal): Likewise.
2793         (char_id_table_hash): Likewise.
2794         (char_id_table_description): Likewise.
2795         (char_id_table): Likewise.
2796         (make_char_id_table): Use `Fmake_char_table' and
2797         `fill_char_table'.
2798         (get_char_id_table): Use `Lisp_Char_Table' instead of
2799         `Lisp_Char_ID_Table'.
2800         (put_char_id_table): Likewise.
2801         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2802         `XCHAR_ID_TABLE'.
2803         (Fremove_char_attribute): Likewise.
2804         (syms_of_chartab): Don't define type `char-id-table'.
2805
2806         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2807         (char_id_table): Likewise.
2808         (GC_CHAR_ID_TABLE_P): Likewise.
2809         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2810         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2811         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2812         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2813         (get_char_id_table): Use `Lisp_Char_Table' instead of
2814         `Lisp_Char_ID_Table'.
2815         (put_char_id_table_0): Likewise.
2816         (put_char_id_table): Likewise.
2817
2818 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2819
2820         * chartab.h: Lisp_Byte_Table related codes are moved from
2821         chartab.h.
2822
2823         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2824
2825 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2826
2827         * chartab.h: Don't include "chartab.h".
2828         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2829         (Lisp_Char_ID_Table): Likewise.
2830         (char_id_table): Likewise.
2831         (XCHAR_ID_TABLE): Likewise.
2832         (XSETCHAR_ID_TABLE): Likewise.
2833         (CHAR_ID_TABLE_P): Likewise.
2834         (GC_CHAR_ID_TABLE_P): Likewise.
2835         (get_char_id_table): Likewise.
2836
2837         * char-ucs.h: Include "chartab.h".
2838         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2839         (Lisp_Char_ID_Table): Likewise.
2840         (char_id_table): Likewise.
2841         (XCHAR_ID_TABLE): Likewise.
2842         (XSETCHAR_ID_TABLE): Likewise.
2843         (CHAR_ID_TABLE_P): Likewise.
2844         (GC_CHAR_ID_TABLE_P): Likewise.
2845         (get_char_id_table): Likewise.
2846
2847 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2848
2849         * chartab.c (copy_uint8_byte_table): New function.
2850         (copy_uint16_byte_table): New function.
2851         (copy_byte_table): New function.
2852         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2853         characters to call.
2854         (map_over_uint16_byte_table): Likewise.
2855         (map_over_byte_table): Likewise.
2856         (get_byte_table): Move prototype to chartab.h.
2857         (put_byte_table): Likewise.
2858         (put_char_id_table_0): Moved to chartab.h.
2859         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2860         (char_table_entry_equal): Likewise.
2861         (char_table_entry_hash): Likewise.
2862         (char_table_entry_description): Likewise.
2863         (char_table_entry): Likewise.
2864         (make_char_table_entry): Likewise.
2865         (copy_char_table_entry): Likewise.
2866         (get_non_ascii_char_table_value): Likewise.
2867         (map_over_charset_ascii): Likewise.
2868         (map_over_charset_control_1): Likewise.
2869         (map_over_charset_row): Likewise.
2870         (map_over_other_charset): Likewise.
2871         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2872         (print_char_table): Likewise.
2873         (char_table_equal): Likewise.
2874         (char_table_hash): Likewise.
2875         (char_table_description): Likewise.
2876         (fill_char_table): Likewise.
2877         (Fcopy_char_table): Likewise.
2878         (get_char_table): Likewise.
2879         (Fget_range_char_table): Likewise.
2880         (put_char_table): Likewise.
2881         (map_char_table): Likewise.
2882         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2883         UTF-2000.
2884
2885 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2886
2887         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2888         `Vauto_fill_chars' in XEmacs UTF-2000.
2889
2890         * chartab.h (get_byte_table): New prototype [moved from
2891         chartab.c].
2892         (put_byte_table): Likewise [moved from chartab.c].
2893         (put_char_id_table_0): New inline function [moved from chartab.c].
2894         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2895         (Lisp_Char_Table_Entry): Likewise.
2896         (char_table_entry): Likewise.
2897         (XCHAR_TABLE_ENTRY): Likewise.
2898         (XSETCHAR_TABLE_ENTRY): Likewise.
2899         (CHAR_TABLE_ENTRYP): Likewise.
2900         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2901         (NUM_ASCII_CHARS): Likewise.
2902         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2903         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2904
2905 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2906
2907         * chartab.c (get_char_id_table): Change interface.
2908         (put_char_id_table_0): New function.
2909         (put_char_id_table): Change interface; new implementation.
2910         (Fget_composite_char): Modify for interface change of
2911         `get_char_id_table'.
2912         (Fchar_variants): Likewise.
2913         (add_char_attribute_alist_mapper): Likewise.
2914         (Fchar_attribute_alist): Likewise.
2915         (Fget_char_attribute): Likewise.
2916         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2917         as same as character as the first argument like `put-char-table';
2918         modify for interface change of `put_char_id_table'.
2919         (Fremove_char_attribute): Modify for interface change of
2920         `put_char_id_table'.
2921
2922 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2923
2924         * text-coding.c: Sync up with XEmacs 21.2.41.
2925         (COMPOSE_ADD_CHAR): Modify for interface change of
2926         `get_char_id_table'.
2927
2928         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2929         change of `put_char_id_table'.
2930         (remove_char_ccs): Likewise.
2931
2932         * chartab.h (put_char_id_table): Change interface.
2933
2934         * char-ucs.h (get_char_id_table): Change interface.
2935         (charset_code_point): Modify for interface change of
2936         `get_char_id_table'.
2937         (encode_char_1): Likewise.
2938
2939 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2940
2941         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2942         argument `ccs'.
2943         (map_over_uint16_byte_table): Likewise.
2944         (map_over_byte_table): Likewise.
2945         (map_char_id_table): Add new argument `range' like
2946         `map_char_table'.
2947         (Fmap_char_attribute): Add new argument `range' like
2948         `Fmap_char_table'.
2949
2950 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2951
2952         * chartab.c (map_over_uint8_byte_table): Change interface of
2953         mapping function to use struct chartab_range instead of Emchar.
2954         (map_over_uint16_byte_table): Likewise.
2955         (map_over_byte_table): Likewise.
2956         (map_char_id_table): Likewise.
2957         (struct slow_map_char_id_table_arg): Deleted.
2958         (slow_map_char_id_table_fun): Deleted.
2959         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2960         function `slow_map_char_table_fun' instead of struct
2961         `slow_map_char_id_table_arg' and function
2962         `slow_map_char_id_table_fun'.
2963
2964 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2965
2966         * mule-charset.c: Move char-it-table related codes to chartab.c.
2967         (Vutf_2000_version): Moved to chartab.c.
2968         (Fdefine_char): Likewise.
2969         (Ffind_char): Likewise.
2970         (syms_of_mule_charset): Move types `uint8-byte-table',
2971         `uint16-byte-table', `byte-table' and `char-id-table' to
2972         chartab.c; move functions `char_attribute_list,
2973         `find_char_attribute_table, `char_attribute_alist,
2974         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2975         `map_char_attribute, `define_char, `find_char, `char_variants and
2976         `get_composite_char to chartab.c; move symbols `=>ucs',
2977         `->decomposition', `compat', `isolated', `initial', `medial',
2978         `final', `vertical', `noBreak', `fraction', `super', `sub',
2979         `circle', `square', `wide', `narrow', `small' and `font' to
2980         chartab.c.
2981         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2982         setting codes for `Vcharacter_composition_table' and
2983         `Vcharacter_variant_table' to chartab.c.
2984         (complex_vars_of_mule_charset): Move setting code for
2985         `Vchar_attribute_hash_table' to chartab.c.
2986
2987         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2988         (make_char_id_table): New prototype.
2989         (put_char_id_table): Likewise.
2990         (Fget_char_attribute): Likewise.
2991
2992         * chartab.c: Move char-id-table related code from mule-charset.c.
2993         (Vutf_2000_version): Moved from mule-charset.c.
2994
2995         * char-ucs.h (Qucs): New external variable.
2996         (put_char_ccs_code_point): New prototype.
2997         (remove_char_ccs): Likewise.
2998
2999 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3000
3001         * mule-charset.c (Vcharset_ucs_jis): New variable.
3002         (Qucs_jis): Likewise.
3003         (syms_of_mule_charset): Add new symbol `ucs-jis'.
3004         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
3005
3006         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
3007
3008 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3009
3010         * mule-charset.c (map_over_uint8_byte_table): New function.
3011         (map_over_uint16_byte_table): Likewise.
3012         (map_over_byte_table): Likewise.
3013         (map_char_id_table): Likewise.
3014         (slow_map_char_id_table_fun): Likewise.
3015         (Fmap_char_attribute): Likewise.
3016         (syms_of_mule_charset): Add new function `map-char-attribute'.
3017
3018 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3019
3020         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
3021         (syms_of_mule_charset): Add new function `find-char'.
3022
3023 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3024
3025         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
3026         XEmacs UTF-2000.
3027         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
3028         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
3029         XEmacs UTF-2000.
3030         (complex_vars_of_mule_charset): Add new coded-charset
3031         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
3032         `ideograph-gt-pj-*'.
3033
3034         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
3035
3036 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3037
3038         * mule-charset.c (encode_builtin_char_1): Purge codes about
3039         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
3040         {MIN|MAX}_CHAR_HEBREW.
3041         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
3042         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
3043
3044         * char-ucs.h (MIN_CHAR_GREEK): Purged.
3045         (MAX_CHAR_GREEK): Purged.
3046         (MIN_CHAR_CYRILLIC): Purged.
3047         (MAX_CHAR_CYRILLIC): Purged.
3048         (MIN_CHAR_HEBREW): Commented out.
3049         (MAX_CHAR_HEBREW): Likewise.
3050
3051 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3052
3053         * mule-charset.c (Qto_ucs): New variable.
3054         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
3055         (Fdefine_char): Likewise.
3056         (syms_of_mule_charset): Add new symbol `=>ucs'.
3057
3058 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3059
3060         * mule-charset.c (Fdecode_char): Fixed.
3061
3062 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3063
3064         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
3065         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
3066         "tcvn5712-1".
3067
3068 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3069
3070         * mule-charset.c (Vcharset_ucs_big5): New variable.
3071         (Qucs_big5): Likewise.
3072         (syms_of_mule_charset): Add new symbol `ucs-big5'.
3073         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
3074
3075         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
3076
3077 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3078
3079         * mule-charset.c (decode_builtin_char): Check Big5 code range
3080         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
3081
3082 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3083
3084         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
3085         (Qchinese_gb12345): Likewise.
3086         (Fdecode_builtin_char): Fixed.
3087         (syms_of_mule_charset): Add `chinese-gb12345'.
3088         (complex_vars_of_mule_charset): Add coded-charset
3089         `chinese-gb12345'.
3090
3091         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
3092         (LEADING_BYTE_CHINESE_GB12345): New macro.
3093
3094 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3095
3096         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
3097         and `latin-viscii-upper' for `latin-viscii'.
3098
3099 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3100
3101         * mule-charset.c (Fdecode_builtin_char): Comment out
3102         regularization code for ISO-IR GR representation.
3103
3104 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3105
3106         * mule-charset.c (decode_builtin_char): New function; renamed from
3107         `make_builtin_char'; return -1 instead of signal.
3108         (Fdecode_builtin_char): Use `decode_builtin_char'.
3109
3110         * char-ucs.h (decode_builtin_char): New prototype; renamed from
3111         `make_builtin_char'.
3112         (DECODE_CHAR): Use `decode_builtin_char' instead of
3113         `make_builtin_char'; use mapping table of `chinese-big5' for
3114         `chinese-big5-{1,2}'.
3115
3116 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3117
3118         * text-coding.c (char_encode_big5): New function.
3119         (char_finish_big5): Likewise.
3120         (reset_encoding_stream): Use `char_encode_big5' and
3121         `char_finish_big5' for CODESYS_BIG5.
3122         (mule_encode): Don't use `encode_coding_big5'.
3123         (encode_coding_big5): Deleted.
3124
3125 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3126
3127         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3128         0x81- in XEmacs UTF-2000.
3129         (detect_coding_big5): Likewise.
3130
3131 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3132
3133         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3134         generate character-id if the CCS property does not have
3135         corresponding predefined character.
3136         (make_builtin_char): Return -1 if corresponding predefined
3137         character is not found.
3138         (Fdecode_char): Return nil if corresponding character is not
3139         found.
3140         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3141         don't map to builtin ucs space.
3142
3143 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3144
3145         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3146         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3147
3148 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3149
3150         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3151         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3152         (Qideograph_gt): Likewise.
3153         (Qideograph_gt_pj_{1..11}): Likewise.
3154         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3155         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3156         `ideograph-gt-pj-11'.
3157         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3158         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3159         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3160
3161         * char-ucs.h (LEADING_BYTE_GT): New macro.
3162         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3163         (MIN_CHAR_GT): Likewise.
3164         (MAX_CHAR_GT): Likewise.
3165
3166 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3167
3168         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3169         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3170
3171         * doprnt.c (unsigned_int_converters): Add `c'.
3172         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3173
3174         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3175         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3176         `MIN_CHAR_MOJIKYO'.
3177         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3178         (MAX_CHAR_MOJIKYO_0): New macro.
3179         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3180
3181 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3182
3183         * mule-charset.c (Fdefine_char): Delete cemented out code.
3184         (encode_builtin_char_1): Modify for new allocation of builtin
3185         Mojikyo characters.
3186
3187         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3188
3189 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3190
3191         * mule-charset.c (Vcharset_ucs_cns): New variable.
3192         (Qucs_cns): New variable.
3193         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3194         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3195
3196 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3197
3198         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3199
3200 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3201
3202         * search.c (search_buffer): Make `charset_base_code' as
3203         character-id >> 6 to eliminate the corresponding last byte in
3204         UTF-8 representation [I'm not sure it is right thing].
3205         (boyer_moore): Likewise.
3206
3207 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3208
3209         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3210         representation in MULE.
3211
3212 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3213
3214         * text-coding.c (Fmake_coding_system): Use
3215         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3216         `EXTERNAL_PROPERTY_LIST_LOOP'.
3217
3218 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3219
3220         * text-coding.c (decode_output_utf8_partial_char): New function.
3221         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3222
3223 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3224
3225         * text-coding.c (decode_coding_utf8): Output original byte
3226         sequence if it is broken; change order of conditions.
3227
3228         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3229         of conditions.
3230
3231         * mb-multibyte.h (BYTE_ASCII_P):
3232         Use bit ops for char-signedness safety.
3233         (BYTE_C0_P): Use bit ops for char-signedness safety.
3234         (BYTE_C1_P): Use bit ops for char-signedness safety.
3235
3236         * character.h: (XCHAR_OR_CHAR_INT):
3237         Always use inline function.
3238         Remove redundant type checking assert() - XINT will abort quite
3239         nicely.
3240
3241 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3242
3243         * text-coding.c: (Fencode_shift_jis_char):
3244         (Fencode_big5_char):
3245         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3246         Replace 0 with '\0' when working with bytes.
3247         Replace initial "(" with "\(" in docstrings.
3248
3249         (Fmake_coding_system):
3250         When type is ccl and value is vector, register it with a proper
3251         symbol.  And checks whether the given ccl program is valid.
3252         (mule_decode): When calling ccl_driver, if src indicates
3253         NULL pointer, set an empty string instead.
3254         (mule_encode): Likewise.
3255
3256         (detect_eol_type):
3257         (detect_coding_sjis):
3258         (decode_coding_sjis):
3259         (detect_coding_big5):
3260         (decode_coding_big5):
3261         (detect_coding_ucs4):
3262         (decode_coding_ucs4):
3263         (detect_coding_utf8):
3264         (decode_coding_utf8):
3265         (detect_coding_iso2022):
3266         (decode_coding_iso2022):
3267         (decode_coding_no_conversion):
3268         (mule_decode):
3269         Make all detecting and decoding functions take an Extbyte * arg.
3270         (text_encode_generic):
3271         (encode_coding_big5):
3272         (encode_coding_no_conversion):
3273         (mule_encode):
3274         Make all encoding functions take a Bufbyte * arg.
3275         Use size_t instead of unsigned int for memory sizes.
3276         Only cast to unsigned char whenever dereferencing Extbyte *.
3277
3278         (struct lrecord_description fcd_description_1): Use countof.
3279         (complex_vars_of_file_coding):
3280         Use countof instead of sizeof.
3281         Use CHECK_NATNUM instead of CHECK_INT.
3282
3283 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3284
3285         * mule-charset.c (Fget_char_attribute): Add new optional argument
3286         `default-value'.
3287         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3288         (remove_char_ccs): Likewise.
3289
3290 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3291
3292         * text-coding.c (char_encode_shift_jis): New implementation in
3293         UTF-2000.
3294         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3295         ...)'.
3296
3297         * mule-charset.c (Vcharset_chinese_big5): New variable in
3298         UTF-2000.
3299         (Qchinese_big5): New variable in UTF-2000.
3300         (BIG5_SAME_ROW): New macro in UTF-2000.
3301         (make_builtin_char): Use builtin characters of
3302         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3303         characters of `Vcharset_chinese_big5'.
3304         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3305         (complex_vars_of_mule_charset): Add new coded-charset
3306         `chinese-big5' in UTF-2000.
3307
3308         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3309         (Vcharset_chinese_big5): New external variable declaration.
3310         (Vcharset_japanese_jisx0208_1990): Likewise.
3311
3312 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3313
3314         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3315         function.
3316         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3317
3318 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3319
3320         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3321         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3322         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3323         `mojikyo-pj-*'.
3324
3325 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3326
3327         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3328
3329 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3330
3331         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3332         to 0.17.
3333
3334 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3335
3336         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3337         for `CHARSET_BY_ATTRIBUTES'.
3338         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3339         `CHARSET_BY_ATTRIBUTES'.
3340
3341         * text-coding.c (struct decoding_stream): Rename member `CH' to
3342         `CPOS'.
3343         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3344         (decode_coding_sjis): Likewise.
3345         (decode_coding_big5): Likewise.
3346         (decode_coding_ucs4): Likewise.
3347         (decode_coding_utf8): Likewise.
3348         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3349         `CHARSET_BY_ATTRIBUTES'.
3350         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3351         `str->counter'; decode 3, 4 bytes sets.
3352         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3353         sets.
3354         (decode_coding_no_conversion): Use `str->cpos' instead of
3355         `str->ch'.
3356
3357         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3358         (Qmojikyo_2022_1): New variable.
3359         (make_charset): Don't use `CHARSET_TYPE_*'.
3360         (range_charset_code_point): Support coded-charset
3361         `mojikyo-2022-1'.
3362         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3363         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3364         `CHARSET_BY_ATTRIBUTES'.
3365         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3366         `CHARSET_BY_ATTRIBUTES'.
3367         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3368         (complex_vars_of_mule_charset): Add new coded-charset
3369         `mojikyo-2022-1'.
3370
3371         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3372         interface; changed to inline function.
3373
3374         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3375         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3376         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3377         (CHARSET_TYPE_94): Deleted.
3378         (CHARSET_TYPE_94X94): Deleted.
3379         (CHARSET_TYPE_96): Deleted.
3380         (CHARSET_TYPE_96X96): Deleted.
3381         (CHARSET_TYPE_128): Deleted.
3382         (CHARSET_TYPE_128X128): Deleted.
3383         (CHARSET_TYPE_256): Deleted.
3384         (CHARSET_TYPE_256X256): Deleted.
3385         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3386         to inline function.
3387         (DECODE_MOJIKYO_2022): New inline function.
3388         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3389         `Vcharset_mojikyo_2022_1'.
3390
3391 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3392
3393         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3394         instead of `EQ'.
3395         (put_byte_table): Likewise.
3396         (char_id_table_equal): Use `get_byte_table' [new implementation].
3397
3398 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3399
3400         * mule-charset.c: Include <limits.h> in UTF-2000.
3401         (BT_UINT8_MIN): New macro in UTF-2000.
3402         (BT_UINT8_MAX): New macro in UTF-2000.
3403         (BT_UINT8_t): New macro in UTF-2000.
3404         (BT_UINT8_nil): New macro in UTF-2000.
3405         (BT_UINT8_unbound): New macro in UTF-2000.
3406         (INT_UINT8_P): New inline function in UTF-2000.
3407         (UINT8_VALUE_P): New inline function in UTF-2000.
3408         (UINT8_ENCODE): New inline function in UTF-2000.
3409         (UINT8_DECODE): New inline function in UTF-2000.
3410         (mark_uint8_byte_table): New function in UTF-2000.
3411         (print_uint8_byte_table): New function in UTF-2000.
3412         (uint8_byte_table_equal): New function in UTF-2000.
3413         (uint8_byte_table_hash): New function in UTF-2000.
3414         (make_uint8_byte_table): New function in UTF-2000.
3415         (uint8_byte_table_same_value_p): New function in UTF-2000.
3416         (BT_UINT16_MIN): New macro in UTF-2000.
3417         (BT_UINT16_MAX): New macro in UTF-2000.
3418         (BT_UINT16_t): New macro in UTF-2000.
3419         (BT_UINT16_nil): New macro in UTF-2000.
3420         (BT_UINT16_unbound): New macro in UTF-2000.
3421         (INT_UINT16_P): New inline function in UTF-2000.
3422         (UINT16_VALUE_P): New inline function in UTF-2000.
3423         (UINT16_ENCODE): New inline function in UTF-2000.
3424         (UINT16_DECODE): New inline function in UTF-2000.
3425         (UINT8_TO_UINT16): New inline function in UTF-2000.
3426         (mark_uint16_byte_table): New function in UTF-2000.
3427         (print_uint16_byte_table): New function in UTF-2000.
3428         (uint16_byte_table_equal): New function in UTF-2000.
3429         (uint16_byte_table_hash): New function in UTF-2000.
3430         (make_uint16_byte_table): New function in UTF-2000.
3431         (uint16_byte_table_same_value_p): New function in UTF-2000.
3432         (print_byte_table): New function in UTF-2000.
3433         (byte-table): Use `print_byte_table' as printer.
3434         (make_byte_table): Delete second argument `older'.
3435         (byte_table_same_value_p): New function in UTF-2000.
3436         (copy_byte_table): Deleted.
3437         (get_byte_table): New function in UTF-2000.
3438         (put_byte_table): New function in UTF-2000.
3439         (print_char_id_table): New function in UTF-2000.
3440         (char-id-table): Use `print_char_id_table' as printer.
3441         (make_char_id_table): Delete second argument `older'.
3442         (get_char_id_table): Use `get_byte_table [new implementation].
3443         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3444         implementation].
3445         (Ffind_char_attribute_table): New function in UTF-2000.
3446         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3447         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3448         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3449         (syms_of_mule_charset): Add new function
3450         `find-char-attribute-table' in UTF-2000.
3451
3452         * lrecord.h (enum lrecord_type): Add
3453         `lrecord_type_uint16_byte_table' and
3454         `lrecord_type_uint8_byte_table'.
3455
3456         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3457         (Lisp_Uint8_Byte_Table): New type.
3458         (XUINT8_BYTE_TABLE): New macro.
3459         (XSETUINT8_BYTE_TABLE): New macro.
3460         (UINT8_BYTE_TABLE_P): New macro.
3461         (GC_UINT8_BYTE_TABLE_P): New macro.
3462         (struct Lisp_Uint16_Byte_Table): New structure.
3463         (Lisp_Uint16_Byte_Table): New type.
3464         (XUINT16_BYTE_TABLE): New macro.
3465         (XSETUINT16_BYTE_TABLE): New macro.
3466         (UINT16_BYTE_TABLE_P): New macro.
3467         (GC_UINT16_BYTE_TABLE_P): New macro.
3468
3469 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3470
3471         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3472         (Vcharacter_ideographic_strokes_table): Deleted.
3473         (Vcharacter_total_strokes_table): Deleted.
3474         (Vcharacter_morohashi_daikanwa_table): Deleted.
3475         (Vcharacter_decomposition_table): Deleted.
3476         (Qname): Deleted because it is duplicated.
3477         (Qideographic_radical): Deleted.
3478         (Qideographic_strokes): Deleted.
3479         (Qtotal_strokes): Deleted.
3480         (Qmorohashi_daikanwa): Deleted.
3481         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3482         `ideographic-radical', `ideographic-strokes', `total-strokes',
3483         `morohashi-daikanwa' and `->decomposition'.
3484         (Fget_char_attribute): Likewise.
3485         (Fput_char_attribute): Likewise; use `make-vector' instead of
3486         `make_older_vector' for `->decomposition' value.
3487         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3488         `ideograph-daikanwa'.
3489         (syms_of_mule_charset): Delete builtin symbols `name',
3490         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3491         `morohashi-daikanwa'.
3492         (vars_of_mule_charset): Don't setup
3493         `Vcharacter_ideographic_radical_table',
3494         `Vcharacter_ideographic_strokes_table',
3495         `Vcharacter_total_strokes_table',
3496         `Vcharacter_morohashi_daikanwa_table' and
3497         `Vcharacter_decomposition_table'.
3498
3499 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3500
3501         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3502         `make_older_vector', `make_vector_newer_1' and
3503         `make_vector_newer'.
3504
3505         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3506         `make_older_vector' and `make_vector_newer'.
3507
3508         * config.h.in (HAVE_GGC): New macro.
3509
3510 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3511
3512         * mule-charset.c (struct char_attribute_list_closure): New
3513         structure in UTF-2000.
3514         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3515         (Fchar_attribute_list): Likewise.
3516         (Fset_charset_mapping_table): Use `make_vector_newer'.
3517         (Fdecode_builtin_char): New function in UTF-2000.
3518         (syms_of_mule_charset): Add new function `char-attribute-list' and
3519         `decode-builtin-char' in UTF-2000.
3520
3521         * lisp.h (make_vector_newer): New prototype.
3522
3523         * alloc.c (make_vector_newer_1): New function.
3524         (make_vector_newer): New function.
3525
3526 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3527
3528         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3529         50100)'.
3530
3531 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3532
3533         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3534         (Vcharacter_attribute_table): Deleted.
3535         (Vcharacter_name_table): Deleted.
3536         (put_char_attribute): Deleted.
3537         (remove_char_attribute): Deleted.
3538         (struct char_attribute_alist_closure): New structure.
3539         (add_char_attribute_alist_mapper): New function.
3540         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3541         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3542         (Fget_char_attribute): Likewise.
3543         (Fput_char_attribute): Likewise.
3544         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3545         of `remove_char_attribute'.
3546         (Fdefine_char): Return character.
3547         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3548         and `Vcharacter_name_table'.
3549         (complex_vars_of_mule_charset): Likewise
3550         `Vchar_attribute_hash_table'.
3551
3552 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3553
3554         * character.h (CHARC_CHARSET): New macro.
3555         (CHARC_CHARSET_ID): New macro.
3556         (CHARC_CODE_POINT): New macro.
3557         (CHARC_COLUMNS): New macro.
3558         (CHARC_TO_CHAR): New inline function.
3559         (CHARC_EQ): New inline function.
3560         (CHARC_ASCII_EQ): New inline function.
3561         (CHARC_IS_SPACE): New inline function.
3562         (ASCII_TO_CHARC): New inline function.
3563
3564         * char-ucs.h (encode_char_2): Deleted.
3565         (ENCODE_CHAR): Use `encode_char_1' again.
3566         (breakup_char_1): Likewise.
3567         (CHAR_TO_CHARC): New inline function.
3568
3569         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3570
3571 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3572
3573         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3574         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3575         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3576         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3577         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3578         `CHARC_IS_SPACE'.
3579         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3580
3581         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3582         `CHARC_CODE_POINT'.
3583         (x_output_display_block): Use `CHARC_CHARSET' and
3584         `CHARC_ASCII_EQ'.
3585
3586         * redisplay-tty.c (tty_output_display_block): Use
3587         `CHARC_ASCII_EQ'.
3588         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3589
3590         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3591
3592         * insdel.c (find_charsets_in_charc_string): Use
3593         `CHARC_CHARSET_ID'.
3594         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3595         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3596         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3597         (convert_charc_string_into_malloced_string): Likewise.
3598
3599 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3600
3601         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3602         instead of <Emchar_dynarr *> for buf; use
3603         `convert_bufbyte_string_into_charc_dynarr' instead of
3604         `convert_bufbyte_string_into_emchar_dynarr'; use
3605         `find_charsets_in_charc_string' instead of
3606         `find_charsets_in_emchar_string'.
3607
3608         * redisplay.h:
3609         - Include "character.h".
3610         (struct rune): New member `cglyph'; delete member `chr'.
3611
3612         * redisplay.c (redisplay_text_width_charc_string): New function;
3613         delete `redisplay_text_width_emchar_string'.
3614         (rtw_charc_dynarr): New variable; renamed from
3615         `rtw_emchar_dynarr'.
3616         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3617         `rtw_emchar_dynarr'; use
3618         `convert_bufbyte_string_into_charc_dynarr' instead of
3619         `convert_bufbyte_string_into_emchar_dynarr'; use
3620         `redisplay_text_width_charc_string' instead of
3621         `redisplay_text_width_emchar_string'.
3622         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3623         instead of `rtw_emchar_dynarr'; use
3624         `convert_bufbyte_string_into_charc_dynarr' instead of
3625         `convert_bufbyte_string_into_emchar_dynarr'.
3626         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3627         `redisplay_text_width_charc_string' instead of
3628         `redisplay_text_width_emchar_string'.
3629         (create_text_block): Modify for <struct rune> change.
3630         (generate_formatted_string_db): Likewise.
3631         (create_string_text_block): Likewise.
3632         (pixel_to_glyph_translation): Likewise.
3633
3634         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3635         instead of <const Emchar *>.
3636         (x_text_width): Likewise.
3637         (x_output_display_block): Use <Charc_dynarr *> instead
3638         <Emchar_dynarr *>; modify for <structure rune> change.
3639         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3640         *>.
3641
3642         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3643         <const Emchar *>; use `charc_string_displayed_columns' instead of
3644         `emchar_string_displayed_columns'.
3645         (tty_output_display_block): Use <Charc_dynarr *> instead of
3646         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3647         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3648         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3649         `tty_output_emchar_dynarr_dynarr'.
3650         (tty_output_charc_dynarr): New function; delete
3651         `tty_output_charc_dynarr'.
3652
3653         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3654         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3655         <Emchar_dynarr *> for buf; use
3656         `convert_bufbyte_string_into_charc_dynarr' instead of
3657         `convert_bufbyte_string_into_emchar_dynarr'.
3658
3659         * frame.c (title_string_charc_dynarr): New variable; renamed from
3660         `title_string_emchar_dynarr'.
3661         (generate_title_string): Use `title_string_charc_dynarr' instead
3662         of `title_string_emchar_dynarr'; use
3663         `convert_charc_string_into_malloced_string' instead of
3664         `convert_emchar_string_into_malloced_string'.
3665         (init_frame): Use `title_string_charc_dynarr' instead of
3666         `title_string_emchar_dynarr'.
3667
3668         * console.h:
3669         - Include "character.h".
3670         (struct console_methods): Use <const Charc *> instead of <const
3671         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3672         <Emchar_dynarr *> in output_string_method.
3673
3674         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3675         <Emchar_dynarr *>.
3676
3677         * console-stream.c (stream_text_width): Use <const Charc *>
3678         instead of <const Emchar *>.
3679
3680         * character.h (Charc_dynarr): New type.
3681
3682         * char-ucs.h (structure Charc): New structure; define new type
3683         `Charc'.
3684
3685         * char-lb.h (DECODE_CHAR): New inline function.
3686         (encode_char_1): New inline function.
3687         (ENCODE_CHAR): New macro.
3688         (structure Charc): New structure; define new type `Charc'.
3689
3690         * char-1byte.h (Vcharset_control_1): New macro.
3691         (Vcharset_latin_iso8859_1): New macro.
3692         (DECODE_CHAR): New inline function.
3693         (encode_char_1): New inline function.
3694         (ENCODE_CHAR): New macro.
3695         (structure Charc): New structure; define new type `Charc'.
3696
3697         * insdel.c (find_charsets_in_charc_string): New function; delete
3698         `find_charsets_in_emchar_string'.
3699         (charc_string_displayed_columns): New function; delete
3700         `emchar_string_displayed_columns'.
3701         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3702         `convert_bufbyte_string_into_emchar_dynarr'.
3703         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3704         `convert_charc_string_into_bufbyte_dynarr'.
3705         (convert_charc_string_into_malloced_string): New function; delete
3706         `convert_charc_string_into_malloced_string'.
3707
3708         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3709         `find_charsets_in_emchar_string'.
3710         (charc_string_displayed_columns): New prototype; delete
3711         `emchar_string_displayed_columns'.
3712         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3713         `convert_charc_string_into_bufbyte_dynarr'.
3714         (convert_charc_string_into_malloced_string): New prototype; delete
3715         `convert_charc_string_into_malloced_string'.
3716
3717 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3718
3719         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3720
3721 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3722
3723         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3724
3725         * char-ucs.h: Use <short> for <Charset_ID>.
3726
3727         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3728         <Charset_ID>.
3729
3730 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3731
3732         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3733         to 0.16.
3734
3735 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3736
3737         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3738         variable.
3739         (Qmorohashi_daikanwa): New variable.
3740         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3741         for `morohashi-daikanwa' attribute.
3742         (Fget_char_attribute): Likewise.
3743         (Fput_char_attribute): Likewise.
3744         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3745         has the same value of `ideograph-daikanwa'.
3746         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3747         (vars_of_mule_charset): Setup
3748         `Vcharacter_morohashi_daikanwa_table'.
3749
3750 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3751
3752         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3753         attributes.
3754         (add_charset_to_list_mapper): Add `key' instead of
3755         `XCHARSET_NAME (value)' to return aliases.
3756
3757 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3758
3759         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3760         variable.
3761         (Vcharacter_ideographic_strokes_table): New variable.
3762         (Qideographic_radical): New variable.
3763         (Qideographic_strokes): New variable.
3764         (Fchar_attribute_alist): Use
3765         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3766         attribute; use `Vcharacter_ideographic_strokes_table' for
3767         `ideographic-strokes' attribute.
3768         (Fget_char_attribute): Likewise.
3769         (Fput_char_attribute): Likewise.
3770         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3771         `ideographic-strokes'.
3772         (vars_of_mule_charset): Setup
3773         `Vcharacter_ideographic_radical_table' and
3774         `Vcharacter_ideographic_strokes_table'.
3775
3776 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3777
3778         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3779         (Qtotal_strokes): New variable.
3780         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3781         `total-strokes' attribute.
3782         (Fget_char_attribute): Likewise.
3783         (Fput_char_attribute): Likewise.
3784         (syms_of_mule_charset): Add new symbol `total-strokes'.
3785         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3786
3787 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3788
3789         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3790         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3791         are found.
3792         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3793         `->decomposition' attribute.
3794         (Fput_char_attribute): Likewise.
3795         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3796
3797 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3798
3799         * mule-charset.c (decoding_table_check_elements): New function.
3800         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3801
3802 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3803
3804         * mule-charset.c (Fset_charset_mapping_table): Use
3805         `put_char_ccs_code_point'.
3806
3807 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3808
3809         * mule-charset.c (decoding_table_put_char): New inline function.
3810         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3811
3812 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3813
3814         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3815         (XCHARSET_BYTE_SIZE): New macro.
3816         (decoding_table_remove_char): New inline function.
3817         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3818         `decoding_table_remove_char'.
3819         (remove_char_ccs): Use `decoding_table_remove_char'.
3820         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3821
3822 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3823
3824         * mule-charset.c (Vcharacter_name_table): New variable.
3825         (Qname): New variable.
3826         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3827         attribute.
3828         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3829         `Vcharacter_name_table' for `name' attribute.
3830         (Fremove_char_attribute): Use function `remove_char_ccs'.
3831         (put_char_ccs_code_point): New function.
3832         (remove_char_ccs): New function.
3833         (syms_of_mule_charset): Add new symbol `name'.
3834         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3835
3836 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3837
3838         * mule-charset.c (make_byte_table): Add new argument `older'.
3839         (make_char_id_table): Likewise.
3840         (copy_char_id_table): Comment out because it is not used.
3841         (put_char_id_table): Modify for `make_byte_table'.
3842         (Fput_char_attribute): Make encoding_table as older object;
3843         inherit older bit of `Vcharacter_composition_table'.
3844         (mark_charset): Don't mark `cs->encoding_table'.
3845         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3846         normal object; make `Vcharacter_composition_table' as an older
3847         object; delete staticpro for `Vcharacter_composition_table'; make
3848         `Vcharacter_variant_table' as a normal object.
3849
3850         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3851         (mark_object): Don't check older object in UTF-2000.
3852
3853         * lrecord.h (struct lrecord_header): Add new member `older' in
3854         UTF-2000.
3855         (set_lheader_implementation): Setup `SLI_header->older' in
3856         UTF-2000.
3857         (set_lheader_older_implementation): New macro in UTF-2000.
3858         (OLDER_RECORD_P): New macro in UTF-2000.
3859         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3860         (alloc_older_lcrecord): New prototype in UTF-2000.
3861         (alloc_older_lcrecord_type): New macro in UTF-2000.
3862
3863 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3864
3865         * mule-charset.c (byte_table_description): Use
3866         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3867         (char_id_table_description): Delete bogus `, 1'.
3868         (Fget_char_attribute): Refer encoding_table of each coded-charset
3869         to get value of coded-charset attribute of a character.
3870         (Fput_char_attribute): Use `make_older_vector' instead of
3871         `make_vector'; use encoding_table of each coded-charset to store
3872         value of coded-charset attribute of a character.
3873         (Fremove_char_attribute): Use encoding_table of each coded-charset
3874         to store value of coded-charset attribute of a character.
3875         (mark_charset): Mark `cs->encoding_table'; don't mark
3876         `cs->decoding_table'.
3877         (charset_description): Add description of new member
3878         `encoding_table'.
3879         (make_charset): Initialize `encoding_table'.
3880
3881         * char-ucs.h (struct Lisp_Charset): Add new member
3882         `encoding_table'.
3883         (CHARSET_ENCODING_TABLE): New macro.
3884         (XCHARSET_ENCODING_TABLE): New macro.
3885         (charset_code_point): New implementation.
3886         (encode_char_1): Likewise.
3887
3888         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3889         (disksave_object_finalization_1): Call finalizers of
3890         `all_older_lcrecords' in UTF-2000.
3891         (make_older_vector): New function in UTF-2000.
3892         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3893         UTF-2000.
3894
3895         * lisp.h (make_older_vector): New prototype in UTF-2000.
3896
3897 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3898
3899         * lrecord.h (enum lrecord_type): Rename
3900         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3901
3902         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3903         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3904         `get_char_code_table'.
3905
3906         * mule-charset.c (mark_char_id_table): Renamed from
3907         `mark_char_code_table'.
3908         (char_id_table_equal): Renamed from `char_code_table_equal'.
3909         (char_id_table_hash): Renamed from `char_code_table_hash'.
3910         (make_char_id_table): Renamed from `make_char_code_table'.
3911         (copy_char_id_table): Renamed from `copy_char_code_table'.
3912         (get_char_id_table): Renamed from `get_char_code_table'.
3913         (put_char_id_table): Renamed from `put_char_code_table'.
3914         (to_char_id): Renamed from `to_char_code'.
3915
3916         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3917         `Lisp_Char_Code_Table'.
3918         (char_id_table): Renamed from `char_code_table'.
3919         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3920         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3921         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3922         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3923         (get_char_id_table): Renamed from `get_char_code_table'.
3924
3925 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3926
3927         * lrecord.h (enum lrecord_type): Rename
3928         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3929
3930         * mule-charset.c (mark_byte_table): Renamed from
3931         `mark_char_byte_table'.
3932         (byte_table_equal): Renamed from `char_byte_table_equal'.
3933         (byte_table_hash): Renamed from `byte_table_hash'.
3934         (make_byte_table): Renamed from `make_byte_table'.
3935         (copy_byte_table): Renamed from `copy_char_byte_table'.
3936
3937         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3938         `Lisp_Char_Byte_Table'.
3939         (byte_table): Renamed from `char_byte_table'.
3940         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3941         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3942         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3943         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3944
3945 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3946
3947         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3948         (dfc_convert_to_internal_format): Likewise.
3949         
3950         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3951         * text-coding.c (Fcoding_system_alias_p): New function.
3952         * text-coding.c (Fcoding_system_aliasee): New function.
3953         * text-coding.c (append_suffix_to_symbol): New function.
3954         * text-coding.c (dangling_coding_system_alias_p): New function.
3955         * text-coding.c (Ffind_coding_system):
3956         * text-coding.c (Fcopy_coding_system):
3957         * text-coding.c (encode_coding_no_conversion):
3958         * text-coding.c (syms_of_file_coding):
3959         * text-coding.c (vars_of_file_coding):
3960         Rewrite coding system alias code.
3961         Allow nested aliases, like symbolic links.
3962         Allow redefinition of coding system aliases.
3963         Prevent existence of dangling coding system aliases.
3964         Eliminate convert_to_external_format.
3965         Eliminate convert_to_internal_format.
3966         
3967         * text-coding.c: Change enum eol_type to eol_type_t.
3968
3969 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3970
3971         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3972         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3973
3974         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3975         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3976
3977 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3978
3979         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3980         `ideograph-daikanwa'.
3981
3982         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3983         (Vcharset_ucs_bmp): Likewise.
3984         (Vcharset_mojikyo): Add new extern variable definition.
3985         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3986         (Vcharset_latin_iso8859_3): Likewise.
3987         (Vcharset_latin_iso8859_4): Likewise.
3988         (Vcharset_latin_iso8859_9): Likewise.
3989         (Vcharset_latin_viscii_lower): Likewise.
3990         (Vcharset_latin_viscii_upper): Likewise.
3991         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3992         `mojikyo' code-point is used to decode.
3993         (encode_char_2): New function [to convert `mojikyo' code-point to
3994         Mojikyo font encoding].
3995         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3996         (breakup_char_1): Likewise.
3997         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3998
3999 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4000
4001         * text-coding.c (Fmake_coding_system): Add document about
4002         `disable-composition' property.
4003
4004 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4005
4006         * text-coding.c (Qdisable_composition): New variable; delete
4007         `Qcomposite'.
4008         (Fmake_coding_system): Add new property `disable-composite';
4009         delete property `composite'.
4010         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
4011         instead of `!CODING_SYSTEM_COMPOSITE'.
4012         (syms_of_file_coding): Add new symbol `disable-composition';
4013         delete symbol `composite'.
4014
4015         * file-coding.h (struct Lisp_Coding_System): Add
4016         `disable_composition'; delete `enable_composition'.
4017         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4018         `CODING_SYSTEM_COMPOSITE'.
4019         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4020         `XCODING_SYSTEM_COMPOSITE'.
4021
4022 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4023
4024         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4025         to 0.15.
4026
4027 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4028
4029         * text-coding.c (Qcomposite): New variable.
4030         (Fmake_coding_system): Add new property `composite'.
4031         (struct decoding_stream): Add `combined_char_count',
4032         `combined_chars' and `combining_table' in UTF-2000.
4033         (COMPOSE_FLUSH_CHARS): New macro.
4034         (COMPOSE_ADD_CHAR): New macro.
4035         (reset_decoding_stream): Reset `str->combined_char_count' and
4036         `str->combining_table' in UTF-2000.
4037         (decode_coding_iso2022): Modify for character-decomposition.
4038         (syms_of_file_coding): Add new symbol `composite'.
4039
4040 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4041
4042         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
4043         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
4044         of `Vcharacter_composition_table' if `->decomposition' property
4045         has only 1 element.
4046         (Qlatin_tcvn5712): New variable.
4047         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
4048         (complex_vars_of_mule_charset): Add new coded-charset
4049         `latin-tcvn5712'.
4050
4051         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
4052
4053 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4054
4055         * file-coding.h (struct Lisp_Coding_System): Add
4056         `enable_composition'.
4057         (CODING_SYSTEM_COMPOSITE): New macro.
4058         (XCODING_SYSTEM_COMPOSITE): New macro.
4059
4060 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
4061
4062         * mule-canna.c (c2mu): Fix problem with UTF-2000.
4063
4064 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
4065
4066         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
4067         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
4068
4069 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
4070
4071         * mule-charset.c (Vcharset_mojikyo): New variable.
4072         (Fdefine_char): Don't use coded-charset which does not have
4073         non-builtin character range to allocate character-id.
4074         (Qmojikyo): New variable.
4075         (syms_of_mule_charset): Add new symbol `mojikyo'.
4076         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
4077
4078         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
4079         (LEADING_BYTE_MOJIKYO): New macro.
4080         (MIN_CHAR_MOJIKYO): New macro.
4081         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
4082         (MAX_CHAR_MOJIKYO): New macro.
4083
4084 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
4085
4086         * mule-charset.c (remove_char_attribute): Fixed.
4087
4088 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
4089
4090         * mule-charset.c (remove_char_attribute): New function.
4091         (Fremove_char_attribute): New function.
4092         (encode_builtin_char_1): Comment out builtin-support for
4093         greek-iso8859-7 and cyrillic-iso8859-5.
4094         (Fdecode_char): Check `code' is an integer.
4095         (syms_of_mule_charset): Add `remove-char-attribute'.
4096         (MIN_CHAR_GREEK): Deleted.
4097         (MAX_CHAR_GREEK): Likewise.
4098         (MIN_CHAR_CYRILLIC): Likewise.
4099         (MAX_CHAR_CYRILLIC): Likewise.
4100         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
4101         MAX_CHAR_GREEK for `greek-iso8859-7'.
4102
4103         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
4104         (MAX_CHAR_GREEK): Likewise.
4105         (MIN_CHAR_CYRILLIC): Likewise.
4106         (MAX_CHAR_CYRILLIC): Likewise.
4107
4108 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
4109
4110         * mule-charset.c (Fdefine_char): Fix problem when new code-point
4111         format is used without `ucs' property.
4112         (Fdecode_char): Fix problem with GR representation.
4113         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
4114         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
4115
4116 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4117
4118         * mule-charset.c (make_builtin_char): New function.
4119         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4120         (Fset_charset_mapping_table): Modify for new representation of
4121         code-point.
4122         (Fdecode_char): New function.
4123         (syms_of_mule_charset): Add new builtin function `decode-char' in
4124         UTF-2000.
4125
4126         * char-ucs.h (make_builtin_char): New prototype.
4127         (DECODE_CHAR): New inline function.
4128         (MAKE_CHAR): Use `DECODE_CHAR'.
4129
4130 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4131
4132         * text-coding.c (parse_charset_conversion_specs): Use
4133         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4134         `XCHARSET_TYPE'.
4135         (iso2022_designate): Likewise.
4136
4137         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4138         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4139
4140         * mule-charset.c (Vcharset_ucs): New variable.
4141         (print_charset): Change design; use `CHARSET_CHARS' and
4142         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4143         (make_charset): Change signature to specify `chars' and
4144         `dimension' instead of `type'.
4145         (range_charset_code_point): Modify for 256^n-set.
4146         (encode_builtin_char_1): Encode as `ucs' in default.
4147         (Fmake_charset): Modify for `make_charset'.
4148         (Fmake_reverse_direction_charset): Likewise.
4149         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4150         UTF-2000.
4151         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4152         for `make_charset'.
4153
4154         * char-ucs.h (Vcharset_ucs): New variable.
4155         (LEADING_BYTE_UCS): New macro.
4156         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4157         and `chars' to `unsigned short' from `unsigned int'.
4158         (CHARSET_TYPE): Deleted.
4159         (XCHARSET_TYPE): Deleted.
4160
4161 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4162
4163         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4164
4165         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4166         (ENCODE_CHAR): New macro.
4167
4168 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4169
4170         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4171         to 0.14 (Kawachi-Katakami).
4172
4173 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4174
4175         * text-coding.c (char_encode_shift_jis): Modify for
4176         `charset_code_point'.
4177         (char_encode_iso2022): Likewise.
4178
4179         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4180         (integer) instead of list of <Lisp_Object>s (integers) as the
4181         format of code-point of a coded-charset.
4182         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4183         (encode_builtin_char_1): New function; delete
4184         `split_builtin_char'.
4185         (charset_code_point): Return <int> instead of <Lisp_Object>.
4186         (Fsplit_char): Don't use `SPLIT_CHAR'.
4187
4188         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4189         prototype for `split_builtin_char'.
4190         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4191         (charset_code_point): Likewise.
4192         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4193         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4194
4195 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4196
4197         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4198         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4199
4200 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4201
4202         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4203
4204         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4205         (MAX_CHAR_OBS_94x94): Deleted.
4206
4207 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4208
4209         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4210
4211         * char-ucs.h (MAX_CHAR_BMP): New macro.
4212
4213 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4214
4215         * text-coding.c: Sync with r21-2-24.
4216
4217 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4218
4219         * file-coding.c: Modify for UTF-2000.
4220
4221 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4222
4223         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4224         to 0.13 (Takaida).
4225
4226 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4227
4228         * mule-charset.c (split_builtin_char): Delete builtin support for
4229         `katakana-jisx0201'.
4230         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4231         BMP area in builtin representation.
4232
4233         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4234         `Vcharset_katakana_jisx0201'.
4235
4236 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4237
4238         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4239         (Qisolated): New variable.
4240         (Qinitial): New variable.
4241         (Qmedial): New variable.
4242         (Qfinal): New variable.
4243         (Qvertical): New variable.
4244         (Qsmall): New variable.
4245         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4246         `Qvertical' and `Qsmall'.
4247         (Qmojikyo_pj_[1 .. 21]): New variable.
4248         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4249         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4250         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4251         .. 21]'.
4252
4253 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4254
4255         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4256         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4257         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4258
4259 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4260
4261         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4262         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4263         BMP.
4264         (Qjapanese_jisx0208_1990): New variable.
4265         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4266         (complex_vars_of_mule_charset): Add new coded-charset
4267         `japanese-jisx0208-1990'.
4268
4269         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4270         (MIN_CHAR_JIS_X0208_1990): New macro.
4271         (MAX_CHAR_JIS_X0208_1990): New macro.
4272
4273 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4274
4275         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4276         coded-charset is not found.
4277
4278 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4279
4280         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4281         (Fdefine_char): Use `Fmake_char'.
4282
4283 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4284
4285         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4286         (Vcharset_hiragana_jisx0208): Deleted.
4287         (Vcharset_katakana_jisx0208): Deleted.
4288         (Qideograph_daikanwa): New variable.
4289         (Qhiragana_jisx0208): Deleted.
4290         (Qkatakana_jisx0208): Deleted.
4291         (split_builtin_char): Split `ideograph-daikanwa'.
4292         (Fsplit_char): New implementation for UTF-2000.
4293         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4294         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4295         (complex_vars_of_mule_charset): Add new coded-charset
4296         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4297         `katakana-jisx0208'.
4298
4299         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4300         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4301         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4302         (MIN_CHAR_DAIKANWA): New macro.
4303         (MAX_CHAR_DAIKANWA): New macro.
4304
4305 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4306
4307         * data.c (Fstring_to_number): Don't recognize floating point if
4308         base is not 10.
4309
4310 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4311
4312         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4313
4314 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4315
4316         * mule-charset.c (Qsquare): New variable.
4317         (to_char_code): Add `Qsquare'.
4318         (syms_of_mule_charset): Add new symbol `square'.
4319
4320 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4321
4322         * mule-charset.c (Qcircle): New variable.
4323         (to_char_code): Add `Qcircle'.
4324         (syms_of_mule_charset): Add new symbol `circle'.
4325
4326 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4327
4328         * mule-charset.c (Qfont): New variable.
4329         (to_char_code): Add `Qfont'.
4330         (syms_of_mule_charset): Add new symbol `font'.
4331
4332 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4333
4334         * mule-charset.c (Qsub): New variable.
4335         (to_char_code): Add `Qsub'.
4336         (syms_of_mule_charset): Add new symbol `sub'.
4337
4338 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4339
4340         * mule-charset.c (Fput_char_attribute): Convert each element of
4341         VALUE to GL position if ATTRIBUTE is a GR-set,
4342
4343 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4344
4345         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4346         coded-charset is a GR-set.
4347
4348 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4349
4350         * mule-charset.c (Fput_char_attribute): Check each element of
4351         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4352
4353 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4354
4355         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4356         UTF-2000.
4357         (Qethiopic_ucs): New variable in UTF-2000.
4358         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4359         (complex_vars_of_mule_charset): Add new coded-charset
4360         `ethiopic-ucs' in UTF-2000.
4361
4362         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4363         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4364         9)'.
4365         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4366         10)'.
4367         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4368
4369 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4370
4371         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4372         `ascii'.
4373
4374 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4375
4376         * mule-charset.c (Vcharacter_variant_table): New variable.
4377         (Q_ucs): New variable.
4378         (Fchar_variants): New function.
4379         (Fput_char_attribute): Register `->ucs' value to
4380         `Vcharacter_variant_table'.
4381         (syms_of_mule_charset): Add new function `char-variants' and new
4382         symbol `->ucs'.
4383         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4384
4385 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4386
4387         * mule-charset.c (get_char_code_table): Allow negative character
4388         code.
4389         (put_char_code_table): Likewise.
4390         (Vcharacter_composition_table): New variable.
4391         (Q_decomposition): New variable.
4392         (Qwide): New variable.
4393         (Qnarrow): New variable.
4394         (Qcompat): New variable.
4395         (QnoBreak): New variable.
4396         (Qsuper): New variable.
4397         (Qfraction): New variable.
4398         (to_char_code): New function.
4399         (Fget_composite_char): New function.
4400         (Fput_char_attribute): Register `->decomposition' value to
4401         `Vcharacter_composition_table'.
4402         (syms_of_mule_charset): Add new function `get-composite-char', new
4403         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4404         `super' and `fraction'.
4405         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4406
4407 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4408
4409         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4410         character; copy the return value.
4411
4412 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4413
4414         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4415
4416         * mule-charset.c (range_charset_code_point): Must use make_int.
4417         (split_builtin_char): New function.
4418
4419 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4420
4421         * mule-charset.c (char_byte_table): Change name from
4422         "char-code-table" to "char-byte-table".
4423         (mark_char_code_table): New function.
4424         (char_code_table_equal): New function.
4425         (char_code_table_hash): New function.
4426         (char_code_table_description): New constant.
4427         (char_code_table): New type.
4428         (make_char_code_table): New function.
4429         (copy_char_code_table): New function.
4430         (get_char_code_table): Modify for `char_code_table' type.
4431         (put_char_code_table): Likewise.
4432         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4433         (Kashiwara).
4434
4435         * char-ucs.h (char_code_table): New type.
4436         (XCHAR_CODE_TABLE): New macro.
4437         (XSETCHAR_CODE_TABLE): New macro.
4438         (CHAR_CODE_TABLE_P): New macro.
4439         (GC_CHAR_CODE_TABLE_P): New macro.
4440         (struct Lisp_Char_Code_Table): New structure.
4441
4442 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4443
4444         * mule-charset.c (Fmake_charset): Setup byte_offset for
4445         {94|96}^n-set.
4446
4447 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4448
4449         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4450         character.
4451
4452 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4453
4454         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4455         is found.
4456
4457 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4458
4459         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4460         charset, it is regarded as a charset.
4461         (put_char_attribute): New function in UTF-2000.
4462         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4463         charset, mapping-table of the charset is modified.
4464         (Fdefine_char): New function in UTF-2000.
4465         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4466         `Fput_char_attribute'.
4467         (syms_of_mule_charset): Add new function `define-char' and new
4468         symbol `ucs' in UTF-2000.
4469         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4470
4471 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4472
4473         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4474         non-UTF-2000 configuration.
4475
4476 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4477
4478         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4479         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4480
4481         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4482         deleted.
4483         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4484         (Fset_charset_mapping_table): Likewise.
4485
4486         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4487         (CHARSET_ENCODING_TABLE): Delete.
4488         (XCHARSET_ENCODING_TABLE): Delete.
4489         (charset_code_point): New interface.
4490
4491 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4492
4493         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4494         instead of `charset_get_byte1' and `charset_get_byte2'.
4495
4496         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4497         (charset_get_byte2): Deleted.
4498
4499 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4500
4501         * char-ucs.h (SPLIT_CHAR): New inline function.
4502         (breakup_char_1): Use `SPLIT_CHAR'.
4503
4504         * mule-charset.c (range_charset_code_point): New function.
4505         (charset_code_point): New function.
4506
4507         * char-ucs.h (range_charset_code_point): New interface.
4508         (breakup_char_1): Use `range_charset_code_point'.
4509
4510 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4511
4512         * mule-charset.c (Fmake_charset): Delete unused local variable
4513         `code_offset'.
4514
4515         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4516         (breakup_char_1): Find a charset and code-point in
4517         `Vcharacter_attribute_table'.
4518
4519 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4520
4521         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4522         to 0.10 (Yao).
4523
4524 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4525
4526         * mule-charset.c (Vcharacter_attribute_table): New variable.
4527         (Fchar_attribute_alist): New function.
4528         (Fget_char_attribute): New function.
4529         (Fput_char_attribute): New function.
4530         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4531         too.
4532         (syms_of_mule_charset): Add new function `char-attribute-alist',
4533         `get-char-attribute' and `put-char-attribute'.
4534         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4535
4536 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4537
4538         * mule-charset.c (Fmake_charset): Just use
4539         `get_unallocated_leading_byte'.
4540
4541         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4542         sets; don't use final-byte based number for private sets.
4543
4544 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4545
4546         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4547         integer.
4548
4549 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4550
4551         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4552         to 0.9.
4553
4554 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4555
4556         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4557         of `CHAR_LEADING_BYTE' in UTF-2000.
4558
4559         * insdel.c (find_charsets_in_bufbyte_string): Use
4560         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4561         (find_charsets_in_emchar_string): Likewise.
4562
4563         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4564         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4565
4566         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4567         (CHAR_CHARSET_ID): New macro.
4568
4569 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4570
4571         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4572         charset-id - MIN_LEADING_BYTE.
4573         (put_char_table): Likewise.
4574
4575 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4576
4577         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4578         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4579         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4580         (CHARSET_ID_OFFSET): New macro.
4581         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4582         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4583         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4584         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4585         4).
4586         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4587         5).
4588         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4589         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4590         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4591         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4592         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4593
4594 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4595
4596         * mule-charset.c (next_allocated_leading_byte): New variable in
4597         UTF-2000.
4598         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4599         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4600         (get_unallocated_leading_byte): Simply use
4601         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4602         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4603         UTF-2000.
4604
4605         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4606         (MAX_LEADING_BYTE_PRIVATE): New macro.
4607         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4608         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4609
4610 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4611
4612         * mule-charset.c (Fmake_charset): Allocate final-byte based
4613         charset-id for 94-set, 96-set and 94x94-set.
4614
4615 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4616
4617         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4618         ambiguous `else'.
4619         (Fmake_charset): Likewise.
4620         (complex_vars_of_mule_charset): Modify the font registry of
4621         `ucs-bmp' not to match `Ethiopic-Unicode'.
4622
4623 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4624
4625         * mule-charset.c (complex_vars_of_mule_charset): Add font
4626         registory of `ucs-bmp'.
4627
4628 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4629
4630         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4631         coded-charsets in `default-coded-charset-priority-list' when
4632         breaking up a character.
4633
4634         * mule-charset.c (Vcharset_latin_viscii): New variable.
4635         (Qlatin_viscii): New variable.
4636         (make_charset): Don't use `decoding_table'.
4637         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4638         byte_offset.
4639         (Fset_charset_mapping_table): New implementation.
4640         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4641         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4642         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4643         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4644         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4645         charset `latin_viscii'.
4646
4647         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4648         (CHARSET_TYPE_94X94): Change to 1 from 2.
4649         (CHARSET_TYPE_96): Change to 2 from 1.
4650         (CHARSET_TYPE_128): New macro.
4651         (CHARSET_TYPE_128X128): Change to 5 from 4.
4652         (CHARSET_TYPE_256): New macro.
4653         (CHARSET_TYPE_256X256): Change to 7 from 5.
4654         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4655
4656 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4657
4658         * text-coding.c (char_encode_shift_jis): Refer
4659         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4660         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4661
4662         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4663         (char_byte_table_equal): New function in UTF-2000.
4664         (char_byte_table_hash): New function in UTF-2000.
4665         (char_byte_table_description): New constant in UTF-2000.
4666         (char_byte_table): New type in UTF-2000.
4667         (make_char_byte_table): New function in UTF-2000.
4668         (copy_char_byte_table): New function in UTF-2000.
4669         (make_char_code_table): New macro in UTF-2000.
4670         (get_char_code_table): New function in UTF-2000.
4671         (put_char_code_table): New function in UTF-2000.
4672         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4673         (charset_description): Add setting in UTF-2000.
4674         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4675         `CHARSET_TO_BYTE1_TABLE(cs)'.
4676         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4677         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4678         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4679         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4680         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4681         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4682         `CHARSET_TO_BYTE2_TABLE(cs)'.
4683
4684         * char-ucs.h (char_byte_table): New type.
4685         (XCHAR_BYTE_TABLE): New macro.
4686         (XSETCHAR_BYTE_TABLE): New macro.
4687         (CHAR_BYTE_TABLE_P): New macro.
4688         (GC_CHAR_BYTE_TABLE_P): New macro.
4689         (struct Lisp_Char_Byte_Table): New structure.
4690         (get_char_code_table): New interface.
4691         (Emchar_to_byte_table): Deleted.
4692         (get_byte_from_character_table): Deleted.
4693         (struct Lisp_Charset): Add `encoding_table'; delete
4694         `to_byte1_table' and `to_byte2_table'.
4695         (CHARSET_ENCODING_TABLE): New macro.
4696         (CHARSET_TO_BYTE1_TABLE): Deleted.
4697         (CHARSET_TO_BYTE2_TABLE): Deleted.
4698         (XCHARSET_ENCODING_TABLE): New macro.
4699         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4700         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4701
4702 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4703
4704         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4705         `vietnamese-viscii-*'.
4706
4707 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4708
4709         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4710         (Qvietnamese_viscii_upper): New variable.
4711         (Fdefine_charset_alias): New function.
4712         (syms_of_mule_charset): Add new function `define-charset-alias'.
4713         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4714         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4715         `latin-viscii-*'.
4716
4717 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4718
4719         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4720         (MAX_CHAR_OBS_94x94): New macro.
4721         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4722         for 94x94 sets.
4723
4724         * mule-charset.c (put_byte_from_character_table): Change unit size
4725         from 128 to 256.
4726         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4727         not defined.
4728         (Fmake_reverse_direction_charset): Modify dummy argument of
4729         `make_charset' for non-UTF-2000 environment.
4730
4731 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4732
4733         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4734
4735         * mule-charset.c (destroy_byte_from_character_table): New macro.
4736         (latin_jisx0201_to_ucs): Deleted.
4737         (latin_iso8859_2_to_ucs): Deleted.
4738         (latin_iso8859_3_to_ucs): Deleted.
4739         (latin_iso8859_4_to_ucs): Deleted.
4740         (latin_iso8859_9_to_ucs): Deleted.
4741         (latin_viscii_lower_to_ucs): Deleted.
4742         (latin_viscii_upper_to_ucs): Deleted.
4743         (mark_charset): Mark `cs->decoding_table'.
4744         (Fcharset_mapping_table): Fix DOC-string.
4745         (Fset_charset_mapping_table): New function.
4746         (syms_of_mule_charset): Add nwe function
4747         `set-charset-mapping-table'.
4748         (complex_vars_of_mule_charset): Don't setup and use
4749         `latin_*_to_ucs'.
4750
4751 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4752
4753         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4754         charset.
4755
4756 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4757
4758         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4759         (Vcharset_katakana_jisx0208): New variable.
4760         (Qhiragana_jisx0208): New variable.
4761         (Qkatakana_jisx0208): New variable.
4762         (make_charset): Add new argument `byte_offset'.
4763         (charset_get_byte1): Modify for new coded-charset definition; use
4764         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4765         `XCHARSET_BYTE_OFFSET'.
4766         (Fmake_charset): Modify for `make_charset'.
4767         (Fmake_reverse_direction_charset): Likewise.
4768         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4769         `katakana-jisx0208'.
4770         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4771         `.'  in font registry of charset `katakana-jisx0201',
4772         `latin-jisx0201', `vietnamese-viscii-lower' and
4773         `vietnamese-viscii-upper'; modify DOC-string of charset
4774         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4775         registry of charset `japanese-jisx0208' not to use font for JIS
4776         X0208:1990; add new charset `hiragana-jisx0208' and
4777         `katakana-jisx0208'.
4778
4779         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4780         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4781         (struct Lisp_Charset): Add `byte_offset'.
4782         (CHARSET_BYTE_OFFSET): New macro.
4783         (XCHARSET_UCS_MIN): New macro.
4784         (XCHARSET_UCS_MAX): New macro.
4785         (XCHARSET_CODE_OFFSET): New macro.
4786         (XCHARSET_BYTE_OFFSET): New macro.
4787         (MIN_CHAR_HIRAGANA): New macro.
4788         (MAX_CHAR_HIRAGANA): New macro.
4789         (MIN_CHAR_KATAKANA): New macro.
4790         (MAX_CHAR_KATAKANA): New macro.
4791         (MAKE_CHAR): Modify for new coded-charset definition; use
4792         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4793         `XCHARSET_BYTE_OFFSET'.
4794
4795 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4796
4797         * mule-charset.c (CHAR96): Deleted.
4798         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4799         <Lisp_Object>.
4800         (latin_iso8859_2_to_ucs): Likewise.
4801         (latin_iso8859_3_to_ucs): Likewise.
4802         (latin_iso8859_4_to_ucs): Likewise.
4803         (latin_iso8859_9_to_ucs): Likewise.
4804         (latin_viscii_lower_to_ucs): Likewise.
4805         (latin_viscii_upper_to_ucs): Likewise.
4806         (latin_tcvn5712_to_ucs): Commented out.
4807         (make_charset): Change type of argument `decoding_table' from
4808         <Emchar*> to <Lisp_Object> [vector of characters].
4809         (Fmake_charset): Modify for `make_charset'.
4810         (Fmake_reverse_direction_charset): Likewise.
4811         (Fcharset_mapping_table): New function in UTF-2000.
4812         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4813         UTF-2000.
4814         (complex_vars_of_mule_charset): Modify for type change of
4815         `*_to_ucs'; modify for `make_charset'.
4816
4817         * char-ucs.h (struct Lisp_Charset): Change type of
4818         `decoding_table' from <Emchar*> to <Lisp_Object>.
4819         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4820
4821 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4822
4823         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4824         error with non-UTF-2000-Mule.
4825
4826 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4827
4828         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4829         in lisp again].
4830         (Vcharset_chinese_cns11643_4): Likewise.
4831         (Vcharset_chinese_cns11643_5): Likewise.
4832         (Vcharset_chinese_cns11643_6): Likewise.
4833         (Vcharset_chinese_cns11643_7): Likewise.
4834         (Qchinese_cns11643_3): Likewise.
4835         (Qchinese_cns11643_4): Likewise.
4836         (Qchinese_cns11643_5): Likewise.
4837         (Qchinese_cns11643_6): Likewise.
4838         (Qchinese_cns11643_7): Likewise.
4839         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4840         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4841         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4842         (complex_vars_of_mule_charset): Likewise.
4843
4844 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4845
4846         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4847         96-set.
4848         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4849         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4850
4851 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4852
4853         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4854         0xFF60.
4855         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4856         (breakup_char_1): Likewise.
4857
4858         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4859         one of them includes the specified character.
4860
4861 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4862
4863         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4864
4865 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4866
4867         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4868
4869 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4870
4871         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4872         definition for non-UTF-2000 Mule.
4873         (latin_iso8859_3_to_ucs): Likewise.
4874         (latin_iso8859_4_to_ucs): Likewise.
4875         (latin_iso8859_9_to_ucs): Likewise.
4876         (latin_jisx0201_to_ucs): Likewise.
4877         (MIN_CHAR_THAI): Likewise.
4878         (MAX_CHAR_THAI): Likewise.
4879         (MIN_CHAR_GREEK): Likewise.
4880         (MAX_CHAR_GREEK): Likewise.
4881         (MIN_CHAR_HEBREW): Likewise.
4882         (MAX_CHAR_HEBREW): Likewise.
4883         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4884         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4885         (MIN_CHAR_CYRILLIC): Likewise.
4886         (MAX_CHAR_CYRILLIC): Likewise.
4887
4888 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4889
4890         * char-ucs.h (breakup_char_1): Use
4891         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4892         thai-tis620 and katakana-jisx0201 area.
4893
4894 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4895
4896         * char-ucs.h (breakup_char_1): Use
4897         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4898         area.
4899
4900         * text-coding.c (reset_encoding_stream): Fixed.
4901         (char_encode_ucs4): Delete `& 255'.
4902
4903         * char-ucs.h (breakup_char_1): Use
4904         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4905
4906 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4907
4908         * file-coding.c (Fmake_coding_system): Don't set up
4909         `codesys->fixed.size'.
4910         (encode_coding_no_conversion): Don't refer
4911         `str->codesys->fixed.size'.
4912
4913 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4914
4915         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4916         (latin_a_char_to_byte1): Deleted.
4917         (latin_a_char_to_byte2): Deleted.
4918
4919 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4920
4921         * mule-charset.c (make_charset): Add new argument `ucs_min',
4922         `ucs_max' and `code_offset'.
4923         (charset_get_byte1): New implementation [delete specific charset
4924         depended implementations].
4925         (Fmake_charset): Modify for `make_charset'.
4926         (Fmake_reverse_direction_charset): Likewise.
4927         (complex_vars_of_mule_charset): Likewise.
4928
4929         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4930         `code_offset'.
4931         (CHARSET_UCS_MIN): New macro.
4932         (CHARSET_UCS_MAX): New macro.
4933         (CHARSET_CODE_OFFSET): New macro.
4934         (MAKE_CHAR): Delete charset depended definitions [except
4935         katakana-jisx0201].
4936
4937 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4938
4939         * char-ucs.h (breakup_char_1): Use
4940         `Vdefault_coded_charset_priority_list' for C0-Controls,
4941         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4942
4943 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4944
4945         * char-ucs.h (charset_get_byte1): New function.
4946         (XCHARSET_GET_BYTE1): Deleted.
4947         (charset_get_byte2): New function.
4948         (XCHARSET_GET_BYTE2): Deleted.
4949         (Vdefault_coded_charset_priority_list): New external variable.
4950         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4951         `Vdefault_preferred_coded_charset_list'.
4952
4953         * mule-charset.c (charset_get_byte1): New function.
4954         (charset_get_byte2): New function.
4955         (Vdefault_coded_charset_priority_list): New variable.
4956         (vars_of_mule_charset): Add new variable
4957         `default-coded-charset-priority-list'.
4958
4959 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4960
4961         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4962         (XCHARSET_GET_BYTE2): New inline function.
4963         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4964         `XCHARSET_GET_BYTE2'.
4965
4966 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4967
4968         * mule-charset.c (make_charset): Initialize
4969         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4970         NULL if table is not defined.
4971
4972 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4973
4974         * text-coding.c (char_encode_shift_jis): Use
4975         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4976         `ucs_to_latin_jisx0201'.
4977
4978         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4979         (ucs_to_latin_iso8859_2): Deleted.
4980         (ucs_to_latin_iso8859_3): Deleted.
4981         (ucs_to_latin_iso8859_4): Deleted.
4982         (ucs_to_latin_iso8859_9): Deleted.
4983         (ucs_to_latin_viscii_lower): Deleted.
4984         (ucs_to_latin_viscii_upper): Deleted.
4985         (ucs_to_latin_tcvn5712): Deleted.
4986         (make_charset): Add new argument `decoding_table'; set up
4987         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4988         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4989         `decoding_table' is defined in UTF-2000.
4990         (Fmake_charset): Modify for `make_charset'.
4991         (Fmake_reverse_direction_charset): Likewise.
4992         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4993         and `GENERATE_96_SET'.
4994
4995         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4996         (ucs_to_latin_jisx0201): Deleted.
4997         (latin_iso8859_2_to_ucs): Deleted.
4998         (ucs_to_latin_iso8859_2): Deleted.
4999         (latin_iso8859_3_to_ucs): Deleted.
5000         (ucs_to_latin_iso8859_3): Deleted.
5001         (latin_iso8859_4_to_ucs): Deleted.
5002         (ucs_to_latin_iso8859_4): Deleted.
5003         (latin_iso8859_9_to_ucs): Deleted.
5004         (ucs_to_latin_iso8859_9): Deleted.
5005         (latin_viscii_lower_to_ucs): Deleted.
5006         (ucs_to_latin_viscii_lower): Deleted.
5007         (latin_viscii_upper_to_ucs): Deleted.
5008         (ucs_to_latin_viscii_upper): Deleted.
5009         (struct Lisp_Charset): Renamed `encoding_table' to
5010         `to_byte1_table'; add `to_byte2_table'.
5011         (CHARSET_DECODING_TABLE): New macro.
5012         (CHARSET_TO_BYTE1_TABLE): New macro.
5013         (CHARSET_TO_BYTE2_TABLE): New macro.
5014         (XCHARSET_DECODING_TABLE): New macro.
5015         (XCHARSET_TO_BYTE1_TABLE): New macro.
5016         (XCHARSET_TO_BYTE2_TABLE): New macro.
5017         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
5018         tables.
5019         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
5020         don't use `ucs_to_*' tables.
5021
5022 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5023
5024         * text-coding.c (Fmake_coding_system): Don't set up
5025         `codesys->fixed.size'.
5026         (encode_coding_no_conversion): Use `if' instead of `switch'.
5027
5028         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
5029
5030 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5031
5032         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
5033         (Fmake_charset): Modify for `make_charset'.
5034         (Fmake_reverse_direction_charset): Likewise.
5035         (complex_vars_of_mule_charset): Likewise.
5036
5037 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5038
5039         * text-coding.c (char_encode_shift_jis): Use table
5040         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
5041
5042 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5043
5044         * text-coding.c (text_encode_generic): Use `if' instead of
5045         `switch'.
5046         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
5047         decode JIS-Latin.
5048
5049 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5050
5051         * text-coding.c (encode_coding_sjis): Deleted.
5052         (char_encode_shift_jis): New function.
5053         (char_finish_shift_jis): New function.
5054         (reset_encoding_stream): Set up `encode_char' and `finish' for
5055         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
5056         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
5057         (char_encode_utf8): Treat `eol_type'.
5058
5059 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5060
5061         * file-coding.c (decode_coding_iso2022): Use
5062         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
5063
5064 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5065
5066         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5067         to 0.7 (Hirano).
5068
5069 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5070
5071         * char-lb.h (CHAR_COLUMNS): New macro.
5072
5073 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5074
5075         * text-coding.c (char_encode_ucs4): New function.
5076         (char_finish_ucs4): New function.
5077         (encode_coding_ucs4): Deleted.
5078         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
5079         (text_encode_generic): Delete local variable `charset' and `half'.
5080         (ucs_to_mule_table): Deleted.
5081         (mule_to_ucs_table): Deleted.
5082         (Fset_ucs_char): Deleted.
5083         (ucs_to_char): Deleted.
5084         (Fucs_char): Deleted.
5085         (Fset_char_ucs): Deleted.
5086         (Fchar_ucs): Deleted.
5087         (decode_ucs4): Deleted.
5088         (mule_char_to_ucs4): Deleted.
5089         (encode_ucs4): Deleted.
5090         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
5091         (decode_coding_utf8): Likewise.
5092         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
5093         (char_encode_iso2022): Fixed.
5094         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
5095         `Fset_char_ucs' and `Fchar_ucs'.
5096         (complex_vars_of_file_coding): Don't initialize
5097         `ucs_to_mule_table'.
5098
5099         * objects-tty.c (tty_initialize_font_instance): Don't use
5100         `XCHARSET_COLUMNS'.
5101
5102         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
5103         UTF-2000.
5104
5105         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
5106         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5107
5108         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
5109         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5110         (emchar_string_displayed_columns): Likewise.
5111
5112         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
5113         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5114         (string_column_at_point): Likewise.
5115         (Fmove_to_column): Likewise.
5116
5117         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5118         `encoding_table' and `decoding_table'.
5119         (CHARSET_REP_BYTES): Deleted.
5120         (XCHARSET_REP_BYTES): Deleted.
5121         (XCHARSET_COLUMNS): Deleted.
5122         (CHAR_COLUMNS): New macro.
5123         (lookup_composite_char): Deleted unconditionally.
5124         (composite_char_string): Likewise.
5125
5126 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5127
5128         * char-ucs.h (Emchar_to_byte_table): New type.
5129         (get_byte_from_character_table): New function interface.
5130         (Vcharset_latin_jisx0201): New variable.
5131         (latin_jisx0201_to_ucs): New variable.
5132         (ucs_to_latin_jisx0201): New variable.
5133         (Vcharset_latin_iso8859_2): New variable.
5134         (latin_iso8859_2_to_ucs): New variable.
5135         (ucs_to_latin_iso8859_2): New variable.
5136         (Vcharset_latin_iso8859_3): New variable.
5137         (latin_iso8859_3_to_ucs): New variable.
5138         (ucs_to_latin_iso8859_3): New variable.
5139         (Vcharset_latin_iso8859_4): New variable.
5140         (latin_iso8859_4_to_ucs): New variable.
5141         (ucs_to_latin_iso8859_4): New variable.
5142         (Vcharset_latin_iso8859_9): New variable.
5143         (latin_iso8859_9_to_ucs): New variable.
5144         (ucs_to_latin_iso8859_9): New variable.
5145         (Vcharset_latin_viscii_lower): New variable.
5146         (latin_viscii_lower_to_ucs): New variable.
5147         (ucs_to_latin_viscii_lower): New variable.
5148         (Vcharset_latin_viscii_upper): New variable.
5149         (latin_viscii_upper_to_ucs): New variable.
5150         (ucs_to_latin_viscii_upper): New variable.
5151         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5152         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5153         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5154         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5155         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5156         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5157         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5158         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5159         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5160         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5161
5162         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5163         (Vcharset_latin_viscii_upper): New variable.
5164         (make_byte_from_character_table): New function.
5165         (put_byte_from_character_table): New function.
5166         (get_byte_from_character_table): New function.
5167         (CHAR96): New macro.
5168         (ucs_to_latin_jisx0201): New variable.
5169         (latin_jisx0201_to_ucs): New variable.
5170         (ucs_to_latin_iso8859_2): New variable.
5171         (latin_iso8859_2_to_ucs): New variable.
5172         (ucs_to_latin_iso8859_3): New variable.
5173         (latin_iso8859_3_to_ucs): New variable.
5174         (ucs_to_latin_iso8859_4): New variable.
5175         (latin_iso8859_4_to_ucs): New variable.
5176         (ucs_to_latin_iso8859_9): New variable.
5177         (latin_iso8859_9_to_ucs): New variable.
5178         (ucs_to_latin_viscii_lower): New variable.
5179         (latin_viscii_lower_to_ucs): New variable.
5180         (ucs_to_latin_viscii_upper): New variable.
5181         (latin_viscii_upper_to_ucs): New variable.
5182         (ucs_to_latin_tcvn5712): New variable.
5183         (latin_tcvn5712_to_ucs): New variable.
5184         (Qlatin_viscii_lower): New variable.
5185         (Qlatin_viscii_upper): New variable.
5186         (syms_of_mule_charset): Set up new symbol
5187         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5188         (complex_vars_of_mule_charset): Set up new charset
5189         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5190         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5191         `ucs_to_<CHARSET>' tables.
5192
5193 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5194
5195         * text-coding.c: New file.
5196
5197 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5198
5199         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5200
5201         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5202         (MAKE_CHAR): Modify for `ucs-bmp'.
5203         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5204         non-MULE characters of BMP.
5205
5206 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5207
5208         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5209         to 0.6.
5210
5211 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5212
5213         * lstream.h:
5214         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5215         - Include character.h for `CHAR_ASCII_P'.
5216
5217         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5218
5219         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5220         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5221
5222         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5223         (BYTE_C0_P): Likewise.
5224         (BYTE_C1_P): Likewise.
5225         (Lstream_get_emchar_1): Likewise.
5226         (Lstream_fput_emchar): Likewise.
5227         (Lstream_funget_emchar): Likewise.
5228         (copy_internal_to_external): Likewise.
5229         (copy_external_to_internal): Likewise.
5230
5231         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5232         (BYTE_C0_P): Likewise.
5233         (BYTE_C1_P): Likewise.
5234         (Lstream_get_emchar_1): Likewise.
5235         (Lstream_fput_emchar): Likewise.
5236         (Lstream_funget_emchar): Likewise.
5237         (copy_internal_to_external): Likewise.
5238         (copy_external_to_internal): Likewise.
5239
5240         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5241         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5242
5243         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5244         (BYTE_ASCII_P): Moved to mb-1byte.h.
5245
5246 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5247
5248         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5249
5250         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5251         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5252         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5253         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5254         (VALIDATE_CHARPTR_FORWARD): Likewise.
5255         (simple_charptr_emchar): Moved to mb-multibyte.h.
5256         (simple_set_charptr_emchar): Likewise.
5257         (simple_charptr_copy_char): Likewise.
5258         (non_ascii_charptr_emchar): Likewise.
5259         (non_ascii_set_charptr_emchar): Likewise.
5260         (non_ascii_charptr_copy_char): Likewise.
5261         (charptr_emchar): Moved to mb-*byte.h.
5262         (set_charptr_emchar): Likewise.
5263         (charptr_copy_char): Likewise.
5264
5265         * mb-1byte.h, mb-multibyte.h: New files.
5266
5267 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5268
5269         * mb-utf-8.h (MULTIBYTE): New macro.
5270         (MAX_EMCHAR_LEN): Moved from buffer.h.
5271         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5272
5273         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5274
5275         * mb-lb.h, multibyte.h: New files.
5276
5277         * char-1byte.h (Charset_ID): Moved from buffer.h.
5278         (MIN_LEADING_BYTE): Likewise.
5279         (LEADING_BYTE_ASCII): Likewise.
5280         (NUM_LEADING_BYTES): Likewise.
5281         (CHARSETP): Likewise.
5282         (CHARSET_BY_LEADING_BYTE): Likewise.
5283         (XCHARSET_LEADING_BYTE): Likewise.
5284         (XCHARSET_GRAPHIC): Likewise.
5285         (XCHARSET_COLUMNS): Likewise.
5286         (XCHARSET_DIMENSION): Likewise.
5287         (CHAR_CHARSET): Likewise.
5288         (CHAR_LEADING_BYTE): Likewise.
5289         (BREAKUP_CHAR): Likewise.
5290         (Vcharset_ascii): Likewise.
5291
5292         * buffer.h: Include multibyte.h unconditionally.
5293         (VALID_CHARPTR_P): Moved to multibyte.h.
5294         (ASSERT_VALID_CHARPTR): Likewise.
5295         (REAL_INC_CHARPTR): Likewise.
5296         (REAL_INC_CHARBYTIND): Likewise.
5297         (REAL_DEC_CHARPTR): Likewise.
5298         (INC_CHARPTR): Likewise.
5299         (INC_CHARBYTIND): Likewise.
5300         (DEC_CHARPTR): Likewise.
5301         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5302         (VALIDATE_CHARPTR_FORWARD): Likewise.
5303         (charptr_n_addr): Likewise.
5304         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5305         (simple_charptr_emchar): Moved to multibyte.h.
5306         (simple_set_charptr_emchar): Likewise.
5307         (simple_charptr_copy_char): Likewise.
5308         (non_ascii_charptr_emchar): Likewise.
5309         (non_ascii_set_charptr_emchar): Likewise.
5310         (non_ascii_charptr_copy_char): Likewise.
5311         (charptr_emchar): Likewise.
5312         (set_charptr_emchar): Likewise.
5313         (charptr_copy_char): Likewise.
5314         (charptr_emchar_n): Likewise.
5315         (Charset_ID): Moved to char-1byte.h.
5316         (Vcharset_ascii): Likewise.
5317         (CHAR_CHARSET): Likewise.
5318         (CHAR_LEADING_BYTE): Likewise.
5319         (LEADING_BYTE_ASCII): Likewise.
5320         (NUM_LEADING_BYTES): Likewise.
5321         (MIN_LEADING_BYTE): Likewise.
5322         (CHARSETP): Likewise.
5323         (CHARSET_BY_LEADING_BYTE): Likewise.
5324         (XCHARSET_LEADING_BYTE): Likewise.
5325         (XCHARSET_GRAPHIC): Likewise.
5326         (XCHARSET_COLUMNS): Likewise.
5327         (XCHARSET_DIMENSION): Likewise.
5328         (BREAKUP_CHAR): Likewise.
5329
5330 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5331
5332         * character.h: Add document about interface for characters.
5333
5334         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5335         (MAKE_CHAR): Delete comment about
5336         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5337         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5338         (BREAKUP_CHAR): Modify name of arguments.
5339         (CHAR_CHARSET): Modify name of argument.
5340
5341         * buffer.h: Delete document about Emchar accessors.
5342
5343 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5344
5345         * character.h (CHAR_INTP): Moved from buffer.h
5346         (CHAR_OR_CHAR_INTP): Likewise.
5347         (XCHAR_OR_CHAR_INT): Likewise.
5348         (CHECK_CHAR_COERCE_INT): Likewise.
5349
5350         * buffer.h (CHAR_INTP): Moved to character.h
5351         (CHAR_OR_CHAR_INTP): Likewise.
5352         (XCHAR_OR_CHAR_INT): Likewise.
5353         (CHECK_CHAR_COERCE_INT): Likewise.
5354
5355 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5356
5357         * character.h:
5358         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5359         - Include char-1byte.h, char-lb.h or char-ucs.h.
5360
5361         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5362
5363         * buffer.h: Include character unconditionally.
5364         (valid_char_p): Moved to char-*.h.
5365         (non_ascii_valid_char_p): Moved to char-lb.h.
5366
5367         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5368
5369 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5370
5371         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5372         in UTF-2000 because it is not ported yet and not to use
5373         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5374         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5375         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5376
5377         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5378         (CHAR_ASCII_P): Moved from character.h.
5379
5380         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5381         (CHAR_ASCII_P): Likewise.
5382         (CHAR_FIELD1_MASK): Deleted.
5383         (CHAR_FIELD2_MASK): Deleted.
5384         (CHAR_FIELD3_MASK): Deleted.
5385         (MAX_CHAR_BASIC_LATIN): New macro.
5386         (CHAR_FIELD1): Deleted.
5387         (CHAR_FIELD2_INTERNAL): Deleted.
5388         (CHAR_FIELD3_INTERNAL): Deleted.
5389         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5390         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5391         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5392         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5393         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5394         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5395         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5396         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5397         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5398         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5399         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5400         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5401         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5402         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5403         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5404         (MIN_CHAR_COMPOSITION): Deleted.
5405         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5406         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5407
5408 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5409
5410         * buffer.h: Include mb-utf-8.h in UTF-2000.
5411
5412         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5413
5414         * mb-utf-8.h: New file.
5415
5416 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5417
5418         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5419         instead of `int'.
5420
5421         * mule-charset.h, buffer.h (Charset_ID): New type.
5422
5423 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5424
5425         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5426         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5427         instead of `MULE_CHAR_PRIVATE_OFFSET',
5428         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5429         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5430         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5431
5432         * character.h (Vcharset_japanese_jisx0212): New variable
5433         definition.
5434
5435 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5436
5437         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5438         (charset_by_attributes): Delete array about direction.
5439         (latin_a_char_to_charset): New variable in UTF-2000.
5440         (latin_a_char_to_byte1): New variable in UTF-2000.
5441         (latin_a_char_to_byte2): New variable in UTF-2000.
5442         (Qucs_bmp): New variable.
5443         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5444         `Bufbyte'.
5445         (next_allocated_2_byte_leading_byte): Likewise.
5446         (non_ascii_set_charptr_emchar): Likewise.
5447         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5448         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5449         `charset_by_attributes'.
5450         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5451         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5452         and `CHARSET_BY_LEADING_BYTE'.
5453         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5454         `utf-2000-version' to `vars_of_mule_charset'.
5455         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5456         define `leading-code-private-11' in UTF-2000; move setting of
5457         `utf-2000-version' from `syms_of_mule_charset'.
5458         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5459         UTF-2000.
5460
5461         * character.h (Charset_ID): New type.
5462         (LEADING_BYTE_UCS_BMP): New macro.
5463         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5464         (CHARSET_ID_OFFSET_94): New macro.
5465         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5466         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5467         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5468         final-byte.
5469         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5470         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5471         (CHARSET_ID_OFFSET_96): New macro.
5472         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5473         CHARSET_ID_OFFSET_96 and final-byte.
5474         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5475         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5476         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5477         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5478         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5479         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5480         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5481         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5482         (LEADING_BYTE_THAI_TIS620): Likewise.
5483         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5484         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5485         (CHARSET_ID_OFFSET_94x94): New macro.
5486         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5487         CHARSET_ID_OFFSET_94x94 and final-byte.
5488         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5489         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5490         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5491         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5492         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5493         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5494         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5495         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5496         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5497         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5498         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5499         (CHARSET_TYPE_128X128): New macro.
5500         (CHARSET_TYPE_256X256): New macro.
5501         (XCHARSET_PRIVATE_P): Delete unconditionally.
5502         (charset_by_attributes): Delete array about direction.
5503         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5504         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5505         (MIN_CHAR_94): New macro.
5506         (MAX_CHAR_94): New macro.
5507         (MIN_CHAR_96): New macro.
5508         (MAX_CHAR_96): New macro.
5509         (MIN_CHAR_94x94): New macro.
5510         (MAX_CHAR_94x94): New macro.
5511         (MIN_CHAR_96x96): New macro.
5512         (MAX_CHAR_96x96): New macro.
5513         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5514         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5515         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5516         - 32)'.
5517         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5518         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5519         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5520         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5521         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5522         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5523         `XCHARSET_LEADING_BYTE' to make code-point.
5524         (latin_a_char_to_charset): New variable.
5525         (latin_a_char_to_byte1): New variable.
5526         (latin_a_char_to_byte2): New variable.
5527         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5528         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5529         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5530
5531         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5532         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5533         (find_charsets_in_emchar_string): Likewise.
5534         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5535
5536         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5537         `int'.
5538         (decode_coding_iso2022): Likewise.
5539
5540         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5541         of `unsigned char'.
5542
5543         * redisplay.c (redisplay_text_width_emchar_string): Use
5544         `Charset_ID' instead of `unsigned char'.
5545         (redisplay_frame_text_width_string): Likewise.
5546
5547         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5548         `unsigned char'.
5549
5550         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5551         instead of `unsigned char'.
5552         (face_cachel_charset_font_metric_info): Likewise.
5553
5554         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5555         (get_non_ascii_char_table_value): Likewise.
5556         (get_char_table): Likewise.
5557         (put_char_table): Likewise.
5558         (map_over_other_charset): Likewise.
5559         (map_char_table): Likewise.
5560
5561         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5562         instead of `unsigned char'.
5563
5564 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5565
5566         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5567         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5568
5569         * mule-charset.c (leading_code_private_11): Don't define in
5570         UTF-2000.
5571
5572         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5573         in UTF-2000 because it is not ported yet and not to use
5574         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5575
5576 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5577
5578         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5579
5580 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5581
5582         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5583         in UTF-2000.
5584
5585         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5586         of unsigned char to store leading-byte.
5587
5588         * chartab.c (get_non_ascii_char_table_value): Don't use
5589         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5590
5591         * file-coding.c (encode_coding_big5): Delete bogus implementation
5592         in UTF2000.
5593
5594         * character.h (LEADING_BYTE_*): Delete definition for
5595         non-UTF-2000.
5596         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5597         (LEADING_BYTE_PREFIX_P): Deleted.
5598         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5599         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5600         (BUFBYTE_LEADING_BYTE_P): Deleted.
5601         (CHARSET_PRIVATE_P): Deleted unconditionally.
5602         (rep_bytes_by_first_byte): Deleted unconditionally.
5603         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5604         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5605         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5606         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5607         (CHAR_FIELD2): Deleted.
5608         (CHAR_FIELD3): Deleted.
5609         (MAKE_CHAR): Delete definition for non-UTF-2000.
5610         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5611         (breakup_char_1): New implementation.
5612         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5613         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5614
5615 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5616
5617         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5618         condition.
5619
5620 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5621
5622         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5623         (CHARSET_PRIVATE_P): Likewise.
5624         (XCHARSET_PRIVATE_P): Likewise.
5625         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5626
5627         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5628         UTF2000.
5629         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5630
5631 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5632
5633         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5634         (NUM_LEADING_BYTES): Changed from 128 to 256.
5635         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5636         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5637         UTF2000.
5638         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5639
5640         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5641         UTF2000.
5642         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5643         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5644         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5645         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5646         (Qchinese_cns11643_3): New variable in UTF2000.
5647         (Qchinese_cns11643_4): New variable in UTF2000.
5648         (Qchinese_cns11643_5): New variable in UTF2000.
5649         (Qchinese_cns11643_6): New variable in UTF2000.
5650         (Qchinese_cns11643_7): New variable in UTF2000.
5651         (syms_of_mule_charset): Define `chinese-cns11643-3',
5652         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5653         and `chinese-cns11643-7' in UTF2000.
5654         (vars_of_mule_charset): Initialize
5655         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5656         + 1 in UTF2000.
5657         (complex_vars_of_mule_charset): Setup charset
5658         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5659         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5660
5661 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5662
5663         * mule-charset.c: Move setting for `leading-code-private-11' from
5664         `syms_of_mule_charset' to `vars_of_mule_charset'.
5665
5666 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5667
5668         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5669         and `NUM_LEADING_BYTES' in assert.
5670
5671 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5672
5673         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5674         instead of 128.
5675         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5676         `NUM_LEADING_BYTES' instead of 128.
5677
5678 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5679
5680         * mule-charset.h (charset_by_leading_byte): Use
5681         `NUM_LEADING_BYTES' instead of 128.
5682         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5683
5684         * mule-charset.c (charset_by_leading_byte): Use
5685         `NUM_LEADING_BYTES' instead of 128.
5686         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5687
5688         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5689         128.
5690
5691 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5692
5693         * mule-charset.c (syms_of_mule_charset): Update to
5694         0.4 (Shin-Imamiya).
5695
5696 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5697
5698         * file-coding.c (encode_coding_sjis): New implementation for
5699         UTF2000.  (decode_coding_sjis): Ditto.
5700
5701 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5702
5703         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5704         Don't define in UTF2000.
5705
5706         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5707         defined.
5708
5709         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5710         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5711         MULE.
5712
5713 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5714
5715         * config.h.in (CHAR_IS_UCS4): New macro.
5716
5717         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5718         conventional MULE representation.
5719         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5720
5721         * mule-charset.h: Reverted to original.
5722
5723         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5724         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5725         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5726
5727         * character.h: New file.
5728
5729         * file-coding.c (Fmake_coding_system): Set 1 to
5730         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5731         defined.
5732         (encode_coding_no_conversion): New implementation for UTF2000.
5733
5734         * file-coding.h (struct Lisp_Coding_System): Add new member
5735         `fixed.size'.
5736
5737 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5738
5739         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5740         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5741         (encode_coding_iso2022): New implementation for UTF2000.
5742
5743 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5744
5745         * mule-canna.c (c2mu): New implementation for UTF2000.
5746         (m2c): Likewise.
5747
5748 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5749
5750         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5751
5752 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5753
5754         * file-coding.c (reset_encoding_stream): Set 0 to
5755         `str->iso2022.current_char_boundary' in UTF2000.
5756         (encode_utf8): Don't define in UTF2000.
5757         (encode_coding_utf8): New implementation for UTF-8 representation
5758         of UTF2000.
5759         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5760
5761 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5762
5763         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5764
5765         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5766         UTF2000.
5767         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5768
5769         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5770
5771         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5772         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5773         as UTF-8 in UTF2000.
5774         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5775         (non_ascii_valid_char_p): Don't define in UTF2000.
5776         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5777         (Lstream_get_emchar_1): Likewise.
5778         (utf-2000-version): New variable in UTF2000.
5779
5780         * lread.c (read_escape): Add new reader `u'.
5781
5782         * insdel.c (three_to_one_table): Don't define in UTF2000.
5783         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5784         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5785         UTF2000.
5786         (bytind_to_bufpos_func): Likewise.
5787         (buffer_mule_signal_inserted_region): Likewise.
5788         (vars_of_insdel): Don't initialize `three_to_one_table'.
5789         (init_buffer_text): Use `buf->text->mule_size' instead of
5790         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5791         UTF2000.
5792
5793         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5794         UTF-8 representation in UTF2000.
5795         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5796         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5797         (decode_coding_iso2022): Don't define local variable `lb' in
5798         UTF2000; don't use LEADING_BYTE in UTF2000; use
5799         `DECODE_ADD_UCS_CHAR' in UTF2000.
5800         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5801
5802         * config.h.in (UTF2000): New macro.
5803
5804         * buffer.h (struct buffer_text): Add new member `mule_size' and
5805         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5806         (valid_char_p): Return always 1 in UTF2000.
5807         (MAX_EMCHAR_LEN): 6 in UTF2000.
5808         (three_to_one_table): Don't define in UTF2000.
5809         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5810         UTF2000.
5811         (real_bytind_to_bufpos): Likewise.
5812
5813         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5814
5815 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5816
5817         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5818         representation change.
5819         (Vutf_2000_version): New variable.
5820         (leading_code_private_11): New variable.
5821         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5822         `leading-code-private-11'.
5823
5824         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5825         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5826         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5827         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5828         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5829         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5830         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5831         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5832         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5833         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5834         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5835         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5836         (MIN_CHAR_GREEK): New macro.
5837         (MAX_CHAR_GREEK): New macro.
5838         (MIN_CHAR_CYRILLIC): New macro.
5839         (MAX_CHAR_CYRILLIC): New macro.
5840         (MIN_CHAR_HEBREW): New macro.
5841         (MAX_CHAR_HEBREW): New macro.
5842         (MIN_CHAR_THAI): New macro.
5843         (MAX_CHAR_THAI): New macro.
5844         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5845         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5846         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5847         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5848         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5849         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5850         (CHAR_FIELD2): New inline function.
5851         (CHAR_FIELD3): New inline function.
5852         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5853         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5854         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5855         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5856         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5857         (MIN_CHAR_COMPOSITION): Likewise.
5858         (CHAR_LEADING_BYTE): Modified for character representation change.
5859         (MAKE_CHAR): Likewise.
5860
5861         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5862         (Vcharset_greek_iso8859_7): Likewise.
5863         (Vcharset_cyrillic_iso8859_5): Likewise.
5864         (Vcharset_hebrew_iso8859_8): Likewise.
5865         (Vcharset_thai_tis620): Likewise.
5866         (Vcharset_katakana_jisx0201): Likewise.
5867
5868 2005-02-06  Vin Shelton <acs@xemacs.org>
5869
5870         * XEmacs 21.4.17 is released
5871
5872 2005-01-31  Ben Wing  <ben@xemacs.org>
5873
5874         * emacs.c:
5875         Define assert_failed() always.
5876         * lisp.h:
5877         Always define ABORT().
5878
5879 2005-01-25  Ben Wing  <ben@xemacs.org>
5880
5881         * Makefile.in.in:
5882         * Makefile.in.in (%.o):
5883         Don't compile executable as Windows (-mwindows) under Cygwin.
5884         Semi-recent changes to Cygwin's executable-startup handling make
5885         it impossible to access the TTY this way.
5886
5887         Don't use special linker file under Cygwin (cygwin.sc) except
5888         when non-PDUMP (even in this case it is highly questionable); you
5889         get errors like
5890
5891       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
5892    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
5893
5894 2005-01-29  Ben Wing  <ben@xemacs.org>
5895
5896         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5897
5898         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
5899
5900 2005-01-29  Ben Wing  <ben@xemacs.org>
5901
5902         * bytecode.c (optimize_compiled_function):
5903         * print.c (FROB):
5904         * print.c (long_to_string):
5905         Add casts to avoid warning.
5906         
5907         * glyphs-eimage.c:
5908         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
5909         #### The better solution is to move the TIFF and JPEG code to
5910         different files.
5911         
5912         * glyphs-msw.c (mswindows_xbm_instantiate):
5913         Define __STDC__ to avoid problems with compface.h.
5914         
5915         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
5916         * EmacsShell-sub.c:
5917         * EmacsShell-sub.c (ABORT):
5918         * EmacsShell-sub.c (SuperClassRootGeometryManager):
5919         * EmacsShell-sub.c (RootGeometryManager):
5920         * EmacsShell.c:
5921         * EmacsShell.c (ABORT):
5922         * EmacsShell.c (EmacsShellUpdateSizeHints):
5923         * alloc.c (free_lcrecord):
5924         * alloca.c (i00afunc):
5925         * buffer.c (delete_from_buffer_alist):
5926         * buffer.c (MARKED_SLOT):
5927         * bytecode.c (execute_rare_opcode):
5928         * bytecode.c (optimize_byte_code):
5929         * bytecode.c (Ffetch_bytecode):
5930         * chartab.c (char_table_type_to_symbol):
5931         * chartab.c (Freset_char_table):
5932         * chartab.c (decode_char_table_range):
5933         * chartab.c (Fget_range_char_table):
5934         * chartab.c (check_valid_char_table_value):
5935         * chartab.c (map_char_table):
5936         * chartab.c (slow_map_char_table_fun):
5937         * chartab.c (chartab_instantiate):
5938         * cm.c (cmcheckmagic):
5939         * console-msw.c (DHEADER):
5940         * console.c (MARKED_SLOT):
5941         * data.c (finish_marking_weak_lists):
5942         * data.c (encode_weak_list_type):
5943         * debug.h (DASSERT):
5944         * device-gtk.c (gtk_init_device):
5945         * device-msw.c (mswindows_get_default_margin):
5946         * device-tty.c (tty_init_device):
5947         * device-x.c (get_device_from_display):
5948         * device-x.c (x_get_visual_depth):
5949         * doprnt.c (parse_doprnt_spec):
5950         * doprnt.c (get_doprnt_args):
5951         * dumper.c (pdump_get_indirect_count):
5952         * dumper.c (pdump_register_sub):
5953         * dumper.c (pdump_register_object):
5954         * dumper.c (pdump_register_struct):
5955         * dumper.c (pdump_dump_data):
5956         * dumper.c (pdump_reloc_one):
5957         * elhash.c (print_hash_table):
5958         * elhash.c (make_standard_lisp_hash_table):
5959         * elhash.c (hash_table_instantiate):
5960         * emacs.c:
5961         * emacs.c (Fforce_debugging_signal):
5962         * emacs.c (sort_args):
5963         * emacs.c (main):
5964         * emacs.c (assert_failed):
5965         * eval.c (throw_or_bomb_out):
5966         * eval.c (signal_1):
5967         * eval.c (Fsignal):
5968         * event-Xt.c:
5969         * event-Xt.c (emacs_Xt_mapping_action):
5970         * event-Xt.c (Xt_process_to_emacs_event):
5971         * event-msw.c:
5972         * event-stream.c (check_event_stream_ok):
5973         * event-stream.c (Fadd_timeout):
5974         * event-stream.c (Fadd_async_timeout):
5975         * event-stream.c (Fdiscard_input):
5976         * event-stream.c (execute_internal_event):
5977         * event-stream.c (Frecent_keys):
5978         * event-stream.c (extract_this_command_keys_nth_mouse_event):
5979         * event-stream.c (lookup_command_event):
5980         * event-unixoid.c (poll_fds_for_input):
5981         * events.c:
5982         * events.c (mark_event):
5983         * events.c (event_equal):
5984         * events.c (event_hash):
5985         * events.c (Fmake_event):
5986         * events.c (Fdeallocate_event):
5987         * events.c (event_chain_find_previous):
5988         * events.c (event_to_character):
5989         * events.c (format_event_object):
5990         * events.c (Fevent_type):
5991         * events.c (event_pixel_translation):
5992         * events.c (Fevent_properties):
5993         * extents.c (extent_in_region_p):
5994         * extents.c (print_extent):
5995         * extents.c (process_extents_for_insertion_mapper):
5996         * extents.c (report_extent_modification_mapper):
5997         * extents.c (glyph_layout_to_symbol):
5998         * faces.c (face_validate):
5999         * file-coding.c (eol_type_to_symbol):
6000         * file-coding.c (subsidiary_coding_system):
6001         * file-coding.c (Fcoding_system_type):
6002         * file-coding.c (Fcoding_system_property):
6003         * file-coding.c (mule_decode):
6004         * file-coding.c (mule_encode):
6005         * file-coding.c (encode_coding_ucs4):
6006         * file-coding.c (encode_coding_utf8):
6007         * file-coding.c (parse_iso2022_esc):
6008         * file-coding.c (encode_coding_iso2022):
6009         * fileio.c:
6010         * fns.c (concat):
6011         * fns.c (Fsubseq):
6012         * fns.c (mapcar1):
6013         * fns.c (Fbase64_encode_region):
6014         * fns.c (Fbase64_encode_string):
6015         * fns.c (Fbase64_decode_region):
6016         * fns.c (Fbase64_decode_string):
6017         * font-lock.c (find_context):
6018         * font-lock.c (context_to_symbol):
6019         * frame-gtk.c (gtk_set_frame_pointer):
6020         * frame-gtk.c (gtk_update_frame_external_traits):
6021         * frame-x.c (x_wm_mark_shell_size_user_specified):
6022         * frame-x.c (x_wm_mark_shell_position_user_specified):
6023         * frame-x.c (x_wm_set_shell_iconic_p):
6024         * frame-x.c (x_wm_set_cell_size):
6025         * frame-x.c (x_wm_set_variable_size):
6026         * frame-x.c (x_wm_store_class_hints):
6027         * frame-x.c (x_wm_maybe_store_wm_command):
6028         * frame-x.c (x_initialize_frame_size):
6029         * frame-x.c (x_update_frame_external_traits):
6030         * frame.c:
6031         * frame.c (delete_frame_internal):
6032         * frame.c (mouse_pixel_position_1):
6033         * frame.c (change_frame_size_1):
6034         * free-hook.c (check_free):
6035         * free-hook.c (check_realloc):
6036         * free-hook.c (note_block_input):
6037         * free-hook.c (log_gcpro):
6038         * gccache-gtk.c (gc_cache_lookup):
6039         * glyphs-eimage.c (tiff_memory_write):
6040         * glyphs-gtk.c (gtk_finalize_image_instance):
6041         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
6042         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
6043         * glyphs-gtk.c (gtk_xpm_instantiate):
6044         * glyphs-gtk.c (gtk_unmap_subwindow):
6045         * glyphs-gtk.c (gtk_map_subwindow):
6046         * glyphs-gtk.c (gtk_button_redisplay):
6047         * glyphs-msw.c:
6048         * glyphs-msw.c (init_image_instance_from_xbm_inline):
6049         * glyphs-x.c (init_image_instance_from_xbm_inline):
6050         * glyphs-x.c (extract_xpm_color_names):
6051         * glyphs-x.c (x_xpm_instantiate):
6052         * glyphs.c (get_image_instantiator_governing_domain):
6053         * glyphs.c (print_image_instance):
6054         * glyphs.c (image_instance_equal):
6055         * glyphs.c (image_instance_hash):
6056         * glyphs.c (encode_image_instance_type):
6057         * glyphs.c (make_image_instance_1):
6058         * glyphs.c (inherit_instantiate):
6059         * glyphs.c (image_instantiate):
6060         * glyphs.c (allocate_glyph):
6061         * glyphs.c (Fglyph_type):
6062         * glyphs.c (redisplay_subwindow):
6063         * glyphs.c (display_table_entry):
6064         * gtk-glue.c (xemacs_list_to_gtklist):
6065         * gtk-glue.c (xemacs_gtklist_to_list):
6066         * gtk-glue.c (xemacs_list_to_array):
6067         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
6068         * gutter.c (gutter_was_visible):
6069         * gutter.c (get_gutter_coords):
6070         * input-method-xlib.c (get_XIM_input):
6071         * insdel.c (bufpos_to_bytind_func):
6072         * insdel.c (bytind_to_bufpos_func):
6073         * insdel.c (move_gap):
6074         * intl.c (x_get_composed_input):
6075         * keymap.c (keymap_lookup_directly):
6076         * keymap.c (keymap_delete_inverse_internal):
6077         * keymap.c (ensure_meta_prefix_char_keymapp):
6078         * keymap.c (accessible_keymaps_mapper_1):
6079         * keymap.c (where_is_recursive_mapper):
6080         * lisp.h:
6081         * lisp.h (ABORT):
6082         * lread.c (read_atom):
6083         * lstream.c (Lstream_delete):
6084         * lstream.c (make_lisp_buffer_stream_1):
6085         * macros.c (pop_kbd_macro_event):
6086         * malloc.c (malloc):
6087         * malloc.c (free):
6088         * marker.c (bi_marker_position):
6089         * marker.c (set_bi_marker_position):
6090         * menubar-gtk.c (menu_descriptor_to_widget_1):
6091         * menubar-msw.c (prune_menubar):
6092         * menubar-x.c (set_frame_menubar):
6093         * mule-charset.c (get_unallocated_leading_byte):
6094         * mule-charset.h (CHAR_LEADING_BYTE):
6095         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6096         * nt.c (init_environment):
6097         * nt.c (generate_inode_val):
6098         * ntproc.c (delete_child):
6099         * ntproc.c (_sys_read_ahead):
6100         * ntproc.c (create_child):
6101         * objects.c (color_instantiate):
6102         * objects.c (font_instantiate):
6103         * objects.c (face_boolean_instantiate):
6104         * print.c (printing_major_badness):
6105         * process-nt.c (nt_send_process):
6106         * process-unix.c (unix_send_process):
6107         * process.c (get_process):
6108         * ralloc.c (obtain):
6109         * ralloc.c (relinquish):
6110         * ralloc.c (relocate_blocs):
6111         * ralloc.c (resize_bloc):
6112         * ralloc.c (r_alloc_free):
6113         * ralloc.c (r_re_alloc):
6114         * ralloc.c (r_alloc_thaw):
6115         * ralloc.c (init_ralloc):
6116         * ralloc.c (Free_Addr_Block):
6117         * ralloc.c (r_alloc):
6118         * redisplay-gtk.c (gtk_output_display_block):
6119         * redisplay-msw.c (mswindows_output_display_block):
6120         * redisplay-output.c (get_next_display_block):
6121         * redisplay-output.c (get_cursor_size_and_location):
6122         * redisplay-output.c (redisplay_output_layout):
6123         * redisplay-output.c (redisplay_clear_region):
6124         * redisplay-tty.c (tty_output_display_block):
6125         * redisplay-x.c (x_output_display_block):
6126         * redisplay.c (add_propagation_runes):
6127         * redisplay.c (add_glyph_rune):
6128         * redisplay.c (create_text_block):
6129         * redisplay.c (add_margin_runes):
6130         * redisplay.c (create_left_glyph_block):
6131         * redisplay.c (create_right_glyph_block):
6132         * redisplay.c (create_string_text_block):
6133         * redisplay.c (regenerate_window):
6134         * redisplay.c (REGEN_INC_FIND_START_END):
6135         * redisplay.c (redisplay_frame):
6136         * redisplay.c (point_in_line_start_cache):
6137         * regex.c:
6138         * regex.c (ABORT):
6139         * regex.c (re_compile_fastmap):
6140         * regex.c (re_match_2_internal):
6141         * regex.c (regerror):
6142         * scrollbar-gtk.c (gtk_scrollbar_loop):
6143         * scrollbar-gtk.c (scrollbar_cb):
6144         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6145         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6146         * scrollbar-x.c (x_update_scrollbar_instance_status):
6147         * scrollbar-x.c (x_scrollbar_loop):
6148         * scrollbar-x.c (x_update_frame_scrollbars):
6149         * search.c (search_command):
6150         * search.c (Fmatch_data):
6151         * select-x.c (motif_clipboard_cb):
6152         * signal.c (interrupt_signal):
6153         * specifier.c (specifier_add_spec):
6154         * specifier.c (specifier_instance_from_inst_list):
6155         * specifier.c (specifier_instance):
6156         * specifier.h:
6157         * specifier.h (struct specifier_methods):
6158         * strftime.c (add_num_time_t):
6159         * sunplay.c (init_device):
6160         * symbols.c (Fsetplist):
6161         * symbols.c (do_symval_forwarding):
6162         * symbols.c (store_symval_forwarding):
6163         * symbols.c (Fset):
6164         * symbols.c (Fbuilt_in_variable_type):
6165         * symbols.c (decode_magic_handler_type):
6166         * symbols.c (handler_type_from_function_symbol):
6167         * syntax.c (update_syntax_cache):
6168         * sysdep.c (init_baud_rate):
6169         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6170         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6171         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6172         * toolbar.c (get_toolbar_coords):
6173         * ui-gtk.c (build_gtk_boxed):
6174         * ui-gtk.c (describe_gtk_arg):
6175         * ui-gtk.c (gtk_type_to_lisp):
6176         * ui-gtk.c (lisp_to_gtk_type):
6177         * ui-gtk.c (lisp_to_gtk_ret_type):
6178         * ui-gtk.c (lisp_to_flag):
6179         * unexnt.c (read_in_bss):
6180         * unexnt.c (map_in_heap):
6181         * window.c (real_window):
6182         * window.c (window_display_lines):
6183         * window.c (window_display_buffer):
6184         * window.c (set_window_display_buffer):
6185         * window.c (window_modeline_height):
6186         * window.c (unshow_buffer):
6187         * window.c (window_loop):
6188         * window.c (Fget_lru_window):
6189         * window.c (Fsplit_window):
6190         * window.c (Fset_window_configuration):
6191         * window.c (saved_window_index):
6192         * xgccache.c (gc_cache_lookup):
6193         abort() -> ABORT().  Eliminate preprocessor games with abort()
6194         since it creates huge problems in VC7, solvable only by including
6195         massive amounts of files in every compile (and not worth it).
6196
6197         * sysdep.c:
6198         * sysproc.h:
6199         Inclusion of process.h does not need to be before lisp.h any more.
6200         Move later and remove comment about abort().
6201
6202 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6203
6204         * regex.c (re_match_2_internal):
6205         Correctly initialize loop which clears uninitialized registers.
6206
6207 2005-01-28  Vin Shelton  <acs@xemacs.org>
6208
6209         * sheap.c (more_static_core): Applied Ben's version of the long
6210         string patch.
6211
6212 2005-01-24  Vin Shelton  <acs@xemacs.org>
6213
6214         * sheap.c (more_static_core): Reformatted printf string so
6215         gcc-3.3.3 will compile this on Cygwin.
6216
6217 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6218
6219         * console.c (function_key_map): Reference `key-binding'.
6220
6221         * keymap.c (Vkey_translation_map): Improve docstring.
6222
6223 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6224
6225         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6226         * window.c (window_loop): [fix] Take into account
6227         `allow-deletion-of-last-visible-frame' variable.
6228         * window.c (replace-buffer-in-windows): Ditto.
6229
6230 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6231
6232         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6233
6234 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6235
6236         * event-gtk.c: Recognise AltGr as a valid modifier.
6237
6238 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6239
6240         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6241
6242 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6243
6244         Fix backreference bug caught by test suite.
6245
6246         * regex.c (regex_compile):
6247         Make backref duplicate internal register.
6248
6249 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6250
6251         Documentation, code clarification, and warning suppression.
6252         
6253         * regex.c (regex_compile):
6254         Improve comments.
6255         (re_match_2_internal):
6256         Improve comments and avoid redundant braces.  [Most of the big hunk
6257         at l. 4710 is indentation; use diff -w to see the real changes.]
6258         (alt_match_null_string_p):
6259         (common_op_match_null_string_p):
6260         Avoid shadowing global on Mac OS X 10.4, at least.
6261
6262 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6263
6264         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6265         introduced with shy groups fix).  [Already applied, probably
6266         with the second "fix shy groups" patch of 2004-10-07.] 
6267
6268 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6269
6270         From Andrey Slusar <anrays@gmail.com>:
6271
6272         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6273
6274 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6275
6276         * Makefile (RECURSIVE_MAKE): Removed.
6277         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6278         handling parallel builds.
6279
6280 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6281
6282         * Makefile.in.in: Enable support for parallel builds.
6283
6284 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6285
6286         From Andrey Slusar <anrays@gmail.com>:
6287
6288         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6289         FreeBSD version is >= 199701 _and_ < 600006.
6290
6291 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6292
6293         * scrollbar.c (compute_scrollbar_instance_usage):
6294         Only call device method compute_scrollbar_instance_usage() if it
6295         is defined.
6296
6297 2004-12-05  Vin Shelton <acs@xemacs.org>
6298
6299         * XEmacs 21.4.16 is released
6300
6301 2004-12-04  Vin Shelton  <acs@xemacs.org>
6302
6303         * depend: Regenerated.
6304
6305 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6306
6307         * regex.c (re_match_2_internal): Map internal to external
6308         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6309         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6310
6311 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6312
6313         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6314         to fix a crash.  Also, check the buffer is live and it
6315         really exists in buffer_list.  If the buffer is not in the list,
6316         prepend it.
6317
6318 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6319
6320         Fix shy groups by implementing recording of all groups for
6321         repetition and backtracking.  Backport from 21.5.
6322         
6323         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6324         external_to_internal_register, external_to_internal_register_size,
6325         and update comments for re_nsub.
6326
6327         * regex.c (re_opcode_t): Update comments.
6328         (print_compiled_pattern): Ouput external_to_internal_register,
6329         external_to_internal_register_size, and re_ngroups for debugging.
6330         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6331         (regex_compile): Update header comment.
6332         Ensure that all groups are recorded so that repeat matches and
6333         backtracking work correctly.  Comment related warning for groups >
6334         255.
6335         (re_search_2): Construct map of API indexes (which count only
6336         nonshy groups) to internal register numbers, and keep it updated.
6337
6338 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6339
6340         * frame-gtk.c (gtk_make_frame_visible):
6341         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6342         show/hide.  This is what X uses and is prevents previously hidden
6343         widgets from suddenly reappearing.
6344         * gtk-xemacs.c (gtk_xemacs_paint):
6345         * gtk-xemacs.c (gtk_xemacs_draw):
6346         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6347         drawable.
6348         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6349         size and location changes so that they can be seen before the next
6350         idle event.  Without this rapid changes to scrollbar properties
6351         are not seen.
6352
6353 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6354
6355         * console-gtk.h:
6356         * console-gtk.h (struct gtk_frame):
6357         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6358           Add hash tables track tab_control callback data.
6359           Added #defines for GTK object data names.
6360           Declaration of gtk_widget_to_frame().
6361         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6362         * frame-gtk.c (gtk_widget_to_frame): New.
6363         * frame-gtk.c (gtk_create_widgets):
6364         * frame-gtk.c (allocate_gtk_frame_struct):
6365         * frame-gtk.c (gtk_mark_frame):
6366         Manage frame callbakc hash tables.
6367         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6368         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6369         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6370         of widget size.
6371         * glyphs-gtk.c (gtk_widget_query_geometry): New
6372         * glyphs-gtk.c (gtk_register_gui_item): New
6373         * glyphs-gtk.c (gtk_add_tab_item): New
6374         * glyphs-gtk.c (gtk_tab_control_callback): New
6375         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6376         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6377         Use correct list when loading item.
6378         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6379         Register new methods.
6380         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6381         default size, for widgets.
6382         * gui-x.c:  Improved comment.
6383         * menubar-gtk.c (__generic_button_callback): Use
6384         gtk_widget_to_frame instead of __get_channel.
6385         * scrollbar-gtk.c:
6386         * ui-gtk.c: Use symbolic names for GTK object data.
6387
6388 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6389
6390         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6391
6392 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6393
6394         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6395
6396 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6397
6398         * malloc.c (morecore): siz is a long because in some architectures
6399         (eg ia-64) an int cannot hold the address range.  Additional patch
6400         from the SuSe distribution.
6401
6402 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6403
6404         * emacs.c:
6405         * malloc.c: lim_data is a long because in some architectures
6406         (eg ia-64) an int cannot hold the address range.
6407         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6408         instead of ulimit() because ulimit() always returns -1.
6409
6410 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6411
6412         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6413
6414 2004-06-11  David Kastrup  <dak@gnu.org>
6415
6416         * search.c (match_limit): Don't flag an error if match-data
6417         exceeding the allocated search_regs.num_regs gets requested, just
6418         return Qnil.
6419
6420 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6421
6422         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6423         replace symbolic color entries with the real colors specified in
6424         xpm-color-symbols, before passing the XPM to gtk.
6425         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6426         instead of a GTK specific field, so that it is used in by generic
6427         code.
6428
6429 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6430
6431        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
6432         coredump from deref of NULL ptr (ExtData)
6433
6434 2004-04-19  Jerry James  <james@xemacs.org>
6435
6436         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
6437         VALBITS to compute the location of the sign bit.
6438         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
6439         of VALBITS with EMACS_INT_MAX.
6440         * events.c (Fevent_timestamp): Ditto.
6441         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
6442         compute the halfway point to timestamp wraparound.
6443         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
6444         EMACS_INT_MIN instead of using VALBITS.
6445         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
6446         incorrect number with VALBITS.
6447         * fns.c (Frandom): Correct number of integer bits in docstring.
6448         Use INT_VALBITS instead of VALBITS to compute the denominator.
6449         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
6450         build random numbers.
6451
6452 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6453         * event-gtk.c:
6454         * event-gtk.c (gtk_event_to_emacs_event):
6455         * menubar-gtk.c:
6456         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
6457         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
6458         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
6459         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
6460         * menubar-gtk.c (__activate_menu):
6461         * menubar-gtk.c (convert_underscores):
6462         * menubar-gtk.c (remove_underscores):
6463         * menubar-gtk.c (menu_convert):
6464         * menubar-gtk.c (menu_descriptor_to_widget_1):
6465         * menubar-gtk.c (menu_descriptor_to_widget):
6466         * menubar-gtk.c (menu_can_reuse_widget):
6467         * menubar-gtk.c (menu_create_menubar):
6468         * menubar-gtk.c (gtk_popup_menu):
6469         * menubar-gtk.c (Fgtk_build_xemacs_menu):
6470         Added support for Gtk menu bar and menu item mnemonics.
6471
6472 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6473
6474         * sysdll.c: (dll_function): Added support for finding symbols in
6475         Darwin shared libraries as well in Darwin bundles.
6476         * sysdll.c (image_for_address): New
6477         * sysdll.c (my_find_image): New
6478         * sysdll.c (search_linked_libs): New
6479
6480 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6481
6482         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
6483         return to GTK requires a different API to marshalling data to use
6484         as GTK parameters.
6485         * ui-gtk.c (lisp_to_gtk_ret_type): New.
6486
6487 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
6488
6489         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
6490
6491 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6492
6493         * glyphs.c (process_image_string_instantiator):
6494         (Fset_console_type_image_conversion_list):
6495         Stop GCC from warning about shadowing of `exp'.
6496
6497         * redisplay-x.c (x_output_string): Fix unsigned lossage.
6498
6499 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6500
6501         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
6502
6503 2004-02-03  Vin Shelton  <acs@xemacs.org>
6504
6505         * glyphs.c (image_instance_layout): Remove pointless assertion.
6506         * regex.c (regex_grow_registers): Return type is void.
6507
6508 2004-02-02  Vin Shelton <acs@xemacs.org>
6509
6510         * XEmacs 21.4.15 is released
6511
6512 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
6513
6514         * device-x.c (x_error_handler): Don't call stderr_out
6515
6516 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
6517
6518         * buffer.c (other-buffer): Clarify documentation of order of
6519         arguments for FSF Emacs.
6520
6521 2003-10-11  Olivier Galibert  <galibert@pobox.com>
6522
6523         * window.c (Fdelete_window): Dirty the mirror structure _before_
6524         marking the window deleted.
6525
6526 2003-09-15  Jerry James  <james@xemacs.org>
6527
6528         * event-msw.c (debug_mswin_messages): Conditionally compile
6529         messages missing from the Cygwin headers.
6530
6531 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
6532
6533         * data.c (eq_with_ebola_notice): Fix typo in comment.
6534         (Ftrue_list_p): Improve docstring.
6535
6536 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
6537
6538         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
6539
6540 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
6541
6542         * search.c (trivial_regexp_p): Regexps containing "\{" are
6543         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
6544         Stefan Monnier for suggesting a diagnosis.
6545
6546 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
6547
6548         * elhash.c (make-hash-table): Clarify use of :test #'equal.
6549
6550 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
6551
6552         * search.c (Fsearch_forward):
6553         (Fsearch_backward):
6554         Document negative count.
6555
6556 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
6557
6558         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
6559
6560 2003-09-13  Martin Buchholz  <martin@xemacs.org>
6561
6562         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
6563
6564 2003-09-15  Vin Shelton  <acs@xemacs.org>
6565
6566         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
6567         21.5.
6568
6569 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
6570
6571         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
6572         (re_search_2): Match the first byte of Bufbyte, not Emchar.
6573         (re_match_2_internal): Use TRANSLATE instead of
6574         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
6575         non-ASCII char case conversion.
6576
6577 2003-09-08  Mike Sperber  <mike@xemacs.org>
6578
6579         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
6580         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
6581
6582 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
6583
6584        * .gdbinit (pobj): fix printing of symbol name.
6585
6586 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
6587
6588         * frame-x.c (x_layout_widgets): When resizing is about to cause
6589         frame size slip, mark it for redisplay.
6590
6591 2003-08-18  Jerry James  <james@xemacs.org>
6592
6593         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
6594
6595 2003-09-03  Vin Shelton <acs@xemacs.org>
6596
6597         * XEmacs 21.4.14 is released
6598
6599 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
6600
6601         * config.h.in (REGEX_MALLOC): Make it configure'able.
6602
6603 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
6604
6605         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
6606         linking.
6607         * sysdll.c (dll_init):
6608         * sysdll.c (dll_open):
6609         * sysdll.c (dll_close):
6610         * sysdll.c (dll_function):
6611         * sysdll.c (dll_variable):
6612         * sysdll.c (dll_error):
6613         Add support for loading bundles using Darwin/MacOSX
6614         native API.
6615
6616 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
6617
6618         * process.c (start-process-internal): Document coding systems.
6619
6620 2003-07-30  Jerry James  <james@xemacs.org>
6621
6622         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
6623
6624 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
6625
6626         * event-msw.c (mswindows_enqueue_mouse_button_event):
6627         * event-msw.c (mswindows_wnd_proc):
6628           enqueue button event when scrollwheel event isn't handled by 
6629           mswindows_handle_mousewheel_event, such as when the scrollbars
6630           are not showing.
6631
6632 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
6633
6634         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
6635
6636 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
6637
6638         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
6639
6640 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
6641
6642         * regex.c (re_match_2_internal): Fix matching degenerate word
6643         boundaries.
6644
6645 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
6646
6647         * XEmacs 21.4.13 is released
6648
6649 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
6650
6651         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
6652         * lisp.h (<inttypes.h>):
6653         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
6654         the definition.
6655
6656 2003-03-15  Martin Buchholz  <martin@xemacs.org>
6657
6658         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
6659         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
6660         Result: "temacs can only be run in -batch mode."
6661         Fix: Check xemacs executable candidate for directory-ness.
6662
6663 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
6664
6665         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
6666           they conflict with <sys/types.h>.
6667
6668 2003-02-14  Martin Buchholz  <martin@xemacs.org>
6669
6670         * database.c: Berkeley DB wants __STDC__ to be defined.
6671
6672 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6673
6674         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
6675
6676 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6677
6678         * process-unix.c (unix_send_process): Fix C++ compile error.
6679
6680 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
6681
6682         * Added .dylib as an acceptable shared library file extension
6683         * to support MacOSX.
6684
6685 2003-02-01  Martin Buchholz  <martin@xemacs.org>
6686
6687         * EmacsFrameP.h (EmacsFramePart):
6688         Kludge to allow compiling with Motif1, but linking with Motif2.
6689
6690 2003-01-28  Martin Buchholz  <martin@xemacs.org>
6691
6692         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
6693
6694
6695 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
6696
6697         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
6698
6699 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
6700
6701         * sysdll.c: Included lisp.h to define needed alloca_array.
6702
6703 2003-02-13  Martin Buchholz  <martin@xemacs.org>
6704
6705         Make XEmacs redisplay 10 times faster.
6706         If, that is, you're using a slow X connection and MoveOpaque.
6707         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
6708         Use compress_motion = TRUE.
6709         * EmacsFrame.c (emacsFrameClassRec): 
6710         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
6711         * EmacsManager.c (emacsManagerClassRec):
6712         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
6713
6714 2003-01-30  Vin Shelton  <acs@xemacs.org>
6715
6716         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
6717
6718 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
6719
6720         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
6721         Patch by Martin Buchholz.
6722
6723 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
6724
6725         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
6726         Thanks to icc for warning and Martin Buchholz for reporting.
6727
6728 2003-01-29  Vin Shelton <acs@xemacs.org>
6729
6730         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
6731
6732         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
6733         remember to multiply by the element size.
6734
6735 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
6736
6737         * XEmacs 21.4.12 "Portable Code" is released.
6738
6739 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
6740
6741         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
6742         * s/cygwin.sc: new linker file.
6743
6744 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
6745
6746         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
6747
6748         * redisplay-x.c (x_output_string): Use X11-specified types.
6749         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
6750         * emacs.c (__free_hook): Use typeof with Intel compiler.
6751         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
6752
6753 2003-01-08  Andy Piper  <andy@xemacs.org>
6754
6755         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
6756         reserve size during unexec().
6757
6758 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
6759
6760         * process-unix.c (unix_create_process): Don't let outchannel block.
6761
6762 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
6763
6764         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
6765         Needed for IsBadReadPtr().
6766
6767 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
6768
6769         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
6770
6771 2002-12-14  Ben Wing  <ben@xemacs.org>
6772
6773         * callint.c: Declaration error.
6774         * dumper.c (pdump):
6775         * dumper.c (pdump_load): Warning fix.
6776         * process.c: GCPRO error.
6777         * glyphs.c (unmap_subwindow):
6778         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
6779         * event-stream.c (maybe_kbd_translate): Wrong argument to
6780         character_to_event().
6781
6782         * alloc.c (garbage_collect_1):
6783         * emacs.c:
6784         * emacs.c (debug_can_access_memory):
6785         * emacs.c (fatal_error_signal):
6786         * emacs.c (mswindows_handle_hardware_exceptions):
6787         * emacs.c (main_1):
6788         * emacs.c (main):
6789         * emacs.c (assert_failed):
6790         * emacs.c (syms_of_emacs):
6791         * lisp.h:
6792         * print.c:
6793         * print.c (std_handle_out_va):
6794         * print.c (write_string_to_stdio_stream):
6795         * print.c (write_fmt_string):
6796         * print.c (printing_badness):
6797         * print.c (printing_major_badness):
6798         * print.c (print_internal):
6799         * print.c (debug_print_no_newline):
6800         * print.c (debug_backtrace):
6801         Be more defensive in handling bad values when printing.  Add code
6802         from trunk involving inhibit_non_essential_printing_operations.
6803         When going down or in debug_print(), don't do external conversion
6804         and such and try really, really hard when printing to avoid core
6805         dumping.  Add force-debugging-signal, debug_break().
6806
6807 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
6808
6809         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
6810         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
6811
6812 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
6813
6814         * database.c: Fix open_database. Berkeley DB API has changed in
6815         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
6816
6817 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
6818
6819         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
6820
6821 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
6822
6823         * event-Xt.c (Xt_timeout):
6824         (Xt_timeout_callback):
6825         (emacs_Xt_add_timeout):
6826         (emacs_Xt_remove_timeout):
6827         (Xt_timeout_to_emacs_event):
6828         Turn completed_timeouts from a stack into a queue.  Fixes
6829         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
6830
6831 2002-11-07  Wolfram Gloger  <wg@malloc.de>
6832
6833         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
6834         * emacs.c (main): Assert that mmap'd allocation is disabled.
6835
6836 2002-10-14  Andy Piper  <andy@xemacs.org>
6837
6838         * glyphs-widget.c (layout_query_geometry): add in fiddle
6839         factor. Include border text in width layout calculation.
6840         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
6841
6842 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
6843
6844         * XEmacs 21.4.10 "Military Intelligence" is released.
6845
6846 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
6847
6848         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
6849         using the NAS private array SoundFileInfo that no longer exists in
6850         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
6851         and earlier.  This is broken for some versions between 1.5a and
6852         1.5f.
6853
6854 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
6855
6856         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
6857
6858         * emacs.c (shut_down_emacs): Improve crash message.
6859
6860 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
6861
6862         * file-coding.c (determine_real_coding_system): Check for coding
6863         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
6864         shebangs and Python PEP 263.
6865
6866 2002-10-08  Andy Piper  <andy@xemacs.org>
6867
6868         * glyphs-widget.c (layout_query_geometry): only resize dynamically
6869         if static sizes haven't been set.
6870
6871 2002-08-30  Mike Alexander  <mta@arbortext.com>
6872
6873         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
6874         to close a socket.
6875
6876 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
6877
6878         * callproc.c (child_setup): 21.4 doesn't have retry_close.
6879
6880 2002-09-20  Mike Sperber <mike@xemacs.org>
6881
6882         (This partially gets back my patch from 2002-07-20 without the
6883         bug.)
6884         * callproc.c (child_setup): Remove Ben's comment noting confusion
6885         over the file descriptors >= 3: close_process_descs() doesn't
6886         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
6887         * process-unix.c (unix_create_process): Call
6888         begin_dont_check_for_quit to inhibit unwanted interaction (and
6889         thus breaking of X event synchronicity) in the child.
6890
6891 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
6892
6893         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
6894         widget.
6895
6896 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
6897
6898         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
6899         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
6900         the xemacs process did not exit, but looped infinitely here.  This
6901         fixes that problem.
6902
6903 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6904
6905         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
6906         (find_context): Improve comments.
6907
6908         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
6909         (re_match_2): An XCHAR_TABLE operation was missing.
6910
6911         Many of the following changes were inspired by Andy Piper's (now
6912         obsolete) patch to make syntax-table text property lookup optional.
6913
6914         [Documentation]
6915
6916         * syntax.h (top level): Document semantics of syntax flags.
6917         * syntax.c (comstr_start, Fforward_comment): Improve comments.
6918         * syntax.c, syntax.h (top level): Document syntax cache better in
6919         comments.
6920
6921         [Instrument syntax caching (temporary change)]
6922
6923         * syntax.h (enum syntax_cache_statistics_functions, struct
6924         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
6925         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
6926         * syntax.c (scan_words, Fforward_comment, scan_lists,
6927         Fbackward_prefix_characters):
6928         * font-lock.c (find_context):
6929         Use them to instrument syntax caching. 
6930         * syntax.c (struct syntax_cache_statistics, scs_statistics,
6931         syntax_cache_statistics_function_names): New type and variables.
6932         * syntax.c (update_syntax_cache): Update and report statistics.
6933
6934         [Major syntax cache optimizations]
6935
6936         syntax.c (lookup_syntax_properties): Default off.
6937
6938         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
6939         * syntax.c (update_syntax_cache):
6940         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
6941
6942         [Minor syntax cache optimizations and code clarifications]
6943
6944         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
6945         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
6946         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
6947         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
6948         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
6949         (Code clarification.)
6950
6951         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
6952         scan_lists): Compute code from syncode, use Boolean macros instead
6953         of redundant masking operations.  (Code clarification; any decent
6954         compiler can do this optimization.)
6955
6956         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
6957         for clarity.
6958
6959         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
6960         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
6961         use F*_single_property_change instead of F*_extent_change.
6962         Currently F*_single_property_change is _much_ less efficient.
6963
6964         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
6965         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
6966         syntax_cache.object properly, don't leave Qt or Qnil.
6967         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
6968         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
6969         tests for Qt or Qnil.
6970
6971 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
6972
6973         * redisplay.c (point_in_line_start_cache): 
6974         * extents.c (print_extent_1):
6975         Fix warnings.
6976
6977         * extents.c (Fset_extent_property): Document `syntax-table' property.
6978
6979         * extents.h (Fnext_single_property_change): EXFUN it.
6980
6981 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6982
6983         * search.c (clear_unused_search_regs): New static function.
6984         (search_buffer): 
6985         (simple_search): 
6986         (boyer_moore):
6987         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
6988         Minor clarifications in comments.
6989
6990         * regex.c (re_match_2_internal): Ensure no stale submatches.
6991
6992 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
6993
6994         * event-Xt.c (enqueue_focus_event): Add missing prototype.
6995
6996 2002-08-29  Jerry James  <james@xemacs.org>
6997
6998         * lisp.h: structrures -> structures.
6999
7000 2002-06-03  Andy Piper  <andy@xemacs.org>
7001
7002         * frame.c (frame_conversion_internal): add conversion appropriate
7003         for setting frame dimensions in pixels.
7004
7005         * console.h (struct console_methods): add device-specific widget
7006         layout functions.
7007
7008         * emacs.c (main_1): initialize glyph vars.
7009
7010         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
7011         (handle_focus_event_2): new function. Allow focus to
7012         be set to a particular window and widget.
7013         (enqueue_focus_event): new function. Create a
7014         synthetic focus event.
7015         (emacs_Xt_handle_magic_event): call
7016         handle_focus_event_2.
7017
7018         * frame.c (Fset_frame_pixel_height): new function. Allow
7019         pixel-based sizing. Does the right thing on character-oriented
7020         displays.
7021         (Fset_frame_pixel_width): ditto.
7022         (Fset_frame_pixel_size): ditto.
7023         (syms_of_frame): declare.
7024
7025         * general-slots.h: add :vertically-justify and
7026         :horizontally-justify.
7027
7028         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
7029         (mswindows_widget_border_width): new function.
7030         (mswindows_combo_box_instantiate): set border widths.
7031         (console_type_create_glyphs_mswindows): declare.
7032
7033         * glyphs-widget.c:
7034         (check_valid_justification): allow vertical and horizontal
7035         justification.
7036         (widget_border_width): new function. Call device methods.
7037         (widget_instance_border_width): ditto.
7038         (logical_unit_height): new function. Determine the height of a
7039         logical-unit. Logical units are intended to provide grid-like
7040         layout for subcontrols in a layout. If the layout is
7041         :vertically-justify top then subcontrols will be positioned on
7042         logical-unit boundaries, thus allowing adjacent subcontrols to
7043         line up.
7044         (widget_logical_unit_height): ditto for widgets.
7045         (redisplay_widget): misc cleanup.
7046         (widget_spacing): new function. Call device specific
7047         methods. Intended to be the default gap between adjacent widgets.
7048         (widget_query_geometry): use new spacing functions to determine
7049         appropriate geometry.
7050         (initialize_widget_image_instance): initialize horizontal and
7051         vertical justification.
7052         (widget_instantiate): use logica-units where appropriate for
7053         sizing large widgets.
7054         (button_query_geometry): use widget_instance_border_width.
7055         (tree_view_query_geometry): ditto.
7056         (tab_control_query_geometry): ditto.
7057         (edit_field_query_geometry): new function.
7058         (layout_update): pick up :justify, :horizontally-justify and
7059         :vertically-justify none of which worked previously. :justify is
7060         used as a fallback for both horizontal and vertical justification.
7061         (layout_query_geometry): use logical units to size appropriately.
7062         (layout_layout): ditto.
7063         (Fwidget_logical_to_character_width): new function. Allow users to
7064         convert from logical units to characters so that frame sizes can
7065         be set appropriately.
7066         (Fwidget_logical_to_character_height): ditto.
7067         (syms_of_glyphs_widget): declare.
7068         (image_instantiator_edit_fields): add edit_field_query_geometry.
7069         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
7070         :horizontally-justify.
7071         (specifier_vars_of_glyphs_widget): new function. Declare
7072         Vwidget_border_width which is not yet used.
7073
7074         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
7075         (x_widget_border_width): new function.
7076         (x_widget_instantiate): create a sensible name for widgets.
7077         (console_type_create_glyphs_x): declare x_widget_border_width.
7078
7079         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
7080         (struct Lisp_Image_Instance): add :vertically-justify and
7081         :horizontally-justify.
7082         (LAYOUT_JUSTIFY_TOP): new.
7083         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
7084         (ROUND_UP): new macro. Round argument up to next integral
7085         interval.
7086
7087         * redisplay-output.c (redisplay_output_layout): misc formatting.
7088
7089         * symsinit.h: declare specifier_vars_of_glyphs_widget.
7090
7091 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
7092
7093         * XEmacs 21.4.9 "Informed Management" is released.
7094
7095 2002-08-19  Andy Piper  <andy@xemacs.org>
7096
7097         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
7098         win32 format.
7099
7100         * realpath.c (xrealpath): normalize drive spec also so that dir
7101         sep chars are not mixed on cygwin.
7102
7103 2002-08-06  Jerry James  <james@xemacs.org>
7104
7105         * window.c (Fsplit_window): Count only half of the divider width
7106         against the left window when splitting horizontally. 
7107
7108 2002-06-24  Andy Piper  <andy@xemacs.org>
7109
7110         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7111         toolbar was cleared.
7112
7113         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7114         function. Split out from mswindows_output_frame_toolbars.
7115         (mswindows_output_frame_toolbars): move clear pieces to
7116         mswindows_output_frame_toolbars.
7117
7118         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7119         out from gtk_output_frame_toolbars.
7120         (gtk_output_frame_toolbars): move clear pieces to
7121         gtk_clear_frame_toolbars.
7122
7123         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7124         the frame is cleared. How this ever worked before is a mystery.
7125         (x_output_frame_toolbars): Only output toolbars.
7126         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7127
7128         * gutter.c (update_gutter_geometry):
7129         Mark frame layout changed.
7130         (update_frame_gutter_geometry, update_frame_gutters):
7131         Respect frame_layout_changed.
7132
7133         * console.h (struct console_methods): add
7134         clear_frame_toolbars_method.
7135
7136         * redisplay.c (redisplay_frame): call
7137         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7138
7139         * toolbar.h: declare update_frame_toolbars_geometry.
7140
7141         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7142         out from update_frame_toolbars.  Call clear_frame_toolbars.
7143         (update_frame_toolbars): only output, do not change geometry.
7144
7145         * redisplay.c: add frame_layout_changed.
7146
7147         * redisplay.h: add frame_layout_changed.
7148         (CLASS_RESET_CHANGED_FLAGS): set it.
7149         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7150         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7151         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7152
7153         * device.h (struct device): add frame_layout_changed.
7154         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7155
7156         * frame.h (struct frame): add frame_layout_changed.
7157         (MARK_FRAME_LAYOUT_CHANGED): new.
7158
7159 2002-06-30  Mike Alexander  <mta@arbortext.com>
7160
7161         * event-msw.c (mswindows_need_event): Don't wait for a new message
7162         if the queue is not empty.  Suggested by Paul Moore.
7163
7164 2002-06-12  Andy Piper  <andy@xemacs.org>
7165
7166         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7167         for printing on accurately.
7168
7169 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7170
7171         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7172         WM_ACTIVATE message. Make sure that the frame is visible if the
7173         window is visible. This seemss to fix the problem where XEmacs
7174         appears to freeze after switching desktops with certain virtual
7175         window managers.
7176         (debug_output_mswin_message): Added code to output message
7177         parameters for WM_WINDOWPOSCHANGED, 
7178         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7179
7180 2002-05-25  Andy Piper  <andy@xemacs.org>
7181
7182         * select-x.c (vars_of_select_x): Fix docstring of
7183         x-selection-strict-motif-ownership
7184
7185 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7186
7187         * keymap.c (get_keymap):
7188         Add comment about do_autoload GCPROs own args.
7189
7190 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7191
7192         * bytecode.c (execute_optimized_program): check_opcode ifdef
7193         ERROR_CHECK_BYTE_CODE.
7194
7195 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7196
7197         Thanks to Ben Wing and Michael Sperber.
7198
7199         * eval.c (Fcommand_execute):
7200         (Feval):
7201         (Ffuncall):
7202         (Fmacroexpand_internal):
7203         (function_argcount):
7204         callint.c (Fcall_interactively):
7205         Add comment about do_autoload GCPROs own args.
7206
7207         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7208
7209         * eval.c (Ffuncall): Extra braces to placate GCC.
7210
7211 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7212
7213         * backtrace.h (grow_specpdl):
7214         (SPECPDL_RESERVE):
7215         * EmacsFrame.c (EmacsFrameSetValues):
7216         * eval.c (grow_specpdl):
7217         * ExternalShell.c (hack_event_masks_1):
7218         * glyphs-x.c (convert_EImage_to_XImage): 
7219         (x_finalize_image_instance):
7220         * ralloc.c (page_size):
7221         (r_alloc_sbrk):
7222         * xgccache.c (gc_cache_hash):
7223         Fix unsigned comparison warnings.
7224
7225 2002-07-29  Jerry James  <james@xemacs.org>
7226
7227         * lread.c (locate_file): Any nonnegative return value indicates
7228         success if MODE is nonnegative.
7229
7230 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7231
7232         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7233         argument. 
7234
7235 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7236
7237         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7238
7239         * dumper.c (pdump_get_indirect_count):
7240         (pdump_scan_by_alignment):
7241         (pdump_dump_root_struct_ptrs):
7242         (pdump_dump_rtables):
7243         (pdump_dump_root_objects):
7244         (pdump):
7245         * nas.c (WaveOpenDataForReading):
7246         * fns.c (print_bit_vector):
7247         * font-lock.c (SINGLE_SYNTAX_STYLE):
7248         * glyphs.c (check_for_ignored_expose):
7249         (find_matching_subwindow):
7250         * glyphs-eimage.c:
7251         * imgproc.c (get_histogram):
7252         * redisplay.c (point_in_line_start_cache):
7253         * redisplay-output.c (redisplay_unmap_subwindows):
7254         * symbols.c (defsymbol_massage_name_1):
7255         (defkeyword_massage_name):
7256         (deferror_massage_name_and_message):
7257         * redisplay-x.c (x_output_string): 
7258         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7259         * frame.h (struct frame):
7260         * filelock.c (current_lock_owner):
7261         * doprnt.c (emacs_doprnt_1):
7262         * lisp.h (struct Lisp_Bit_Vector):
7263         (DO_REALLOC):
7264         Fix warnings.
7265
7266 2002-02-13  Ben Wing  <ben@xemacs.org>
7267
7268         * event-stream.c (reset_key_echo):
7269         * event-stream.c (reset_this_command_keys):
7270         * event-stream.c (execute_command_event):
7271         If console is dead as a result of C-x 5 0, then post-command stuff
7272         needs to be careful and do only non-console-specific stuff.
7273
7274 2002-07-01  Mike Sperber <mike@xemacs.org>
7275
7276         * process-unix.c (unix_send_process): Mark coding_outstream as
7277         non-open upon SIGPIPE.
7278
7279         * event-stream.c (Fnext_event): Reorder switch cases to something
7280         that makes sense.
7281
7282 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7283
7284         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7285         Don't bogusly reinitialize ascii_character property.
7286
7287 2002-07-08  Mike Sperber <mike@xemacs.org>
7288
7289         * process.c (Fstart_process_internal): Do error checking before we
7290         fork off the child, so the child can't muck with the state of the
7291         parent.
7292
7293 2002-07-08  Mike Sperber <mike@xemacs.org>
7294
7295         * ralloc.c (init_ralloc): Allocate properly for pdump.
7296
7297 2002-06-12  Andy Piper  <andy@xemacs.org>
7298
7299         * glyphs.c (query_string_geometry): check the string.
7300
7301         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7302         widget names.
7303
7304 2002-06-17  Jerry James  <james@xemacs.org>
7305
7306         * sysdll.c: Remove RTLD_GLOBAL initialization.
7307         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7308
7309 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7310
7311         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7312
7313 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7314
7315         * sysdep.c (sys_rename): Make sys_rename work for the case where
7316         Windows rename sets errno to EACCES if target file exists.
7317
7318 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7319
7320         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7321         Fix detection of metric units to work on Win95
7322
7323 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7324
7325         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7326
7327 2002-04-25  Andy Piper  <andy@xemacs.org>
7328
7329         * redisplay.c (create_text_block): Remove extra comment trailer.
7330
7331 2002-04-24  Andy Piper  <andy@xemacs.org>
7332
7333         * redisplay.c (create_text_block): Don't actually add propagation
7334         data if the line ends after we have added a glyph.
7335
7336 2002-04-22  Andy Piper  <andy@xemacs.org>
7337
7338         * extents.c (extent_fragment_update): check for glyphs we have
7339         previously displayed.
7340         * extents.c (print_extent_1): warning removal.
7341         * extents.h: change prototype.
7342         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7343         widths correctly for wide glyphs.
7344         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7345         * redisplay.c (prop_type): add PROP_GLYPH.
7346         * redisplay.c (struct prop_block): add glyph type
7347         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7348         to the propagation data.
7349         * redisplay.c (create_text_block): if there is a glyph in the
7350         propagation data use it to salt extent_fragment_update.
7351         * redisplay.c (create_string_text_block): ditto.
7352
7353 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7354
7355         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7356         * redisplay-output.c (compare_runes): Compare them.
7357         * redisplay.c: Update copyright date.
7358         * redisplay.c (pos_data): Add need_baseline_computation field.
7359         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7360         need_baseline_computation; zero yoffset. Set max_pixmap_height
7361         for all pixmaps, not just automatically positioned ones.
7362         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7363         * redisplay.c (calculate_baseline): New, compute textual baseline.
7364         * redisplay.c (add_glyph_rune): Call them.
7365         * redisplay.c (create_text_block): Likewise.
7366         * redisplay.c (create_overlay_glyph_block): Likewise.
7367         * redisplay.c (add_margin_runes): Likewise.
7368         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7369
7370         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7371         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7372         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7373         * redisplay-msw.c (mswindows_output_string): Likewise.
7374         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7375         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7376         * redisplay-x.c (x_output_display_block): Likewise.
7377
7378 2002-03-28  Ben Wing  <ben@xemacs.org>
7379
7380         * redisplay.c: Fixed bug in redisplay
7381         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7382         and down of the lines, since they're bigger than the line
7383         size. (It was seen most obviously when there's a horizontal scroll
7384         bar, e.g. do C-h a glyph or something like that.) The problem was
7385         that the glyph-contrib-p setting on glyphs was ignored even if it
7386         was set properly, which it wasn't until now.
7387
7388 2002-04-24  Andy Piper  <andy@xemacs.org>
7389
7390         * lisp.h (Dynarr_end): Fix definition.
7391
7392 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7393
7394         * redisplay.c (mark_redisplay): Remove call to
7395         update_frame_window_mirror.
7396
7397 2001-11-15  Andy Piper  <andy@xemacs.org>
7398
7399         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7400         cygwin (again).
7401
7402 2002-02-13  Andy Piper  <andy@xemacs.org>
7403
7404         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7405         we did in fact enqueue the XM_MAPFRAME event.
7406
7407 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7408
7409         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7410         to fix problem switching between virtual desktops under virtuawin
7411         virtual window manager.
7412
7413 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7414
7415         * event-msw.c: Typo fix.
7416         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7417         magic XM_MAPFRAME event has been sent.
7418
7419 2001-11-23  Andy Piper  <andy@xemacs.org>
7420
7421         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7422
7423 2001-11-21  Andy Piper  <andy@xemacs.org>
7424
7425         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7426         mouse events outside the frame.
7427
7428 2002-03-20  Andy Piper  <andy@xemacs.org>
7429
7430         * menubar-msw.c (mswindows_popup_menu): warning removal.
7431         * dialog-msw.c (dialog_popped_down): ditto.
7432
7433 2001-12-11  Andy Piper  <andy@xemacs.org>
7434
7435         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
7436         * dialog-msw.c (mswindows_make_dialog_box_internal): set
7437         popup_up_p.
7438         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
7439         * menubar-msw.c (mswindows_handle_wm_command): ditto.
7440         * menubar-msw.c (mswindows_popup_menu): ditto.
7441
7442 2001-10-29  Andy Piper  <andy@xemacs.org>
7443
7444         * dialog-msw.c (handle_directory_dialog_box): quit if the user
7445         cancels.
7446
7447 2002-01-03  Andy Piper  <andy@xemacs.org>
7448
7449         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
7450         letters.
7451         (xrealpath): ditto.
7452
7453 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
7454
7455         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
7456         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
7457         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7458         Detect and handle case where machine is set up for metric units
7459
7460 2002-04-02  Andy Piper  <andy@xemacs.org>
7461
7462         * dired-msw.c (mswindows_get_files): 
7463         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
7464         completely handled by XEmacs. Suggested by Thomas Vogler
7465         <mail@thomas-vogler.de>.
7466
7467 2001-11-14  Andy Piper  <andy@xemacs.org>
7468
7469         * nt.c (REG_ROOT): change registry key to XEmacs.
7470
7471 2002-04-27  Andy Piper  <andy@xemacs.org>
7472
7473         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
7474
7475 2002-04-26  Andy Piper  <andy@xemacs.org>
7476
7477         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
7478         behavior.
7479
7480 2002-03-14  Mike Alexander  <mta@arbortext.com>
7481
7482         * event-msw.c (mswindows_unwait_process): New, remove process from
7483         wait list
7484         * process-nt.c (nt_finalize_process_data): Call
7485         mswindows_unwait_process
7486         * console-msw.h: Declare mswindows_unwait_process
7487
7488 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
7489
7490         * editfns.c (Fdecode_time):
7491         (Fformat_time_string):
7492         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
7493         (make_time): Warning elimination (change arg name).
7494
7495 2001-11-24  Andy Piper  <andy@xemacs.org>
7496
7497         * window.c (Fsplit_window): Doc return type.
7498
7499 2002-04-01  Andy Piper  <andy@xemacs.org>
7500
7501         * emacs.c (Fkill_emacs): Only output message box in interactive
7502         mode.
7503
7504 2002-04-26  Andy Piper  <andy@xemacs.org>
7505  
7506         * config.h.in: pull in 21.5.x change to stop alloca warnings under
7507         cygwin.
7508
7509 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
7510
7511         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
7512         bit platform.
7513
7514 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
7515
7516         * XEmacs 21.4.8 "Honest Recruiter" is released.
7517
7518 2002-05-07  Nix  <nix@esperi.demon.co.uk>
7519
7520         Supersedes 2002-04-17 patch.
7521
7522         * process.h (PROCESS_LIVE_P): Use the process status as
7523         evidence of health, not the state of the input stream.
7524         (PROCESS_READABLE_P): Say if the process is readable
7525         from. (It may be dead nonetheless.)
7526         (CHECK_READABLE_PROCESS): Test for that condition.
7527
7528         * process.c (create_process): Use PROCESS_READABLE_P.
7529         (read_process_output, set_process_filter): Likewise.
7530
7531         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
7532         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
7533
7534         This code is #if 0'd, this is not the time to add new functions:
7535
7536         * process.c (Fprocess_readable_p): Report readability status.
7537         * process.c (Qprocess_readable_p): New, associated symbol...
7538         * process.c (syms_of_process): ... initialize it.
7539
7540 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
7541
7542         * XEmacs 21.4.7 "Economic Science" is released.
7543
7544 2002-04-17  Nix  <nix@esperi.demon.co.uk>
7545
7546         * process.h (PROCESS_LIVE_P): Use the process status as
7547         evidence of health, not the state of the input stream.
7548
7549 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
7550
7551         * sysdep.c (sys_siglist): change "signum" to "signal"
7552
7553 2001-04-21  Martin Buchholz  <martin@xemacs.org>
7554
7555         * s/darwin.h: New file.
7556         Thanks to Greg Parker <gparker@cs.stanford.edu>.
7557         
7558 2002-04-23  Andreas Jaeger  <aj@suse.de>
7559
7560         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
7561         which use lib64 for 64-bit libs.
7562         (START_FILES): Likewise.
7563
7564 2002-02-11  Mike Sperber  <mike@xemacs.org>
7565
7566         * device-x.c: 
7567         (x_IO_error_handler):
7568         (x_init_device): Temporarily keep device in static variable
7569         `device_being_initialized' so we can recover gracefully from
7570         internal XOpenDevice failure.  (XOpenDevice is documented to
7571         return NULL on failure, but sometimes calls the IO error handler
7572         instead.)
7573
7574 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
7575
7576         * dired.c (Ffile_name_all_completions): Change documentation --
7577         remove reference to completion-ignored-extensions.
7578         * dired.c (vars_of_dired): Change documentation for
7579         completion-ignored-extensions -- remove reference to
7580         file-name-all-completions.
7581
7582 2002-03-06  Jerry James  <james@xemacs.org>
7583
7584         * emodules.c (emodules_load): Fix multiple loading of same module.
7585
7586 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
7587         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
7588         RTLD_LAZY to avoid incorrect symbol binding when using nested
7589         shared libraries on Solaris.
7590
7591 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
7592
7593         * fileio.c (Ffind_file_name_handler): Improve docstring.
7594
7595 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
7596
7597         * fns.c (Fmapconcat): Improve docstring.
7598
7599 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
7600
7601         * device-gtk.c: Add prototype for
7602         emacs_gtk_selection_clear_event_handle.
7603         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
7604         selection.  Setup signal handler for "selection_clear_event"
7605         (emacs_gtk_selection_clear_event_handle).
7606
7607         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
7608         other applications owning the clipboard (based on
7609         x_handle_selection_clear).
7610
7611 2001-12-23  William M. Perry  <wmperry@gnu.org>
7612
7613         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
7614         
7615 2002-01-04  Martin Buchholz  <martin@xemacs.org>
7616
7617         * keymap.c (define_key_alternate_name): Parenthesize EQ.
7618
7619 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
7620
7621         * XEmacs 21.4.6 "Common Lisp" is released.
7622
7623 2001-12-16  Torsten Duwe  <duwe@caldera.de>
7624
7625         * search.c (Freplace_match): Add missing sub-expression functionality.
7626
7627         * buffer.c (decode_buffer): Add a check for pointer type to
7628         decode_buffer, before gcc's CSE optimization reorders a
7629         dereference in front of the allow_string test.
7630
7631 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
7632
7633         * window.c (window_loop): Fix bug that sometimes prevented
7634         window_loop() from iterating across multiple devices.  Also, at
7635         Ben's request, changed infloop-detecting code to abort() instead
7636         of silently terminating window_loop().
7637
7638 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
7639
7640         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
7641         * editfns.c (make_time): New function.
7642         (Fencode_time): Use it instead of wasteful_word_to_lisp.
7643         * lisp.h (make_time): Prototype and comment it.
7644         * dired.c (wasteful_word_to_lisp): Deprecate.
7645         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
7646
7647 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
7648
7649         * fileio.c (auto_save_1): Use current coding system, not
7650         escape-quoted.
7651
7652 2001-11-13  Ben Wing  <ben@xemacs.org>
7653
7654         * window.c:
7655         * window.c (window_truncation_on):
7656         * window.c (syms_of_window):
7657         truncate-partial-width-windows should respect the buffer being
7658         displayed, like other redisplay vars.
7659
7660 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
7661
7662         * event-stream.c (Fread_key_sequence): save current buffer.
7663
7664 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7665
7666         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
7667
7668 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
7669
7670         * alloc.c (lcrecord_stats): Add space for types defined in modules.
7671
7672 2001-10-26  Mike Alexander  <mta@arbortext.com>
7673
7674         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
7675
7676 2001-10-25  Andy Piper  <andy@xemacs.org>
7677
7678         * ChangeLog:
7679         * dialog-msw.c (handle_directory_proc): new function.
7680          (handle_directory_dialog_box): new fucntion.
7681          (handle_file_dialog_box): use new directory dialog support.
7682          (mswindows_make_dialog_box_internal): ditto.
7683         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
7684         handling.
7685         (mswindows_find_frame): make global.
7686         * fileio.c (Fexpand_file_name): build fix.
7687         * general-slots.h: add Qdirectory.
7688         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
7689         handling.
7690         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
7691         cygwin not leaving win32 paths unchanged.
7692         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
7693         cygwin runtime to do path conversion.
7694         (Fmswindows_shell_execute): fix cygwin handling of URLs.
7695         (syms_of_win32): add new function.
7696         * window.c (window_loop): build fix.
7697
7698 2001-10-15  Andy Piper  <andy@xemacs.org>
7699
7700         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
7701
7702 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
7703
7704         * XEmacs 21.4.5 "Civil Service" is released.
7705
7706 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
7707
7708         * glyphs-x.c: Force buffer-tab highlight update when moving the
7709         buffer, avoiding an ugly black border, used for keyboard focus
7710         indication, on a widget that can never have keyboard focus, the
7711         buffer tab.
7712
7713 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
7714
7715         * process-unix.c (unix_open_multicast_group): Remove too much
7716         conversion between host and network byte order.
7717
7718 2001-09-10  Nix  <nix@esperi.demon.co.uk>
7719
7720         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
7721         before replacing them.
7722
7723         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
7724         operation.
7725
7726         * src/window.c (undedicate_windows): Use it.
7727         * src/window.h: Add prototype.
7728
7729 2001-09-17  Ben Wing  <ben@xemacs.org>
7730
7731         * fileio.c (normalize_filename):
7732         * fileio.c (Fexpand_file_name):
7733         Fix various C++ compile errors in Andy's recent code.
7734         
7735         * callint.c (Fcall_interactively):
7736         * editfns.c (Ftemp_directory):
7737         * editfns.c (Fuser_full_name):
7738         * emacs.c (argmatch):
7739         * lread.c (locate_file_map_suffixes):
7740         * redisplay-x.c (x_ring_bell):
7741         Fix sign-compare warnings.
7742         
7743 2001-09-08  Andy Piper  <andy@xemacs.org>
7744
7745         * fileio.c (normalize_filename): copied from nt.c
7746         * (Ffile_name_directory): enable win32 paths under cygwin.
7747         * (Ffile_name_nondirectory): ditto.
7748         * (directory_file_name): ditto.
7749         * (Fexpand_file_name): ditto.
7750         * (Ffile_truename): ditto.
7751         * (Fsubstitute_in_file_name): ditto.
7752         * (Ffile_name_absolute_p): ditto.
7753         * (Ffile_readable_p): ditto.
7754
7755 2001-09-08  Andy Piper  <andy@xemacs.org>
7756
7757         * device-msw.c (mswindows_finish_init_device): remove dde
7758         initialization.
7759         * device-msw.c (mswindows_init_dde): factor out from
7760         mswindows_finish_init_device()
7761         * device-msw.c (init_mswindows_very_early): new function
7762         initialize but don't enable dde.
7763         * emacs.c (main_1): call init_mswindows_very_early.
7764         * event-msw.c:
7765         * event-msw.c (mswindows_dde_callback): only execute when we are
7766         ready.
7767         * symsinit.h: declare init_mswindows_very_early.
7768
7769 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7770
7771         [sjt: This has been in 21.5 for months with no complaints.]
7772
7773         * console.h (struct console_methods): Added flags member.
7774         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
7775         (CONMETH_IMPL_FLAG):
7776         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
7777         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7778
7779         * device.c (window_system_pixelated_geometry): Use the above macros.
7780
7781         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
7782         implememntation flag.
7783         * device.h (DEVICE_DISPLAY_P): Use it.
7784
7785         * frame.c (delete_frame_internal): Use the above macro.
7786
7787         * redisplay.c (redisplay_device): Use it.
7788         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
7789         (redisplay_frame): Ditto.
7790
7791         * device-msw.c (mswindows_device_implementation_flags): Removed.
7792         (msprinter_device_implementation_flags): Removed.
7793         (console_type_create_device_mswindows): Removed references to
7794         implementation_flags methods, set implementation flags here.
7795         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
7796
7797         * device-gtk.c (gtk_device_implementation_flags): Removed method.
7798         (console_type_create_device_gtk): Removed method declaration.
7799         Added commented out statement which semantically matches the
7800         commented out statement in the above removed method.
7801
7802 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
7803
7804         The attached patch fixes a few warnings. 
7805
7806         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
7807         * src/frame-gtk.c: guard against GNOME calls in GTK only
7808         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
7809         * src/select-gtk.c: prototype lisp_to_time
7810
7811 2001-06-08  Ben Wing  <ben@xemacs.org>
7812
7813         ------ gc-in-window-procedure fixes ------
7814         
7815         * alloc.c:
7816         * alloc.c (struct post_gc_action):
7817         * alloc.c (register_post_gc_action):
7818         * alloc.c (run_post_gc_actions):
7819         * alloc.c (garbage_collect_1):
7820         Create "post-gc actions", to avoid those dreaded "GC during window
7821         procedure" problems.
7822
7823         * event-msw.c:
7824         Abort, clean and simple, when GC in window procedure.  We want
7825         to flush these puppies out.
7826
7827         * glyphs-msw.c:
7828         * glyphs-msw.c (finalize_destroy_window):
7829         * glyphs-msw.c (mswindows_finalize_image_instance):
7830         Use a post-gc action when destroying subwindows.
7831
7832         * lisp.h:
7833         Declare register_post_gc_action().
7834
7835         * scrollbar-msw.c:
7836         * scrollbar-msw.c (unshow_that_mofo):
7837         Use a post-gc action when unshowing scrollbar windows, if in gc.
7838
7839         * redisplay.c (mark_redisplay):
7840         Add comment about the utter evilness of what's going down here.
7841
7842         ------ cygwin setitimer fixes ------
7843         
7844         * Makefile.in.in (sheap_objs):
7845         * Makefile.in.in (profile_objs):
7846         * Makefile.in.in (objs):
7847         Compile profile.c only when HAVE_SETITIMER.
7848         
7849         * nt.c (mswindows_sigset):
7850         * nt.c (mswindows_sighold):
7851         * nt.c (mswindows_sigrelse):
7852         * nt.c (mswindows_sigpause):
7853         * nt.c (mswindows_raise):
7854         * nt.c (close_file_data):
7855         Style fixes.
7856         
7857         * nt.c:
7858         Move setitimer() emulation to win32.c, because Cygwin needs it too.
7859         
7860         * profile.c:
7861         * profile.c (Fstart_profiling):
7862         * profile.c (Fstop_profiling):
7863         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
7864         instead of just plain setitimer().
7865         
7866         * signal.c:
7867         * signal.c (set_one_shot_timer):
7868         * signal.c (alarm):
7869         Define qxe_setitimer() as an encapsulation around setitimer() --
7870         call setitimer() directly unless Cygwin or MS Win, in which case
7871         we use our simulated version in win32.c.
7872         
7873         * systime.h:
7874         * systime.h (struct itimerval):
7875         * systime.h (ITIMER_REAL):
7876         Prototype mswindows_setitimer() and qxe_setitimer().  Long
7877         comment about "qxe" and the policy regarding encapsulation.
7878
7879         * win32.c:
7880         * win32.c (setitimer_helper_proc):
7881         * win32.c (setitimer_helper_period):
7882         * win32.c (setitimer_helper):
7883         * win32.c (mswindows_setitimer):
7884         Move setitimer() emulation here, so Cygwin can use it.
7885         Rename a couple of functions and variables to be longer and more
7886         descriptive.  In setitimer_helper_proc(), send the signal
7887         using either mswindows_raise() or (on Cygwin) kill().  If for
7888         some reason we are still getting lockups, we'll change the kill()
7889         to directly invoke the signal handlers.
7890
7891         ------ windows shell fixes ------
7892         
7893         * callproc.c:
7894         * ntproc.c:
7895         Comments about how these two files must die.
7896
7897         * callproc.c (init_callproc):
7898         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
7899         not just COMSPEC. (more correct and closer to FSF.) Don't
7900         force a value for SHELL into the environment. (Comments added
7901         to explain why not.)
7902         
7903         * nt.c (init_user_info):
7904         Don't shove a fabricated SHELL into the environment.  See above.
7905
7906 2001-06-01  Ben Wing  <ben@xemacs.org>
7907
7908         * Makefile.in.in (ldflags):
7909         eliminate that pesky "defaulting to 00401000" warning.
7910         * nt.h:
7911         eliminate warnings.
7912
7913 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
7914
7915         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
7916         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
7917
7918 2001-04-24  Jerry James <james@xemacs.org>
7919
7920         * faces.h: pass parameters to Fadd_spec_to_specifier in the
7921         correct order.
7922
7923 2001-06-01  Ben Wing  <ben@xemacs.org>
7924
7925         * event-msw.c (debug_mswin_messages):
7926         conditionalize the messages that were causing compile errors.
7927         (if only macros could generate #ifdef statements ...)
7928
7929 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
7930
7931         * XEmacs 21.4.4 "Artificial Intelligence" is released.
7932
7933 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7934
7935         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
7936
7937 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
7938
7939         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
7940         * process-unix.c (unix_canonicalize_host_name):
7941         sysdep.c (init_system_name):
7942         Use it to conditionally support IPv6 canonicalization.
7943
7944 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
7945
7946         * event-msw.c:
7947         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
7948
7949 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
7950
7951         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
7952         attempt is made to scroll when no scroll bar is available.
7953
7954 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7955
7956         * input-method-motif.c (XIM_delete_frame): New callback.
7957         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
7958         got deleted from 21.4.3.)
7959
7960 2001-06-01  Ben Wing  <ben@xemacs.org>
7961
7962         * nt.c (mswindows_utime):
7963         * nt.c (close_file_data):
7964         fix off-by-one-indirection error.
7965
7966 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
7967
7968         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
7969         because set_file_times() now takes Lisp_Object path, instead of
7970         char*.
7971         * nt.c: Include buffer.h.
7972         * nt.c (convert_from_time_t): New.
7973         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
7974         not set mtime correctly.
7975         * nt.h: Declare mswindows_utime().
7976         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
7977         path, instead of char*.
7978         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
7979
7980 2001-05-30  Ben Wing  <ben@xemacs.org>
7981
7982         For 21.4:
7983
7984         (Stephen, just take all event-msw.c patches.  This includes
7985         the "iconify" fix below.)
7986
7987         * event-msw.c:
7988         * event-msw.c (mswindows_dequeue_dispatch_event):
7989         * event-msw.c (assert):
7990         * event-msw.c (emacs_mswindows_quit_p):
7991         * event-msw.c (debug_mswin_messages):
7992         * event-msw.c (debug_output_mswin_message):
7993         * event-msw.c (vars_of_event_mswindows):
7994         Fix yet more problems with C-g handling.
7995         Implement debug-mswindows-events.
7996         
7997 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7998
7999         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
8000         
8001 2001-05-23  Ben Wing  <ben@xemacs.org>
8002
8003         * event-msw.c (winsock_writer):
8004         * event-msw.c (winsock_closer):
8005         prior kludgy code was clobbering the buffer, thinking it was
8006         "unused" space to store an unneeded return value; instead, use
8007         the variable we've already got staring us in the face.
8008
8009 2001-05-17  Andy Piper  <andy@xemacs.org>
8010
8011         * sysfile.h: don't assume that file attributes are boolean
8012
8013 2001-05-23  Ben Wing  <ben@xemacs.org>
8014
8015         * device-msw.c (msprinter_init_device):
8016         signal an error rather than crash with an unavailable network
8017         printer (from Mike Alexander).
8018         
8019         * event-msw.c:
8020         * event-msw.c (struct winsock_stream):
8021         * event-msw.c (winsock_writer):
8022         * event-msw.c (winsock_closer):
8023         * event-msw.c (make_winsock_stream_1):
8024         cleanup headers.  fix (hopefully) an error with data corruption
8025         when sending to a network connection.
8026
8027         * fileio.c (Fexpand_file_name): Fix evil code that attempts
8028         to handle the ~user prefix by (a) always assuming we're referencing
8029         ourselves and not even verifying the user -- hence any file with
8030         a tilde as its first char is invalid! (b) if there wasn't a slash
8031         following the filename, the pointer was set *past* the end of
8032         file and we started reading from uninitialized memory.  Now we
8033         simply treat these as files, always.
8034
8035         * buffer.c (common_init_complex_vars_of_buffer): comment change.
8036         
8037 2001-05-19  Ben Wing  <ben@xemacs.org>
8038
8039         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
8040
8041         * process-nt.c:
8042         * process-nt.c (vars_of_process_nt):
8043         remove unused mswindows-quote-process-args.  rec for 21.4.
8044         
8045 2001-05-12  Ben Wing  <ben@xemacs.org>
8046
8047         * event-msw.c (mswindows_dde_callback):
8048         * event-msw.c (mswindows_wnd_proc):
8049         eliminate cygwin warnings.
8050
8051 2001-05-06  Ben Wing  <ben@xemacs.org>
8052
8053         * console-msw.h:
8054         * device-msw.c:
8055         * device-msw.c (print_dialog_worker):
8056         * device-msw.c (mswindows_handle_print_dialog_box):
8057         * device-msw.c (syms_of_device_mswindows):
8058         * dialog-msw.c (mswindows_make_dialog_box_internal):
8059         * general-slots.h:
8060         implement printing the selection when it's selected.
8061
8062 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
8063
8064         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
8065
8066 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8067
8068         * lisp.h (EMACS_INT_MAX): This should be one bit less since
8069         EMACS_INT is signed.
8070
8071 2001-04-15  Michael Lausch  <mla@1012surf.net>
8072
8073         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
8074         gtk_widget_request_size() to give scrollbar >0 width for
8075         GTK >1.2.8.
8076
8077 2001-05-30  William M. Perry  <wmperry@gnu.org>
8078
8079         * event-gtk.c: Check for buttons as modifier keys.
8080
8081 2001-05-25  Craig Lanning  <CraigL@Knology.net>
8082
8083         * s\mingw32.h:
8084         Properly find MinGW's <process.h> inside Cygwin's restructured
8085         include directories.  Don't try to include <cygwin/version.h>
8086         since we are dropping support for MinGW in versions of Cygwin
8087         earlier than b21.
8088         * nt.c:
8089         Drop support for MinGW in versions of Cygwin before b21.
8090         * sysdep.c:
8091         Properly find MinGW's <process.h> inside Cygwin's restructured
8092         include directories.
8093         * syswindows.h:
8094         Drop support for MinGW in versions of Cygwin before b21.
8095         * unexcw.c:
8096         Even though a.out.h is no longer detected by configure, allow
8097         MinGW to use it until we figure out how to do the job with Win32.
8098
8099 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
8100
8101         * syntax.c (find_start_of_comment):
8102         Fix `unbalanced parentheses' bug when dealing with mixed comment
8103         styles in c++/java/etc. mode
8104
8105 2001-05-29  Mike Alexander  <mta@arbortext.com>
8106
8107         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
8108         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8109
8110 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8111
8112         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8113
8114 2001-03-31  Mike Sperber <mike@xemacs.org>
8115
8116         * search.c (Freplace_match): Support FSF-style specification of
8117         match subexpression when applied to a buffer.
8118
8119 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8120
8121         * event-stream.c (is_scrollbar_event): add missing semicolon
8122
8123 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
8124
8125         * Makefile.in.in: Use TAR macro instead of hardcoding
8126           tar.  Allows use of GNU tar instead of system tar
8127
8128 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8129
8130         * event-stream.c (is_scrollbar_event): add missing semicolon
8131
8132 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8133
8134         * XEmacs 21.4.3 "Academic Rigor" is released.
8135
8136 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8137
8138         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8139
8140 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8141
8142         * buffer.c (Vcase_fold_search): Remove obsolete
8143           comment about non ASCII case-fold-search.  This
8144           bug has been fixed by case-table changes.
8145
8146 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8147
8148         * event-msw.c: Restore include of events-mod.h.
8149
8150 2001-04-22   zhaoway  <zw@debian.org>
8151
8152         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8153         !HAVE_SCROLLBARS.
8154
8155 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8156
8157         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8158
8159 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8160
8161         * mule-charset.c (Fmake_charset): Add missing else.
8162
8163 2001-04-23  Ben Wing  <ben@xemacs.org>
8164
8165         * event-msw.c (FAKE_MOD_QUIT):
8166         * event-msw.c (mswindows_dequeue_dispatch_event):
8167         * event-msw.c (mswindows_wnd_proc):
8168         * event-msw.c (emacs_mswindows_quit_p):
8169         Get critical quit working.
8170
8171 2001-05-05  Ben Wing  <ben@xemacs.org>
8172
8173         * console-msw.h:
8174         * device-msw.c:
8175         * device-msw.c (mswindows_get_default_margin):
8176         * frame-msw.c (mswindows_size_frame_internal):
8177         * frame-msw.c (msprinter_init_frame_1):
8178         * frame-msw.c (vars_of_frame_mswindows):
8179         Change top/bottom margin defaults to 0.5 inches.
8180
8181 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8182
8183         Fix link error with gcc 3.0 on Linux.
8184         * terminfo.c (UP): Remove.
8185         * terminfo.c (BC): Remove.
8186         * terminfo.c (PC): Remove.
8187         They weren't used, and in any case, these symbols should be
8188         defined in the *library*.
8189
8190 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8191
8192         * s/aix4.h: Fix crash with xlc -O3.
8193         Improve comment explaining how -O3 works.
8194
8195 2001-04-15  Ben Wing  <ben@xemacs.org>
8196
8197         * event-stream.c:
8198         * event-stream.c (Fnext_event):
8199         * event-stream.c (is_scrollbar_event):
8200         * event-stream.c (execute_command_event):
8201         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8202         crash' problem.  His fix introduces other problems.  We filter
8203         out scrollbar events specifically, making them somewhat invisible
8204         to command-building, and not appearing in `this-command-keys'.
8205         More work is still needed (see comments in event-stream.c), but
8206         this fixes all the major problems.
8207
8208 2001-04-20  Ben Wing  <ben@xemacs.org>
8209
8210         * .cvsignore: Added stuff for Windows.
8211
8212 2001-04-28  Ben Wing  <ben@xemacs.org>
8213
8214         * buffer.c (Ferase_buffer):
8215         * editfns.c (buffer_insert1):
8216         * editfns.c (Finsert_before_markers):
8217         * editfns.c (Finsert_string):
8218         * editfns.c (Finsert_char):
8219         * editfns.c (Fdelete_region):
8220         * editfns.c (Fwiden):
8221         * editfns.c (Fnarrow_to_region):
8222         remove bogus lines setting zmacs_region_stays to 0.
8223         
8224 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8225
8226         * process-unix.c (unix_open_network_stream): If connect() fails
8227         invalidate file descriptor after closing it.
8228
8229 2001-03-08  Mike Alexander  <mta@arbortext.com>
8230
8231         * event-msw.c (mswindows_need_event_in_modal_loop):
8232         Don't dispatch a message if we didn't get one.
8233         (mswindows_need_event):
8234         Terminate the correct process when one exits instead of the first
8235         one on Vprocess_list and look for process termination when in
8236         mswindows_protect_modal_loop.
8237
8238 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8239
8240         * XEmacs 21.4.1 "Copyleft" is released.
8241
8242 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8243
8244         * input-method-motif.c (XIM_delete_frame): New callback.
8245         (XIM_init_frame): Register it.
8246
8247 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8248
8249         * XEmacs 21.4.0 "Solid Vapor" is released.
8250
8251 2001-04-15  Ben Wing  <ben@xemacs.org>
8252
8253         * cmdloop.c (call_command_loop):
8254         Fix braino in bit-rotting code.
8255         
8256 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8257
8258         * extents.c (Fset_extent_endpoints): Force creation of extent info
8259         in buffer_or_string.
8260
8261         * extents.c (process_extents_for_insertion_mapper): Correctly
8262         check for open-open zero-length extents.
8263
8264 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8265
8266         * lisp.h: New typedefs Memory_count, Element_count.
8267         * regex.c:
8268         * regex.h:
8269         Sign-compare warning elimination: several unsigned -> signed.
8270         Based on work by Ben Wing <ben@xemacs.org>.
8271
8272 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8273
8274         * XEmacs 21.2.47 "Zephir" is released.
8275
8276 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8277
8278         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8279
8280 2001-04-03  Mike Sperber <mike@xemacs.org>
8281
8282         * search.c: Revert previous patch due because of release.
8283
8284 2001-03-30  Ben Wing  <ben@xemacs.org>
8285
8286         * s\cygwin32.h:
8287         Add missing killpg prototype.
8288
8289         * elhash.c:
8290         Add a comment about fixing problems when a new entry is added
8291         while mapping.
8292
8293         * frame-msw.c (mswindows_init_frame_1):
8294         Fix compile warnings.
8295
8296         * menubar.c (vars_of_menubar):
8297         Provide `menu-accelerator-support' to indicate that we properly
8298         support %_ in menu specifications, so that package code can
8299         conditionalize on this (and remove %_ from menu specifications
8300         on older versions).
8301
8302         * event-msw.c:
8303         * scrollbar-msw.c:
8304         * scrollbar-msw.c (can_scroll):
8305         * scrollbar-msw.h:
8306         Fix handling of mouse wheel under Windows to follow standards --
8307         now scrolls window under pointer, not selected window.
8308
8309 2001-03-31  Mike Sperber <mike@xemacs.org>
8310
8311         * search.c (Freplace_match): Support FSF-style specification of
8312         match subexpression when applied to a buffer.
8313
8314 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8315
8316         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8317         function to modify KEYMAP, so map over a copy of the hash table.
8318
8319 2001-03-21  Martin Buchholz <martin@xemacs.org>
8320
8321         * XEmacs 21.2.46 "Urania" is released.
8322
8323 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8324
8325         * realpath.c (xrealpath): Make file-truename work with symlinks to
8326         /cygdrive paths on cygwin. Always lowercase drive-letters on
8327         native windows.
8328         (cygwin_readlink): Don't try to find canonical filename unless
8329         file exists.
8330
8331 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8332
8333         * ChangeLog: Log GTK merge.
8334
8335         * dumper.c:
8336         * select-x.c:
8337         * specifier.c:
8338         * symeval.h:
8339         Revert gratuitous whitespace changes from GTK merge.
8340
8341         * emacs.c: Document end of complex #ifdef @ l. 1495.
8342
8343
8344 2001-03-12  Andy Piper  <andy@xemacs.org>
8345
8346         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8347         have to do likewise.
8348
8349 2001-03-12  Andy Piper  <andy@xemacs.org>
8350
8351         * sysdep.c: we only support mingw now.
8352
8353 2001-03-09  Andy Piper  <andy@xemacs.org>
8354
8355         * unexcw.c (copy_executable_and_dump_data_section): making approx
8356         overrun a warning only.
8357
8358 2001-03-10  William M. Perry  <wmperry@aventail.com>
8359
8360         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8361         satisfy Stephen's identical-after-cpp plea.
8362
8363 2001-03-02  Ben Wing  <ben@xemacs.org>
8364
8365         * cmds.c:
8366         * cmds.c (Fforward_char):
8367         * syntax.c:
8368         * window.c:
8369
8370         Augment documentation of the most common motion commands to make
8371         note of the shifted-motion support.
8372         
8373 2001-03-02  Ben Wing  <ben@xemacs.org>
8374
8375         * nt.c (mswindows_fstat):
8376         * nt.c (mswindows_stat):
8377         * search.c (boyer_moore):
8378         Fix compile warnings under Windows.
8379         
8380         * sysdep.c (sys_readdir):
8381         Fix buggy filename-conversion code under Mule.
8382
8383 2001-03-09  William M. Perry  <wmperry@aventail.com>
8384
8385         * Makefile.in.in:
8386         * config.h.in:
8387         * console.c:
8388         * console.h:
8389         * device.c:
8390         * device.h:
8391         * dragdrop.c:
8392         * emacs.c:
8393         * event-stream.c:
8394         * events.c:
8395         * events.h:
8396         * faces.c:
8397         * frame.h:
8398         * general-slots.h:
8399         * glyphs.c:
8400         * gutter.c:
8401         * inline.c:
8402         * lisp.h:
8403         * lrecord.h:
8404         * make-src-depend:
8405         * redisplay-output.c:
8406         * redisplay.c:
8407         * symsinit.h:
8408         * sysfile.h:
8409         * toolbar.c:
8410         * window.c:
8411         The Great GTK Merge.
8412
8413         * ChangeLog.GTK:
8414         * console-gtk.c:
8415         * console-gtk.h:
8416         * device-gtk.c:
8417         * emacs-marshals.c:
8418         * emacs-widget-accessors.c:
8419         * event-gtk.c:
8420         * frame-gtk.c:
8421         * gccache-gtk.c:
8422         * gccache-gtk.h:
8423         * glade.c:
8424         * glyphs-gtk.c:
8425         * glyphs-gtk.h:
8426         * gtk-glue.c:
8427         * gtk-xemacs.c:
8428         * gtk-xemacs.h:
8429         * gui-gtk.c:
8430         * gui-gtk.h:
8431         * menubar-gtk.c:
8432         * native-gtk-toolbar.c:
8433         * objects-gtk.c:
8434         * objects-gtk.h:
8435         * redisplay-gtk.c:
8436         * scrollbar-gtk.c:
8437         * scrollbar-gtk.h:
8438         * select-gtk.c:
8439         * toolbar-gtk.c:
8440         * ui-byhand.c:
8441         * ui-gtk.c:
8442         * ui-gtk.h:
8443         The Great GTK Merge: new files.
8444
8445 2001-02-26  Ben Wing  <ben@xemacs.org>
8446
8447         Reapplied Lstream change.
8448
8449 2001-02-26  Ben Wing  <ben@xemacs.org>
8450
8451         Undid the last change, since it is more controversial than I
8452         thought.  It should be back in at some point soon.
8453         
8454 2001-02-25  Ben Wing  <ben@xemacs.org>
8455
8456         * buffer.c:
8457         * callproc.c (Fold_call_process_internal):
8458         * event-msw.c (ntpipe_slurp_reader):
8459         * event-msw.c (ntpipe_shove_writer):
8460         * event-msw.c (winsock_reader):
8461         * event-msw.c (winsock_writer):
8462         * file-coding.c:
8463         * file-coding.c (detect_eol_type):
8464         * file-coding.c (detect_coding_type):
8465         * file-coding.c (determine_real_coding_system):
8466         * file-coding.c (Fdetect_coding_region):
8467         * file-coding.c (decoding_reader):
8468         * file-coding.c (decoding_writer):
8469         * file-coding.c (mule_decode):
8470         * file-coding.c (Fdecode_coding_region):
8471         * file-coding.c (encoding_reader):
8472         * file-coding.c (encoding_writer):
8473         * file-coding.c (mule_encode):
8474         * file-coding.c (Fencode_coding_region):
8475         * file-coding.c (detect_coding_sjis):
8476         * file-coding.c (decode_coding_sjis):
8477         * file-coding.c (encode_coding_sjis):
8478         * file-coding.c (detect_coding_big5):
8479         * file-coding.c (decode_coding_big5):
8480         * file-coding.c (encode_coding_big5):
8481         * file-coding.c (detect_coding_ucs4):
8482         * file-coding.c (decode_coding_ucs4):
8483         * file-coding.c (encode_coding_ucs4):
8484         * file-coding.c (detect_coding_utf8):
8485         * file-coding.c (decode_coding_utf8):
8486         * file-coding.c (encode_coding_utf8):
8487         * file-coding.c (detect_coding_iso2022):
8488         * file-coding.c (decode_coding_iso2022):
8489         * file-coding.c (encode_coding_iso2022):
8490         * file-coding.c (decode_coding_no_conversion):
8491         * file-coding.c (encode_coding_no_conversion):
8492         * glyphs-x.c (write_lisp_string_to_temp_file):
8493         * gpmevent.c (tty_get_foreign_selection):
8494         * lisp.h:
8495         * lstream.c:
8496         * lstream.c (Lstream_flush_out):
8497         * lstream.c (Lstream_adding):
8498         * lstream.c (Lstream_write_1):
8499         * lstream.c (Lstream_write):
8500         * lstream.c (Lstream_raw_read):
8501         * lstream.c (Lstream_read_more):
8502         * lstream.c (Lstream_read):
8503         * lstream.c (Lstream_unread):
8504         * lstream.c (Lstream_fputc):
8505         * lstream.c (stdio_reader):
8506         * lstream.c (stdio_writer):
8507         * lstream.c (filedesc_reader):
8508         * lstream.c (filedesc_writer):
8509         * lstream.c (lisp_string_reader):
8510         * lstream.c (struct fixed_buffer_stream):
8511         * lstream.c (make_fixed_buffer_input_stream):
8512         * lstream.c (make_fixed_buffer_output_stream):
8513         * lstream.c (fixed_buffer_reader):
8514         * lstream.c (fixed_buffer_writer):
8515         * lstream.c (struct resizing_buffer_stream):
8516         * lstream.c (resizing_buffer_writer):
8517         * lstream.c (dynarr_writer):
8518         * lstream.c (lisp_buffer_reader):
8519         * lstream.c (lisp_buffer_writer):
8520         * lstream.h:
8521         * lstream.h (lstream_implementation):
8522         * lstream.h (struct lstream):
8523         * md5.c (Fmd5):
8524         * process-nt.c (nt_send_process):
8525         * process-unix.c (unix_send_process):
8526         
8527         Correct Lstream lossage due to mixing of signed and unsigned
8528         quantities.  All Lstream uses of size_t and ssize_t are now a
8529         single signed data type Lstream_data_count.  This fixes problems
8530         under Windows with sending large quantities of data to a process,
8531         and may well fix other subtle bugs.
8532
8533 2001-02-23  Martin Buchholz <martin@xemacs.org>
8534
8535         * XEmacs 21.2.45 "Thelxepeia" is released.
8536
8537 2001-02-21  Martin Buchholz  <martin@xemacs.org>
8538
8539         * lisp-union.h (XSETINT): 
8540         (XSETCHAR):
8541         (XSETOBJ): 
8542         Reverse previous change of 2001-02-06.
8543
8544 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
8545
8546         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
8547         buffers.
8548         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8549         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
8550         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
8551         * regex.c (POS_AS_IN_BUFFER): removed
8552         * regex.c (re_search_2):
8553         * regex.c (re_match_2):
8554         Don't use an offset of 1 when calculating buffer positions, since
8555         `BI_BUF_BEGV' does it already.
8556
8557 2001-02-18  Wim Dumon  <wim@easics.be>
8558
8559         * insdel.c (prepare_to_modify_buffer): Also check for
8560         supersession when clash-detection is enabled. 
8561
8562 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
8563
8564         * regex.c (re_match_2_internal):
8565         Convert temp characters from 'const unsigned char' to 're_char'.
8566         Fix crashing bug with extended characters under mule.
8567         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
8568         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
8569         font-lock, pdump, and new syntax-table code.
8570         * syntax.c (find_start_of_comment):
8571         (find_end_of_comment):
8572         (forward-comment):
8573         Fix crashing bugs involving moving beyond end of buffer.
8574         * syntax.c (find_start_of_comment):
8575         Fixed logic to allow proper detection of cases where the same
8576         character is used to end both a two-char comment start and a
8577         two-char comment end sequence. Fixes `(forward-comment -1)'.
8578         * syntax.c (find_start_of_comment):
8579         Return position just past last comment-end character for all cases
8580         (previously was only done for two-char comment-end sequences).
8581         * syntax.c (forward-comment):
8582         Take value returned from `find_end_of_comment', rather than
8583         incrementing it.
8584         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8585         Properly deal with BUFFERP (syntax_cache.object)
8586
8587 2001-02-17  Martin Buchholz  <martin@xemacs.org>
8588
8589         * alloc.c (Fgarbage_collect): 
8590         * alloc.c (make_bit_vector_from_byte_vector):
8591         -Wsign-compare-correctness.
8592
8593 2001-02-16  Martin Buchholz  <martin@xemacs.org>
8594
8595         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
8596         (XSETCHAR): Likewise.
8597         (XSETOBJ): Likewise.
8598
8599 2001-02-15  Martin Buchholz  <martin@xemacs.org>
8600
8601         * mule-canna.c (canna-func-delete_previous): 
8602         Rename to canna-func-delete-previous.
8603
8604 2001-02-14  Martin Buchholz  <martin@xemacs.org>
8605
8606         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
8607
8608 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
8609
8610         * font-lock.c (find_context): Fix C++ compile errors introduced by
8611         recent patch
8612
8613 2001-02-13  Martin Buchholz  <martin@xemacs.org>
8614
8615         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
8616         pragma, but earlier ones barf on the same pragma.
8617
8618 2001-02-06  Mike Sperber <mike@xemacs.org>
8619
8620         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
8621         `configure-mule-lisp-directory'.
8622
8623 2001-02-12  Martin Buchholz  <martin@xemacs.org>
8624
8625         Make sure dump-id.c is compiled in the same way as other .c's.
8626         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
8627         * dump-id.h: Remove.
8628         * emacs.c: Move dump-id.h into dumper.h.
8629         * dumper.h: Move dump-id.h into dumper.h.
8630         * Makefile.in.in:
8631         Use standard .c.o rule for building dump-id.o.
8632         Remove preprocessor flags from link command.
8633         Add dump-id.o to ${otherobjs} if PDUMP.
8634
8635 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
8636
8637         Port FSF 20.7 syntax table improvements.
8638         * syntax.c.
8639         * syntax.h.
8640
8641         Fixups for new syntax table stuff.
8642         * dired.c: Include syntax.c.
8643         (Fdirectory_files): Initialize regex_match_object and
8644         regex_emacs_buffer.
8645         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
8646         and Fget_char_property.
8647
8648         Use ported FSF 20.7 syntax table improvements.
8649         * font-lock.c.
8650         * regex.c.
8651         * search.c.
8652         
8653 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8654
8655         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
8656         Unixware's enum boolean from sys/types.h.
8657
8658 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8659
8660         Fix support for building with latest Purify.
8661         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
8662         (PURIFY_FLAGS): Likewise.
8663
8664 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8665
8666         * fileio.c (lisp_string_set_file_times): New.
8667         * fileio.c (Fcopy_file): Use it.
8668         Fixes bug:
8669         (copy-file filename non-ascii-filename t t)
8670         ==> No such file or directory, non-ascii-filename
8671
8672 2001-02-10  Martin Buchholz  <martin@xemacs.org>
8673
8674         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
8675         USHRT_MAX seems clearer than ~0 anyways.
8676
8677 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8678
8679         dumper improvements.  Inspired by Olivier.
8680         * dumper.c (pdump_max_align): New.
8681         * dumper.c (pdump_add_entry): Use pdump_max_align.
8682         * dumper.c (pdump_get_entry_list): Likewise.
8683         * dumper.c (pdump_scan_by_alignment): Likewise.
8684         Don't iterate through unnecessary alignments.
8685         * dumper.c (pdump_file_get): No need to align result of malloc().
8686         * dumper.c (pdump_mallocadr): Remove.  
8687         The result of malloc() is guaranteed to be maximally aligned.
8688         * dumper.c: s/elmt/elt/g;
8689         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
8690         * dumper.c (pdump_alert_undump_object): Likewise.
8691         * dumper.c (pdump_align_table): 
8692         Don't support alignments > 64.
8693         Store ALIGNOF's, not shift counts, in table.
8694
8695 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8696
8697         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
8698         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
8699         * systime.h: Use HAVE_UTIME.
8700         * sysdep.c (struct utimbuf): Remove.
8701         * sysdep.c (set_file_times): Prefer utime() to utimes().
8702         * config.h.in (HAVE_UTIME): New.
8703         * config.h.in (HAVE_UTIME_H): Remove.
8704         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
8705
8706 2001-02-09  Martin Buchholz  <martin@xemacs.org>
8707
8708         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
8709
8710 2001-02-08  Martin Buchholz  <martin@xemacs.org>
8711
8712         * s/irix6-0.h: Use the standard system memmove, not bcopy.
8713
8714 2001-02-08  Martin Buchholz <martin@xemacs.org>
8715
8716         * XEmacs 21.2.44 "Thalia" is released.
8717
8718 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8719
8720         Fixes crashes in kill-emacs on some systems.
8721         * process-unix.c (unix_kill_child_process):
8722         It's OK for kill() to fail with ESRCH.
8723
8724 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8725
8726         Contortions to make .gdbinit tricks work on most systems.
8727         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
8728         * alloc.c (dbg_valmask): Make non-const.
8729         * alloc.c (dbg_typemask): Make non-const.
8730         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
8731         * alloc.c (dbg_valbits): Make non-const.
8732         * alloc.c (dbg_gctypebits): Make non-const.
8733         * .gdbinit (decode_object): Make it work with AIX cc.
8734
8735 2001-02-06  Martin Buchholz  <martin@xemacs.org>
8736
8737         * elhash.c (make_general_lisp_hash_table):
8738         Use simpler and more efficient calloc to clear entries.
8739
8740 2001-02-07  Martin Buchholz  <martin@xemacs.org>
8741
8742         * window.c (window_scroll): Work around an AIX C compiler bug.
8743         Fixes 'scroll-up' does nothing problem with xlC.
8744
8745 2001-02-05  Martin Buchholz  <martin@xemacs.org>
8746
8747         * .gdbinit: Remove obsolete comment.
8748
8749 2001-01-31  Mike Alexander  <mta@arbortext.com>
8750
8751         * select.c (Fown_selection_internal): Set owned_p for device
8752         method correctly.
8753
8754 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8755
8756         Port to g++ 2.97.
8757         "not" cannot be used as a macro name as it is an operator in C++
8758         * config.h.in: Stop #defining `not'.
8759         * chartab.c (check_category_char): not ==> not_p
8760         * chartab.h: Likewise.
8761         * regex.c (re_match_2_internal): Likewise.
8762
8763 2001-02-02  Martin Buchholz  <martin@xemacs.org>
8764
8765         * lisp-disunion.h: Fix up comments.
8766
8767 2001-01-31  Martin Buchholz  <martin@xemacs.org>
8768
8769         * keymap.c (define_key_check_and_coerce_keysym):
8770         (syms_of_keymap):
8771         Support mouse-6 and mouse-7 bindings in the obvious way.
8772
8773 2001-02-01  Martin Buchholz  <martin@xemacs.org>
8774
8775         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
8776
8777 2001-01-30  Martin Buchholz  <martin@xemacs.org>
8778
8779         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
8780         Previous patch missed DEFVAR_INT_MAGIC.
8781         Make sure future DEFVAR_foo use correct types.
8782         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
8783         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
8784         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
8785         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
8786         * (DEFVAR_INT): Likewise.
8787         * redisplay.c (vertical_clip): Should be of type Fixnum.
8788         * redisplay.c (horizontal_clip): Likewise.
8789         * lisp.h (dump_add_opaque_int): New.
8790         (dump_add_opaque_fixnum): New.
8791
8792 2001-01-29  Andy Piper  <andy@xemacs.org>
8793
8794         * glyphs-widget.c (check_valid_int_or_function): allow symbols
8795         since they can be eval'ed
8796
8797 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8798
8799         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
8800         Oops, XEmacs redefines `class'.  Use `typename' instead.
8801
8802 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8803
8804         * dumper.c: Fix C++ compile errors.
8805
8806 2001-01-29  Martin Buchholz  <martin@xemacs.org>
8807
8808         * tparam.c: Use correct prototypes.
8809
8810 2001-01-28  Martin Buchholz  <martin@xemacs.org>
8811
8812         * sysproc.h: #include util.h for NetBSD's openpty.
8813
8814 2001-01-27  Martin Buchholz  <martin@xemacs.org>
8815
8816         More 64-bit correctness.
8817         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
8818         Use a typedef `fixnum' for the type used for DEFVAR_INT.
8819         Fix up comments.
8820         This finally finishes the 64-bit SGI port.
8821         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
8822         * symbols.c: Fix up comments and type casts.
8823         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
8824         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
8825         * symeval.h (Fixnum): New type.
8826         * symeval.h (symbol_value_type): Fix up comment.
8827
8828         * commands.h:
8829         * nt.c:
8830         * emacs.c:
8831         * data.c:
8832         * redisplay.c:
8833         * abbrev.c:
8834         * dired-msw.c:
8835         * event-Xt.c:
8836         * eldap.c:
8837         * window.c:
8838         * sound.c:
8839         * event-stream.c:
8840         * eval.c:
8841         * buffer.c:
8842         * mule-canna.c: A million DEFVAR_INTs here...
8843         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
8844         * extents.c:
8845         * cmdloop.c:
8846         * lisp.h:
8847         * select-x.c:
8848         * console-x.h:
8849         * event-msw.c:
8850         * mule-wnnfns.c:
8851         * hpplay.c:
8852         * ralloc.c:
8853         * alloc.c:
8854         * keymap.c:
8855         * profile.c:
8856         s/int/Fixnum/g in DEFVAR_INT declarations.
8857
8858 2001-01-26  Martin Buchholz  <martin@xemacs.org>
8859
8860         Port pdump to SGI alignment-sensitive environment.
8861         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
8862         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
8863         properly aligned.
8864         Define and use aligned reading and writing macros.
8865         Use buffered stdio instead of posix i/o for faster dumping.
8866         Eliminate kludgy 256 byte space for header.
8867         Read and write from dump file using structs for alignment safety.
8868         * dumper.c (pdump_align_stream): New.
8869         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
8870         * dumper.c (PDUMP_READ_ALIGNED): New.
8871         * dumper.c (PDUMP_WRITE_ALIGNED): New.
8872         * dumper.c (pdump_static_Lisp_Object): New struct.
8873         * dumper.c (pdump_static_pointer): New struct.
8874         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
8875         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
8876         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
8877         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
8878
8879         * dumper.c (pdump_backtrace):
8880         * dumper.c (pdump_get_indirect_count):
8881         * dumper.c (pdump_register_object):
8882         * dumper.c (pdump_register_struct):
8883         * dumper.c (pdump_reloc_one):
8884         * dumper.c (pdump_scan_by_alignment):
8885         * dumper.c (pdump_dump_from_root_struct_ptrs):
8886         * dumper.c (pdump_dump_opaques):
8887         * dumper.c (pdump_dump_rtables):
8888         * dumper.c (pdump_dump_from_root_objects):
8889         * dumper.c (pdump):
8890         * dumper.c (pdump_load_finish):
8891         Use aligned reading and writing.
8892
8893         * dumper.c (pdump_free): Make static.
8894         * dumper.c (pdump_hFile): Likewise.
8895         * dumper.c (pdump_hMap): Likewise.
8896
8897 2001-01-26  Martin Buchholz <martin@xemacs.org>
8898
8899         * XEmacs 21.2.43 "Terspichore" is released.
8900
8901 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8902
8903         Type fiddling for window_config.saved_windows_count
8904         * window.c (struct window_config): 
8905         Make saved_windows_count member unsigned.
8906         * window.c (sizeof_window_config_for_n_windows): 
8907         Make parameter unsigned.
8908         * window.c (mark_window_config):
8909         * window.c (window_config_equal):
8910         * window.c (free_window_configuration):
8911         * window.c (Fset_window_configuration):
8912         * window.c (count_windows):
8913         * window.c (Fcurrent_window_configuration):
8914         * window.c (reinit_vars_of_window):
8915         Update all callers and users.
8916
8917 2001-01-25  Martin Buchholz  <martin@xemacs.org>
8918
8919         Alignment correctness for flexible arrays.
8920         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
8921         Make alignment-correct. Add interesting comments.
8922         * alloc.c (size_vector):
8923         * alloc.c (make_vector_internal):
8924         * alloc.c (make_bit_vector_internal):
8925         * alloc.c (sweep_bit_vectors_1):
8926         * fns.c (size_bit_vector):
8927         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
8928         * window.c (sizeof_window_config_for_n_windows): 
8929         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
8930
8931 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8932
8933         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
8934
8935 2001-01-23  Andy Piper  <andy@xemacs.org>
8936
8937         * select.c (Fown_selection_internal): pass owned_p
8938
8939         * select-msw.c (mswindows_own_selection): New Signature.
8940
8941         * console.h (struct console_methods): add owned_p to
8942         _own_selection.
8943
8944         * select-x.c (x_own_selection): pass owned_p
8945         (hack_motif_clipboard_selection): use owned_p
8946         (vars_of_select_x): new variable -
8947         x_selection_strict_motif_ownership.
8948
8949 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8950
8951         * specifier.h (specifier_data_offset): Remove pointless parens.
8952         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
8953
8954 2001-01-24  Martin Buchholz  <martin@xemacs.org>
8955
8956         Make Lisp_Object sizeof methods be alignment-correct.
8957         pdump must restore objects to the same alignment as the C compiler
8958         assumes.  It really matters on SGIs.
8959         * lstream.c (aligned_sizeof_lstream): New.
8960         (sizeof_lstream): Use aligned_sizeof_lstream.
8961         (Lstream_new): Likewise.
8962         * opaque.c (aligned_sizeof_opaque): New.
8963         (sizeof_opaque): Use aligned_sizeof_opaque.
8964         (make_opaque): Likewise.
8965         * specifier.c (aligned_sizeof_specifier): New.
8966         (sizeof_specifier): Use aligned_sizeof_specifier.
8967         (make_specifier_internal): Likewise.
8968
8969 2001-01-23  Martin Buchholz  <martin@xemacs.org>
8970
8971         * lstream.h (struct lstream): Use max_align_t for trailing data.
8972         * specifier.h (struct Lisp_Specifier): Likewise.
8973
8974 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8975
8976         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
8977         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
8978         (CCL_SUSPEND): Likewise.
8979         (CCL_INVALID_CMD): Likewise.
8980         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
8981         (ccl_driver): Likewise.
8982         (CCL_WRITE_CHAR): Macro hygiene.
8983         (CCL_WRITE_STRING): Macro hygiene.
8984
8985 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8986
8987         Port "portable" dumper to SunOS 4 and HP-UX.
8988         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
8989         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
8990         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
8991
8992 2001-01-22  Martin Buchholz  <martin@xemacs.org>
8993
8994         * lisp.h (ALIGNOF): A better definition for C++.
8995
8996 2001-01-20  Martin Buchholz  <martin@xemacs.org>
8997
8998         Macro hygiene.
8999         Fix printf warnings: int format, long int arg.
9000         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
9001         (PUSH_FAILURE_POINT): Use correct printf formats.
9002         (POP_FAILURE_POINT): Use correct printf formats.  
9003         Use do {...} while (0)
9004
9005 2001-01-20  Martin Buchholz <martin@xemacs.org>
9006
9007         * XEmacs 21.2.42 "Poseidon" is released.
9008
9009 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9010
9011         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
9012
9013 2001-01-19  Martin Buchholz  <martin@xemacs.org>
9014
9015         De-kludgify FIXED_TYPE free list frobbing.
9016         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
9017         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
9018         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
9019         * alloc.c (Lisp_Free): New pseudo lisp object definition.
9020         * alloc.c (LRECORD_FREE_P): New.
9021         * alloc.c (MARK_LRECORD_AS_FREE): New.
9022         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
9023         * alloc.c (STRUCT_FREE_P): Deleted.
9024         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
9025         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
9026         * alloc.c (STRING_CHARS_FREE_P): New.
9027         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
9028         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
9029         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
9030         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
9031         * alloc.c (resize_string): Use new definitions.
9032         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
9033         * alloc.c (verify_string_chars_integrity): Use new definitions.
9034         * alloc.c (compact_string_chars): Use new definitions.
9035         * alloc.c: Update monster comments.
9036         * lrecord.h (lrecord_type): Add some new lrecord types for
9037         alloc.c's use.
9038
9039 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9040
9041         Improve alignment hackery.
9042         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
9043         (max_align_t): Moved from opaque.h - general purpose.
9044         (ALIGN_PTR): Use size_t, not long.
9045         * opaque.h (max_align_t): Move to lisp.h.
9046
9047 2001-01-18  Norbert Koch  <nk@LF.net>
9048
9049         * gui.h: Fix and add prototypes to fix build problems.
9050
9051 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9052
9053         temacs is going away, so `dump-temacs' is now a bad name.
9054         * .dbxrc (dump-temacs): Rename to `dmp'.
9055         * .gdbinit (dump-temacs): Rename to `dmp'.
9056
9057 2001-01-17  Andy Piper  <andy@xemacs.org>
9058
9059         * glyphs.c (print_image_instance): comment to make martin happy.
9060
9061         * glyphs-x.c (x_redisplay_widget): update faces after a frame
9062         change.
9063
9064         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
9065         activation.
9066         (mswindows_tab_control_redisplay): warning suppression.
9067
9068         * glyphs-widget.c (widget_update): re-write to cope with updated
9069         items.
9070         (widget_instantiate): use new gui_item functions.
9071         (tab_control_update): deleted.
9072         (progress_gauge_update): deleted.
9073         (image_instantiator_progress_guage): take out update reference.
9074         (image_instantiator_tree_view): ditto.
9075         (image_instantiator_tab_control): ditto.
9076
9077         * gui.c (widget_gui_parse_item_keywords): new function. Do things
9078         Right the new way.
9079         (gui_item_add_keyval_pair): re-write to cope with descriptors and
9080         return whether anything was changed.
9081         (update_gui_item_keywords): as it sounds.
9082
9083         * gui.h: declare widget_gui_parse_item_keywords.
9084
9085         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
9086         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
9087
9088 2001-01-17  Martin Buchholz <martin@xemacs.org>
9089
9090         * XEmacs 21.2.41 "Polyhymnia" is released.
9091
9092 2001-01-16  Didier Verna  <didier@xemacs.org>
9093
9094         * glyphs.c (image_instantiate): don't use fallbacks when
9095         instantiating a face's background pixmap by inheritance.
9096
9097 2001-01-14  Mike Sperber <mike@xemacs.org>
9098
9099         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
9100         Conditionalize accordingly.
9101
9102 2001-01-16  Martin Buchholz  <martin@xemacs.org>
9103
9104         * dumper.c (pdump_file_get): Fix a compiler warning.
9105
9106 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9107
9108         Make Purify happy when pdumping.
9109         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9110         iniitalizing all bits of new lisp object memory.
9111         * symbols.c (Fmake_local_variable): Likewise.
9112         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9113         * symbols.c (Fdefvaralias): Likewise.
9114         * mule-charset.c (vars_of_mule_charset): Likewise.
9115
9116 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9117         Add the `-nd' flag when running pre-dump operations under the debugger.
9118         * .dbxrc (run-temacs): Add `-nd'.
9119         * .dbxrc (update-elc): Likewise.
9120         * .dbxrc (dump-temacs): Likewise.
9121         * .gdbinit (run-temacs): Likewise.
9122         * .gdbinit (check-temacs): Likewise.
9123         * .gdbinit (update-elc): Likewise.
9124         * .gdbinit (dump-temacs): Likewise.
9125
9126 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9127
9128         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9129         export OBJECT_MODE=64
9130         configure --pdump --use-union-type=no
9131         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9132         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9133
9134         * miscplay.c (sndcnv8U_2mono):
9135         Avoid two uses of `++' in the same expression.
9136         Suppresses a GCC warning.
9137
9138 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9139
9140         Make sure future compilers don't miscompile alloc.c.
9141         * alloc.c:
9142         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9143         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9144
9145 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9146
9147         * dumper.c: A little post-pdump-rename comment fixup.
9148
9149 2001-01-09  Jerry James  <james@eecs.ku.edu>
9150
9151         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9152
9153 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9154
9155         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9156         script:
9157         #!/bin/sh
9158         replace_symbol () {
9159           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9160         }
9161
9162         replace_symbol pdump_wire_lists pdump_weak_object_chains
9163         replace_symbol pdump_wire_list dump_add_weak_object_chain
9164
9165         replace_symbol pdump_wires pdump_root_objects
9166         replace_symbol pdump_wire dump_add_root_object
9167
9168         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9169         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9170
9171         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9172         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9173         replace_symbol dumpstructinfo pdump_root_struct_ptr
9174         replace_symbol dumpstruct dump_add_root_struct_ptr
9175
9176         replace_symbol dumpopaque dump_add_opaque
9177         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9178         replace_symbol dumpopaqueinfos pdump_opaques
9179         replace_symbol dumpopaqueinfo pdump_opaque
9180
9181         replace_symbol nb_structdump nb_root_struct_ptrs
9182         replace_symbol nb_opaquedump nb_opaques
9183
9184         replace_symbol align_table pdump_align_table
9185         replace_symbol dump_header pdump_header
9186
9187         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9188         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9189
9190
9191 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9192
9193         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9194         optimizing bytecount_to_charcount().
9195
9196 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9197
9198         * config.h.in:
9199         (HAVE_DLFCN_H): Removed.
9200         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9201
9202 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9203
9204         Portable dumper maintainability improvements.
9205         * alloc.c (staticpro):
9206         * alloc.c (staticpro_nodump):
9207         * alloc.c (garbage_collect_1):
9208         * alloc.c (reinit_alloc_once_early):
9209         * alloc.c (init_alloc_once_early):
9210         * alloc.c: Move dumper functions to alloc.c.
9211         * dumper.c (pdump_backtrace):
9212         * dumper.c (pdump_dump_structs):
9213         * dumper.c (pdump_dump_opaques):
9214         * dumper.c (pdump_dump_rtables):
9215         * dumper.c (pdump_dump_wired):
9216         * dumper.c (pdump):
9217         * dumper.c (pdump_load_check):
9218         * dumper.c (pdump_load_finish):
9219         * dumper.c (pdump_file_unmap):
9220         * dumper.c (pdump_file_get):
9221         * dumper.c (pdump_resource_free):
9222         * dumper.c (pdump_resource_get):
9223         * dumper.c (pdump_file_free):
9224         * dumper.c (pdump_file_try):
9225         * dumper.c (pdump_load):
9226         Remove fixed size limits on staticpro(), staticpro_nodump(),
9227         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9228         Remove custom code for dumping lrecord_implementations_table - use
9229         dumpopaque instead.
9230         Remove (most of the) custom code for dumping staticpros - dump it
9231         like any other dynarr.
9232
9233         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9234         * dumper.c: Moved functions from alloc.c.
9235         * alloc.c (dumpstruct): Moved to dumper.c.
9236         * alloc.c (dumpopaque): Likewise.
9237         * alloc.c (pdump_wire): Likewise.
9238         * alloc.c (pdump_wire_list): Likewise.
9239
9240         * lisp.h (Dynarr_sizeof): New.
9241         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9242         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9243         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9244
9245         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9246         * lisp.h (dumpopaque): ditto.
9247         * lisp.h (pdump_wire): ditto.
9248         * lisp.h (pdump_wire_list): ditto.
9249
9250 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9251
9252         * make-src-depend (PrintPatternDeps):
9253         Use `sort' to make output independent of perl version.
9254
9255 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9256
9257         Port to Netbsd 1.5.
9258         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9259         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9260
9261 2001-01-03  Didier Verna  <didier@xemacs.org>
9262
9263         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9264         that `focus_frame' is alive before thinking of calling
9265         `redisplay_redraw_cursor' on it.
9266
9267 2001-01-08  Martin Buchholz <martin@xemacs.org>
9268
9269         * XEmacs 21.2.40 is released.
9270
9271 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9272
9273         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9274
9275 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9276
9277         * alloc.c (dbg_valmask): Make const.
9278         * alloc.c (dbg_typemask): Make const.
9279         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9280         * alloc.c (dbg_valbits): Make const.
9281         * alloc.c (dbg_gctypebits): Make const.
9282
9283 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9284
9285         * redisplay-x.c (x_bevel_area):
9286         redisplay.h (struct rune):
9287         Typo fixes in comments.
9288
9289 2001-01-05  Andy Piper  <andy@xemacs.org>
9290
9291         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9292         adjustment.
9293
9294         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9295
9296 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9297
9298         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9299
9300         * mule-ccl.c (stack_idx_of_map_multiple):
9301         Non const global data must not be initialized!
9302         Found by MIYASHITA Hisashi.
9303
9304 2001-01-02  Andy Piper  <andy@xemacs.org>
9305
9306         * frame.c (change_frame_size): make sure frame size is always
9307         marked as changed.
9308
9309         * glyphs.c (image_instance_layout): minor code reuse.
9310
9311         * window.c (Fcurrent_window_configuration): revert previous
9312         change.
9313
9314 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9315
9316         * glyphs.h:
9317         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9318
9319 2000-12-31  Andy Piper  <andy@xemacs.org>
9320
9321         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9322         when widget gets unmapped.
9323
9324         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9325         function. Make sure widgets losing focus don't just drop it.
9326         (handle_focus_event_1): record the widget with focus.
9327
9328 2000-12-31  Andy Piper  <andy@xemacs.org>
9329
9330         * window.c (allocate_window): use
9331         make_image_instance_cache_hash_table.
9332         (make_dummy_parent): ditto.
9333         (Fset_window_configuration): ditto.
9334
9335         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9336
9337         * glyphs.c (process_image_string_instantiator): use
9338         INSTANTIATOR_TYPE.
9339         (get_image_instantiator_governing_domain): ditto.
9340         (normalize_image_instantiator): ditto.
9341         (instantiate_image_instantiator): ditto.
9342         (make_image_instance_1): ditto.
9343         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9344         (instantiator_eq_equal): new function for use with instance hash
9345         tables.
9346         (instantiator_eq_hash): ditto.
9347         (make_image_instance_cache_hash_table): create a suitable hash
9348         table for storing image instances.
9349
9350         * elhash.h (hash_table_weakness): new internal weakness type
9351         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9352         declare new functions.
9353
9354         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9355         another weakness type for glyphs.
9356         (make_standard_lisp_hash_table): new function split out from
9357         make_general_lisp_hash_table.
9358         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9359         (hash_table_instantiate): ditto.
9360         (Fmake_hash_table): ditto.
9361
9362 2000-12-31  Martin Buchholz <martin@xemacs.org>
9363
9364         * XEmacs 21.2.39 is released.
9365
9366 2000-12-29  Andy Piper  <andy@xemacs.org>
9367
9368         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9369
9370         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9371         the frame has changed so that we pick up geometry changes such as
9372         menubar visibility.
9373
9374 2000-12-28  Andy Piper  <andy@xemacs.org>
9375
9376         * lastfile.c (my_ebss): make a char array so we can pad the
9377         bss. Fixes cygwin unexec.
9378
9379         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9380
9381 2000-12-26  Andy Piper  <andy@xemacs.org>
9382
9383         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9384         comments and try and be more precise about a non-/SIGIO world.
9385         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9386         SIGIO.
9387
9388         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9389         we don't normalize to zero width or height.
9390
9391 2000-12-24  Andy Piper  <andy@xemacs.org>
9392
9393         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9394
9395 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9396
9397         * s/sco5.h: SCO 5 has pty support.
9398
9399 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9400
9401         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9402         input-method-xlib.c contains whole contents of input-method-xfs.c,
9403         so we can use input-method-xlib.c's code for USE_XFONTSET
9404         using #ifdefs.
9405         * input-method-xfs.c: removed.
9406
9407 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9408
9409         * file-coding.h (enum coding_category_type): reorder enumerators to
9410         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9411         (now one greater than largest real coding_category_type enumerator).
9412         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9413         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9414         Fcoding_category_list, Fset_coding_priority_list,
9415         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9416         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9417
9418 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9419
9420         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9421         * redisplay-output.c (redisplay_output_window): Clear top of window
9422         when face is changed.
9423         * redisplay-x.c (x_redraw_exposed_window): Call
9424         redisplay_clear_top_of_window.
9425         * redisplay.h: Publish redisplay_clear_top_of_window.
9426
9427 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9428
9429         * buffer.c (Fkill_buffer): Map over all devices.
9430         * window.c (window_loop): Remove UNSHOW_BUFFER code.
9431         (list_windows): New function.
9432         (list_all_windows): Ditto.
9433         (Freplace_buffer_in_windows): Use them.
9434
9435 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
9436
9437         * database.c (berkdb_subtype): Recognize new subtype `queue'.
9438         (Fopen_database): Use `db_create' instead of `db_open'.
9439         (syms_of_database): Initialize Qqueue.
9440
9441 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9442
9443         * buffer.c (common_init_complex_vars_of_buffer): Initialize
9444         buffer_local_face_property.
9445         * buffer.h (struct buffer): New member buffer_local_face_property.
9446         * window.c (Fset_window_buffer):  Mark window's face as changed
9447         when buffer has buffer local face.
9448         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
9449         * objects.c (color_after_change): Set buffer_local_face_property
9450         when locale of face specifier is buffer.
9451         * objects.c (font_after_change): Ditto.
9452         * objects.c (face_boolean_after_change): Ditto.
9453         * glyphs.c (image_after_change): Ditto.
9454
9455 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9456
9457         * nt.c (mswindows_fstat): Report file permissions, volume serial
9458         number, etc. Code adapted from FSF Emacs 20.7.
9459
9460 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9461
9462         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
9463         of stat when we don't have symbolic links, to make sure
9464         mswindows_stat is called on mswindows.
9465
9466 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
9467
9468         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
9469
9470 2000-12-12  Martin Buchholz  <martin@xemacs.org>
9471
9472         * doprnt.c (emacs_doprnt_1): More printing fixes.
9473         Make printing of numbers compatible with libc and FSF Emacs.
9474         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
9475         Use the system printf to do most of the hard work of formatting,
9476         instead of doprnt_1().
9477         Calculate memory to allocate for format string.
9478         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
9479         (doprnt_1): Cleaner code and documentation.
9480
9481 2000-12-01  Jerry James  <james@eecs.ukans.edu>
9482
9483         * Makefile.in.in: Use the loop variable to install headers.
9484
9485 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9486
9487         * window.c (Fsplit_window): Don't invalidate face cache.
9488
9489 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9490
9491         * minibuf.c (Fall_completions): Undo the previous change
9492         which removed checking elements start with space.
9493
9494 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9495
9496         * mule-canna.c: Didier suppression.
9497
9498 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9499
9500         * mule-canna.c: rename static unsigned char buf[] to key_buffer
9501         (warning suppression).  Add English comment translations.
9502
9503 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9504
9505         * unexelfsgi.c (unexec): Better test for mmap failure.
9506
9507 2000-12-05  Martin Buchholz <martin@xemacs.org>
9508
9509         * XEmacs 21.2.38 is released.
9510
9511 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9512
9513         * redisplay.c (bar-cursor): Make a user variable.
9514
9515         * symsinit.h: Add init_postgresql_from_environment.
9516
9517 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9518
9519         * regex.c: Convert to clean C.
9520
9521 2000-12-05  Dan Holmsand  <dan@eyebee.com>
9522
9523         * realpath.c:
9524         Don't #include sysfile.h. Revert to duplicating PATH_MAX
9525         initialization.
9526         (sys_readlink): renamed to system_readlink to avoid conflict with
9527         the other sys_readlink.
9528
9529 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
9530
9531         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
9532
9533 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
9534
9535         * postgresql.c (init_postgresql_from_environment): new function.
9536         (vars_of_postgresql): Move code initializing Lisp variables out and
9537         into init_postgresql_from_environment.
9538         emacs.c (main_1): Call init_postgresql_from_environment if and only
9539         if running a dumped XEmacs.
9540
9541 2000-08-31  Dan Holmsand  <dan@eyebee.com>
9542
9543         * buffer.c: Make find-file-compare-truenames default to true on
9544         windows.
9545
9546         * realpath.c (win32_abs_start):
9547         (cygwin_readlink):
9548         (win32_readlink): New functions.
9549         (xrealpath): Return really real filenames on windows.
9550
9551         * fileio.c (Ffile_truename): Make file-truename work on windows.
9552
9553 2000-11-29  Didier Verna  <didier@xemacs.org>
9554
9555         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
9556         * faces.c (update_face_cachel_data): use it.
9557         * faces.c (add_face_cachel): use it. Complete background pixmap
9558         frobbing in face cache if `update_face_cachel_data' has not done so.
9559
9560 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
9561
9562         * search.c (string_match_1): Don't set last_thing_searched
9563         when search failed.
9564
9565 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
9566
9567         * buffer.c: Include casetab.h
9568         (common_init_complex_vars_of_buffer): Use new case-table object.
9569         * buffer.h: Include casetab.h
9570         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
9571         (DOWNCASE_TABLE_OF): Ditto.
9572         * bufslots.h: Remove char-tables and add case-table.
9573         * casetab.c: Include casetab.h
9574         (CASE_TABLE_P): Removed.
9575         (mark_case_table): New function.
9576         (allocate_case_table): New function.
9577         (Fcase_table_p): Use new case-table.
9578         (case_table_char): New function.
9579         (Fget_case_table): Ditto.
9580         (Fput_case_table): Ditto.
9581         (Fput_case_table_pair): Ditto.
9582         (Fcopy_case_table): Ditto.
9583         (Fcurrent_case_table): Return case-table.
9584         (Fstandard_case_table): Return case-table.
9585         (Fset_case_table): Fix doc-string.
9586         (set_case_table): Use case-table
9587         (syms_of_casetab): DEFSUBR new functions.
9588         (complex_vars_of_casetab): Set up standard case-table.
9589         * casetab.h: New file.
9590         * editfns.c: Include casetab.h
9591         (Fcompare_buffer_substrings): Use case-table.
9592         * inline.c: Include casetab.h
9593         * lisp.h: Remove bogus extern.
9594         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
9595         * search.c: Include casetab.h
9596         (TRANSLATE_ASCII): Removed.
9597         (TRANSLATE): Unconditionally translate character.
9598         (looking_at_1): Use case-table.
9599         (string_match_1): Ditto.
9600         (fast_string_match): Ditto.
9601         (search_command): Ditto.
9602         (search_buffer): Separate boyer_moore.  Check whether
9603         boyer_moore is possible.
9604         (simple_search): New function.
9605         (boyer_moore): Separated from search_buffer. Translate char.
9606
9607 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
9608
9609         * regex.c (RE_TR_ASCII): Removed.
9610         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
9611         (PATFETCH): Call PATFETCH_RAW.
9612         (PATFETCH_RAW): Fetch Emchar.
9613         (PATUNFETCH): Decrement charptr.
9614         (GET_BUFFER_SPACE): Rename b to buf_end.
9615         (BUF_PUSH): Ditto.
9616         (BUF_PUSH_2): Ditto.
9617         (BUF_PUSH_3): Ditto.
9618         (EXTEND_BUFFER): Ditto.
9619         (SET_LIST_BIT): Ditto.
9620         (regex_compile): Ditto.  Translate non ASCII char.
9621         (compile_range): Ditto.
9622         (re_search_2): Ditto.
9623         (re_match_2_internal): Compare Emchar.
9624         (bcmp_translate): Ditto.
9625
9626 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
9627
9628         * lisp.h (basic char/int typedefs):  comment improvement.
9629
9630 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
9631
9632         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
9633         unstomp inhibit_site_lisp.  Improve comments.
9634
9635 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
9636
9637         * mule-charset.c (Fcharset_property):  improve type checking, comments.
9638
9639 2000-11-28  Andy Piper  <andy@xemacs.org>
9640
9641         * redisplay-output.c (redisplay_output_subwindow): make sure we do
9642         clipped display for windows in the gutter also.
9643         (redisplay_display_boxes_in_window_p): change semantics of return
9644         codes to be more intuitive.
9645
9646         * gutter.h: declare display_boxes_in_gutter_p.
9647
9648         * gutter.c (display_boxes_in_gutter_p): new function for
9649         redisplay.
9650
9651 2000-11-22  Andy Piper  <andy@xemacs.org>
9652
9653         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
9654         autodetect domain.
9655
9656 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
9657
9658         * callproc.c (Fold_call_process_internal):
9659         * gpm.c (Freceive_gpm_event):
9660         (tty_get_foreign_selection): Might be just warning supression.
9661         * fileio.c (Fwrite_region_internal):
9662         (Fset_visited_file_modtime):
9663         * keymap.c (event_matches_key_specifier_p):
9664         Initialize GCPROed variable.
9665
9666         * menubar-x.c (command_builder_find_menu_accelerator):
9667         Initialize before use.
9668
9669 2000-11-23  Andy Piper  <andy@xemacs.org>
9670
9671         * unexcw.c (unexec): make the resulting executable executable.
9672
9673 2000-11-21  Martin Buchholz  <martin@xemacs.org>
9674
9675         * doc.c (get_doc_string):
9676         Use size_t, not int, for result of XSTRING_LENGTH.
9677
9678         * cmds.c (Fdelete_char):
9679         * cmds.c (Fpoint_at_eol):
9680         * cmds.c (Fself_insert_command):
9681         Use EMACS_INT, not int, for result of XINT.
9682         Someday, someone will want to insert more than 2**31 identical characters.
9683
9684         * cmds.c (Fdelete_char):
9685         * cmds.c (Fdelete_backward_char):
9686         * syntax.c (Fforward_word):
9687         * syntax.c (Fforward_comment):
9688         Make COUNT argument optional, for consistency with forward-char et al.
9689
9690 2000-11-22  Martin Buchholz  <martin@xemacs.org>
9691
9692         * lisp.h:
9693         * print.c (long_to_string):
9694         Return a useful value: the pointer at end of data written.
9695
9696         * doprnt.c:
9697         Use `static const char * const' for constant strings.
9698         (union printf_arg): Delete `i', `ui' members.
9699         (get_doprnt_args):
9700         (emacs_doprnt_1):
9701         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
9702         Do all printf-ing via the `l' specifier.
9703         Use EMACS_INT instead of int.
9704         Optimize.
9705
9706 2000-11-20  Didier Verna  <didier@xemacs.org>
9707
9708         * faces.c (update_face_cachel_data): don't frob the background
9709         pixmap when the window is being created. The face is needed but
9710         does not exist yet.
9711
9712 2000-11-20  Andy Piper  <andy@xemacs.org>
9713
9714         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
9715         messing with a debug environment.
9716
9717 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9718
9719         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
9720
9721 2000-11-20  Martin Buchholz  <martin@xemacs.org>
9722
9723         * casetab.c (Fcase_table_p): Fix compile error and crash.
9724
9725 2000-11-18  Philip Aston  <philipa@mail.com>
9726
9727         * s/cygwin32.h: Cygwin has SVR4-like pty support.
9728
9729 2000-11-18  Martin Buchholz  <martin@xemacs.org>
9730
9731         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
9732         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
9733
9734 2000-11-17  Martin Buchholz  <martin@xemacs.org>
9735
9736         * config.h.in: Define HAVE_ELF_H if elf.h exists.
9737         * unexelf.c: Use HAVE_ELF_H.
9738         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
9739         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
9740         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
9741         Greg Harrington <greg_harrington@hotmail.com> provided a machine
9742         for testing.
9743         So this is an unexelfsgi.c from a different line of development.
9744
9745 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9746
9747         * regex.c (RE_TR_ASCII): New function.
9748         (RE_TRANSLATE): Call it.
9749
9750 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
9751
9752         * buffer.h (TRT_TABLE_OF): Remove assert.
9753         (IN_TRT_TABLE_DOMAIN): Removed.
9754
9755 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9756
9757         * free-hook.c (log_gcpro):
9758         (show_gcprohist): Add support for GCPRO5.
9759
9760 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
9761
9762         * emacs.c (main_1): Improve -sd error message when --pdump=no.
9763
9764 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
9765
9766         * symeval.h: Declare flush_all_buffer_local_cache.
9767
9768         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
9769         (flush_buffer_local_cache): Added.
9770         (flush_all_buffer_local_cache): Added.
9771
9772         * lrecord.h: Remove unused XD_LO_RESET_NIL.
9773
9774         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
9775         (pdump_dump_data): Ditto.
9776         (pdump_reloc_one): Ditto.
9777         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
9778         before dumping.
9779
9780
9781 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9782
9783         * buffer.c: Remove if 0'ed entry.
9784         * buffer.h: Rewrite TRT to use char-table.
9785         * bufslots.h: Remove mirror tables.
9786         * casetab.c: Remove mirror tables.
9787         (CASE_TABLE_P): New macro.
9788         (Fcase_table_p): Element of a case table is string or char-table.
9789         (make_mirror_trt_table): Removed.
9790         (set_case_table): Setup char-table from strings for backward
9791         compatibility.
9792         * dired.c (Fdirectory_files):
9793         * dired-msw.c: (mswindows_get_files):
9794         * lisp.h: Change prototype of re_pattern_buffer.
9795         * regex.c: (RE_TRANSLATE): New macro.
9796         (TRANSLATE_P): Ditto.
9797         Change translate to type RE_TRANSLATE_TYPE.
9798         * regex.h: Define RE_TRANSLATE_TYPE
9799         * search.c (TRANSLATE): New macro.
9800         (TRANSLATE_ASCII): New macro.
9801         Translate table is changed to Lisp_Object.
9802         (signal_failure): Inhibit return.
9803
9804 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
9805
9806         * device-msw.c:
9807         * eldap.c:
9808         * event-Xt.c:
9809         * event-stream.c:
9810         * print.c:
9811         Do UNGCPRO before return.
9812
9813 2000-11-14  Martin Buchholz <martin@xemacs.org>
9814
9815         * XEmacs 21.2.37 is released.
9816
9817 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9818
9819         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
9820         Add comments about discarded return value.
9821
9822 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9823
9824         * callint.c:
9825         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
9826
9827 2000-10-27  Andy Piper  <andy@xemacs.org>
9828
9829         * gutter.c (Fset_default_gutter_position): default left and right
9830         gutters to visible.
9831         (calculate_gutter_size): calculate resonable heuristic for left
9832         and right gutter sizes.
9833         (specifier_vars_of_gutter): change left and right gutter sizes to
9834         autodetect.
9835         (calculate_gutter_size_from_display_lines): new function.
9836         (output_gutter): check for resizing on left and right gutters.
9837         (clear_gutter): don't special case top and left gutters.
9838         (specifier_vars_of_gutter): use new signature for
9839         set_specifier_caching.
9840
9841         * glyphs-x.c (x_redisplay_widget): spelling fix.
9842         * glyphs.c (specifier_vars_of_glyphs):
9843         * menubar.c (specifier_vars_of_menubar):
9844         * redisplay.c (specifier_vars_of_redisplay):
9845         * toolbar.c (specifier_vars_of_toolbar):
9846         * window.c (specifier_vars_of_window):
9847         * scrollbar.c (specifier_vars_of_scrollbar):
9848         (complex_vars_of_scrollbar): use new signature for
9849         set_specifier_caching.
9850
9851         * specifier.c (set_specifier_caching): include recompute flag.
9852         (recompute_one_cached_specifier_in_window): always recompute if
9853         flag set.
9854         (recompute_one_cached_specifier_in_frame): ditto.
9855
9856         * specifier.h (struct specifier_caching): add recompute flag.
9857
9858 2000-10-24  Andy Piper  <andy@xemacs.org>
9859
9860         * unexcw.c (copy_executable_and_dump_data_section): add new
9861         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
9862         5.0 happy.
9863
9864 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9865
9866         * console-x.h (x_device): New member modifier_release_time.
9867         * event-Xt.c (x_handle_sticky_modifiers):
9868         Bound interval modifier keys are sticky.
9869         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
9870         * events.h: extern it.
9871
9872 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9873
9874         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
9875
9876 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9877
9878         * event-stream.c (execute_command_event): Preserve current_events
9879         and the like when event is misc-user-event.
9880         Inhibit quit during the call to maybe_echo_keys.
9881
9882 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9883
9884         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
9885         symlink when buffer is killed.
9886         (inhibit_clash_detection): New variable.
9887
9888 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9889
9890         * console.c (Fset_input_method): Trigger redisplay on tty.
9891
9892 2000-11-07  Martin Buchholz  <martin@xemacs.org>
9893
9894         * process.c (Fprocess_status): Revert to previous behavior:
9895         (process-status "nosuchprocess") ==> nil
9896
9897 2000-11-06  Martin Buchholz  <martin@xemacs.org>
9898
9899         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
9900         Work around another GCC 2.95.2 optimizer bug.
9901
9902 2000-11-02  Martin Buchholz  <martin@xemacs.org>
9903
9904         * process.c (Fget_process): Use LIST_LOOP_2.
9905         (kill_buffer_processes): Use LIST_LOOP_2.
9906
9907         * minibuf.c (Fall_completions):
9908         Delete old non-functional code for FSF fourth argument.
9909
9910         * frame.c (frame_matches_frame_spec):
9911         Renamed from `frame_matches_frametype'.  Update all callers.
9912         (device_matches_device_spec):
9913         Renamed from 'device_matches_console_spec'.  Update all callers.
9914
9915         * doc.c (Fsubstitute_command_keys):
9916         Remove buffer overflow crash.  Small code cleanups.
9917
9918         * casetab.c (check_case_table): Simpler code.
9919
9920         * window.c (Freplace_buffer_in_windows):
9921         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
9922         (and similar implementation) as Fdelete_windows_on.
9923         Update all callers.
9924
9925         * alloc.c (Fmake_list):
9926         * alloc.c (make_vector):
9927         * alloc.c (Fmake_vector):
9928         * alloc.c (make_bit_vector):
9929         * alloc.c (Fmake_bit_vector):
9930         * alloc.c (Fbit_vector):
9931         * alloc.c (Fmake_string):
9932         * alloc.c (Fpurecopy):
9933         * alloc.c (Fmemory_limit):
9934         * buffer.c:
9935         * buffer.c (Fget_buffer):
9936         * buffer.c (Fkill_buffer):
9937         * buffer.c (complex_vars_of_buffer):
9938         * bytecode.c (Fcompiled_function_stack_depth):
9939         * callint.c (Fprefix_numeric_value):
9940         * event-stream.c:
9941         * event-stream.c (Fread_key_sequence):
9942         * casetab.c:
9943         * casetab.c (Fcase_table_p):
9944         * casetab.c (check_case_table):
9945         * casetab.c (Fset_case_table):
9946         * casetab.c (Fset_standard_case_table):
9947         * chartab.c:
9948         * chartab.c (Fchar_table_type):
9949         * chartab.c (Freset_char_table):
9950         * chartab.c (Fget_char_table):
9951         * chartab.c (Fget_range_char_table):
9952         * chartab.c (Fput_char_table):
9953         * chartab.c (Fmap_char_table):
9954         * chartab.c (Fcategory_table_p):
9955         * chartab.c (Fcheck_category_at):
9956         * chartab.c (Fchar_in_category_p):
9957         * chartab.c (Fcategory_table):
9958         * chartab.c (Fcopy_category_table):
9959         * chartab.c (Fset_category_table):
9960         * chartab.c (Fcategory_designator_p):
9961         * chartab.c (Fcategory_table_value_p):
9962         * cmds.c (Fdelete_char):
9963         * cmds.c (Fdelete_backward_char):
9964         * cmds.c (Fself_insert_command):
9965         * cmds.c (Fself_insert_internal):
9966         * console.c (Fvalid_console_type_p):
9967         * console.c (Fcdfw_console):
9968         * console.c (Fconsole_type):
9969         * console.c (Fconsole_name):
9970         * console.c (Fconsole_device_list):
9971         * console.c (Fconsole_on_window_system_p):
9972         * data.c:
9973         * data.c (Feq):
9974         * data.c (Fold_eq):
9975         * data.c (Fsubr_interactive):
9976         * data.c (Fchar_to_int):
9977         * data.c (Fint_to_char):
9978         * data.c (Fsetcar):
9979         * data.c (Fsetcdr):
9980         * data.c (Fnumber_to_string):
9981         * data.c (Fstring_to_number):
9982         * data.c (Frem):
9983         * database.c (mark_database):
9984         * database.c (finalize_database):
9985         * database.c (Fdatabase_live_p):
9986         * database.c (Fdatabasep):
9987         * device-x.c (Fx_get_resource):
9988         * device.c (Fdfw_device):
9989         * dired.c:
9990         * dired.c (Ffile_name_completion):
9991         * dired.c (Ffile_name_all_completions):
9992         * dired.c (Fuser_name_completion):
9993         * dired.c (Fuser_name_completion_1):
9994         * dired.c (Fuser_name_all_completions):
9995         * doc.c (Fdocumentation):
9996         * doc.c (Fdocumentation_property):
9997         * doc.c (Fsubstitute_command_keys):
9998         * editfns.c:
9999         * editfns.c (Fchar_to_string):
10000         * editfns.c (Fstring_to_char):
10001         * editfns.c (Ftemp_directory):
10002         * editfns.c (Finsert_char):
10003         * editfns.c (Fbuffer_substring_no_properties):
10004         * editfns.c (Fnarrow_to_region):
10005         * editfns.c (Fchar_equal):
10006         * editfns.c (Fchar_Equal):
10007         * editfns.c (Ftranspose_regions):
10008         * emacs.c (Fdump_emacs):
10009         * eval.c (Fthrow):
10010         * eval.c (Fcommand_execute):
10011         * eval.c (Fautoload):
10012         * eval.c (Fbacktrace):
10013         * eval.c (Fbacktrace_frame):
10014         * events.c:
10015         * events.c (Fcopy_event):
10016         * events.c (Fcharacter_to_event):
10017         * events.c (Fevent_button):
10018         * events.c (Fevent_process):
10019         * extents.c:
10020         * extents.c (Fnext_extent_change):
10021         * extents.c (Fextent_property):
10022         * faces.c (Ffacep):
10023         * faces.c (Fmake_face):
10024         * file-coding.c:
10025         * file-coding.c (Fencode_shift_jis_char):
10026         * file-coding.c (Fencode_big5_char):
10027         * fileio.c (Ffile_name_directory):
10028         * fileio.c (Ffile_name_nondirectory):
10029         * fileio.c (Ffile_name_as_directory):
10030         * fileio.c (Fdirectory_file_name):
10031         * fileio.c (Ffile_truename):
10032         * fileio.c (Fsubstitute_in_file_name):
10033         * fileio.c (Ffile_modes):
10034         * fileio.c (Fset_file_modes):
10035         * fileio.c (Fset_default_file_modes):
10036         * fileio.c (Fverify_visited_file_modtime):
10037         * floatfns.c (Facos):
10038         * floatfns.c (Fasin):
10039         * floatfns.c (Fatan):
10040         * floatfns.c (Fcos):
10041         * floatfns.c (Fsin):
10042         * floatfns.c (Ftan):
10043         * floatfns.c (Fbessel_j0):
10044         * floatfns.c (Fbessel_j1):
10045         * floatfns.c (Fbessel_jn):
10046         * floatfns.c (Fbessel_y0):
10047         * floatfns.c (Fbessel_y1):
10048         * floatfns.c (Fbessel_yn):
10049         * floatfns.c (Ferf):
10050         * floatfns.c (Ferfc):
10051         * floatfns.c (Flog_gamma):
10052         * floatfns.c (Fexp):
10053         * floatfns.c (Fexpt):
10054         * floatfns.c (Flog):
10055         * floatfns.c (Flog10):
10056         * floatfns.c (Fsqrt):
10057         * floatfns.c (Fcube_root):
10058         * floatfns.c (Facosh):
10059         * floatfns.c (Fasinh):
10060         * floatfns.c (Fatanh):
10061         * floatfns.c (Fcosh):
10062         * floatfns.c (Fsinh):
10063         * floatfns.c (Ftanh):
10064         * floatfns.c (Fabs):
10065         * floatfns.c (Ffloat):
10066         * floatfns.c (Flogb):
10067         * floatfns.c (Fceiling):
10068         * floatfns.c (Ffloor):
10069         * floatfns.c (Fround):
10070         * floatfns.c (Ftruncate):
10071         * floatfns.c (Ffceiling):
10072         * floatfns.c (Fffloor):
10073         * floatfns.c (Ffround):
10074         * floatfns.c (Fftruncate):
10075         * fns.c (Fstring_equal):
10076         * fns.c (Fstring_lessp):
10077         * fns.c (concat2):
10078         * fns.c (concat3):
10079         * fns.c (vconcat2):
10080         * fns.c (vconcat3):
10081         * fns.c (Fsubstring):
10082         * fns.c (Fassoc):
10083         * fns.c (Fold_assoc):
10084         * fns.c (assoc_no_quit):
10085         * fns.c (Fassq):
10086         * fns.c (Fold_assq):
10087         * fns.c (assq_no_quit):
10088         * fns.c (Frassoc):
10089         * fns.c (Fold_rassoc):
10090         * fns.c (Frassq):
10091         * fns.c (Fold_rassq):
10092         * fns.c (rassq_no_quit):
10093         * fns.c (Fremassoc):
10094         * fns.c (remassoc_no_quit):
10095         * fns.c (Fremassq):
10096         * fns.c (remassq_no_quit):
10097         * fns.c (Fremrassoc):
10098         * fns.c (Fremrassq):
10099         * fns.c (remrassq_no_quit):
10100         * fns.c (Fsort):
10101         * fns.c (Fplist_get):
10102         * fns.c (Fplist_put):
10103         * fns.c (Fplist_remprop):
10104         * fns.c (Fplist_member):
10105         * fns.c (Flax_plist_get):
10106         * fns.c (Flax_plist_put):
10107         * fns.c (Flax_plist_remprop):
10108         * fns.c (Flax_plist_member):
10109         * fns.c (Fequal):
10110         * fns.c (Fold_equal):
10111         * fns.c (Frequire):
10112         * fns.c (Fbase64_encode_region):
10113         * fns.c (Fbase64_encode_string):
10114         * fns.c (Fbase64_decode_region):
10115         * frame.c:
10116         * frame.c (frame_matches_frame_spec):
10117         * frame.c (device_matches_device_spec):
10118         * frame.c (next_frame):
10119         * frame.c (previous_frame):
10120         * frame.c (Fnext_frame):
10121         * frame.c (Fprevious_frame):
10122         * frame.c (Fframe_property):
10123         * frame.c (Fset_frame_height):
10124         * frame.c (Fset_frame_size):
10125         * frame.h:
10126         * glyphs.c:
10127         * glyphs.c (if):
10128         * glyphs.c (decode_error_behavior_flag):
10129         * glyphs.c (Fmake_image_instance):
10130         * indent.c (Findent_to):
10131         * intl.c (Fignore_defer_gettext):
10132         * keymap.c (Fkeymapp):
10133         * keymap.c (Flookup_key):
10134         * lread.c:
10135         * lread.c (Fload_internal):
10136         * lread.c (Feval_buffer):
10137         * lread.c (Feval_region):
10138         * macros.c (Fexecute_kbd_macro):
10139         * marker.c (set_marker_internal):
10140         * marker.c (Fset_marker):
10141         * marker.c (set_marker_restricted):
10142         * marker.c (Fcopy_marker):
10143         * marker.c (noseeum_copy_marker):
10144         * menubar.c:
10145         * menubar.c (Fpopup_menu):
10146         * minibuf.c:
10147         * mule-charset.c (Fcharset_name):
10148         * mule-charset.c (Fchar_charset):
10149         * mule-charset.c (Fchar_octet):
10150         * mule-charset.c (Fsplit_char):
10151         * mule-wnnfns.c (Fwnn_open):
10152         * mule-wnnfns.c (Fwnn_dict_comment):
10153         * mule-wnnfns.c (Fwnn_quit_henkan):
10154         * mule-wnnfns.c (Fwnn_word_toroku):
10155         * mule-wnnfns.c (Fwnn_word_sakujo):
10156         * mule-wnnfns.c (Fwnn_word_use):
10157         * mule-wnnfns.c (Fwnn_hindo_set):
10158         * objects.c:
10159         * objects.c (Fmake_color_instance):
10160         * objects.c (Fmake_font_instance):
10161         * print.c (Fwrite_char):
10162         * process.c:
10163         * process.c (mark_process):
10164         * process.c (print_process):
10165         * process.c (get_process_from_usid):
10166         * process.c (Fprocessp):
10167         * process.c (Fprocess_live_p):
10168         * process.c (Fget_process):
10169         * process.c (Fget_buffer_process):
10170         * process.c (get_process):
10171         * process.c (Fprocess_id):
10172         * process.c (Fprocess_name):
10173         * process.c (Fprocess_command):
10174         * process.c (init_process_io_handles):
10175         * process.c (start_process_unwind):
10176         * process.c (Fstart_process_internal):
10177         * process.c (Fopen_multicast_group_internal):
10178         * process.c (Fset_process_window_size):
10179         * process.c (read_process_output):
10180         * process.c (send_process):
10181         * process.c (Fprocess_tty_name):
10182         * process.c (Fset_process_buffer):
10183         * process.c (Fprocess_buffer):
10184         * process.c (Fprocess_mark):
10185         * process.c (set_process_filter):
10186         * process.c (Fset_process_filter):
10187         * process.c (Fprocess_filter):
10188         * process.c (Fprocess_send_region):
10189         * process.c (Fprocess_send_string):
10190         * process.c (exec_sentinel):
10191         * process.c (Fset_process_sentinel):
10192         * process.c (Fprocess_sentinel):
10193         * process.c (status_notify):
10194         * process.c (Fprocess_status):
10195         * process.c (Fprocess_exit_status):
10196         * process.c (process_send_signal):
10197         * process.c (Fprocess_send_eof):
10198         * process.c (deactivate_process):
10199         * process.c (remove_process):
10200         * process.c (Fdelete_process):
10201         * process.c (kill_buffer_processes):
10202         * process.c (Fprocess_kill_without_query):
10203         * process.c (Fprocess_kill_without_query_p):
10204         * rangetab.c:
10205         * rangetab.c (Fget_range_table):
10206         * rangetab.c (Fput_range_table):
10207         * rangetab.c (Fremove_range_table):
10208         * rangetab.c (Fclear_range_table):
10209         * search.c:
10210         * search.c (Fskip_chars_forward):
10211         * search.c (Fskip_chars_backward):
10212         * search.c (Fskip_syntax_forward):
10213         * search.c (Fskip_syntax_backward):
10214         * search.c (search_command):
10215         * search.c (Freplace_match):
10216         * search.c (Fregexp_quote):
10217         * select.c (Fown_selection_internal):
10218         * select.c (Fselection_owner_p):
10219         * select.c (Fselection_exists_p):
10220         * select.c (Fget_selection_internal):
10221         * specifier.c:
10222         * symbols.c:
10223         * symbols.c (Fintern):
10224         * symbols.c (Fintern_soft):
10225         * symbols.c (Funintern):
10226         * symbols.c (Fapropos_internal):
10227         * symbols.c (Fset_default):
10228         * syntax.c:
10229         * syntax.c (Fsyntax_table_p):
10230         * syntax.c (Fcopy_syntax_table):
10231         * syntax.c (Fset_syntax_table):
10232         * syntax.c (Fchar_syntax):
10233         * syntax.c (syntax_match):
10234         * syntax.c (Fmatching_paren):
10235         * syntax.c (Fforward_word):
10236         * syntax.c (scan_lists):
10237         * syntax.c (Fscan_lists):
10238         * syntax.c (Fscan_sexps):
10239         * syntax.c (Fparse_partial_sexp):
10240         * toolbar.c (Fcheck_toolbar_button_syntax):
10241         * tooltalk.doc:
10242         * window.c:
10243         * window.c (Fwindowp):
10244         * window.c (Fwindow_live_p):
10245         * window.c (Fwindow_point):
10246         * window.c (Fdelete_window):
10247         * window.c (Fnext_window):
10248         * window.c (Fprevious_window):
10249         * window.c (Fother_window):
10250         * window.c (window_loop):
10251         * window.c (Fget_lru_window):
10252         * window.c (Fsplit_window):
10253         * window.c (Fenlarge_window):
10254         * window.c (Fenlarge_window_pixels):
10255         * window.c (Fshrink_window):
10256         * window.c (Fshrink_window_pixels):
10257         * window.c (change_window_height):
10258         * window.c (Fwindow_configuration_p):
10259         * window.c (Fcurrent_window_configuration):
10260         * window.h:
10261         * casefiddle.c (casify_object):
10262         * casefiddle.c (Fupcase):
10263         * casefiddle.c (Fdowncase):
10264         * casefiddle.c (Fcapitalize):
10265         * casefiddle.c (Fupcase_initials):
10266         * casefiddle.c (casify_region_internal):
10267         * casefiddle.c (casify_region):
10268         * casefiddle.c (Fupcase_region):
10269         * casefiddle.c (Fdowncase_region):
10270         * casefiddle.c (Fcapitalize_region):
10271         * casefiddle.c (Fupcase_initials_region):
10272         * casefiddle.c (Fupcase_word):
10273         * casefiddle.c (Fdowncase_word):
10274         * casefiddle.c (Fcapitalize_word):
10275         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10276         Replace 0 with '\0' when working with bytes.
10277         Replace initial "(" with "\(" in docstrings.
10278
10279 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10280
10281         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10282
10283         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10284
10285 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10286
10287         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10288
10289 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10290
10291         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10292         correctly.
10293
10294 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10295
10296         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10297         (inhibit_auto_save_session): New variable.
10298         (vars_of_fileio): Declare and initialize them.
10299         * fileio.c (Fdo_auto_save): Don't create session file if
10300         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10301
10302 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10303
10304         * sgiplay.c (play_internal): C++ compilability.
10305         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10306         * callproc.c (Fold_call_process_internal):
10307         Remove unused vars `env', `first'.
10308         * scrollbar.c (update_scrollbar_instance):
10309         #### unused var `current_window'.
10310         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10311         etc. within #ifdef NOT_YET.
10312         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10313         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10314         * specifier.c (specifier_instance):
10315         #### unused var `tag'.
10316         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10317
10318 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10319
10320         * fns.c (Fbutlast):
10321         * fns.c (list_sort):
10322         * fns.c (Ffillarray):
10323         * fns.c (bytecode_nconc2):
10324         * fns.c (Fnconc):
10325         * fns.c (mapcar1):
10326         * fns.c (Fmapconcat):
10327         Be pedantically 64-bit correct.  For the time when someone will
10328         want to have a list with length > 2**32.
10329
10330         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10331         Work around MIPSpro compiler bug.
10332
10333         * process-unix.c (unix_kill_child_process): Add snarky comment.
10334         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10335
10336         * config.h.in: Oops, _getpt ==> _getpty
10337
10338 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10339
10340         * config.h.in:
10341         * regex.c:
10342         Use void*, not char*, as return type of alloca().
10343
10344         * alloc.c (free_marker): Side effect inside assert expression!
10345
10346 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10347
10348         * mule-charset.c (Fset_charset_ccl_program): To check
10349         if the given ccl program is valid, use setup_ccl_program()
10350         instead of CHECK_VECTOR().
10351         (Fmake_charset): Likewise.
10352
10353 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10354
10355         * faces.c (get_extent_fragment_face_cache_index):
10356         Fix cachel.merged_faces memory leak.
10357
10358 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10359
10360         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10361         Reset MSB of octets obtained by DECODE_SJIS
10362         because of the incompatibility with Emacs.
10363         (ccl_driver)<CCL_ENCODE_SJIS>:
10364         Set MSB of octets before passing them to
10365         ENCODE_SJIS because of the incompatibility
10366         with Emacs.
10367
10368 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10369
10370         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10371         (DECLARE_LRECORD): Undo the last change.
10372         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10373
10374 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10375
10376         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10377         the implementation to lrecord_implementations_table.
10378
10379 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10380
10381         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10382         initial value of `lrecord_type_##c_name' and
10383         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10384         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10385         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10386         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10387         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10388
10389 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10390
10391         * miscplay.c (sndcnv8S_2mono):
10392         (sndcnv2monounsigned):
10393         (sndcnvULaw_2linear):
10394         (sndcnv16swap):
10395         Remove implementation-defined behavior.
10396
10397 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10398
10399         * input-method-xlib.c: Warning suppression.
10400
10401 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10402
10403         * mule-ccl.c: Sync up with Emacs 21.0.90.
10404         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10405         Do nothing.
10406         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10407         Likewise.
10408         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10409         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10410         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10411         leading char belongs to official 2-dimensional charset.
10412         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10413         write the given character as is.  Otherwise,
10414         if it is a multibyte char, convert it by
10415         non_ascii_set_charptr_emchar, then write it.
10416         (CCL_WRITE_STRING): Likewise.
10417         (ccl_get_compiled_code): New function.
10418         (setup_ccl_program): When ccl_prog is invalid,
10419         return -1.
10420         (Fregister_code_conversion_map): New function.
10421         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10422
10423         * mule-ccl.h: Sync up with Emacs 21.0.90.
10424         (Fregister_ccl_program): export it.
10425
10426         * redisplay-msw.c (separate_textual_runs):
10427         If ccl program is not valid, don't do ccl conversion.
10428
10429         * redisplay-x.c (separate_textual_runs): Ditto.
10430
10431         * file-coding.c (Fmake_coding_system):
10432         When type is ccl and value is vector, register it
10433         with a proper symbol.  And checks whether the
10434         given ccl program is valid.
10435         (mule_decode): When calling ccl_driver, if src indicates
10436         NULL pointer, set an empty string instead.
10437         (mule_encode): Likewise.
10438
10439 2000-10-11  Martin Buchholz  <martin@xemacs.org>
10440
10441         The following large batch of changes gets us back to a state of
10442         C++ compilability.  Extbyte is now a char, which means that
10443         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
10444
10445         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
10446
10447         * sound.c (Fplay_sound): Type correctness.
10448
10449         * select-x.c (hack_motif_clipboard_selection): Type correctness.
10450         (x_get_window_property): Type correctness.
10451         (receive_incremental_selection): unsigned char ==> Extbyte
10452         (selection_data_to_lisp_data): unsigned char ==> Extbyte
10453         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
10454         (Fx_store_cutbuffer_internal): Type correctness.
10455
10456         * process-unix.c (try_to_initialize_subtty): Type correctness.
10457
10458         * objects-x.c (x_print_color_instance): Type correctness.
10459         (x_print_font_instance): Type correctness.
10460         (x_list_fonts): SExtbyte ==> Extbyte.
10461         (valid_x_font_name_p): SExtbyte ==> Extbyte.
10462         (x_find_charset_font): SExtbyte ==> Extbyte.
10463         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
10464         (truename_via_XListFonts): SExtbyte ==> Extbyte.
10465         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
10466         Use bufbyte_strcmp.
10467
10468         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
10469         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
10470         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
10471         (BYTE_C0_P): Use bit ops for char-signedness safety.
10472         (BYTE_C1_P): Use bit ops for char-signedness safety.
10473         (CHARSET_BY_LEADING_BYTE):
10474         (CHARSET_BY_ATTRIBUTES):
10475         Always use inline function.
10476         Use type_checking_assert.
10477         Hide chlook.
10478
10479         * mule-charset.c (non_ascii_charptr_copy_char):
10480         Modify to work with both ASCII and non-ASCII characters.
10481         Improve docs and variable names.
10482         Replace over-clever fall-through switch with a simple loop.
10483         (Lstream_get_emchar_1):
10484         Replace over-clever fall-through switch with a simple loop.
10485
10486         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10487         Warning suppression.
10488
10489         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
10490         the return value of Lstream_getc, which could be EOF as well.
10491
10492         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
10493
10494         * lisp.h: Make Extbyte a char, not unsigned char, so that external
10495         APIs can be used on Extbytes without casts.  Risky!
10496         (SExtbyte): Remove.
10497         (UExtbyte): Remove.
10498
10499         * input-method-xlib.c (XIM_init_device):
10500         Use Xlib.h instead of IntrinsicP.h.
10501         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
10502         which will break in X11R7.
10503         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
10504         to call XRegisterIMInstantiateCallback with correct types.
10505
10506         * gui-x.c (button_item_to_widget_value): Type correctness.
10507
10508         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
10509
10510         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
10511         (xbm_instantiate_1): Type correctness.
10512         (BUILD_GLYPH_INST):  Type correctness.
10513
10514         * fileio.c (Fsubstitute_in_file_name): Type correctness.
10515
10516         * file-coding.c:
10517         (decode_coding_sjis):
10518         (decode_coding_big5):
10519         (decode_coding_ucs4):
10520         (decode_coding_utf8):
10521         (decode_coding_iso2022):
10522         (decode_coding_no_conversion):
10523         Make all decoding functions take an Extbyte * arg.
10524         (encode_coding_sjis):
10525         (encode_coding_big5):
10526         (encode_coding_ucs4):
10527         (encode_coding_utf8):
10528         (encode_coding_iso2022):
10529         (encode_coding_no_conversion):
10530         Make all encoding functions take a Bufbyte * arg.
10531         Use size_t instead of unsigned int for memory sizes.
10532         Only cast to unsigned char whenever dereferencing Extbyte *.
10533
10534         * doc.c (unparesseuxify_doc_string): Type correctness.
10535
10536         * console-x.c (split_up_display_spec):
10537         Rewrite without using details of internal string representation.
10538         (x_semi_canonicalize_device_connection): Type correctness.
10539
10540         * config.h.in:
10541         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
10542         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
10543         (HAVE_XFREE386): Removed.
10544
10545         * buffer.h (DEC_CHARPTR): `const' correctness.
10546         (bufbyte_strcmp): New.
10547         (bufbyte_memcmp): New.
10548
10549         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
10550
10551         * buffer.h (XCHAR_OR_CHAR_INT):
10552         Always use inline function.
10553         Remove redundant type checking assert() - XINT will abort quite nicely.
10554
10555 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10556
10557         * search.c (Freplace_match): Set newtext to an empty string.
10558
10559 2000-10-10  Martin Buchholz  <martin@xemacs.org>
10560
10561         * s/decosf1-3.h: Remove #include of stropts.h
10562         * s/ptx.h: Remove #include of stropts.h
10563         * s/usg5-4.h: Remove #include of stropts.h
10564         * sysproc.h:
10565         * config.h.in:
10566         Use stropts.h, not sys/stropts.h.
10567         Use strtio.h, not sys/strtio.h.
10568
10569 2000-10-04  Martin Buchholz <martin@xemacs.org>
10570
10571         * XEmacs 21.2.36 is released.
10572
10573 2000-09-21  Andy Piper  <andy@xemacs.org>
10574
10575         * glyphs-x.c (x_redisplay_widget): make sure non-structural
10576         changes still involve copying the widget tree.
10577         (update_widget_face): make sure a change is register in the widget
10578         tree. Call update_tab_widget_face appropriately.
10579         (update_tab_widget_face): ditto.
10580         (x_tab_control_redisplay): make sure non-structural changes still
10581         involve copying the widget tree.
10582
10583 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
10584
10585         * lread.c (locate_file): Check the path element is non-nil.
10586
10587 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10588
10589         * lisp.h: Warning suppression for SCO compilers.
10590
10591         * redisplay-tty.c (reset_tty_modes): Fix crash.
10592         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
10593
10594 2000-09-27  Martin Buchholz  <martin@xemacs.org>
10595
10596         Big signal/process handling overhaul.  Bugs fixed:
10597         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
10598         M-x comint-kill-subjob should work for both values nil and t of
10599         process-connection-type. It was broken on most platforms.
10600         Testing on Irix and Cygwin still needed.  Other plaforms tested.
10601         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
10602         * process-unix.c: Signal/Process handling overhaul.
10603         (pty_name): make 64 bytes, as `expect' does, for paranoia.
10604         (allocate_pty): Use all available modern methods of allocating
10605         ptys, falling back to old style BSD allocation as a last resort.
10606         Use allegedly more secure Unix98 pty allocation by default.
10607         (allocate_pty_the_old_fashioned_way): New. the last resort.
10608         (unix_create_process): Push ptem, ldterm, ttcompat where
10609         available.  Autoconfiscate.
10610         (try_to_initialize_subtty): New.
10611         (unix_kill_child_process): Proper signal handling for ptys on most
10612         platforms, using special knowledge of AIX, BSD, etc...
10613         (unix_create_process): Always disconnect_controlling_terminal() for
10614         subprocesses, whether using ptys or not.
10615         * process.h: Remove old getpt-dependent PTY code.
10616         * process.c (Fprocess_send_signal): New, obvious generic function.
10617         (decode_signal): New.
10618         (Finterrupt_process):
10619         (Fkill_process):
10620         (Fquit_process):
10621         (Fstop_process):
10622         (Fcontinue_process):
10623         (Fsignal_process): Use decode_signal.
10624         (process_send_signal):
10625         Many docstring corrections.
10626         Allow any signal to be sent to a process object.
10627         * config.h.in: Add symbols for big signal/process overhaul.
10628         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
10629         * sysproc.h: Include process-related headers, where available:
10630         sys/stropts.h sys/strtio.h pty.h libutil.h
10631         * s/irix4-0.h:
10632         * s/irix5-0.h:
10633         * s/cygwin32.h:
10634         * s/gnu.h:
10635         * s/linux.h:
10636         * s/hpux.h:
10637         * s/aix3-1.h:
10638         Remove old S&M pty stuff.
10639         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
10640         * systty.h: Simplify cpp hackery, improve comments.
10641         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
10642
10643         * editfns.c (Fformat_time_string):
10644         Be a little more paranoid with the return value of ctime.
10645
10646         * fileio.c (check_executable):
10647         (check_writable):
10648         Use symbolic constants X_OK, W_OK.
10649
10650         * console-x.c (split_up_display_spec): Fix a warning.
10651
10652 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10653
10654         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
10655         * ntproc.c (sys_spawnve): make_string ==> build_string
10656         Small clarity improvements.
10657
10658 2000-09-30  Martin Buchholz  <martin@xemacs.org>
10659
10660         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
10661
10662         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
10663
10664         * config.h.in (HAVE_STRCASECMP): Remove.
10665
10666 2000-09-29  Martin Buchholz  <martin@xemacs.org>
10667
10668         * redisplay-output.c (redisplay_output_pixmap):
10669         Cleaner and possibly more 64-bit correct code.
10670
10671 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
10672
10673         * dumper.c (pdump_load_finish): move restoration of
10674         `noninteractive1' to emacs.c (main_1).
10675         * emacs.c (main_1): protect LISP-visible command-line flags
10676         from pdump_load().
10677
10678 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
10679
10680         * Makefile.in.in (versionclean):  Use EXE_TARGET and
10681         DUMP_TARGET instead of literal program names.
10682
10683 2000-09-20  Martin Buchholz  <martin@xemacs.org>
10684
10685         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
10686
10687 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10688
10689         * *: Spelling mega-patch
10690
10691 2000-09-19  Martin Buchholz  <martin@xemacs.org>
10692
10693         * fns.c (bad_bad_turtle):
10694         Delete "Eek!" comment, since we fixed the bug to which it refers.
10695
10696 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10697
10698         * alloca.c: Replace REGISTER with register.
10699
10700 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
10701
10702         * file-coding.c (ucs_to_char): Use countof.
10703
10704 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10705
10706         * file-coding.c: (ucs_to_char):
10707         (complex_vars_of_file_coding):
10708         Use countof instead of sizeof.
10709         Use CHECK_NATNUM instead of CHECK_INT.
10710
10711         * sysdep.c (strcasecmp): Remove.
10712         * device-x.c (ascii_strcasecmp): New.
10713         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
10714         Avoid using non-standard non-portable strcasecmp.
10715
10716 2000-09-16  Martin Buchholz  <martin@xemacs.org>
10717
10718         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
10719         * font-lock.c: remove reference to emacsfns.h.
10720         * search.c: small doc improvement.
10721         * event-Xt.c: correct file names in comments.
10722         * console-x.h Correct file names in comments.
10723         * frame.c: Correct file names in comments.
10724         * event-stream.c: remove Energize from comments.
10725
10726 2000-09-15  Martin Buchholz  <martin@xemacs.org>
10727
10728         * symeval.h (DEFERROR_STANDARD):
10729         (DEFERROR):
10730         (DEFSYMBOL):
10731         (DEFSYMBOL_NO_DUMP):
10732         (DEFSYMBOL_MULTIWORD_PREDICATE):
10733         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
10734         (DEFKEYWORD):
10735         The construct &##name is not sensible C.
10736         Fixes compilation errors with Unixware native compiler.
10737
10738 2000-09-14  Martin Buchholz  <martin@xemacs.org>
10739
10740         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
10741         (next_frame_internal): Removed.  We now just have next_frame.
10742         (next_frame):
10743         Write a simpler and cleaner one-pass algorithm.
10744         Remove called_from_delete_device arg and #ifdefed-out code.
10745         (previous_frame):
10746         Renamed from prev_frame.  Update callers.
10747         Cleaned up to have an analogous implementation to next_frame.
10748         (other_visible_frames_internal): Remove the
10749         called_from_delete_device bogus arg, and hence, remove this
10750         function.  Just use other_visible_frames().
10751
10752         * window.c (Fnext_window):
10753         Prettify docstring.
10754         Since next_frame() is guaranteed to return a frame, remove check
10755         for nil inserted in previous patch.
10756         (Fprevious_window):
10757         Prettify docstring.
10758         Make code look more like Fnext_window.
10759         (window_loop):
10760         Respect the `console' arg when iterating through windows.
10761         Fixes bug: (get-buffer-window buffer t device) not respecting
10762         the `device' arg.
10763         This function needs more work, as others have pointed out.
10764
10765         * frame.h: Rename prev_frame to previous_frame.
10766         device_matches_console_spec no longer takes a `frame' arg.
10767
10768         * s/gnu.h:
10769         * s/linux.h:
10770         * s/hpux.h:
10771         Use EMACS_BLOCK_SIGNAL instead of sigblock.
10772         From "Golubev I. N." <gin@mo.msk.ru>.
10773
10774         * make-src-depend: Fix typo.
10775
10776 2000-09-13  Martin Buchholz  <martin@xemacs.org>
10777
10778         * window.c (Fnext_window):
10779         next_frame() might return nil, not a frame.
10780         Fixes this crash:
10781         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10782
10783         * frame.c (next_frame_internal):
10784         We've passed a frame if we've passed its device.
10785         Fixes this crash:
10786         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
10787 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
10788
10789 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10790
10791         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10792         Allow option to suppress accelerators in menu/dialog items.
10793         (populate_or_checksum_helper): Pass dialog title through above.
10794
10795 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10796
10797         * event-msw.c (mswindows_key_to_emacs_keysym):
10798         Add "pause" key, fix "menu" key.
10799
10800 2000-09-09  Martin Buchholz  <martin@xemacs.org>
10801
10802         * eval.c (reinit_vars_of_eval):
10803         Increase max_lisp_eval_depth to 1000,
10804         required for thai-xtis.el to byte-compile under some circumstances.
10805
10806 2000-09-04  Martin Buchholz  <martin@xemacs.org>
10807
10808         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
10809         From Kenichi Handa.
10810
10811 2000-09-01  Martin Buchholz  <martin@xemacs.org>
10812
10813         * make-src-depend: Make the generated Makefiles smaller.
10814
10815         * s/hpux.h (SETUP_SLAVE_PTY):
10816         Provide a %d in the format string for the errno argument.
10817
10818         * editfns.c (Ftemp_directory):
10819         Warning fix.
10820         Avoid buffer overrun on very long file name.
10821
10822         * input-method-xlib.c (XIM_init_device):
10823         6th parameter of XRegisterIMInstantiateCallback has different
10824         pointer types on different OSes, so simply cast to (void *).
10825
10826         * unexhp9k800.c: Warning fixes.  Fiddly changes.
10827
10828         * sysdll.c (dll_open):
10829         shl_load will hang hard if passed a NULL filename.
10830         Simply return NULL for compatibility with dlopen.
10831         * sysdll.c: Conform to XEmacs coding standards.
10832
10833         * sysdep.c (get_pty_max_bytes):
10834         Support pty input lines longer than 512 bytes on HP-UX 10.20.
10835
10836 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10837
10838         * tooltalk.c: Add #include <syssignal.h>
10839
10840 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
10841
10842         * s/hpux.h: Don't use undefined function sigunblock().
10843
10844 2000-08-31  Martin Buchholz  <martin@xemacs.org>
10845
10846         * config.h.in: Add HAVE_BALLOON_HELP.
10847         * emacs.c: Use HAVE_BALLOON_HELP.
10848         * Makefile.in.in (x_objs):
10849         Make Balloon Help conditional on finding shape.h.
10850
10851 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
10852
10853         * syntax.c (regex_emacs_buffer_p): New variable.
10854         * syntax.h (regex_emacs_buffer_p): extern.
10855         * search.c (looking_at_1):
10856         (string_match_1):
10857         (fast_string_match):
10858         (search_buffer): Set regex_emacs_buffer_p.
10859         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
10860         when before_dot, at_dot, after_dot.
10861
10862 2000-08-23  Andy Piper  <andy@xemacs.org>
10863
10864         * gui-x.c (popup_selection_callback): Only set action_occurred
10865         when we really have an image instance.
10866         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
10867
10868 2000-08-23  Andy Piper  <andy@xemacs.org>
10869
10870         * gui-msw.c (mswindows_handle_gui_wm_command): set
10871         action_occurred.
10872         * gui-x.c (popup_selection_callback): ditto.
10873
10874         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
10875         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
10876         (struct Lisp_Image_Instance): add action_occurred flag.
10877
10878         * glyphs.c (redisplay_subwindow): use action_occurred flag.
10879         (image_instance_changed): ditto.
10880         (reset_frame_subwindow_instance_cache): only unmap windows - do
10881         not remove them from the cache also.
10882
10883         * glyphs-widget.c (tab_control_update): better debug.
10884         (progress_gauge_update): ditto.
10885         (layout_update): ditto.
10886         (layout_instantiate): ditto.
10887         (tab_control_order_only_changed): cope with null pending items.
10888
10889         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
10890         debug. Force selection of an item when an action occurred. Cope
10891         with null pending_items.
10892         (mswindows_progress_gauge_redisplay): better debug.
10893         * glyphs-x.c (x_tab_control_redisplay): ditto.
10894
10895         * redisplay.c (redisplay_frame): reset the frame cache if the
10896         frame is garbaged.
10897
10898         * window.c (Fset_window_configuration): potentially re-enable
10899         frame cache reset.
10900         (window_unmap_subwindows): need to finalize instances here since
10901         it is only used in mark_window_as_deleted.
10902
10903 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
10904
10905         * nas.c (SndOpenDataForReading):
10906         nas.c (WaveOpenDataForReading):
10907         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
10908         Somehow escaped from the 2000-08-14 patch.
10909
10910 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
10911
10912         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
10913         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
10914
10915 2000-08-21  Andy Piper  <andy@xemacs.org>
10916
10917         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
10918         window if it is not already displayed.
10919
10920         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
10921         it is not already displayed.
10922
10923         * window.c (Fset_window_configuration): don't reset the frame
10924         cache.
10925
10926         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
10927         instances from the frame cache if we are actually finalizing them.
10928         (reset_frame_subwindow_instance_cache): reset frame cache only
10929         after unmapping everything.
10930         (map_subwindow): set displayed flag after mapping.
10931
10932 2000-08-21  Martin Buchholz  <martin@xemacs.org>
10933
10934         * data.c (indirect_function):
10935         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
10936
10937         * eval.c (function_argcount):
10938         Use original function when signaling errors.
10939
10940 2000-08-18  Andy Piper  <andy@xemacs.org>
10941
10942         * frame.c (delete_frame_internal): use new
10943         free_frame_subwindow_instances name.
10944
10945         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
10946         (add_tab_item): make return type correct.
10947         (mswindows_tab_control_instantiate): assert index of tab.
10948         (mswindows_tab_control_redisplay): Re-code to use
10949         gui_item_equal_sans_selected and gui_item_list_find_selected.
10950
10951         * glyphs-widget.c (tab_control_update): Correct comment.
10952
10953         * window.c (window_unmap_subwindows): use new
10954         unmap_subwindow_instance_cache_mapper.
10955         (window_unmap_subwindows_cache_mapper): deleted.
10956         (Fset_window_configuration): comparisons should now be with
10957         EQ. Preserve the subwindow instance cache across configuration
10958         changes.
10959         (allocate_window): ditto.
10960         (make_dummy_parent): ditto.
10961
10962         * glyphs.c (free_frame_subwindow_instances): rename from
10963         free_frame_subwindow_instance_cache. finalize all instances rather
10964         than just those in the display cache.
10965         (finalize_all_subwindow_instances): walk windows unmapping and
10966         finalizing subwindows.
10967         (unmap_subwindow_instance_cache_mapper): moved from
10968         window.c. Allow finalization as well as unmapping.
10969
10970         * gui.c (gui_item_list_find_selected): new function.
10971
10972         * gui.h (gui_item_list_find_selected): declare.
10973
10974         * glyphs-x.c (x_tab_control_redisplay): pick tab
10975         explicitly. Re-code to use gui_item_equal_sans_selected and
10976         gui_item_list_find_selected.
10977
10978         * glyphs-x.h: add lwlib-utils.h
10979
10980         * buffer.c (Frecord_buffer): undo previous change.
10981
10982 2000-08-09  Vin Shelton  <acs@xemacs.org>
10983
10984         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
10985         possible.  Create temporary files more securely.  The patch was
10986         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
10987         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
10988         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
10989         for details.
10990
10991 2000-08-07  Ben Wing  <ben@xemacs.org>
10992
10993         * getloadavg.c: remove duplicate (and windows-breaking)
10994         includes of fcntl.h and sys/file.h.
10995
10996         * nt.c: remove duplicate getloadavg() definition.
10997
10998         * sysdll.h (Qdll_filename_encoding): add missing stand-in
10999         encodings.
11000
11001 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11002
11003         * eval.c (function_argcount): If function needs to be autoloaded
11004         actually use the loaded definition.
11005         GCPRO function.
11006
11007 2000-08-05  Ben Wing  <ben@xemacs.org>
11008
11009         * getloadavg.c: add prototype for getloadavg().  remove
11010         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
11011         of the code).  remove duplicate header includes.
11012
11013         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
11014
11015         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
11016         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
11017         useful load average.
11018
11019         * alloc.c (reinit_alloc_once_early): removed references to
11020         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
11021         the lisp vars are the only things referencing the malloc_sbrk_*
11022         vars, and they were already if 0'd out.  these vars only exist
11023         in the older malloc.c, which is basically unused, and they're
11024         only for informational purposes.
11025
11026         * m\*.h: removed useless VIRT_ADDR_VARIES.
11027
11028         * m\powerpc.h: removed stray NO_ARG_ARRAY.
11029
11030 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11031
11032         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
11033         color if the image is a mono pixmap.
11034
11035 2000-07-30  Ben Wing  <ben@xemacs.org>
11036
11037         * Makefile.in.in (release):
11038         Remove stray @.
11039
11040         * buffer.c (directory_is_current_directory):
11041         * dired-msw.c (mswindows_get_files):
11042         * dired.c:
11043         * dired.c (Fdirectory_files):
11044         * dired.c (file_name_completion_stat):
11045         * dired.c (Ffile_attributes):
11046         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
11047         preprocessor tricks, to avoid problems on some machines
11048         (e.g. SCO).
11049
11050         * callproc.c (egetenv): GC docs.
11051
11052         * console-msw.h:
11053         * console-msw.h (struct mswindows_dialog_id):
11054         * lrecord.h (lrecord_type):
11055         New object for use with MSW dialogs.
11056
11057         * console.h (struct console_methods):
11058         New enable/disable frame methods, for proper modal dialogs.
11059
11060         * device-msw.c (msprinter_default_printer): Fix to follow
11061         proper Mule conventions.
11062
11063         * device-msw.c:
11064         * device-msw.c (signal_open_printer_error):
11065         * device-msw.c (msprinter_init_device):
11066         * device-msw.c (ensure_not_printing):
11067         * device-msw.c (plist_get_margin):
11068         * device-msw.c (Fmsprinter_select_settings):
11069         * device-msw.c (finalize_devmode):
11070         * device-msw.c (Fmsprinter_settings_despecialize):
11071         * device-msw.c (signal_enum_priner_error):
11072         * extents.c (decode_extent):
11073         * extents.c (decode_map_extents_flags):
11074         * extents.c (decode_extent_at_flag):
11075         * extents.c (Fextent_at):
11076         * extents.c (Fextents_at):
11077         * extents.c (symbol_to_glyph_layout):
11078         [[[[2]]]] Use structured errors.
11079
11080         * dialog-msw.c:
11081         * dialog-msw.c (mswindows_is_dialog_msg):
11082         * dialog-msw.c (mark_mswindows_dialog_id):
11083         * dialog-msw.c (dialog_proc):
11084         * dialog-msw.c (handle_question_dialog_box):
11085         * dialog-msw.c (syms_of_dialog_mswindows):
11086         Define new object to clean up marking; use it as a dialog identifier.
11087         Call new delete-dialog-box-hook.
11088
11089         * dialog-x.c (dbox_selection_callback):
11090         * dialog-x.c (dbox_descriptor_to_widget_value):
11091         * dialog-x.c (x_make_dialog_box_internal):
11092         Call new delete-dialog-box-hook.
11093         Return an id.
11094
11095         * dialog.c:
11096         * dialog.c (syms_of_dialog):
11097         * dialog.c (vars_of_dialog):
11098         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
11099
11100         * eval.c:
11101         * eval.c (signal_call_debugger):
11102         when noninteractive, output stack traces on the console instead
11103         of in a (never-seen) buffer.
11104
11105         * eval.c (signal_type_error):
11106         * eval.c (invalid_argument_2):
11107         * lisp.h:
11108         new funs for use w/structured errors.
11109
11110         * event-Xt.c:
11111         * event-Xt.c (x_to_emacs_keysym):
11112         * event-Xt.c (describe_event):
11113         * event-Xt.c (emacs_Xt_event_handler):
11114         * event-Xt.c (vars_of_event_Xt):
11115         * event-msw.c:
11116         * event-msw.c (mswindows_wnd_proc):
11117         * event-msw.c (vars_of_event_mswindows):
11118         rename {x,mswindows}-debug-events to debug-{}-events for
11119         consistency with other debug-foo variables.
11120
11121         * event-stream.c:
11122         document next-event more clearly.
11123
11124         * fileio.c (Ffile_name_directory):
11125         * fileio.c (Ffile_name_nondirectory):
11126         * fileio.c (Funhandled_file_name_directory):
11127         * fileio.c (file_name_as_directory):
11128         * fileio.c (Ffile_name_as_directory):
11129         * fileio.c (directory_file_name):
11130         * fileio.c (Fdirectory_file_name):
11131         * fileio.c (Fmake_temp_name):
11132         * fileio.c (Ffile_truename):
11133         * fileio.c (Fsubstitute_in_file_name):
11134         * fileio.c (expand_and_dir_to_file):
11135         * fileio.c (barf_or_query_if_file_exists):
11136         * fileio.c (check_executable):
11137         * fileio.c (Ffile_exists_p):
11138         * fileio.c (Ffile_writable_p):
11139         * fileio.c (Ffile_directory_p):
11140         * fileio.c (Ffile_regular_p):
11141         * fileio.c (Ffile_modes):
11142         * fileio.c (Ffile_newer_than_file_p):
11143         * fileio.c (Fverify_visited_file_modtime):
11144         * fileio.c (Fset_visited_file_modtime):
11145         * fileio.c (auto_save_1):
11146         (1). (2).
11147         fix up gcpro's.
11148
11149         * frame-msw.c:
11150         * frame-msw.c (mswindows_init_frame_1):
11151         * frame-msw.c (mswindows_enable_frame):
11152         * frame-msw.c (error_frame_unsizable):
11153         * frame-msw.c (msprinter_init_frame_1):
11154         * frame-msw.c (msprinter_init_frame_3):
11155         * frame-msw.c (console_type_create_frame_mswindows):
11156         (2).
11157         implement new enable/disable frame methods.
11158
11159         * frame-x.c:
11160         * frame-x.c (x_enable_frame):
11161         * frame-x.c (console_type_create_frame_x):
11162         implement new enable/disable frame methods.
11163
11164         * frame.c:
11165         * frame.c (Fdisable_frame):
11166         * frame.c (syms_of_frame):
11167         * frame.h (struct frame):
11168         implement new enable/disable frame methods/functions.
11169
11170         * general-slots.h:
11171         add initial-focus.
11172
11173         * glyphs-msw.c (mswindows_widget_instantiate):
11174         comment that initial-focus should be implemented.
11175
11176         * glyphs-widget.c:
11177         * glyphs-widget.c (check_valid_instantiator):
11178         * glyphs-widget.c (check_valid_orientation):
11179         * glyphs-widget.c (check_valid_tab_orientation):
11180         * glyphs-widget.c (check_valid_justification):
11181         * glyphs-widget.c (check_valid_border):
11182         * glyphs-widget.c (check_valid_callback):
11183         * glyphs-widget.c (check_valid_int_or_function):
11184         * glyphs-widget.c (check_valid_string_or_vector):
11185         * glyphs-widget.c (check_valid_item_list_1):
11186         * glyphs-widget.c (widget_validate):
11187         * glyphs-widget.c (combo_box_validate):
11188         * glyphs-widget.c (widget_instantiate):
11189         * glyphs-widget.c (syms_of_glyphs_widget):
11190         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11191         * glyphs-widget.c (image_instantiator_combo_box):
11192         * glyphs-widget.c (image_instantiator_scrollbar):
11193         * glyphs-widget.c (image_instantiator_tab_control):
11194         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11195         (2).
11196         support (unimplemented) keyword initial-focus.
11197         reindent long macros.
11198
11199         * glyphs-x.c (x_redisplay_widget):
11200         * glyphs-x.c (x_button_instantiate):
11201         * glyphs-x.c (x_button_redisplay):
11202         * glyphs-x.c (x_progress_gauge_instantiate):
11203         * glyphs-x.c (x_edit_field_instantiate):
11204         * glyphs-x.c (x_combo_box_instantiate):
11205         * glyphs-x.c (x_tab_control_instantiate):
11206         * glyphs-x.c (x_label_instantiate):
11207         * gui-x.c:
11208         * gui-x.c (button_item_to_widget_value):
11209         * gui-x.c (gui_items_to_widget_values_1):
11210         * gui-x.c (gui_item_children_to_widget_values):
11211         * gui-x.c (gui_items_to_widget_values):
11212         * gui-x.h:
11213         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11214         add new flag to gui-parsing routines to indicate whether
11215         accelerator specs should be supported.
11216
11217         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11218
11219         * glyphs.h (struct Lisp_Image_Instance):
11220         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11221         add initial-focus flag.
11222
11223         * gui.c:
11224         * gui.c (syms_of_gui):
11225         * gui.c (vars_of_gui):
11226         clean up menu-no-selection-hook.
11227
11228         * gui.h:
11229         support delete-dialog-box-hook.
11230
11231         * lread.c (Fload_internal):
11232         * lread.c (locate_file_in_directory_mapper):
11233         (1).
11234
11235         * lrecord.h:
11236         * lrecord.h (struct toolbar_button):
11237         * lrecord.h (syms_of_toolbar):
11238         document how to create a new object.
11239
11240         * menubar-msw.c (mswindows_char_is_accelerator):
11241         may be called on frames w/o menus.
11242
11243         * menubar.c (vars_of_menubar):
11244         clean up :filter docs.
11245
11246         * nt.c (readdir):
11247         * ntproc.c:
11248         (1).
11249
11250         * process-nt.c:
11251         * process-nt.c (validate_signal_number):
11252         * process-nt.c (signal_cannot_launch):
11253         * process-nt.c (nt_create_process):
11254         * process-nt.c (nt_send_process):
11255         * process-nt.c (nt_kill_child_process):
11256         * process-nt.c (nt_open_network_stream):
11257         * process-nt.c (syms_of_process_nt):
11258         (2).
11259         delete quote-handling.  call new lisp code that does it better.
11260
11261         * process-unix.c (connect_to_file_descriptor):
11262         * process-unix.c (allocate_pty):
11263         * process-unix.c (unix_send_process):
11264         * process-unix.c (unix_kill_child_process):
11265         * process-unix.c (unix_open_network_stream):
11266         * process-unix.c (unix_open_multicast_group):
11267         (1). (2).
11268
11269         * process.c:
11270         * process.c (Fstart_process_internal):
11271         (2).  need to canonicalize process path even if absolute.
11272
11273         * select-msw.c (symbol_to_ms_cf):
11274         * select-msw.c (ms_cf_to_symbol):
11275         * select-msw.c (cf_is_autofreed):
11276         * select-msw.c (mswindows_destroy_selection):
11277         * select.c:
11278         * select.c (syms_of_select):
11279         * select.h:
11280         support dibv5, fix bugs. (from Mike Alexander)
11281
11282         * select.c (Fget_selection_internal):
11283         * select.c (select_convert_out):
11284
11285         * sysdep.c:
11286         * sysdep.c (xemacs_stat):
11287         renamed.
11288
11289         * sysdep.c (mkdir):
11290         * sysdep.c (rmdir):
11291         but keep original stat() here because we provide encapsulation
11292         around these funs.
11293
11294         * sysfile.h:
11295         * sysfile.h (fstat):
11296         remove stat garbage.
11297
11298         * syswindows.h:
11299         fix X/MSW conflict.
11300         don't include tchar.h.  it's inappropriate because it makes
11301         compile-time distinctions when we want runtime distinctions.
11302         (we provide our own tchar replacements)
11303
11304         * toolbar.c:
11305         use default object printer for toolbar-button.
11306
11307         * unexcw.c:
11308         make sure we don't encapsulate.
11309
11310         * window.c (vars_of_window):
11311         emphasize that temp-buffer-show-hook is obsolete.
11312
11313 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11314
11315         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11316         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11317
11318         * events.c (Fevent_timestamp_lessp):
11319         Not 64-bit clean.  Use EMACS_INT, not int.
11320
11321 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11322
11323         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11324         unsigned int and changed the last enum to
11325         lrecord_type_last_built_in_type.
11326         (lrecord_implementations_table): changed prototype to know how
11327         long the array is supposed to be.
11328         (lrecord_type_count): new unsigned int to keep track of the
11329         current number of lisp lrecord types.
11330         (DEFINE_EXTERNAL_LRECORD):
11331         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11332         dynamic-modules to declare new lisp types. They are the same
11333         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11334         int for each new type, and increment lrecord_type_count by 1.
11335
11336         * alloc.c (lrecord_implementations_table): Changed to reference
11337         lrecord_type_last_built_in_type for the size of the array.
11338         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11339
11340 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11341
11342         * glyphs.h (check_valid_item_list): Renamed from
11343         check_valid_item_list_1.
11344
11345 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11346
11347         * select.c (Qselect_coerce): New.
11348         * select.c (Vselection_coercion_alist): New.
11349         * select.c (syms_of_select): Declare.
11350         * select.c (get-selection-internal): Use it.
11351         Use the new select-coerce functionality.
11352
11353         * select.c (select_coerce): New.
11354         * select.h (select_coerce): Declare.
11355         New function to coerce one type of data into another.
11356
11357 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11358
11359         * callproc.c (Fcall_process_internal):
11360         (Fcall_process_internal):
11361         * process-unix.c (unix_create_process):
11362         Save and restore the value of errno, so that error messages are accurate.
11363
11364 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11365
11366         * elhash.c (print_hash_table):
11367         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11368         Prettify docstrings and indentation.
11369
11370 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11371
11372         * window.c (Fwindow_pixel_edges): Subtract frame border and
11373         gutter size.
11374
11375 2000-07-31  Andy Piper  <andy@xemacs.org>
11376
11377         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11378         will acknowledge the change.
11379
11380         * glyphs.h: declare tab_control_order_only_changed.
11381
11382         * glyphs-x.c (x_tab_control_redisplay): use
11383         tab_control_order_only_changed.
11384
11385         * glyphs-widget.c (tab_control_order_only_changed): new function.
11386
11387         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11388         tab_control_order_only_changed.
11389
11390         * gui.c (gui_item_equal_sans_selected): new function.
11391         (gui_item_equal): use it.
11392
11393         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11394         :properties in favor of :items..
11395
11396         * glyphs-widget.c (check_valid_item_list): rename from
11397         check_valid_item_list_1.
11398         (check_valid_item_list_1): renamed.
11399         (combo_box_validate): deprecate :properties in favor of :items.
11400         (widget_instantiate): ditto.
11401         (tab_control_update): ditto.
11402         (image_instantiator_combo_box): ditto.
11403         (image_instantiator_tree_view): ditto.
11404         (image_instantiator_tab_control): ditto.
11405         (layout_post_instantiate): remove dead code.
11406
11407         * print.c (debug_print_no_newline): only write to debugger if in
11408         WIN32_NATIVE.
11409
11410         * elhash.c (Fmake_hash_table): update doc string.
11411
11412         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11413         messages whilst in GC. This at least stops XEmacs crashing but has
11414         the potential for wierd behaviour.
11415
11416 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11417
11418         * config.h.in:
11419         Make existence of s&m files optional.
11420
11421         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11422         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11423         * s/gnu.h: Remove HAVE_GETLOADAVG.
11424         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11425         * s/sol2.h: Remove HAVE_GETLOADAVG.
11426         * lisp.h: Remove getloadavg() declaration.
11427         * fns.c:
11428         Include <sys/loadavg.h> if available.
11429         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11430         * config.h.in:  Group together getloadavg()-related macros.
11431         Use only configure-time tests to detect getloadavg().
11432
11433 2000-07-30  Martin Buchholz  <martin@xemacs.org>
11434
11435         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
11436
11437 2000-07-25  Andy Piper  <andy@xemacs.org>
11438
11439         * syswindows.h: add tchar.h for native builds.
11440
11441         * frame.c (syms_of_frame): remove set-glyph-image.
11442
11443         * general-slots.h: add Qset_glyph_image.
11444
11445         * glyphs-widget.c (layout_update): add domain arg to
11446         set-glyph-image.
11447         (syms_of_glyphs_widget): remove set-glyph-image.
11448
11449 2000-07-23  Ben Wing  <ben@xemacs.org>
11450
11451         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
11452         Vpopup_frame_list.
11453
11454 2000-07-22  Andy Piper  <andy@xemacs.org>
11455
11456         * symsinit.h: add syms_of_win32().
11457
11458         * gui-msw.c (syms_of_gui_mswindows): remove
11459         Fmswindows_shell_execute.
11460         (Fmswindows_shell_execute): moved to win32.c.
11461
11462         * emacs.c (main_1): add syms_of_win32 ().
11463
11464         * win32.c (init_potentially_nonexistent_functions): rewrite in
11465         compiler-friendly terms.
11466         (Fmswindows_shell_execute): move here from gui-msw.c.
11467         (syms_of_win32): new.
11468
11469         * device-msw.c (Fmswindows_printer_list): clean up args to
11470         EnumPrinters.
11471         Don't include tchar under cygwin or mingw.
11472         (msprinter_default_printer): make cygwin-friendly.
11473
11474 2000-07-21  Andy Piper  <andy@xemacs.org>
11475
11476         * glyphs-widget.c (image_instantiator_tree_view): use tab
11477         control's update function.
11478         (layout_property): new function. Retrieve items.
11479
11480         * glyphs-msw.c (mswindows_tree_view_redisplay): new
11481         function. Re-populate the tree view from the pending items.
11482
11483         * glyphs.c (instantiate_image_instantiator): Make sure the domain
11484         is designated the parent if the domain is an image instance. This
11485         is needed so that dirtiness can be cascade up the hierarchy and
11486         thus for layout children to be redisplayed correctly.
11487         (allocate_image_instance): rename glyph -> parent.
11488
11489         * redisplay.h: change redisplay_output_layout signature.
11490
11491         * redisplay-msw.c (mswindows_output_display_block): use domain
11492         arg.
11493
11494         * redisplay-x.c (x_output_display_block): use domain arg.
11495
11496 2000-07-10  Andy Piper  <andy@xemacs.org>
11497
11498         * window.c (Fset_window_configuration): add comment.
11499
11500         * redisplay-output.c (compare_runes):
11501         (redisplay_output_subwindow): redisplay rather than update subwindow.
11502         (redisplay_output_layout): ditto.
11503
11504         * redisplay-msw.c (mswindows_frame_output_end):
11505         (mswindows_frame_output_end): make defer window pos optional.
11506
11507         * lisp.h: add Flast.
11508
11509         * glyphs.h (struct image_instantiator_methods): add dest_mask top
11510         normalize method. Change update method to be for changed
11511         instantiators. Add redisplay method. Change signature of layout
11512         method.
11513         (struct Lisp_Image_Instance): add instantiator.
11514         (IMAGE_INSTANCE_INSTANTIATOR): new.
11515         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
11516         (XIMAGE_INSTANCE_INSTANTIATOR): new.
11517         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
11518
11519         * glyphs.c:
11520         (find_instantiator_differences): new function.
11521         (Fset_instantiator_property): new convenience function.
11522         (check_image_instance_structure): strictly check for vector
11523         instantiators.
11524         (normalize_image_instantiator): make non-static.
11525         (instantiate_image_instantiator): pass on dest_mask and use new
11526         signatures for image_instance_layout and friends.
11527         (mark_image_instance): mark the instantiator. Mark the subwindow
11528         face not the widget face.
11529         (image_instance_equal): add instantiator.
11530         (image_instance_hash): ditto.
11531         (allocate_image_instance): ditto.
11532         (Fset_image_instance_property): removed.
11533         (Fimage_instance_file_name): ditto.
11534         (Fcolorize_image_instance): ditto.
11535         (image_instance_layout): add offsets to be set.
11536         (update_image_instance): new function. update an image instance
11537         from its changed instantiator.
11538         (inherit_normalize): add dest_mask.
11539         (xbm_normalize): ditto.
11540         (xface_normalize): ditto.
11541         (xpm_normalize): ditto.
11542         (text_update): set_property -> update.
11543         (image_instantiate): use the glyph identity as a hash key, not the
11544         instantiator.
11545         (glyph_width): use new image_instance_layout signature.
11546         (glyph_ascent): ditto.
11547         (glyph_descent): ditto.
11548         (glyph_height): ditto.
11549         (glyph_query_geometry): ressurrect.
11550         (glyph_layout): ditto.
11551         (redisplay_subwindow): update -> redisplay.
11552         (syms_of_glyphs): add Fset_instantiator_property.
11553         (image_instantiator_format_create): set_property -> update.
11554
11555         * glyphs-x.c:
11556         (autodetect_normalize): add dest_maks to signature.
11557         (x_redisplay_subwindow): update -> redisplay.
11558         (x_redisplay_widget): ditto.
11559         (x_button_redisplay): ditto.
11560         (x_progress_gauge_redisplay): ditto.
11561         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
11562         stacking order.
11563         (console_type_create_glyphs_x): update -> redisplay.
11564         (image_instantiator_format_create_glyphs_x): ditto.
11565
11566         * glyphs-widget.c:
11567         (check_valid_instantiator): disallow glyphs in the instantiator,
11568         they must now be vectors.
11569         (check_valid_instantiator_list): ditto.
11570         (glyph_instantiator_to_glyph): use internal symbol rather than
11571         intern.
11572         (widget_update): renamed from widget_set_property. Call cascaded
11573         update methods.
11574         (redisplay_widget): renamed from update_widget.
11575         (widget_layout): image_instance_layout now takes position as well
11576         as size.
11577         (widget_normalize): ditto.
11578         (widget_instantiate): ditto.
11579         (tab_control_query_geometry) ditto.:
11580         (tab_control_update): renamed from tab_control_set_property.
11581         (progress_gauge_update): set_property -> update.
11582         (layout_normalize): rewrite so that child instantiators are
11583         normalized also.
11584         (layout_update): new function. Create glyphs from the normalized
11585         children and cope with any other layout keywords. We do not
11586         instantiate children here that will be take care of by
11587         redisplay_output_layout.
11588         (layout_instantiate): call layout_update and not much else.
11589         (layout_post_instantiate): not sure whether this is needed
11590         anymore.
11591         (layout_query_geometry): query glyph geometry rather than
11592         image_instance geometry.
11593         (layout_layout): set offsets from pass in parameters. Use glyph
11594         geometry and layout functions rather than image instance ones.
11595         (native_layout_layout): ditto.
11596         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
11597         (image_instantiator_widget): set_property -> update.
11598         (image_instantiator_buttons): ditto.
11599         (image_instantiator_progress_guage): ditto.
11600         (image_instantiator_tab_control): ditto.
11601         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
11602         (image_instantiator_layout): add update method.
11603
11604         * glyphs-msw.c (bmp_normalize):
11605         (mswindows_resource_normalize): add dest_mask so that it can be
11606         proprogated by layout_normalize.
11607         (begin_defer_window_pos): make optional because it may not be the
11608         right thing to do and it introduces differences with X.
11609         (mswindows_unmap_subwindow): ditto.
11610         (mswindows_map_subwindow): ditto.
11611         (mswindows_redisplay_subwindow): renamed from
11612         mswindows_update_subwindow.
11613         (mswindows_redisplay_widget): ditto.
11614         (mswindows_button_redisplay): renamed from
11615         mswindows_button_update. Update is now what the instantiation
11616         function does for a changed instantiator.
11617         (mswindows_progress_gauge_instantiate): set the progress value
11618         here if appropriate.
11619         (mswindows_tab_control_redisplay): cope with re-ordering of the
11620         members of the tab widget by simply selecting the new top
11621         widget. This makes things appear ok if you click on a tab.
11622         (mswindows_combo_box_instantiate): image_instance_layout now takes
11623         position as well as size.
11624         (mswindows_progress_gauge_redisplay): renamed from
11625         mswindows_progress_gauge_update.
11626         (console_type_create_glyphs_mswindows): fix update -> redisplay.
11627         (image_instantiator_format_create_glyphs_mswindows): ditto.
11628
11629         * glyphs-eimage.c (jpeg_normalize):
11630         (gif_normalize):
11631         (png_normalize):
11632         (tiff_normalize): add dest_mask so that it can be proprogated by
11633         layout_normalize.
11634
11635         * elhash.c:
11636         (print_hash_table):
11637         (hash_table_weakness_validate):
11638         (decode_hash_table_weakness):
11639         (Fhash_table_weakness):
11640         (Fhash_table_type):
11641         (syms_of_elhash): use Ben's naming scheme for hashtable types..
11642
11643         * console.h (struct console_methods): move update_* to
11644         redisplay_*.
11645
11646 2000-07-20  Ben Wing  <ben@xemacs.org>
11647
11648         * *.[ch] (XSETOBJ): remove unused middle argument.
11649         lisp-disunion.h: correct wrap_object() to one argument.
11650
11651 2000-07-15  Ben Wing  <ben@xemacs.org>
11652
11653         * s/cygwin32.h:
11654         * s/cygwin32.h (CYGWIN_CONV_PATH):
11655         Add missing logb prototype for v1.1.
11656         Use post-b20 names and alias to pre-b20 names when pre-b20.
11657
11658         * s/windowsnt.h: [5].
11659
11660 2000-07-15  Ben Wing  <ben@xemacs.org>
11661
11662         * Makefile.in.in (x_objs):
11663         * Makefile.in.in (sheap_objs):
11664         * Makefile.in.in (objs):
11665         added win32.o, cosmetic cleanups.
11666
11667         * alloc.c (Fmake_byte_code):
11668         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
11669         etc. macros which declare their own args now.
11670
11671         * alloc.c (syms_of_alloc):
11672         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
11673
11674         * buffer.c:
11675         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
11676
11677         * buffer.c (Fget_file_buffer):
11678         Fixed GCPRO problem.
11679
11680         * buffer.c (get_truename_buffer):
11681         Fixed comment about GC checking.
11682
11683         * buffer.c (syms_of_buffer):
11684         Undeclared those dedicated frame funs.
11685         [2].
11686
11687         * buffer.h:
11688         Define convenience macros for internal/external conversions.
11689         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
11690         and Qenvironment_variable_encoding for cleaner code.
11691
11692         * bufslots.h:
11693         Remove dedicated-frame; in lisp.
11694
11695         * bytecode.c (funcall_compiled_function):
11696         [1].
11697
11698         * bytecode.c (syms_of_bytecode):
11699         [2].
11700
11701         * console-msw.c:
11702         * console-msw.c (mswindows_show_console): Rewrote.
11703
11704         * console-msw.c (Fmswindows_debugging_output): New.
11705         Sends to OutputDebugString (special MSWin debugger interface).
11706
11707         * console-msw.c (Fmswindows_message_box):
11708         Fixed stupid bugs so it works when called from kill-emacs.
11709
11710         * console-msw.c (syms_of_console_mswindows):
11711         Declare Fmswindows_debugging_output.
11712
11713         * console-msw.h:
11714         New MSWin prototypes.
11715
11716         * console-msw.h (struct mswindows_frame):
11717         New entry last-click-mods for improved button-modifier support.
11718
11719         * console-msw.h (FRAME_MSWINDOWS_POPUP):
11720         New struct entry `popup' with corresponding accessor.
11721
11722         * console-x.c:
11723         * console-x.c (split_up_display_spec):
11724         * console-x.c (get_display_arg_connection):
11725         * console-x.c (x_semi_canonicalize_console_connection):
11726         * console-x.c (x_canonicalize_device_connection):
11727         [[[6]]]: Change char to more specific type.
11728         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
11729
11730         * console-x.c (x_semi_canonicalize_console_connection):
11731         * console-x.c (x_canonicalize_device_connection):
11732         [[[9]]]: Fix up error signalling to use new structured error system.
11733
11734         * console-x.h:
11735         [[[4]]]: Define codesys aliases:
11736         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
11737         Qx_color_name_encoding, Qx_display_name_encoding.
11738
11739         * console.h (struct console_methods):
11740         New method make_dialog_box_internal supersedes older
11741         popup_dialog_box method.
11742
11743         * data.c:
11744         Define many new errors, part of new structured errors.
11745
11746         * data.c (init_errors_once_early):
11747         * data.c (syms_of_data):
11748         [2].
11749
11750         * device-msw.c (mswindows_init_device):
11751         [[[5]]]: Cleanup to support NT 3.51.
11752
11753         * device-msw.c (decode_devmode): Cleanup.
11754
11755         * device-msw.c (mswindows_handle_print_setup_dialog_box):
11756         * device-msw.c (mswindows_handle_print_dialog_box):
11757         * device-msw.c (mswindows_handle_page_setup_dialog_box):
11758         * device-msw.c (syms_of_device_mswindows):
11759         Delete the dialog box primitives recently introduced by Kirill and
11760         instead interface to general dialog box interface.
11761
11762         * device-x.c:
11763         * device-x.c (compute_x_app_name):
11764         * device-x.c (x_init_device):
11765         * device-x.c (Fx_valid_keysym_name_p):
11766         * device-x.c (Fx_set_font_path):
11767         [6].
11768         [7].
11769
11770         * device.h (wrap_device): New.
11771         First of its kind; meant to replace XSETDEVICE.
11772
11773         * dialog-msw.c: Many file-dialog symbols.
11774
11775         * dialog-msw.c (mswindows_register_popup_frame): New.
11776         * dialog-msw.c (mswindows_is_dialog_msg): New.
11777         For supporting kbd traversal in dialog boxes.
11778
11779         * dialog-msw.c (dialog_proc):
11780         Support hitting ESC in dialogs.
11781
11782         * dialog-msw.c (struct):
11783         Common dialog box errors.
11784
11785         * dialog-msw.c (handle_file_dialog_box): New.
11786         Add file dialog code.
11787
11788         * dialog-msw.c (handle_question_dialog_box):
11789         Redo existing code to support new question dialog syntax.
11790
11791         * dialog-msw.c (console_type_create_dialog_mswindows):
11792         We support new dialog console method.
11793
11794         * dialog-msw.c (syms_of_dialog_mswindows):
11795         * dialog-msw.c (vars_of_dialog_mswindows):
11796         New file dialog symbols, vars.
11797
11798         * dialog-x.c:
11799         * dialog-x.c (maybe_run_dbox_text_callback):
11800         * dialog-x.c (dbox_descriptor_to_widget_value):
11801         * dialog-x.c (x_make_dialog_box_internal):
11802         * dialog-x.c (console_type_create_dialog_x):
11803         Mule-ize entire file.
11804         Redo to support question dialog syntax.
11805         [6].
11806
11807         * dialog.c:
11808         * dialog.c (Fmake_dialog_box_internal):
11809         * dialog.c (syms_of_dialog):
11810         Kill old popup-dialog-box, replace with new primitive.
11811         Just call device method or signal error.
11812
11813         * eldap.c (Fldap_open):
11814         * eldap.c (Fldap_search_basic):
11815         * eldap.c (Fldap_add):
11816         * eldap.c (Fldap_modify):
11817         [1].
11818         [7].
11819
11820         * emacs.c:
11821         * emacs.c (make_arg_list_1):
11822         * emacs.c (make_arg_list):
11823         Mule-ize call to dll_init().
11824         [6].
11825         [8].
11826
11827         * emacs.c (make_argc_argv):
11828         * emacs.c (free_argc_argv):
11829         * emacs.c (init_cmdargs):
11830         * emacs.c (main_1):
11831         * emacs.c (Fkill_emacs):
11832         * emacs.c (Fdump_emacs):
11833         Update comments about what can be used in syms_* etc.
11834         Call init_win32() when necessary.
11835         Fix up MS Win dialog box in kill-buffer to actually work right.
11836         [7].
11837
11838         * eval.c:
11839         * eval.c (For):
11840         * eval.c (Fand):
11841         * eval.c (Fprogn):
11842         * eval.c (Fprog1):
11843         * eval.c (Fprog2):
11844         * eval.c (FletX):
11845         * eval.c (Flet):
11846         * eval.c (condition_case_3):
11847         * eval.c (Feval):
11848         * eval.c (function_argcount):
11849         * eval.c (funcall_lambda):
11850         [1].
11851
11852         * eval.c (type_error): New.
11853         * eval.c (maybe_type_error): New.
11854         * eval.c (continuable_type_error): New.
11855         * eval.c (maybe_continuable_type_error): New.
11856         * eval.c (type_error_with_frob): New.
11857         * eval.c (maybe_type_error_with_frob): New.
11858         * eval.c (continuable_type_error_with_frob): New.
11859         * eval.c (maybe_continuable_type_error_with_frob): New.
11860         New functions for use with structured errors.
11861
11862         * event-Xt.c:
11863         * event-Xt.c (x_event_to_emacs_event):
11864         Buttons are now modifiers too.
11865
11866         * event-Xt.c (emacs_Xt_current_event_timestamp):
11867         Implement new event method.
11868         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
11869
11870         * event-msw.c:
11871         * event-msw.c (ntpipe_shove_writer): [5].
11872         * event-msw.c (mswindows_enqueue_mouse_button_event):
11873         * event-msw.c (mswindows_drain_windows_queue):
11874         * event-msw.c (mswindows_wnd_proc): [7].
11875         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
11876         * event-msw.c (mswindows_modifier_state):
11877         Throughout: support new button modifiers.
11878
11879         * event-msw.c (emacs_mswindows_current_event_timestamp):
11880         Implement new event method.
11881         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
11882
11883         * event-stream.c:
11884         * event-stream.c (event_stream_current_event_timestamp): New.
11885         * event-stream.c (maybe_kbd_translate): New functionality.
11886         * event-stream.c (vars_of_event_stream):
11887         Document new kbd-translate-table functionality.
11888
11889         * event-stream.c (Fcurrent_event_timestamp): New.
11890         New primitive for use in fabricated events.
11891         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
11892
11893         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
11894
11895         * events.c:
11896         * events.c (Fmake_event):
11897         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
11898         [1].
11899         [9].
11900
11901         * events.c (format_event_object): fix gcc warnings.
11902
11903         * events.c (Fevent_timestamp): Document new primitives.
11904
11905         * events.c (TIMESTAMP_HALFSPACE): New.
11906
11907         * events.c (Fevent_timestamp_lessp): New.  New primitive for
11908         comparing timestamps correctly (half-space algorithm).
11909
11910         * events.c (Fevent_modifier_bits): Doc fix.
11911
11912         * events.c (Fevent_modifiers): Major doc addition.
11913         * events.c (event_x_y_pixel_internal): Typo fix.
11914         * events.c (syms_of_events): Declare new primitives.
11915
11916         * events.h:
11917         Update long comment for button modifiers, timestamps.
11918
11919         * events.h (struct event_stream):
11920         New current_event_timestamp method.
11921
11922         * extents.c:
11923         * extents.c (extent_in_region_p):
11924         * extents.c (decode_extent):
11925         * extents.c (Fset_extent_parent):
11926         * extents.c (decode_map_extents_flags):
11927         Fix gcc warnings.
11928         [9].
11929
11930         * extents.c (struct extent_at_arg):
11931         * extents.c (decode_extent_at_flag):
11932         * extents.c (extent_at_mapper):
11933         * extents.c (extent_at_bytind):
11934         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
11935         * extents.c (Fextents_at): New primitive. [9].
11936         * extents.c (symbol_to_glyph_layout): [9].
11937         Support new primitive `extents-at'.
11938
11939
11940         * extents.c (get_text_property_bytind):
11941         extent_at_bytind has another arg.
11942         [9].
11943
11944         * extents.c (syms_of_extents): New primitive.
11945
11946         * file-coding.c (Fmake_coding_system): [1].
11947         * file-coding.c (subsidiary_coding_system): fix gcc warning
11948         * file-coding.c (syms_of_file_coding): [2].
11949
11950         * fileio.c (Fexpand_file_name):
11951         * fileio.c (Fsysnetunam):
11952         * fileio.c (Ffile_exists_p):
11953         * fileio.c (Ffile_executable_p):
11954         * fileio.c (Fverify_visited_file_modtime):
11955         Clean up GCPROing.
11956
11957         * fileio.c (syms_of_fileio): [2].
11958
11959         * filelock.c (lock_file_1):
11960         * filelock.c (current_lock_owner):
11961         * filelock.c (lock_if_free):
11962         * filelock.c (lock_file):
11963         * filelock.c (unlock_file):
11964         Clean up GCPROing.
11965
11966         * fns.c (concat): Fix gcc warning.
11967
11968         * fns.c (Fmember):
11969         * fns.c (Fold_member):
11970         * fns.c (Fmemq):
11971         * fns.c (Fold_memq):
11972         * fns.c (memq_no_quit):
11973         * fns.c (Fassoc):
11974         * fns.c (Fold_assoc):
11975         * fns.c (Fassq):
11976         * fns.c (Fold_assq):
11977         * fns.c (assq_no_quit):
11978         * fns.c (Frassoc):
11979         * fns.c (Fold_rassoc):
11980         * fns.c (Frassq):
11981         * fns.c (Fold_rassq):
11982         * fns.c (rassq_no_quit):
11983         * fns.c (Fdelete):
11984         * fns.c (Fold_delete):
11985         * fns.c (Fdelq):
11986         * fns.c (Fold_delq):
11987         * fns.c (delq_no_quit):
11988         * fns.c (Fremassoc):
11989         * fns.c (Fremassq):
11990         * fns.c (remassq_no_quit):
11991         * fns.c (Fremrassoc):
11992         * fns.c (Fremrassq):
11993         * fns.c (remrassq_no_quit):
11994         * fns.c (Freverse):
11995         * fns.c (mapcar1):
11996         [1].
11997
11998         * frame-msw.c (mswindows_init_frame_1):
11999         * frame-msw.c (mswindows_delete_frame):
12000         Register popups with dialog code so keyboard traversing works.
12001
12002         * frame-tty.c (tty_raise_frame_no_select): [1].
12003
12004         * frame-x.c:
12005         * frame-x.c (x_set_frame_text_value):
12006         * frame-x.c (x_set_frame_properties):
12007         * frame-x.c (x_create_widgets):
12008         [7].
12009
12010         * frame.c:
12011         * frame.c (Fmouse_pixel_position): Minor doc fixes.
12012
12013         * frame.h (wrap_frame): New.
12014         Macro like wrap_device.
12015
12016         * general.c:
12017         * general.c (SYMBOL):
12018         * general.c (syms_of_general):
12019         Major reorg.  This is now just a wrapper and symbols themselves
12020         are listed in general-slots.h.
12021
12022         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
12023         * glyphs-msw.c (mswindows_resource_instantiate): [5].
12024
12025         * glyphs-msw.c (mswindows_native_layout_instantiate):
12026         Add DS_CONTROL so keyboard traversal will work.
12027
12028         * glyphs-widget.c:
12029         * glyphs-widget.c (syms_of_glyphs_widget):
12030         Move some symbols to general-slots.h.
12031
12032         * glyphs-x.c:
12033         * glyphs-x.c (xbm_instantiate_1):
12034         * glyphs-x.c (x_xbm_instantiate):
12035         * glyphs-x.c (x_xface_instantiate):
12036         * glyphs-x.c (autodetect_instantiate):
12037         * glyphs-x.c (cursor_font_instantiate):
12038         * glyphs-x.c (x_update_widget):
12039         * glyphs-x.c (x_widget_instantiate):
12040         * glyphs.c (bitmap_to_lisp_data):
12041         * glyphs.c (pixmap_to_lisp_data):
12042         [7].
12043
12044         * glyphs.c (syms_of_glyphs):
12045         [2].
12046
12047         * gui-x.c:
12048         * gui-x.c (print_widget_value):
12049         * gui-x.c (menu_separator_style_and_to_external):
12050         * gui-x.c (add_accel_and_to_external):
12051         * gui-x.c (button_item_to_widget_value):
12052         * gui-x.c (gui_items_to_widget_values_1):
12053         * gui-x.c (gui_items_to_widget_values):
12054         * gui-x.c (syms_of_gui_x):
12055         * gui-x.c (vars_of_gui_x):
12056         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
12057         [9].
12058
12059         * gui-x.h:
12060         Muleize, prototype changes matching gui-x.c.
12061
12062         * gui.c:
12063         * gui.c (separator_string_p):
12064         * gui.c (gui_item_add_keyval_pair):
12065         * gui.c (make_gui_item_from_keywords_internal):
12066         * gui.c (signal_too_long_error):
12067         * gui.c (parse_gui_item_tree_item):
12068         * gui.c (syms_of_gui):
12069         * gui.c (vars_of_gui):
12070         * gui.h:
12071         menu-no-selection-hook moved here (used by MSWin).
12072         Move some symbols to general-slots.h.
12073         [6].
12074         [9].
12075
12076         * insdel.c (get_buffer_pos_char):
12077         * insdel.c (get_buffer_range_char):
12078         Add GC comments.
12079
12080         * keymap.c (keymap_lookup_directly):
12081         * keymap.c (keymap_store):
12082         * keymap.c (ensure_meta_prefix_char_keymapp):
12083         * keymap.c (describe_map):
12084         * keymap.h:
12085         Support new button modifiers.
12086
12087         * lisp-disunion.h (wrap_object):
12088         * lisp-disunion.h (XSETOBJ):
12089         Rename make_obj to wrap_object.
12090
12091         * lisp-union.h:
12092         * lisp-union.h (make_int):
12093         * lisp-union.h (make_char):
12094         Support wrap_object.
12095
12096         * lisp.h:
12097         * lisp.h (LIST_LOOP):
12098         * lisp.h (EXTERNAL_LIST_LOOP):
12099         * lisp.h (LIST_LOOP_2):
12100         * lisp.h (EXTERNAL_LIST_LOOP_1):
12101         * lisp.h (EXTERNAL_LIST_LOOP_2):
12102         * lisp.h (EXTERNAL_LIST_LOOP_3):
12103         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
12104         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
12105         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
12106         * lisp.h (EXTERNAL_ALIST_LOOP_5):
12107         * lisp.h (EXTERNAL_ALIST_LOOP_6):
12108         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12109         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12110         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12111         * lisp.h (struct Lisp_Symbol):
12112         * lisp.h (maybe_continuable_error_with_frob):
12113         Fix up section comments.
12114         Add new types for char to indicate usage.
12115         Delete symbols auto-generated from general-slots.h.
12116         Add prototypes for structured error functions.
12117         Add long comments describing looping macros and change interface
12118         so that lvalues are automatically declared.
12119         Add NO_DECLARE macro in case callers want to declare lvalues
12120         themselves.
12121
12122         * lread.c (read_syntax_error):
12123         * lread.c (continuable_read_syntax_error):
12124         * lread.c (read_structure):
12125         * lread.c (sequence_reader):
12126         * lread.c (read_list_conser):
12127         * lread.c (read_compiled_function):
12128         Rename syntax_error and continuable_syntax_error to avoid clash
12129         with same-named structured error functions.
12130
12131         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12132         * menubar-msw.c (populate_menu_add_item):
12133         * menubar-msw.c (populate_or_checksum_helper):
12134         [5].
12135         [9].
12136
12137         * menubar-x.c:
12138         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12139         Mule-ize whole file.
12140
12141         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12142
12143         * mule-charset.c (Fmake_charset):
12144         * mule-wnnfns.c (Fwnn_set_param):
12145         [1].
12146
12147         * ntproc.c (create_child):
12148         * ntproc.c (Fwin32_set_current_locale):
12149         Add comments portending doom.
12150
12151         * objects-msw.c:
12152         * objects-msw.c (old_font_enum_callback_2):
12153         * objects-msw.c (font_enum_callback_1):
12154         * objects-msw.c (mswindows_enumerate_fonts):
12155         [5].
12156
12157         * objects-x.c:
12158         * objects-x.c (allocate_nearest_color):
12159         * objects-x.c (x_parse_nearest_color):
12160         * objects-x.c (x_initialize_color_instance):
12161         * objects-x.c (x_print_color_instance):
12162         * objects-x.c (x_finalize_color_instance):
12163         * objects-x.c (x_valid_color_name_p):
12164         * objects-x.c (x_initialize_font_instance):
12165         * objects-x.c (x_print_font_instance):
12166         * objects-x.c (valid_x_font_name_p):
12167         * objects-x.c (truename_via_FONT_prop):
12168         * objects-x.c (truename_via_random_props):
12169         * objects-x.c (truename_via_XListFonts):
12170         * objects-x.c (x_font_truename):
12171         * objects-x.c (x_font_instance_truename):
12172         * objects-x.c (x_font_instance_properties):
12173         * objects-x.c (x_list_fonts):
12174         * objects-x.c (x_find_charset_font):
12175         Mule-ize entire file.
12176         [7].
12177
12178         * objects-x.h:
12179         Mule-verify.
12180
12181         * print.c:
12182         * print.c (std_handle_out_external):
12183         * print.c (debug_print_no_newline):
12184         * print.c (syms_of_print):
12185         Output to all debugger kinds in debug-print.
12186         Fix console-output code under MSWin to actually work.
12187
12188         * process-nt.c (send_signal):
12189         * process-nt.c (nt_create_process):
12190         Use newer Unicode macros.
12191
12192         * process-unix.c (unix_create_process):
12193         * process-unix.c (unix_canonicalize_host_name):
12194         * process-unix.c (unix_open_network_stream):
12195         [7].
12196
12197         * scrollbar-x.c:
12198         Mule-verify.
12199
12200         * search.c (syms_of_search):
12201         [2].
12202
12203         * select-msw.c (mswindows_destroy_selection):
12204         Use LIST_LOOP_2.
12205
12206         * select-x.c (symbol_to_x_atom):
12207         [7].
12208
12209         * select.c (syms_of_select):
12210         [2].
12211
12212         * sound.c (Fplay_sound_file):
12213         [7].
12214
12215         * specifier.c:
12216         * specifier.c (decode_specifier_type):
12217         * specifier.c (Fvalid_specifier_locale_type_p):
12218         * specifier.c (check_valid_locale_or_locale_type):
12219         * specifier.c (decode_locale):
12220         * specifier.c (decode_locale_type):
12221         * specifier.c (decode_locale_list):
12222         * specifier.c (check_valid_domain):
12223         * specifier.c (decode_specifier_tag_set):
12224         * specifier.c (Fcanonicalize_tag_set):
12225         * specifier.c (Fdefine_specifier_tag):
12226         * specifier.c (Fspecifier_tag_predicate):
12227         * specifier.c (check_valid_inst_list):
12228         * specifier.c (check_valid_spec_list):
12229         * specifier.c (decode_how_to_add_specification):
12230         * specifier.c (check_modifiable_specifier):
12231         * specifier.c (specifier_add_spec):
12232         * specifier.c (boolean_validate):
12233         * specifier.c (display_table_validate):
12234         [9].
12235
12236         * specifier.c (syms_of_specifier):
12237         Move some symbols to general-slots.h.
12238         [2].
12239
12240         * symbols.c:
12241         * symbols.c (Fmapatoms):
12242         * symbols.c (Fapropos_internal):
12243         Add GCPROs.
12244
12245         * symbols.c (set_default_buffer_slot_variable):
12246         * symbols.c (set_default_console_slot_variable):
12247         [1].
12248
12249         * symbols.c (defsymbol_massage_name_1):
12250         * symbols.c (defkeyword_massage_name):
12251         * symbols.c (deferror_1):
12252         * symbols.c (deferror):
12253         * symbols.c (deferror_massage_name_and_message):
12254         * symeval.h:
12255         * symeval.h (DEFSYMBOL):
12256         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12257
12258         * symbols.c (syms_of_symbols):
12259         [2].
12260
12261         * symsinit.h:
12262         * symsinit.h (init_win32): New.
12263         Also new is syms_of_dialog_mswindows.
12264
12265         * syswindows.h:
12266         Add new Unicode macros, missing Cygwin wide-char functions,
12267         convenience conversion macros for Qmswindows_tstr, macros for
12268         encapsulating required MSWin <-> Cygwin filename conversions,
12269         prototype for dynamically-extracted (not in NT 3.51) functions.
12270
12271         * toolbar-x.c:
12272         Mule-verify.
12273
12274         * tooltalk.c (Fadd_tooltalk_message_arg):
12275         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12276         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12277         [7].
12278
12279         * tooltalk.c (syms_of_tooltalk):
12280         [2].
12281
12282         * unexnt.c:
12283         * unexnt.c (unexec):
12284         Fix up headers, declaration of unexec() to be more standard.
12285
12286 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12287
12288         * offix.h: Revert change to guard macros - they're used in offix.c!
12289
12290 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12291
12292         * lisp.h: Defsubred Fdelete.
12293
12294         * console-msw.h:  (msprinter_default_printer): Added.
12295
12296         * console-msw.c (msprinter_canonicalize_console_connection):
12297         (msprinter_canonicalize_device_connection): Added.
12298
12299         * device-msw.c (msprinter_default_printer):
12300         (Fmswingows_get_default_printer):
12301         (signal_enum_priner_error):
12302         (Fmswingows_printer_list): Added.
12303
12304 2000-07-19  Martin Buchholz <martin@xemacs.org>
12305
12306         * XEmacs 21.2.35 is released.
12307
12308 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12309
12310         * select-x.c (x_handle_selection_request):
12311         Text selected in xemacs and pasted into xterm failed to appear.
12312         Spelling fixes and cosmetic changes.
12313
12314 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12315
12316         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12317         XEmacs frame (fix for doubling chars in dialog boxes).
12318
12319 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12320
12321         * select.c (select_convert_in, select_convert_out):
12322         Don't call intern() every time.
12323
12324         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12325         * select.c (vars_of_select): Initialise them.
12326
12327 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12328
12329         * select.c (selection-coercible-types): New.
12330
12331         * select.c (own-selection-internal):
12332         * select.c (get-selection-internal):
12333         MULE bug fix - these should default to COMPOUND_TEXT and not
12334         STRING for MULE. I think.
12335
12336         * select.c (select_convert_out): Use selection-coercible-types
12337         to find types that we can attempt to perform coercions on.
12338
12339 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12340
12341         * mule-wnnfns.c:
12342         * mule-canna.c:
12343         Add coding: cookie to identify encoding.
12344
12345         * mule-canna.c (CANNA_mode_keys): make static.
12346         Use proper prototypes, even for functions of no arguments.
12347         Remove external prototype for Fding().
12348
12349         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12350
12351         * select.c (syms_of_select): Add missing DEFSUBR.
12352
12353 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12354
12355         * select.c (get_selection_internal, own_selection_internal):
12356         Make the type default to STRING, rather than placing a nil type
12357         into Vselection_alist.
12358
12359 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12360
12361         * gpmevent.c (tty_selection_exists_p):
12362         * gpmevent.c (tty_own_selection):
12363         Updated parameter lists.
12364
12365 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12366
12367         * select.h (selection-alist): Removed declaration.
12368
12369         * select.h (get_local_selection):
12370         * select.c (get_local_selection):
12371         Made static.
12372
12373         * select.h (convert_selection): Removed declaration.
12374         * select.c (convert_selection): Removed.
12375         This function belongs in Lisp.
12376
12377         * select.h (select_convert_in): Declare.
12378         * select.h (select_convert_out): Declare.
12379         * select.c (select_convert_in): New.
12380         * select.c (select_convert_out): New.
12381         New conversion functions for other files to call.
12382
12383         * select.h (select_notify_buffer_kill): Declare.
12384         * select.c (select_notify_buffer_kill): New.
12385         New functions that get called from kill-buffer.
12386
12387         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12388         X-specific lisp code.
12389
12390         * select.h: Declare some of the lisp-visible functions for
12391         external use.
12392
12393         * select.c (clean_local_selection_data): Removed. This was
12394         a disgusting function, and previously should have been in
12395         select-x.c in any case. The functionality is now provided
12396         in select-convert-from-integer (select.el).
12397
12398         * select.c (available-selection-types): Fixed stupidity where
12399         INTEGER and ATOM got added twice. Also add STRING when we see an
12400         extent.
12401
12402         * select.c (get-selection-internal): Removed symbol stripping. No
12403         longer causes conversion when data comes from the internal cache.
12404
12405         * select.c (syms_of_select): Added new functions.
12406
12407         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12408         error checking - previously this called abort!
12409
12410         * select-x.c (x_own_selection): Changed comment.
12411
12412         * select-x.c (x_handle_selection_request): Use select_convert_out.
12413         Don't mess with selection-alist; it's an internal variable of select.c.
12414
12415         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12416
12417         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12418         rather than messing with selection-alist.
12419
12420         * select-msw.c (mswindows_get_foreign_selection):
12421         Use TO_INTERNAL_FORMAT rather than hacking.
12422
12423 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12424
12425         * process-unix.c (unix_open_multicast_group):
12426         (unix_open_multicast_group): Remove useless casts.
12427
12428 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12429
12430         * sound.c (Fplay_sound): Fix `unused variable' warning.
12431
12432         * emacs.c (main): Use correct type for _environ on SCO5.
12433
12434 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
12435
12436         * console.h (own_selection_method):
12437         * console.h (selection_exists_p_method):
12438         * console.h (available_selection_types_method): New.
12439         * console.h (register_selection_data_type_method): New.
12440         * console.h (selection_data_type_name): New.
12441
12442         * console-msw.h (mswindows_destroy_selection): Declare it.  New
12443         function & alist to track GlobalAlloc()'d handles that need
12444         releasing when the clipboard data gets replaced or emptied.
12445
12446         * event-msw.c (mswindows_wnd_proc): Call it.
12447
12448         * lisp.h, general.c (Qappend): New symbol representing a
12449         `how-to-add' mode.
12450
12451         * select.c (own-selection-internal):
12452         * select.c (selection-exists-p):
12453         * select.c (available-selection-types): New.
12454         * select.c (register-selection-data-type): New.
12455         * select.c (selection-data-type-name): New.  New functions to deal
12456         with device-specific selection data formats.
12457         * select.c (selection-converter-out-alist): Renamed.
12458         * select.c (selection-converter-in-alist): New.
12459         * select.c (selection-appender-alist): New.  Added new alists.
12460         * select.c (syms_of_select, vars_of_select): Added new symbols &
12461         variables.
12462         * select.c (get_local_selection): Split.
12463         * select.c: Removed spurious type checking - selections may now be
12464         of any type, not just strings.
12465         * select.c (own-selection-internal):
12466
12467         * select.h, select.c (convert_selection): New. Created
12468         convert_selection() function based on get_local_selection().
12469         * select.h, select.c (QCF_*): New symbols representing mswindows
12470         clipboard formats.
12471         * select.h, select.c (Qreplace_all, Qreplace_existing): New
12472         symbols representing `how-to-add' modes.
12473
12474         * select-msw.c (x_sym_p): New.
12475         * select-msw.c (symbol_to_ms_cf): New.
12476         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
12477         symbols & clipboard formats. Can also handle string names.
12478         * select-msw.c (mswindows_own_selection):
12479         * select-msw.c (mswindows_selection_exists_p):
12480         Added `data-type' parameter. Use it.
12481         * select-msw.c (mswindows_available_selection_types): New.
12482         * select-msw.c (mswindows_register_selection_data_type): New.
12483         * select-msw.c (mswindows_selection_data_type_name): New.
12484         * select-msw.c (mswindows_own_selection):
12485         * select-msw.c (mswindows_get_foreign_selection):
12486         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
12487         * select-msw.c (console_create_select_mswindows): Added new methods.
12488         * select-msw.c (mswindows_destroy_selection): New.
12489         * select-msw.c (Vhandle_alist): New list.
12490         * select-msw.c (mswindows_own_selection):
12491
12492         * select-x.c (x_own_selection):
12493         * select-x.c (x_selection_exists_p):
12494         * select-x.c: Added some comments about maybe using new
12495         functionality.
12496         * select-x.c (x_own_selection):
12497
12498         * specifier.c: Remove definition of Qappend (now in general.c)
12499         * specifier.c (syms_of_specifier): Remove Qappend.
12500
12501 2000-07-12  Martin Buchholz  <martin@xemacs.org>
12502
12503         * config.h.in: Add socklen_t.
12504
12505         * s/decosf4-0.h: No special compiler flags needed or desired.
12506         In particular, undefine _BSD for DEC OSF 4.0.
12507
12508 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12509
12510         * redisplay-msw.c (msprinter_frame_output_end): Added.
12511         (console_type_create_redisplay_mswindows): Referred the above.
12512
12513         * frame.c (setup_frame_without_minibuffer): Do not create a
12514         default minibuffer frame on a printer device.
12515
12516         * frame-msw.c (apply_dc_geometry): Added.
12517         (msprinter_start_page):
12518         (msprinter_init_frame_3):
12519         (msprinter_eject_page): Use it.
12520
12521         * console-msw.h (struct msprinter_frame): Added pix_left and top,
12522         and removed residual duplex and orientation properties.
12523
12524 2000-07-11  Martin Buchholz  <martin@xemacs.org>
12525
12526         * eval.c (function_argcount): Work around a DEC CC compiler bug.
12527
12528         * unexalpha.c: Remove system prototypes from C sources!
12529
12530 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
12531
12532         * eval.c: Remove references to M-x edit-options in DEFUNs for
12533         `defvar' and `defconst'.
12534
12535 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12536
12537         * config.h.in: Remove SMART_INCLUDE hackery.
12538
12539         PostgreSQL hacking:
12540         * config.h.in: Don't use SMART_INCLUDE.
12541
12542         * postgresql.h: Include libpq-fe.h here.  Fix typo.
12543         * inline.c: Simply #include "postgresql.h"
12544         * postgresql.c:
12545         - Don't use SMART_INCLUDE
12546         - Use simply "const".
12547         - Use standard doc string conventions.
12548         - Use correct type for result of PQstatus.
12549
12550 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12551
12552         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
12553
12554         C++ compilation changes.
12555         * config.h.in (EXTERN_C): Define.
12556         * config.h.in (not): This is also a C++ keyword.
12557         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
12558         * cm.c: Use EXTERN_C.
12559         * redisplay-tty.c: Use EXTERN_C.
12560         * sysdep.c: Use EXTERN_C.  Remove Gould support.
12561
12562 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12563
12564         * general.c: Remove duplicate definition for Qfunction.
12565
12566 2000-07-08  Ben Wing  <ben@xemacs.org>
12567
12568         * device-msw.c (msprinter_init_device):
12569         * device-msw.c (sync_printer_with_devmode):
12570         * device-msw.c (handle_devmode_changes):
12571         * device-msw.c (print_dialog_worker):
12572         * device-msw.c (Fmsprinter_apply_settings):
12573         * device-msw.c (hash_devmode):
12574         * device-msw.c (Fmsprinter_settings_despecialize):
12575         use Qmswindows_tstr, not Qctext.
12576
12577         * vm-limit.c (check_memory_limits):
12578         avoid infinite loop printing warning messages.
12579
12580 2000-07-05  Craig Lanning  <lanning@scra.org>
12581
12582         * Makefile.in.in: Add support for including the Windows resources
12583         when building with the cygwin and mingw targets.
12584
12585         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
12586         not set or not correct.
12587         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
12588         (init_initial_directory): Don't try to use $PWD on the
12589         WIN32_NATIVE target.
12590
12591         * s\cygwin32.h:
12592         [[Add -mwindows to eliminate console window.]] not required --ben
12593         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12594         (MAIL_USE_POP): removed; now handled by configure.
12595
12596         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
12597         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
12598         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12599         (MAIL_USE_POP): removed; now handled by configure.
12600         (ENCAPSULATE_STAT): from Dan Holmsand, added.
12601         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
12602         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
12603         constant string.
12604         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
12605         up from <winsock.h> via systime.h.
12606         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
12607         (getpagesize): from Dan Holmsand, added.
12608         Added #endif which was left dangling by Ben's mega patch; added
12609         comment to help prevent this in the future.
12610
12611         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
12612
12613 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12614
12615         * console-msw.h (struct mswindows_device): Removed unnecessary
12616         cached device geometry values.
12617         Added update_tick and an accessor macro.
12618         (Lisp_Devmode): Added lrecord declaration.
12619         (struct msprinter_device): Contain devmode as a Lisp object.
12620         Added mswindows_get_selected_frame_hwnd();
12621
12622         * console.h (struct console_methods): Indentation nitpicking.
12623
12624         * device-msw.c (mswindows_init_device): Do not initialize geometry
12625         cache. Initialize update tick.
12626         (mswindows_device_system_metrics): Ask the device for its geometry.
12627         (global_free_2_maybe):
12628         (devmode_to_hglobal):
12629         (handle_printer_changes):
12630         (ensure_not_printing):
12631         (print_dialog_worker):
12632         (Fmsprinter_print_setup_dialog):
12633         (Fmsprinter_print_dialog):
12634         (plist_get_margin):
12635         (plist_set_margin):
12636         (Fmsprinter_page_setup_dialog): Added functions.
12637         (sync_printer_with_devmode):
12638         (handle_devmode_changes):
12639         (Fmsprinter_get_settings):
12640         (Fmsprinter_select_settings):
12641         (Fmsprinter_apply_settings):
12642         (allocate_devmode):
12643         (Fmsprinter_settings_copy):
12644         (Fmsprinter_settings_despecialize):
12645         (print_devmode):
12646         (finalize_devmode):
12647         (equal_devmode):
12648         (hash_devmode): Added functions
12649         (syms_of_device_mswindows): Init devmode lrecord class.
12650
12651         * device.h: Added an exfun for find-device.
12652
12653         * event-msw.c (mswindows_wnd_proc): Do not update the cached
12654         geometry; although, recreate the device compatible DC.
12655
12656         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
12657         (msprinter_init_frame_3):
12658         (msprinter_frame_property):
12659         (msprinter_internal_frame_property_p):
12660         (msprinter_frame_properties):
12661         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
12662         print job properties (will move to device settings).
12663
12664         * lisp.h: Added symbols.
12665
12666         * general.c (syms_of_general): Declared them.
12667
12668         * hash.c (string_hash): Added.
12669
12670         * lrecord.h (lrecord_type): Added devmode lrecord type.
12671
12672 2000-07-02  Mike Sperber <mike@xemacs.org>
12673
12674         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
12675         FreeBSD 4.0.
12676
12677 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
12678
12679         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
12680         integer.
12681
12682 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
12683
12684         * data.c (Fstring_to_number): Don't recognize floating point if
12685         base is not 10.
12686
12687 2000-06-22  Martin Buchholz  <martin@xemacs.org>
12688
12689         * glyphs-widget.c (tab_control_query_geometry):
12690         (widget_query_geometry):
12691         (button_query_geometry):
12692         * glyphs.c (text_query_geometry):
12693         Enforce type correctness.
12694
12695 2000-06-18  Martin Buchholz  <martin@xemacs.org>
12696
12697         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
12698         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
12699
12700 2000-06-17  Martin Buchholz  <martin@xemacs.org>
12701
12702         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
12703         conflicts with gcc's fixincluded version of FOO.h.
12704
12705         * glyphs.h (image_instance_geometry): Remove trailing `,'
12706
12707 2000-06-08  Mike Alexander  <mta@arbortext.com>
12708
12709         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
12710         (shove_thread): Don't write the same output twice
12711         (make_ntpipe_output_stream): Increase priority of shove thread
12712         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
12713         chance to run
12714         (ntpipe_shove_closer): Don't delete the pipe until we're done with
12715         it.
12716
12717 2000-06-12  Ben Wing  <ben@xemacs.org>
12718
12719         * s\mingw32.h (sigset):
12720         * s\windowsnt.h (sigset):
12721         rename msw_ to mswindows_ for consistency with general convention.
12722
12723 2000-06-12  Ben Wing  <ben@xemacs.org>
12724
12725         * console-msw.c:
12726         * console-msw.c (mswindows_get_console_hwnd):
12727         * console-msw.c (mswindows_ensure_console_allocated):
12728         * console-msw.c (mswindows_hide_console):
12729         * console-msw.c (mswindows_show_console):
12730         * console-msw.c (mswindows_ensure_console_buffered):
12731         * console-msw.c (mswindows_output_console_string):
12732         * console-msw.c (mswindows_windows9x_p):
12733         * console-msw.h:
12734         * device-msw.c (mswindows_get_workspace_coords):
12735         * device-msw.c (mswindows_device_system_metrics):
12736         * dialog-msw.c (mswindows_popup_dialog_box):
12737         * event-msw.c (mswindows_wnd_proc):
12738         * frame-msw.c (mswindows_size_frame_internal):
12739         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12740         * menubar-msw.c (displayable_menu_item):
12741         * menubar-msw.c (mswindows_char_is_accelerator):
12742         * nt.c:
12743         * nt.c (mswindows_sigset):
12744         * nt.c (mswindows_sigrelse):
12745         * nt.c (mswindows_sigpause):
12746         * nt.c (mswindows_raise):
12747         * nt.c (timer_proc):
12748         * ntproc.c:
12749         * ntproc.c (find_child_console):
12750         * ntproc.c (sys_kill):
12751         * print.c:
12752         * print.c (std_handle_out_external):
12753         * process-nt.c (find_child_console):
12754         * process-nt.c (send_signal_the_95_way):
12755         * process-nt.c (ensure_console_window_exists):
12756         * process-nt.c (nt_create_process):
12757         * syssignal.h:
12758         rename msw_ to mswindows_ for consistency with general convention.
12759
12760         * emacs.c:
12761         * dumper.c:
12762         include nt.h, not syswindows.h.
12763
12764         * nt.c (mswindows_fstat):
12765         * nt.c (mswindows_stat):
12766         prefix mswindows_ instead of attempting to directly override the
12767         library functions.  fix declarations.
12768
12769         * nt.h:
12770         include syswindows.h.  move some sysdep.h stuff here.
12771
12772         * ntheap.h:
12773         include syswindows.h, not <windows.h>.
12774
12775         * ntplay.c:
12776         clean up headers.
12777
12778         * sysdep.c:
12779         clean up headers.
12780
12781         * sysdep.c (sys_fstat):
12782         * sysdep.c (sys_stat):
12783         call mswindows versions when appropriate.
12784
12785         * sysdep.h:
12786         move mswin decls to nt.h.
12787
12788         * syswindows.h:
12789         add long comment describing appropriate use of the various windows
12790         headers.
12791
12792 2000-06-11  Ben Wing  <ben@xemacs.org>
12793
12794         * device-x.c: Correct doc string for sixth arg of x-get-resource.
12795
12796 2000-06-10  Ben Wing  <ben@xemacs.org>
12797
12798         * Makefile.in.in (release):
12799         Correction to make sure xemacs.exe always dumped when correct.
12800
12801         * alloca.c:
12802         * balloon_help.c:
12803         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
12804
12805         * buffer.c (set_buffer_internal):
12806         [[[[2]]]]: Remove HAVE_FEP code.
12807
12808         * buffer.c (init_initial_directory):
12809         [3].
12810
12811         * bytecode.c:
12812         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
12813         individual files.
12814
12815         * callproc.c:
12816         * callproc.c (call_process_cleanup):
12817         * callproc.c (Fold_call_process_internal):
12818         * callproc.c (child_setup):
12819         * callproc.c (getenv_internal):
12820         * callproc.c (init_callproc):
12821         * callproc.c (vars_of_callproc):
12822         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
12823         __CYGWIN32__ -> CYGWIN.
12824         DOS_NT -> WIN32_NATIVE.
12825         Remove MSDOS support/references, converting to WIN32_NATIVE
12826           where correct.
12827         __MINGW32__ -> MINGW.
12828         Fix windows.h includes.
12829         Remove bogus HAVE_NTGUI.
12830
12831         * config.h.in:
12832         [2].
12833
12834         * console-msw.c:
12835         mswindows_message_outputted added for use in allowing startup
12836         errors on the console to be seen.
12837
12838         * console-msw.c (msw_ensure_console_allocated):
12839         * console-msw.c (msw_output_console_string):
12840         * console-msw.c (DHEADER):
12841         * console-msw.c (DOPAQUE_DATA):
12842         * console-msw.c (DEVENT):
12843         * console-msw.c (DCONS):
12844         * console-msw.c (DCONSCDR):
12845         * console-msw.c (DSTRING):
12846         * console-msw.c (DVECTOR):
12847         * console-msw.c (DSYMBOL):
12848         * console-msw.c (DSYMNAME):
12849         Fix warnings.
12850
12851         * console-stream.c (stream_init_console):
12852         Fix text/binary problems.
12853
12854         * device-msw.c:
12855         * device-msw.c (mswindows_finish_init_device):
12856         * device-msw.c (mswindows_delete_device):
12857         [1].
12858
12859         * device.c (handle_asynch_device_change):
12860         [3].
12861
12862         * dgif_lib.c:
12863         * dgif_lib.c (DGifOpenFileName):
12864         * dgif_lib.c (DGifOpenFileHandle):
12865         * dgif_lib.c (DGifGetLine):
12866         * dgif_lib.c (DGifGetPixel):
12867         Added config.h/lisp.h, fix up includes.
12868         [1].
12869
12870         * dired-msw.c:
12871         [4].
12872
12873         * dired.c:
12874         * dired.c (file_name_completion):
12875         * dired.c (Ffile_attributes):
12876         * dired.c (syms_of_dired):
12877         [1].
12878
12879         * dumper.c:
12880         * dumper.c (pdump_file_unmap):
12881         * dumper.c (pdump_load):
12882         [1].
12883
12884         * editfns.c:
12885         * editfns.c (Ftemp_directory):
12886         * editfns.c (user_login_name):
12887         * editfns.c (Fuser_real_login_name):
12888         * editfns.c (get_home_directory):
12889         [1].
12890
12891         * elhash.c (finish_marking_weak_hash_tables):
12892         [[[[5]]]]: Fix GCC warnings.
12893
12894         * emacs.c:
12895         * emacs.c (mswindows_handle_hardware_exceptions):
12896         * emacs.c (make_arg_list_1):
12897         * emacs.c (main_1):
12898         * emacs.c (Fkill_emacs):
12899         * emacs.c (Fdump_emacs):
12900         [1].
12901         Fix problems with nested crashes, add long comment.
12902
12903         * event-Xt.c (init_event_Xt_late):
12904         [1].
12905
12906         * event-msw.c:
12907         * event-msw.c (mswindows_dde_callback):
12908         * event-msw.c (mswindows_handle_sticky_modifiers):
12909         * event-msw.c (mswindows_wnd_proc):
12910         [1].
12911         [5].
12912
12913         * events.c (character_to_event):
12914         [1].
12915
12916         * fileio.c:
12917         * fileio.c (Ffile_name_directory):
12918         * fileio.c (Ffile_name_nondirectory):
12919         * fileio.c (directory_file_name):
12920         * fileio.c (Fexpand_file_name):
12921         * fileio.c (Fsubstitute_in_file_name):
12922         * fileio.c (Ffile_name_absolute_p):
12923         * fileio.c (check_executable):
12924         * fileio.c (Ffile_readable_p):
12925         * fileio.c (Ffile_accessible_directory_p):
12926         * fileio.c (Ffile_modes):
12927         * fileio.c (Funix_sync):
12928         * fileio.c (vars_of_fileio):
12929         [1]. [4].
12930
12931         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
12932
12933         Expand getdefdir defn.
12934         Fix bogus rename() comment.
12935
12936         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
12937         to use standard XEmacs include files, e.g. sysfile.h, rather
12938         than system-specific includes.
12939
12940         * fns.c:
12941         * fns.c (Fsubseq):
12942         [5]. [6].
12943
12944         * frame.c (vars_of_frame):
12945         [1].
12946
12947         * getloadavg.c:
12948         * getloadavg.c (getloadavg):
12949         [1]. [6].
12950         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
12951         (We don't use it elsewhere in the code; just add a comment.)
12952
12953         * gif_io.c:
12954         [6].
12955         Add config.h.
12956
12957         * glyphs-msw.c:
12958         * glyphs-msw.c (mswindows_resource_instantiate):
12959         [1].
12960
12961         * glyphs-x.c (x_native_layout_instantiate):
12962         [5].
12963
12964         * gui-msw.c (Fmswindows_shell_execute):
12965         [1].
12966
12967         * insdel.c:
12968         [4].
12969
12970         * lisp.h:
12971         [4]. [5].
12972
12973         * lread.c (locate_file_in_directory_mapper):
12974         [1].
12975
12976         * lstream.c:
12977         [4].
12978
12979         * mem-limits.h:
12980         * mem-limits.h (get_lim_data):
12981         [1].
12982
12983         * menubar-msw.c:
12984         [4].
12985
12986         * ndir.h:
12987         [1].
12988
12989         * nt.c:
12990         * nt.c (getwd):
12991         * nt.c (closedir):
12992         * nt.c (rva_to_section):
12993         * nt.c (mswindows_executable_type):
12994         [1]. [6].
12995         Fix closedir() defn.
12996
12997         * nt.h:
12998         [[[[8]]]]: *_OK defs moved to sysfile.h.
12999
13000         * ntproc.c:
13001         [6]. [7].
13002
13003         * objects-x.c:
13004         [4].
13005
13006         * print.c:
13007         * print.c (std_handle_out_external):
13008         [1]. [4].
13009
13010         * process-nt.c:
13011         * process-nt.c (nt_create_process):
13012         [6].
13013         try to fix process quoting somewhat.
13014
13015         * process-unix.c (unix_create_process):
13016         [1].
13017
13018         * process.c:
13019         * process.c (vars_of_process):
13020         Add Vnull_device.
13021
13022         * process.h:
13023         [1].
13024
13025         * realpath.c:
13026         * realpath.c (xrealpath):
13027         [1].
13028
13029         * redisplay-tty.c (init_tty_for_redisplay):
13030         [3].
13031
13032         * redisplay.c:
13033         [4]. [6].
13034
13035         * scrollbar-msw.c:
13036         [4].
13037
13038         * sheap.c:
13039         * sheap.c (more_static_core):
13040         * sheap.c (report_sheap_usage):
13041         [5]. [6].
13042
13043         * signal.c:
13044         * signal.c (alarm_signal):
13045         [1]. [6].
13046
13047         * sound.c:
13048         [6].
13049
13050         * strftime.c:
13051         * strftime.c (zone_name):
13052         [1]. [5].
13053
13054         * symsinit.h (init_sunpro):
13055         [1].
13056
13057         * syscommctrl.h:
13058         commctrl.h not in Cygwin b20.1.
13059
13060         * sysdep.c:
13061         * sysdep.c (endif):
13062         * sysdep.c (sys_subshell):
13063         * sysdep.c (init_baud_rate):
13064         * sysdep.c (emacs_get_tty):
13065         * sysdep.c (emacs_set_tty):
13066         * sysdep.c (tty_init_sys_modes_on_device):
13067         * sysdep.c (init_system_name):
13068         * sysdep.c (sys_open):
13069         * sysdep.c (interruptible_open):
13070         * sysdep.c (sys_fopen):
13071         * sysdep.c (sys_mkdir):
13072         * sysdep.c (sys_rename):
13073         * sysdep.c (get_process_times_1):
13074         [1]. [6].
13075
13076         * sysdep.h:
13077         [1].
13078
13079         * sysdir.h:
13080         * sysdir.h (DIRENTRY_NONEMPTY):
13081         [1]. [6].
13082
13083         * sysdll.c (dll_init):
13084         * sysdll.h:
13085         [1].
13086
13087         * sysfile.h:
13088         [1]. [6]. [8].
13089         added text/binary defs.
13090
13091         * sysfloat.h:
13092         [1].
13093
13094         * sysproc.h:
13095         * sysproc.h (EDESTADDRREQ):
13096         * sysproc.h (poll_fds_for_input):
13097         [1]. [6].
13098
13099         * syspwd.h:
13100         [6].
13101
13102         * syssignal.h:
13103         [1].
13104
13105         * systime.h:
13106         [1]. [6].
13107
13108         * systty.h:
13109         [1].
13110
13111         * syswindows.h:
13112         [1].
13113         Always define WIN32_LEAN_AND_MEAN.
13114
13115         * unexcw.c (unexec):
13116         [5].
13117
13118         * unexec.c:
13119         * unexec.c (copy_text_and_data):
13120         * unexec.c (adjust_lnnoptrs):
13121         [1].
13122
13123         * unexnt.c:
13124         * unexnt.c (_start):
13125         [1].
13126
13127 2000-06-07  Ben Wing  <ben@xemacs.org>
13128
13129         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13130         was used only as a model.  We've long since extracted any useful
13131         logic or code out of this. (I just did an exhaustive search.)
13132
13133         * s\msdos.h: Removed.
13134
13135         * s\windows95.h: Removed.
13136
13137 2000-06-10  Ben Wing  <ben@xemacs.org>
13138
13139         * s\cygwin32.h:
13140         [1]. [5].
13141         Don't use extern with fun defs.
13142
13143         * s\mingw32.h:
13144         [1]. [7].
13145         Remove nt\inc include.
13146         Remove getdisk, getdefdir. (The former is unused, the latter
13147         expanded in fileio.h.)
13148
13149         * s\windowsnt.h:
13150         * s\windowsnt.h (WIN32_NATIVE):
13151         * s\windowsnt.h (HAVE_STRCASECMP):
13152         [1]. [7].
13153         Add long comment about preprocessor changes.
13154         Remove getdisk, getdefdir. (The former is unused, the latter
13155         expanded in fileio.h.)
13156
13157 2000-06-10  Ben Wing  <ben@xemacs.org>
13158
13159         * m\arm.h:
13160         * m\delta.h:
13161         * m\intel386.h:
13162         * m\sequent.h:
13163         * m\template.h:
13164         * m\windowsnt.h:
13165         [1].
13166         Remove bogus/unused NO_SOCK_SIGIO.
13167
13168 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13169
13170         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13171         not an Emchar.
13172
13173 2000-06-04  Mike Sperber <mike@xemacs.org>
13174
13175         * casetab.c (set_case_table): For `set-standard-case-table',
13176         actually deposit the new case tables where the rest of XEmacs can
13177         see them.
13178
13179 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13180
13181         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13182
13183 2000-06-05  Ben Wing  <ben@xemacs.org>
13184
13185         * callproc.c (child_setup): Don't do close_load_descs() under
13186         MS Windows.  Put in a comment explaining why.
13187
13188 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13189
13190         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13191         Toolkit shell" which breaks `kill-compilation' on Windows NT
13192         native, retaining STDERR handling improvements.
13193
13194 2000-06-01  Andreas Jaeger  <aj@suse.de>
13195
13196         * s/s390.h: Support for S390, based on a patch by Martin
13197         Schwidefsky <schwidefsky@de.ibm.com>.
13198
13199 2000-05-30  Andy Piper  <andy@xemacs.org>
13200
13201         * window.c (allocate_window):
13202         (make_dummy_parent):
13203         (Fset_window_configuration): use new hashtable type.
13204
13205         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13206         (struct image_instantiator_methods):
13207         (struct Lisp_Image_Instance): make instance geometry signed.
13208
13209         * glyphs.c (instantiate_image_instantiator):
13210         (image_instance_query_geometry):
13211         (image_instance_layout):
13212         (image_instance_layout):
13213         (query_string_geometry):
13214         (text_query_geometry):
13215         (image_instantiate):
13216         (image_instantiate):
13217         (cache_subwindow_instance_in_frame_maybe):
13218         (subwindow_query_geometry): make instance geometry signed.
13219
13220         * glyphs-widget.c (widget_query_geometry):
13221         (widget_layout):
13222         (button_query_geometry):
13223         (tree_view_query_geometry):
13224         (tab_control_query_geometry):
13225         (layout_query_geometry):
13226         (layout_layout):
13227         (native_layout_layout): make instance geometry signed.
13228
13229 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13230
13231         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13232         constant.
13233
13234         * general.c (syms_of_general): Add Qfull_assoc symbol.
13235
13236         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13237         correctly.
13238         (decode_weak_list_type): Decode full-assoc type.
13239         (encode_weak_list_type): Encode full-assoc type.
13240         (Fmake_weak_list): Update doc string.
13241
13242 2000-05-30  Andy Piper  <andy@xemacs.org>
13243
13244         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13245
13246         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13247         (decode_hash_table_weakness): ditto.
13248         (Fhash_table_weakness): ditto.
13249         (Fhash_table_type): ditto.
13250         (finish_marking_weak_hash_tables): ditto.
13251         (hash_table_weakness_validate): ditto.
13252         (syms_of_elhash): ditto.
13253
13254 2000-05-28  Martin Buchholz <martin@xemacs.org>
13255
13256         * XEmacs 21.2.34 is released.
13257
13258 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13259
13260         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13261         start cache.
13262         (updating_line_start_cache): Gone.
13263         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13264         generic code to force a minimum of 1 line laid out in the
13265         CMOTION_DISP case.
13266
13267 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13268
13269         * glyphs.c (instantiate_image_instantiator): Check for initialized
13270         height & width no longer special cases IMAGE_NOTHING.
13271         (nothing_instantiate): Set height and width of instance.
13272
13273 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13274
13275         * unexelf.c (unexec): Search for ".data" section.
13276         Initialize new_data2_offset from old_data_index.
13277         Remove redundant check for ElfW.
13278
13279 2000-05-23  Andy Piper  <andy@xemacs.org>
13280
13281         * glyphs.c (get_image_instantiator_governing_domain): allow more
13282         specific domains as the governing domain rather than expecting an
13283         exact match. This fixes problems with layouts.
13284
13285 2000-05-22  Andy Piper  <andy@xemacs.org>
13286
13287         * redisplay-output.c (compare_runes): check for non-images
13288
13289         * glyphs.c (set_glyph_dirty_p): ditto.
13290         (update_glyph_cachel_data): ditto.
13291
13292         * glyphs-widget.c (layout_post_instantiate): ditto.
13293         (layout_post_instantiate): ditto.
13294
13295         * event-msw.c (mswindows_wnd_proc): warning removal.
13296
13297 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13298
13299         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13300
13301         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13302
13303         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13304
13305         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13306         (mswindows_executable_type): mingw32 now has enough headers for
13307         this to work.
13308
13309 2000-05-20  Andy Piper  <andy@xemacs.org>
13310
13311         * console-msw.c (mswindows_output_last_error): ; -> ,
13312
13313 2000-05-12  Andy Piper  <andy@xemacs.org>
13314
13315         * console-msw.c (FROB): compare ints with ints.
13316
13317 2000-05-11  Andy Piper  <andy@xemacs.org>
13318
13319         * glyphs-x.c (x_finalize_image_instance): make minimal build
13320         happy.
13321
13322 2000-05-20  Ben Wing  <ben@xemacs.org>
13323
13324         * event-Xt.c:
13325         * event-Xt.c (vars_of_event_Xt):
13326         move modifier-keys-are-sticky to event-stream.c.
13327
13328         * event-msw.c:
13329         * event-msw.c (mswindows_enqueue_mouse_button_event):
13330         * event-msw.c (key_needs_default_processing_p):
13331         * event-msw.c (XEMSW_LCONTROL):
13332         * event-msw.c (mswindows_handle_sticky_modifiers):
13333         * event-msw.c (FROB):
13334         * event-msw.c (clear_sticky_modifiers):
13335         * event-msw.c (output_modifier_keyboard_state):
13336         * event-msw.c (output_alt_keyboard_state):
13337         * event-msw.c (mswindows_wnd_proc):
13338         * event-msw.c (mswindows_modifier_state):
13339         * event-msw.c (emacs_mswindows_handle_magic_event):
13340         implement sticky modifiers.
13341
13342         * event-stream.c:
13343         * event-stream.c (vars_of_event_stream):
13344         move modifier-keys-are-sticky here.
13345
13346         * lisp.h:
13347         add CHECK_FUNCTION.
13348
13349         * rangetab.c:
13350         implement map-range-table.
13351
13352
13353 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13354
13355         * redisplay-tty.c (reset_tty_modes):
13356         (tty_redisplay_shutdown): Adjust argument type to
13357         tty_frame_output_end.
13358
13359 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13360
13361         * eval.c (Fbacktrace): Don't output a line with only right
13362         parenthesis.
13363
13364 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13365
13366         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13367         (Fpq_reset_poll): Ditto.
13368
13369 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13370
13371         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13372
13373 2000-05-16  Ben Wing  <ben@xemacs.org>
13374
13375         * buffer.c:
13376         * buffer.c (dfc_convert_to/from_internal_format):
13377         * buffer.c (reinit_vars_of_buffer):
13378         Fix conversion functions to allow reentrancy.
13379
13380         * console-msw.c:
13381         * console-msw.c (mswindows_output_last_error):
13382         New fun, generally useful -- output a human-readable
13383         version of GetLastError() on the console.
13384
13385         * console-msw.h:
13386         * console-msw.h (struct mswindows_frame):
13387         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13388
13389         * console-stream.c (stream_output_begin):
13390         * console-stream.c (stream_output_end):
13391         * console-stream.c (stream_output_vertical_divider):
13392         * console-stream.c (stream_clear_region):
13393         * console-stream.c (stream_flash):
13394         * console-stream.c (console_type_create_stream):
13395         Delete blank stream methods, not needed.
13396
13397         * console.h (struct console_methods):
13398         Split begin/end methods into window and frame.
13399
13400         * event-msw.c:
13401         * event-msw.c (mswindows_handle_paint):
13402         * event-msw.c (output_alt_keyboard_state):
13403         * event-msw.c (mswindows_wnd_proc):
13404         * event-msw.c (vars_of_event_mswindows):
13405         Comment about problems with ignored-expose.
13406         Define mswindows-debug-events; not really implemented.
13407
13408         * frame-msw.c (mswindows_init_frame_1):
13409         random cleanups.
13410
13411         * glyphs-msw.c:
13412         * glyphs-msw.c (begin_defer_window_pos):
13413         * glyphs-msw.c (mswindows_unmap_subwindow):
13414         * glyphs-msw.c (mswindows_map_subwindow):
13415         * glyphs-msw.c (mswindows_resize_subwindow):
13416         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13417
13418         * glyphs.c (make_image_instance_1):
13419         Fix crash.
13420
13421         * gutter.c (Fredisplay_gutter_area):
13422         Use new begin/end methods.
13423
13424         * lisp.h (Dynarr_new2):
13425         New creation fun.
13426
13427         * redisplay-msw.c:
13428         * redisplay-msw.c (mswindows_frame_output_begin):
13429         * redisplay-msw.c (mswindows_frame_output_end):
13430         * redisplay-msw.c (console_type_create_redisplay_mswindows):
13431         New begin/end methods -- handle DeferWindowPos.
13432
13433         * redisplay-output.c (redisplay_move_cursor):
13434         * redisplay-output.c (redraw_cursor_in_window):
13435         * redisplay-output.c (redisplay_update_line):
13436         * redisplay-output.c (redisplay_output_window):
13437         New begin/end methods.
13438
13439         * redisplay-tty.c:
13440         * redisplay-tty.c (tty_frame_output_begin):
13441         * redisplay-tty.c (tty_frame_output_end):
13442         * redisplay-tty.c (console_type_create_redisplay_tty):
13443         New begin/end methods.
13444
13445         * redisplay-x.c:
13446         * redisplay-x.c (x_window_output_begin):
13447         * redisplay-x.c (x_window_output_end):
13448         * redisplay-x.c (console_type_create_redisplay_x):
13449         New begin/end methods.
13450
13451         * redisplay.c (redisplay_frame):
13452         * redisplay.c (Fredisplay_echo_area):
13453         New begin/end methods.
13454         use MAYBE_DEVMETH for clear_frame; it may not exist.
13455
13456         * window.h (WINDOW_XFRAME):
13457         WINDOW_XFOO macros -- get locale and decode struct pointer.
13458
13459
13460 2000-05-12  Ben Wing  <ben@xemacs.org>
13461
13462         * emacs.c:
13463         * emacs.c (ensure_no_quitting_from_now_on):
13464         * emacs.c (fatal_error_signal):
13465         * emacs.c (mswindows_handle_hardware_exceptions):
13466         * emacs.c (main):
13467         * emacs.c (Fkill_emacs):
13468         * emacs.c (shut_down_emacs):
13469         * emacs.c (assert_failed):
13470         various improvements in fatal error handling.
13471
13472         * eval.c:
13473         move preparing_for_armageddon to emacs.c.
13474
13475         * lisp.h:
13476         declare fatal_error_in_progress.
13477
13478         * print.c:
13479         * print.c (std_handle_out_external):
13480         * print.c (std_handle_out_va):
13481         * print.c (stderr_out):
13482         * print.c (stdout_out):
13483         use console under mswin when no standard output.
13484         don't do code conversion during fatal error.
13485
13486         * scrollbar.c (Fscrollbar_page_up):
13487         * scrollbar.c (Fscrollbar_page_down):
13488         fix missing else.  reindent.
13489
13490 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
13491
13492         Emergency fix.
13493
13494         * glyphs.h (GLYPH_CACHEL_DESCENT):
13495         (GLYPH_CACHEL_DESCENT):
13496         (GLYPH_CACHEL_DESCENT):
13497         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
13498         used in case these are inline functions.
13499         Use more absurd values to error check.
13500
13501         include window.h for error check functions.
13502
13503 2000-05-11  Ben Wing  <ben@xemacs.org>
13504
13505         * cmdloop.c (Freally_early_error_handler):
13506         Display message box under windows; otherwise, message will disappear
13507         before it can be viewed.
13508
13509         * console-msw.c:
13510         * console-msw.c (Fmswindows_message_box):
13511         * console-msw.c (FROB):
13512         * console-msw.c (syms_of_console_mswindows):
13513         Define new fun `mswindows-message-box'.
13514         #### I will merge this into `popup-dialog-box'; just give me
13515         a bit of time.
13516
13517         * general.c:
13518         * general.c (syms_of_general):
13519         Some new symbols used in `mswindows-message-box'.
13520
13521         * glyphs.c:
13522         * glyphs.c (Fset_image_instance_property):
13523         put warning in this fun.
13524
13525         * glyphs.h:
13526         * glyphs.h (GLYPH_CACHEL_WIDTH):
13527         * glyphs.h (GLYPH_CACHEL_ASCENT):
13528         * glyphs.h (GLYPH_CACHEL):
13529         * glyphs.h (GLYPH_CACHEL_GLYPH):
13530         define error-checking versions to try to catch a bug i've seen --
13531         redisplay gets in an infinite loop because the glyph width of the
13532         continuation glyph is 65535.
13533
13534         * lisp.h:
13535         Extern message-box stuff.
13536
13537         * window.c (allocate_window):
13538         * window.c (make_dummy_parent):
13539         * window.c (Fset_window_configuration):
13540         Use EQUAL not EQ for subwindow caches to make them work a bit
13541         better. (Something is still very broken.)
13542
13543
13544 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13545
13546         * glyphs.c (image_instantiate): Suppress gcc warnings.
13547         (Fmake_image_instance): Fix doc string.
13548         * specifier.c (Fmake_specifier): Ditto.
13549
13550 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
13551
13552         * paths.h.in (PATH_LOCK): Removed.
13553         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
13554         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
13555
13556 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13557
13558         * fns.c (Ffeaturep): Update e-mail address in doc-string.
13559         Document (featurep '(and xemacs 21.02)).
13560
13561 2000-05-09  Ben Wing  <ben@xemacs.org>
13562
13563         * buffer.c (complex_vars_of_buffer):
13564         update modeline-format doc.
13565
13566         * device.h:
13567         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
13568
13569         * emacs.c:
13570         timeline of all released versions of Emacs, for use in creating
13571         authorship comments and in synching up.
13572
13573         * glyphs-widget.c (image_instantiator_buttons):
13574         * glyphs-widget.c (image_instantiator_edit_fields):
13575         * glyphs-widget.c (image_instantiator_combo_box):
13576         * glyphs-widget.c (image_instantiator_scrollbar):
13577         * glyphs-widget.c (image_instantiator_progress_guage):
13578         * glyphs-widget.c (image_instantiator_tree_view):
13579         * glyphs-widget.c (image_instantiator_tab_control):
13580         * glyphs-widget.c (image_instantiator_labels):
13581         * glyphs-widget.c (image_instantiator_layout):
13582         * glyphs-widget.c (image_instantiator_native_layout):
13583         rename decode_domain method to governing_domain.
13584
13585         * glyphs.c:
13586         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
13587         * glyphs.c (add_entry_to_device_ii_format_list):
13588         make sure we don't put an entry more than once into the list.
13589         * glyphs.c (check_instance_cache_mapper):
13590         *************************************************************
13591         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13592         HAVE BEEN GETTING.
13593         *************************************************************
13594         * glyphs.c (get_image_instantiator_governing_domain):
13595         clean up, expand on new concept of governing domain.
13596         * glyphs.c (instantiate_image_instantiator):
13597         * glyphs.c (allocate_image_instance):
13598         use governing_domain instead of cache_domain in naming.
13599         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
13600         * glyphs.c (make_image_instance_1):
13601         * glyphs.c (Fmake_image_instance):
13602         allow for any domain (not just device), and process the
13603         governing domain correctly.  very big doc fix.
13604         * glyphs.c (Fimage_instance_domain):
13605         new primitive, to retrieve the governing domain of an image instance.
13606         * glyphs.c (image_instantiate):
13607         use new governing_domain stuff.  this fixes a crash you could get
13608         by instantiating certain widget glyphs in frame locales. (should
13609         signal an error instead of crashing.)
13610         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
13611         * glyphs.c (Fglyphp): clean up doc.
13612         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
13613         * glyphs.c (syms_of_glyphs):
13614         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
13615         * glyphs.c (image_instantiator_format_create): add some comments about
13616         bogus code.
13617         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
13618         for current-display-table. (Apparently Hrjove implemented in 1998 a
13619         design I wrote up in 1996, but didn't update the doc string.)
13620
13621         * glyphs.h: clean up a doc string.
13622         * glyphs.h (governing_domain):
13623         * glyphs.h (struct image_instantiator_methods):
13624         changes for governing_domain stuff.
13625
13626         * gutter.c:
13627         * gutter.c (Fgutter_specifier_p):
13628         * gutter.c (Fgutter_size_specifier_p):
13629         * gutter.c (Fgutter_visible_specifier_p):
13630         * objects.c:
13631         * objects.c (Fcolor_specifier_p):
13632         * objects.c (Ffont_specifier_p):
13633         * objects.c (Fface_boolean_specifier_p):
13634         doc strings moved to make-*-specifier.
13635
13636         * redisplay.c (add_disp_table_entry_runes_1):
13637         * redisplay.c (generate_fstring_runes):
13638         * redisplay.c (screen):
13639         add random comments and doc strings.
13640
13641         * specifier.c:
13642         * specifier.c (Fmake_specifier):
13643         major overhaul of this doc string.
13644
13645         * specifier.c (Fvalid_specifier_domain_p):
13646         comment about the bogosity of image instances being domains.
13647         * specifier.c (decode_domain):
13648         now non-static, used in glyphs.c.
13649         * specifier.c (specifier_instance):
13650         comment about the bogosity of image instances being domains.
13651         * specifier.c (Fgeneric_specifier_p):
13652         move doc string to make-generic-specifier.
13653         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
13654         rebackslashify.
13655
13656         * specifier.h:
13657         * specifier.h (DOMAIN_FRAME):
13658         * specifier.h (DOMAIN_LIVE_P):
13659         * specifier.h (DOMAIN_XDEVICE):
13660         rebackslashify.
13661         add comments about problems with these macros.
13662         prototype for decode_domain.
13663
13664         * toolbar.c:
13665         * toolbar.c (Ftoolbar_specifier_p):
13666         move doc string to `make-toolbar-specifier'.
13667
13668         * window.c (window_unmap_subwindows_cache_mapper):
13669         *************************************************************
13670         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13671         HAVE BEEN GETTING.
13672         *************************************************************
13673
13674 2000-05-09  Andy Piper  <andy@xemacs.org>
13675
13676         * glyphs.h: declare reset_frame_subwindow_instance_cache.
13677
13678         * window.c (Fset_window_configuration): reset the frame subwindow
13679         cache and re-initialize the window subwindow caches.
13680
13681         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
13682
13683 2000-05-09  Ben Wing  <ben@xemacs.org>
13684
13685         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
13686         DWORD.
13687
13688 2000-04-26  Mike Woolley  <mike@bulsara.com>
13689
13690         * ntheap.c: Changed recreate_heap to limit the amount reserved
13691         for the heap to that which is actually available. Also now
13692         displays a message box (with some dignostics) in the event that
13693         it still can't start.
13694
13695 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
13696
13697         * callproc.c (Fold_call_process_internal): GCPRO path
13698
13699 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
13700
13701         Patch by Bill Perry.
13702
13703         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
13704         back data instead of #ifdef.
13705         (Fscrollbar_page_down): ditto.
13706
13707 2000-05-07  Ben Wing  <ben@xemacs.org>
13708
13709         * buffer.h:
13710         Kludge for defining Qmswindows_tstr.
13711
13712         * nt.c:
13713         * nt.c (open_input_file):
13714         * nt.c (open_output_file):
13715         * nt.c (rva_to_section):
13716         * nt.c (mswindows_executable_type):
13717         Move all memory-mapped-file routines here (some were in unexnt.c,
13718         which is bad because they are used by process-nt.c, and unexnt
13719         won't be around when portable dumping).  Synched the above routines
13720         with FSF 20.6.
13721
13722         * nt.h:
13723         Removed ifdef'd out bogus code.
13724         Fixed some prototypes.
13725
13726         * nt.h (file_data):
13727         * nt.h (OFFSET_TO_RVA):
13728         * nt.h (RVA_TO_OFFSET):
13729         * nt.h (RVA_TO_PTR):
13730         Moved the memory-mapped-file structures, macros and prototypes
13731         here, to parallel nt.c.  ntheap.h should really be removed
13732         entirely, and it's a non-portable-dumper specific file.
13733
13734         * ntheap.h (round_to_next):
13735         Moved the memory-mapped-file structures, macros and prototypes
13736         to nt.h.
13737
13738         * ntproc.c (compare_env):
13739         Moved rva_to_section and mswindows_executable_type to nt.c.
13740         Moved compare_env to process-nt.c.
13741         ntproc.c will die, one day.
13742
13743         * ntproc.c (sys_spawnve):
13744         Account for win32_ -> mswindows_.
13745
13746         * process-nt.c:
13747         * process-nt.c (struct nt_process_data):
13748         * process-nt.c (ensure_console_window_exists):
13749         * process-nt.c (compare_env):
13750         * process-nt.c (nt_create_process):
13751         * process-nt.c (nt_kill_process_by_pid):
13752         * process-nt.c (syms_of_process_nt):
13753         * process-nt.c (vars_of_process_nt):
13754         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
13755         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
13756         changes).  Eliminate our old `nt-quote-process-args' mechanism.
13757         Synch up nt_create_process with FSF 20.6 sys_spawnve.
13758         Move compare_env here from ntproc.c.
13759
13760         * process.c (Fprocess_send_region):
13761         Takes an optional fourth argument, BUFFER, which should fix some
13762         problems with call-process.
13763
13764         * syscommctrl.h:
13765         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
13766
13767         * syswindows.h:
13768         Move ICC_BAR_CLASSES to syscommctrl.h.
13769         Add preliminary macros for MSWindows/Mule.  More to come.
13770
13771         * unexnt.c:
13772         * unexnt.c (unexec):
13773         open_output_file moved to nt.c.
13774
13775
13776 2000-05-05  Andy Piper  <andy@xemacs.org>
13777
13778         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
13779         instance from the frame cache also since GC may catch up too late
13780         to make frame deletion sane.
13781
13782 2000-05-04  Andy Piper  <andy@xemacs.org>
13783
13784         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
13785         (x_finalize_image_instance): ungcpro on deletion.
13786
13787         * glyphs.c (image_instantiator_format_create): give pointers a
13788         query geometry method so that the geometry is at least set.
13789
13790         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
13791         initialize layouts if using widgets.
13792
13793 2000-05-03  Andy Piper  <andy@xemacs.org>
13794
13795         * nt.c: remove bogus reference to sysmmsystem.h
13796
13797         * gui-x.c (popup_selection_callback): fix no selection abort.
13798
13799 2000-05-02  Andy Piper  <andy@xemacs.org>
13800
13801         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
13802         (mswindows_widget_instantiate): ditto.
13803
13804         * glyphs-widget.c (initialize_widget_image_instance): initialize
13805         children correctly.
13806         (widget_instantiate): cope with children and items in the same
13807         instance.
13808
13809         * glyphs.c (mark_image_instance): cope with children as a first
13810         class member.
13811         (image_instance_equal): ditto.
13812         (image_instance_hash): ditto.
13813         (image_instance_changed): ditto.
13814
13815 2000-04-30  Andy Piper  <andy@xemacs.org>
13816
13817         * glyphs.c (subwindow_query_geometry): new function. Return some
13818         defaults.
13819         (subwindow_instantiate): don't assign dimensions if none have been
13820         given.
13821         (image_instantiator_format_create): add subwindow_query_geometry.
13822         (print_image_instance): cope with layouts as widgets.
13823
13824 2000-04-29  Andy Piper  <andy@xemacs.org>
13825
13826         * frame.c (delete_frame_internal): call
13827         free_frame_subwindow_instance_cache so that all subwindows are
13828         finalized before their parent.
13829         (mark_frame): remove subwindow_cachels.
13830         (Fmake_frame): remove subwindow_cachel manipulation.
13831         (allocate_frame_core): subwindow_instance_cache is a weak list.
13832         (delete_frame_internal): set subwindow_instance_cache to nil.
13833
13834         * glyphs-msw.c (mswindows_finalize_image_instance): make double
13835         finalization safe.
13836         (mswindows_finalize_image_instance): use the device
13837         not the domain as the domain may have died already.
13838
13839         * glyphs-x.c (x_finalize_image_instance): ditto.
13840         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
13841         HEIGHT.
13842
13843         * redisplay-output.c (redisplay_unmap_subwindows): update for
13844         subwindow instance cache as a weak list.
13845         (redisplay_unmap_subwindows_maybe): ditto.
13846         (redisplay_unmap_subwindows_except_us): ditto.
13847
13848         * glyphs.c (unmap_subwindow): error checking will check the domain
13849         so don't deal with it here. Don't use cachels anymore.
13850         (map_subwindow): ditto.
13851         (update_subwindow_cachel_data): remove old accessor names.
13852         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
13853         (Fresize_subwindow): don't update cachel.
13854         (mark_subwindow_cachels):
13855         (update_subwindow_cachel_data):
13856         (add_subwindow_cachel):
13857         (get_subwindow_cachel_index):
13858         (update_subwindow_cachel):
13859         (reset_subwindow_cachels):
13860         (mark_subwindow_cachels_as_not_updated): deleted.
13861         (cache_subwindow_instance_in_frame_maybe): new function. Add a
13862         subwindow instance to the frame cache.
13863         (find_matching_subwindow): update for subwindow instance cache as
13864         a weak list.
13865         (update_widget_instances): ditto.
13866         (image_instance_type_to_mask):inlined.
13867         (free_frame_subwindow_instance_cache): new function. finalize all
13868         subwindows that are instantiated.
13869
13870         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
13871         of cachel information.
13872         (IMAGE_INSTANCE_DISPLAY_X):
13873         (IMAGE_INSTANCE_DISPLAY_Y):
13874         (IMAGE_INSTANCE_DISPLAY_WIDTH):
13875         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
13876         (XIMAGE_INSTANCE_DISPLAY_X):
13877         (XIMAGE_INSTANCE_DISPLAY_Y):
13878         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
13879         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
13880         remove subwindow_cachel structure and function references.
13881         (image_instance_type_to_mask): inline from glyphs.c
13882
13883         * redisplay.c (redisplay_frame): remove subwindow_cachel
13884         references.
13885
13886         * frame.h (struct frame): remove subwindow_cachels.
13887         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
13888
13889         * frameslots.h: add subwindow_instance_cache.
13890
13891         * window.c (replace_window): check subwindow cache of replacement.
13892         (window_unmap_subwindows_cache_mapper):
13893         (window_unmap_subwindows): new functions. Unmap all subwindows
13894         cached on this window.
13895         (mark_window_as_deleted): unmap all subwindows.
13896
13897 2000-04-27  Andy Piper  <andy@xemacs.org>
13898
13899         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
13900
13901         * glyphs-widget.c (widget_layout): return something.
13902         (layout_layout): return something. Fail if not initialized.
13903         (layout_query_geometry): ditto.
13904         (image_instantiator_native_layout): new function. Initialized the
13905         native layout type.
13906         (widget_instantiate): don't do layout stuff here.
13907
13908         * glyphs.c (instantiate_image_instantiator): reorded calling or
13909         instantiate and post_instantiate with layout in between.
13910         (image_instance_layout): be more selective about deciding whether
13911         the layout has been done or not.
13912
13913         * glyphs.h (struct image_instantiator_methods): return a value
13914         from layout_method.
13915
13916 2000-04-26  Andy Piper  <andy@xemacs.org>
13917
13918         * glyphs.c (allocate_image_instance): make initial width and
13919         height unspecified. Set initialized to 0.
13920
13921         * syscommctrl.h new file. Encapsulates commctrl.h.
13922
13923         * syswindows.h new file. Encapsulates windows.h.
13924
13925         * ntplay.c: use new syswindows.h and syscommctrl.h header.
13926         * nt.c: ditto.
13927         * console-msw.h: ditto.
13928
13929         * redisplay-tty.c (tty_output_display_block): remove layout references.
13930
13931         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
13932         window handle rather than just the frame.
13933
13934         * glyphs.c (mark_image_instance): remove layout references.
13935         (print_image_instance): ditto.
13936         (image_instance_equal): ditto.
13937         (image_instance_hash): ditto.
13938         (decode_image_instance_type): ditto.
13939         (encode_image_instance_type): ditto.
13940         (image_instantiate): ditto.
13941         (allocate_glyph): ditto.
13942         (Fimage_instance_height): ditto.
13943         (Fimage_instance_width): ditto.
13944         (update_subwindow): ditto.
13945
13946         * redisplay-x.c (x_output_display_block): recode for layouts as
13947         widgets.
13948
13949         * redisplay-output.c (redisplay_output_layout): recode for layouts
13950         as widgets.
13951         (compare_runes): remove layout references.
13952
13953         * redisplay-msw.c (mswindows_output_display_block): recode for
13954         layouts as widgets.
13955
13956         * glyphs-widget.c (image_instantiator_layout): remove
13957         layout_possible_dest_types.
13958         (layout_possible_dest_types): deleted.
13959
13960         * glyphs.h (image_instance_type): remove layout references.
13961         (struct Lisp_Image_Instance): ditto. Add initialized flag.
13962         (IMAGE_INSTANCE_INITIALIZED): new accessor.
13963         (XIMAGE_INSTANCE_INITIALIZED): ditto.
13964
13965 2000-04-25  Andy Piper  <andy@xemacs.org>
13966
13967         * glyphs-widget.c (image_instantiator_buttons):
13968         (image_instantiator_edit_fields):
13969         (image_instantiator_combo_box):
13970         (image_instantiator_scrollbar):
13971         (image_instantiator_progress_guage):
13972         (image_instantiator_tree_view):
13973         (image_instantiator_tab_control):
13974         (image_instantiator_labels):
13975         (image_instantiator_layout): call default post_instantiate method.
13976         (widget_post_instantiate): new function. Simply lays out the
13977         widgets.
13978
13979         * glyphs.h (struct image_instantiator_methods): add
13980         post_instantiate method.
13981
13982         * glyphs.c (instantiate_image_instantiator): add post_instantiate
13983         method calls.
13984
13985 2000-04-23  Andy Piper  <andy@xemacs.org>
13986
13987         * glyphs.h (struct image_instantiator_methods): add
13988         decode_domain_method.
13989         (struct Lisp_Image_Instance): remove subwindow frame - it can be
13990         derived from the domain.
13991         (IMAGE_INSTANCE_FRAME): new accessor.
13992         (XIMAGE_INSTANCE_FRAME): ditto.
13993
13994         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
13995         instead of _SUBWINDOW_FRAME.
13996         (finalize_image_instance): ditto.
13997         (Fimage_instance_foreground): ditto.
13998         (Fimage_instance_background): ditto.
13999         (image_instantiate): ditto.
14000         (update_subwindow_cachel): ditto.
14001         (update_subwindow): ditto.
14002         (unmap_subwindow): ditto.
14003         (map_subwindow): ditto
14004         (subwindow_instantiate): ditto.
14005         * glyphs-msw.c (mswindows_update_widget): ditto.
14006         (mswindows_progress_gauge_instantiate): ditto.
14007         (mswindows_tab_control_update): ditto.
14008         * glyphs-x.c (x_update_widget): ditto.
14009         (x_widget_instantiate): ditto.
14010         (x_tab_control_instantiate): ditto.
14011         (x_tab_control_update): ditto.
14012         * event-msw.c (mswindows_wnd_proc): ditto
14013
14014         * glyphs-widget.c (image_instantiator_layout): use
14015         subwindow_decode_domain.
14016         (image_instantiator_buttons): ditto.
14017         (image_instantiator_edit_fields): ditto.
14018         (image_instantiator_combo_box): ditto.
14019         (image_instantiator_scrollbar): ditto.
14020         (image_instantiator_progress_guage): ditto.
14021         (image_instantiator_tree_view): ditto.
14022         (image_instantiator_tab_control): ditto.
14023         (image_instantiator_labels): ditto.
14024         (image_instantiator_layout): ditto.
14025
14026         * glyphs.c: add instance error checking to many functions.
14027         (instantiate_image_instantiator): decode device from cache_domain.
14028         (image_instantiate): partially rewrite by using
14029         decode_image_instantiator_domain to determine what domain the
14030         instance needs to be cached in.
14031         (decode_image_instantiator_domain): new function. Determine what
14032         domain the image needs to be cached in.
14033         (check_window_subwindow_cache): new error checking function.
14034         (check_instance_cache_mapper): ditto.
14035         (check_image_instance_structure): ditto.
14036         (subwindow_decode_domain): new function. Encodes a window as a
14037         subwindow's cache domain.
14038         (image_instantiator_format_create): use it for text and
14039         subwindows.
14040
14041 2000-04-21  Andy Piper  <andy@xemacs.org>
14042
14043         * glyphs.c (image_instance_device): new function.
14044         (image_instance_frame): new function.
14045         (image_instance_window): new function.
14046         (image_instance_live_p): new function.
14047
14048         * window.c (mark_window_as_deleted): reset the subwindow_instance_
14049         cache to nil.
14050
14051         * glyphs.h (struct Lisp_Image_Instance): device->domain.
14052         (IMAGE_INSTANCE_DOMAIN): new accessor.
14053         (XIMAGE_INSTANCE_DOMAIN): ditto.
14054
14055         * glyphs-x.c (x_finalize_image_instance): device->domain.
14056
14057         * glyphs-msw.c (init_image_instance_geometry): device->domain.
14058         (mswindows_finalize_image_instance): ditto.
14059
14060         * glyphs-eimage.c (jpeg_instantiate): device->domain.
14061         (gif_instantiate): ditto.
14062         (png_instantiate): ditto.
14063         (tiff_instantiate): ditto.
14064
14065         * glyphs.c (instantiate_image_instantiator): use domain rather
14066         than device.
14067         (mark_image_instance): device -> domain.
14068         (print_image_instance): ditto.
14069         (finalize_image_instance): ditto.
14070         (image_instance_equal): ditto.
14071         (allocate_image_instance): ditto.
14072         (Fcolorize_image_instance): ditto.
14073         (query_string_geometry): ditto.
14074         (image_instantiate): ditto
14075         (query_string_font): ditto.
14076         (image_instantiate): ditto.
14077         (update_subwindow): ditto.
14078         (unmap_subwindow): ditto.
14079         (map_subwindow): ditto.
14080         (subwindow_instantiate): ditto.
14081
14082         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
14083         (DOMAIN_FRAME): ditto.
14084         (DOMAIN_WINDOW): ditto.
14085         (DOMAIN_LIVE_P): ditto.
14086         (XDOMAIN_DEVICE): ditto.
14087         (XDOMAIN_FRAME): ditto.
14088         (XDOMAIN_WINDOW): ditto.
14089
14090         * specifier.c (Fvalid_specifier_domain_p): add image instances as
14091         a valid specifier domain.
14092
14093 2000-04-19  Andy Piper  <andy@xemacs.org>
14094
14095         * glyphs-widget.c (syms_of_glyphs_widget): remove
14096         widget-callback-current-channel.
14097         (vars_of_glyphs_widget): ditto.
14098         * glyphs.h: ditto
14099
14100         * gui.c (get_gui_callback): revert to previous behaviour.
14101
14102 2000-04-18  Andy Piper  <andy@xemacs.org>
14103
14104         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
14105         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
14106         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
14107
14108         * glyphs.c (image_instance_equal): add margin_width.
14109         (image_instance_hash): ditto.
14110
14111         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14112         (layout_query_geometry): ditto.
14113         (layout_layout): ditto.
14114         (syms_of_glyphs_widget): add margin-width.
14115         (image_instantiator_layout): allow margin-width.
14116
14117         * glyphs.c (update_widget_instances): make a normal function.
14118         (syms_of_glyphs): remove Qupdate_widget_instances.
14119         * glyphs.h: ditto.
14120
14121         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14122         so that we don't corrupt ideas about the last event or
14123         command. Remove widget-callback-current-channel fiddling.
14124         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14125
14126 2000-05-01  Martin Buchholz <martin@xemacs.org>
14127
14128         * XEmacs 21.2.33 is released.
14129
14130 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14131
14132         * make-src-depend: Allow dots in header file name.
14133
14134 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14135
14136         * mule-charset.h (struct charset_lookup): Add
14137         next_allocated_1_byte_leading_byte and
14138         next_allocated_2_byte_leading_byte.
14139         * mule-charset.c: Move above two variables so that those values
14140         will be dumped.
14141
14142 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14143
14144         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14145         when string length is zero.
14146         (find_charsets_in_emchar_string): Ditto.
14147
14148 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14149
14150         * lisp.h: extern Qdialog and Qmenubar.
14151
14152         * gui-x.c: added events.h.
14153                 also fixed typo which made the file uncompilable.
14154
14155         * general.c: Added Qmenubar and Qdialog
14156
14157 2000-04-28  Ben Wing  <ben@xemacs.org>
14158
14159         * frame-msw.c (mswindows_init_frame_1):
14160         * frame-msw.c (mswindows_mark_frame):
14161         * event-msw.c (mswindows_enqueue_dispatch_event):
14162         * console-msw.h:
14163         * console-msw.h (struct mswindows_frame):
14164         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14165         there are now three hash tables for callbacks.
14166         mswindows_enqueue_dispatch_event is no longer static.
14167
14168         * dialog-x.c (maybe_run_dbox_text_callback):
14169         * dialog-x.c (dbox_descriptor_to_widget_value):
14170         switch to new cons3 form for callbacks.
14171
14172         * glyphs-msw.c (mswindows_register_gui_item):
14173         * glyphs-msw.c (mswindows_widget_instantiate):
14174         * glyphs-msw.c (add_tree_item):
14175         * glyphs-msw.c (add_tab_item):
14176         new image instance parameter, so it can be passed to callback-ex.
14177         respect :callback-ex as well as :callback.
14178
14179         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14180         add :callback-ex.
14181
14182         * glyphs.c (print_image_instance):
14183         prettify, e.g. now prints widget type.
14184
14185         * gui-x.h:
14186         certain funs have new image instance parameter.
14187
14188         * gui.c:
14189         * gui.c (get_gui_callback):
14190         * gui.c (gui_item_add_keyval_pair):
14191         * gui.c (gui_item_init):
14192         * gui.c (gui_add_item_keywords_to_plist):
14193         * gui.c (mark_gui_item):
14194         * gui.c (gui_item_hash):
14195         * gui.c (gui_item_equal):
14196         * gui.c (copy_gui_item):
14197         * gui.c (syms_of_gui):
14198         recognize callback-ex in a number of places.
14199         also, fix the annoying "can't get out of yes-no dialog" bug.
14200
14201         * gui.h:
14202         * gui.h (struct Lisp_Gui_Item):
14203         recognize callback-ex in a number of places.
14204
14205         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14206         new parameter in button_item_to_widget_value.
14207
14208         * glyphs-x.c (x_update_widget):
14209         * glyphs-x.c (x_button_instantiate):
14210         * glyphs-x.c (x_button_update):
14211         * glyphs-x.c (x_progress_gauge_instantiate):
14212         * glyphs-x.c (x_edit_field_instantiate):
14213         * glyphs-x.c (x_combo_box_instantiate):
14214         * glyphs-x.c (x_tab_control_instantiate):
14215         * glyphs-x.c (x_label_instantiate):
14216         new image instance parameter in various places.
14217
14218         * event-Xt.c:
14219         * event-Xt.c (enqueue_Xt_dispatch_event):
14220         this fun gets exported.
14221
14222         * gui-msw.c:
14223         * gui-msw.c (mswindows_handle_gui_wm_command):
14224         handle both :callback and :callback-ex, and generate our own
14225         event because it's one of the callback-ex arguments.
14226
14227         * gui-x.c:
14228         * gui-x.c (popup_selection_callback):
14229         handle both :callback and :callback-ex, and generate our own
14230         event because it's one of the callback-ex arguments.
14231         * gui-x.c (button_item_to_widget_value):
14232         * gui-x.c (gui_items_to_widget_values_1):
14233         * gui-x.c (gui_item_children_to_widget_values):
14234         * gui-x.c (gui_items_to_widget_values):
14235         new image instance parameter in various places.
14236
14237         * fns.c (Freplace_list):
14238         fix small typo in doc string.
14239
14240         * lisp.h:
14241         declare enqueue_Xt_dispatch_event.
14242
14243 2000-04-28  Ben Wing  <ben@xemacs.org>
14244
14245         * buffer.c:
14246         * buffer.c (Frecord_buffer):
14247         * buffer.c (syms_of_buffer):
14248         delete record-buffer-hook.
14249
14250         * fns.c:
14251         * fns.c (Freplace_list):
14252         * fns.c (syms_of_fns):
14253         new primitive replace-list.
14254
14255         * frameslots.h:
14256         slot for old buffer-alist.
14257
14258         * lisp.h:
14259         exfun replace-list.
14260
14261         * redisplay.c:
14262         * redisplay.c (redisplay_frame):
14263         * redisplay.c (syms_of_redisplay):
14264         * redisplay.c (vars_of_redisplay):
14265         new hook buffer-list-changed-hook.
14266         call it.
14267
14268 2000-04-27  Ben Wing  <ben@xemacs.org>
14269
14270         * extents.h: extern in_modeline_generation.
14271
14272         * redisplay.c (generate_formatted_string_db): set
14273         in_modeline_generation.
14274
14275         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14276         flags if in modeline generation.  otherwise frame-modified-tick
14277         is ticked far too often.
14278         Declare in_modeline_generation.
14279
14280 2000-04-26  Ben Wing  <ben@xemacs.org>
14281
14282         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14283         option.
14284         (vars_of_emacs): add quick-build as an error-checking option.
14285         A bit kludgy, but there doesn't seem much point in creating
14286         a real var for this.
14287
14288         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14289
14290 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14291
14292         * redisplay.h (struct display_line): Add a new variable,
14293         line_continuation.
14294
14295         * redisplay.c (create_text_block): Set dl->line_continuation if
14296         the line continues.
14297         (create_string_text_block): Ditto.
14298         (regenerate_window_incrementally): Use line_continuation instead
14299         of searching continuation glyph.
14300         (add_margin_runes): Call add_glyph_rune.
14301         (add_glyph_rune): Handle margin glyph.
14302
14303 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14304
14305         * filelock.c (fill_in_lock_file_name):
14306         ANSIfy.
14307         Check for IS_ANY_SEP instead of '/'.
14308         (lock_file_1):
14309         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14310         Never check errno without first seeing that system call failed.
14311         (unlock_file): Add GCPRO.
14312         (Flock_buffer): Fix docstring.
14313         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14314
14315 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14316
14317         * sysdep.c (get_pty_max_bytes):
14318         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14319         strings longer than 252 bytes.
14320
14321         * md5.c: Unconditionally include ANSI header <limits.h>
14322
14323         * glyphs-x.c (convert_EImage_to_XImage):
14324         * lisp-union.h (union Lisp_Object):
14325         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14326
14327 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14328
14329         * filelock.c (current_lock_owner): Remove unused variable o, p.
14330
14331 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14332
14333         * callint.c: Remove multiply defined symbol Qlet
14334         (syms_of_callint): ditto.
14335
14336 2000-04-14  Andy Piper  <andy@xemacs.org>
14337
14338         * general.c (syms_of_general): add last-command, this-command, let
14339         and funcall.
14340
14341         * lisp.h: declare various symbols.
14342
14343         * glyphs.h: declare Qwidget_callback_current_channel;
14344
14345         * glyphs-widget.c (syms_of_glyphs_widget): add
14346         Qgui_callback_current_channel.
14347         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14348
14349         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14350         widget-callback-current-channel when invoking the interactive
14351         arg. Also bind last-command and next-command when invoking the
14352         widget updates.
14353         * gui-x.c (popup_selection_callback): ditto.
14354
14355         * gui.c (get_gui_callback): massage args so that we are always
14356         calling eval. This allows us to add our own variable bindings
14357         outside.
14358
14359         * glyphs-x.c (x_button_instantiate): use
14360         gui_items_to_widget_values since this is GC safe.
14361         (x_progress_gauge_instantiate): ditto.
14362         (x_edit_field_instantiate): ditto.
14363         (x_label_instantiate): ditto.
14364
14365         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14366         (emacs_Xt_event_widget_focus_out): new function
14367         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14368         focus.
14369         (emacs_Xt_event_add_widget_actions): new function. add focus
14370         functions as actions.
14371         (init_event_Xt_late): use it.
14372
14373 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14374
14375         * event-stream.c (Fdispatch_event): Doc fix.
14376
14377 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14378
14379         * postgresql.c: Remove all references to PQsetenv*.
14380
14381         * postgresql.h: Remove references to PGsetenvHandler object.
14382         * lrecord.h (lrecord_type): Ditto.
14383
14384 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14385
14386         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14387         real_heigh and real_width members, and accessor macros for these.
14388
14389         * glyphs-msw.c (init_image_instance_geometry): New function.
14390         (init_image_instance_from_dibitmap): Use it.
14391         (mswindows_resource_instantiate): Use it.
14392         (init_image_instance_from_xbm_inline): Use it.
14393         (mswindows_initialize_image_instance_mask): Use real bitmap
14394         geometry.
14395         (mswindows_create_resized_bitmap): Ditto.
14396         (mswindows_create_resized_mask): Ditto.
14397
14398         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14399         and bitmap to their surface size.
14400
14401 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14402
14403         * process-unix.c (unix_send_process): Guard against process MIA
14404         after Faccept_process_output.
14405
14406 2000-04-11  Ben Wing  <ben@xemacs.org>
14407
14408         * eval.c (unbind_to_hairy): fix brokenness introduced by
14409         nanosecond speed improvements.
14410
14411 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14412
14413         * sunplay.c (init_device): To play sounds correctly, the device
14414         apparently needs to be initialized at least once by XEmacs.  Make
14415         it so.
14416
14417 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14418
14419         * redisplay.c (add_margin_runes): Add text image glyph
14420           handling.
14421
14422 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14423
14424         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14425         gcc is newer than 2.5.
14426
14427 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14428
14429         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14430
14431         * fns.c (size_bit_vector):
14432         * alloc.c (size_vector):
14433         (make_vector_internal):
14434         (make_bit_vector_internal):
14435         (sweep_bit_vectors_1):
14436         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
14437
14438 2000-04-06  Andy Piper  <andy@xemacs.org>
14439
14440         * gmalloc.c (malloc): undo previous change.
14441         (malloc): ditto.
14442         (free): ditto.
14443         (realloc): ditto.
14444
14445 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
14446
14447         * line-number.c (buffer_line_number): Revert to former version.
14448
14449 2000-04-06  Andy Piper  <andy@xemacs.org>
14450
14451         * gmalloc.c (malloc): add error checking.
14452         (malloc): ditto.
14453         (free): ditto.
14454         (realloc): ditto.
14455
14456         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
14457         button_item_to_widget_value arg.
14458
14459         * glyphs-x.c (x_button_instantiate): add extra
14460         button_item_to_widget_value arg.
14461         (x_progress_gauge_instantiate): ditto.
14462         (x_edit_field_instantiate): ditto.
14463         (x_label_instantiate): ditto.
14464
14465         * gui-x.c (gui_items_to_widget_values_1): add extra
14466         button_item_to_widget_value arg.
14467         (button_item_to_widget_value): add extra menu_item_p arg.
14468
14469         * gui-x.h: change signature of button_item_to_widget_value.
14470
14471         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
14472         button_item_to_widget_value arg.
14473
14474 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
14475
14476         * buffer.h (struct buffer): auto_save_modified should be long.
14477
14478 2000-04-05  Andy Piper  <andy@xemacs.org>
14479
14480         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
14481         type.
14482         (button_query_geometry): give a little more room so that athena
14483         buttons fit.
14484
14485 2000-04-05  Andy Piper  <andy@xemacs.org>
14486
14487         * faces.c (complex_vars_of_faces): The widget face should inherit
14488         the font of the gui-element face.
14489
14490 2000-04-04  Andy Piper  <andy@xemacs.org>
14491
14492         * glyphs-x.c (x_button_update): new function. unconditionally
14493         update a button's state when the instance is dirty.
14494         (image_instantiator_format_create_glyphs_x): add x_button_update.
14495         (x_widget_instantiate): remove old resize cruft.
14496
14497 2000-04-02  Andy Piper  <andy@xemacs.org>
14498
14499         * frame.c (change_frame_size_1): The introduction of gutters means
14500         that we need to allow 0 as a potential frame dimension.
14501
14502 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14503
14504         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
14505         image glyph if allow_cursor.
14506         (add_hscroll_rune): Don't allow cursor to border glyph.
14507         (create_text_block): Ditto.
14508
14509         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
14510         text not in buffer.
14511         (redisplay_output_layout): Call ensure_face_cachel_complete for
14512         text image glyph.
14513
14514
14515 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14516
14517         * redisplay.c (add_glyph_rune): Adding text image as text runes.
14518
14519         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
14520         not in buffer
14521
14522         * redisplay-tty.c (tty_output_display_block): Delete the routine
14523         for text image glyph
14524         * redisplay-x.c (x_output_display_block): ditto
14525         * redisplay-msw.c (mswindows_output_display_block): ditto
14526
14527 2000-02-02  Mike Alexander  <mta@arbortext.com>
14528
14529         Note: Some of these were committed by accident as part of other
14530         patches.
14531
14532         * regex.c (regex_compile): Avoid compiler warnings.
14533
14534         * ntproc.c (sys_spawnve): Avoid compiler warnings.
14535
14536         * nt.h: Declare term_ntproc correctly.
14537
14538         * nt.c: Remove incorrect declaration of get_home_directory which
14539         is declared correctly in lisp.h.
14540
14541         * keymap.c (get_keyelt): Avoid compiler warnings.
14542         (raw_lookup_key_mapper): Avoid compiler warnings.
14543
14544         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
14545
14546         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
14547
14548         * filemode.c (mode_string): Avoid compiler warnings.
14549
14550         * file-coding.c (Fcoding_system_aliasee): Add return statement to
14551         avoid warning.
14552
14553         * events-mod.h: Undef some things that winuser.h defines differently.
14554
14555         * data.c (Faset): Avoid compiler warnings.
14556
14557         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
14558
14559 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14560
14561         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
14562         Fall through to simple beep on error.
14563         Replace "extern" by real header file.
14564
14565         * linuxplay.c: Use nativesound.h
14566         (play_sound_data): Return error code. Be less verbose on error.
14567
14568         * sunplay.c: Use nativesound.h
14569         (play_sound_data): Return error code. Be less verbose on error.
14570
14571         * ntplay.c: Use nativesound.h
14572         (play_sound_data): Return fake error code
14573
14574         * sgiplay.c: Use nativesound.h
14575         (play_sound_data): Return error code
14576
14577         * hpplay.c: Use nativesound.h, partially implement
14578         new error code. Break compilation until finished.
14579         (play_sound_data): error code.
14580
14581         * nativesound.h (play_sound_file):
14582           (play_sound_data): Prototype in new header.
14583
14584 2000-03-31  Andy Piper  <andy@xemacs.org>
14585
14586         * glyphs-widget.c: (button_query_geometry): new function. Adjust
14587         for toggle and radio buttons.
14588         (image_instantiator_buttons): use it.
14589
14590 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14591
14592         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
14593         (x_update_horizontal_scrollbar_callback): Return if no mirror was
14594         found. Scrollbar event probably belonged to some old config.
14595
14596 2000-03-31  Andy Piper  <andy@xemacs.org>
14597
14598         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
14599         than 1.
14600         (initialize_widget_image_instance): default layout to
14601         LAYOUT_HORIZONTAL rather than 0.
14602         (widget_instantiate): reverse the item list at the end rather than
14603         every iteration.
14604         (layout_layout): re-code for the border text at the front of the
14605         item list rather than at the end.
14606         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
14607         provided by the user.
14608         (widget_query_geometry): comment.
14609
14610 2000-03-30  Andy Piper  <andy@xemacs.org>
14611
14612         * glyphs-widget.c (image_instantiator_layout): allow standard
14613         widget keywords in layouts.
14614
14615         * gutter.c (output_gutter): cope with nil gutter contents.
14616
14617         * frame.c (Fset_frame_properties): add gutter docs.
14618
14619 2000-03-29  Andy Piper  <andy@xemacs.org>
14620
14621         * toolbar-msw.c (TBSTYLE_FLAT): add.
14622         (mswindows_output_toolbar): minor fiddling.
14623
14624 2000-03-29  Andy Piper  <andy@xemacs.org>
14625
14626         * gutter.c (output_gutter): force gutter size recalculation if
14627         what we are trying to display won't fit.
14628         (update_gutter_geometry): new function. A per-gutter version of
14629         update_frame_gutter_geometry.
14630         (update_frame_gutter_geometry): use it.
14631         (redraw_exposed_gutter): add extra debugging output.
14632
14633 2000-03-28  Mike Alexander  <mta@arbortext.com>
14634
14635         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
14636         (pdump_file_unmap): Implement it on Windows
14637         (pdump_file_get): Save alocated handles for pdump_file_unmap
14638
14639 2000-03-28  Andy Piper  <andy@xemacs.org>
14640
14641         * gui.c (get_gui_callback): treat Quit specially.
14642
14643 2000-03-27  Andy Piper  <andy@xemacs.org>
14644
14645         * glyphs.c (image_instantiate): be careful to check in the same
14646         way we assigned.
14647
14648 2000-03-27  Didier Verna  <didier@xemacs.org>
14649
14650         * config.h.in: define the proper SMART_INCLUDE macro.
14651         handle renaming of `foo_h_path' to `foo_h_file'.
14652
14653         * database.c: ditto.
14654
14655         * emacs.c: ditto.
14656
14657         * linuxplay.c: ditto.
14658
14659         * terminfo.c: ditto.
14660
14661         * tooltalk.h: ditto.
14662
14663 2000-03-27  Andy Piper  <andy@xemacs.org>
14664
14665         * glyphs-msw.c (mswindows_update_widget): make sure the widget
14666         gets updated whenever the face might have changed.
14667
14668 2000-03-26  Mike Alexander  <mta@arbortext.com>
14669
14670         * dumper.c (pdump_resource_free): Fix the comment.
14671
14672 2000-03-21  Olivier Galibert  <galibert@pobox.com>
14673
14674         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
14675
14676 2000-03-22  Mike Alexander  <mta@arbortext.com>
14677
14678         * dumper.c: Include Windows headers on Windows
14679         (pdump_resource_free): Add a body to the function
14680         (pdump_load): exe_name -> exe_path and add some comments.
14681
14682 2000-03-25  Mike Alexander  <mta@arbortext.com>
14683
14684         * gui.c (copy_gui_item_tree): Return a value in all cases
14685
14686 2000-03-21  Didier Verna  <didier@xemacs.org>
14687
14688         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
14689         lwlib/config.h.in.
14690         (SMART_INCLUDE): new macro.
14691         (POSTGRES_INCLUDE): new macro to include postgresql headers from
14692         the proper location.
14693
14694         * postgresql.c: use it.
14695
14696         * inline.c: ditto.
14697
14698 2000-03-24  Andy Piper  <andy@xemacs.org>
14699
14700         * gutter.c (redraw_exposed_gutters): must be "in display" when we
14701         do this.
14702
14703 2000-03-24  Andy Piper  <andy@xemacs.org>
14704
14705         * redisplay-output.c (compare_runes): use image_instance_changed
14706         to detect changes. Do not depend on glyphs_changed, only depend on
14707         dirtiness.
14708          (redisplay_output_layout): add debug messages.
14709         (compare_runes): ditto.
14710
14711         * glyphs.h: declare new functions.
14712         (struct Lisp_Image_Instance): remove percent and associated
14713         accessors.
14714
14715         * gui.h: declare new copying functions.
14716
14717         * gui.c (copy_gui_item_tree): new function.
14718         (copy_gui_item): new function.
14719         (gui_item_id_hash): revert to standard hash.
14720         (gui_item_hash): ditto.
14721         (gui_item_hash_internal): deleted.
14722         (mark_gui_item): mark value.
14723         (gui_item_add_keyval_pair): add value.
14724         (gui_item_init): ditto.
14725         (gui_add_item_keywords_to_plist): ditto.
14726         (gui_item_equal): ditto.
14727         (syms_of_gui): add Q_value.
14728
14729         * glyphs-x.c (x_progress_gauge_update): use pending items and
14730         value for setting the state.
14731         (x_update_widget): don't set items from pending here.
14732
14733         * glyphs-widget.c (update_widget): update items here.
14734         (progress_gauge_set_property): use items for storing value. Put
14735         new value in pending items.
14736
14737         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
14738         items for new value. Convert percent -> value.
14739         (mswindows_tab_control_update): don't update items here.
14740
14741         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
14742         (update_subwindow): ditto.
14743         (image_instance_changed): new function. Compare hash values and
14744         past and present widget items.
14745         (image_instantiate): We more careful about where we instantiate
14746         things.
14747         (image_instantiate): add error checking.
14748
14749         * gutter.c (syms_of_gutter): use -hook.
14750
14751 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
14752
14753         * console-tty.c (Fset_console_tty_input_coding_system): Use
14754         Qkeyboard.
14755         (Fset_console_tty_output_coding_system): Use Qterminal.
14756         (tty_init_console): Use Qkeyboard and Qterminal.
14757
14758 2000-03-21  Ben Wing  <ben@xemacs.org>
14759
14760         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
14761         From Mike Alexander <mta@arbortext.com>.
14762
14763 2000-03-21  Ben Wing  <ben@xemacs.org>
14764
14765         * event-msw.c (mswindows_need_event): Horrible kludge to fix
14766         process brokenness.  Proper implementation to come.
14767         * callproc.c:
14768         Rename call-process-internal to old-call-process-internal.
14769         New impl. in process.el.
14770
14771 2000-03-21  Martin Buchholz  <martin@xemacs.org>
14772
14773         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
14774
14775 2000-03-20  Andy Piper  <andy@xemacs.org>
14776
14777         * glyphs.c (full_list_hash): make hashes of the same elements in
14778         different orders return different values.
14779
14780 2000-03-20  Martin Buchholz <martin@xemacs.org>
14781
14782         * XEmacs 21.2.32 is released.
14783
14784 2000-03-20  Martin Buchholz  <martin@xemacs.org>
14785
14786         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
14787         (DFC_MALLOC_USE_CONVERTED_DATA):
14788         Add aliasing-safe casts to allow use with char* or unsigned char*
14789         lvalues.
14790
14791         * eldap.c (Fldap_open):
14792         (Fldap_search_basic):
14793         (Fldap_add):
14794         (Fldap_modify):
14795         Make C++-compilable.
14796         Make sure GCPRO'ed variables are initialized.
14797         Use temp variables to avoid repeated calls to Flength.
14798
14799 2000-03-16  Martin Buchholz  <martin@xemacs.org>
14800
14801         * sysfile.h:
14802         Make sure PATH_MAX is always defined.
14803         Include limits.h for PATH_MAX.
14804         Deprecate use of MAXPATHLEN.
14805
14806 2000-03-10  Martin Buchholz  <martin@xemacs.org>
14807
14808         * emacs.c: Add reinit_vars_of_fileio.
14809         * symsinit.h: Add reinit_vars_of_fileio.
14810         * fileio.c (reinit_vars_of_fileio): New.
14811         * fileio.c (Fmake_temp_name):
14812         Initialize temp_name random number from microseconds to make
14813         collisions even less likely.  Initialize always at process startup
14814         time.  (make-temp-name) used to return the same file name twice in
14815         a row when PDUMP.
14816         Random stylistic fiddling.
14817         Comment fixes.
14818
14819 2000-03-20  Andy Piper  <andy@xemacs.org>
14820
14821         * glyphs.c (image_instantiate): allow text glyphs to be
14822         instantiated in the minibuffer window.
14823
14824 2000-03-19  Andy Piper  <andy@xemacs.org>
14825
14826         * glyphs.c (image_instance_hash): be careful about which items we
14827         hash on.
14828
14829         * glyphs-widget.c (tab_control_set_property): record into pending
14830         items rather than the actual items.
14831
14832         * glyphs-x.c (x_update_widget): use pending items to update with.
14833
14834         * glyphs-msw.c (mswindows_tab_control_update): use pending items
14835         to update with.
14836
14837         * glyphs.c (mark_image_instance): mark pending items.
14838
14839         * window.c (Fset_window_configuration): record the buffer.
14840         (Fselect_window): totally revert previous change which breaks many
14841         things.
14842
14843 2000-03-18  Andy Piper  <andy@xemacs.org>
14844
14845         * glyphs-msw.c (mswindows_tab_control_update): force selected
14846         item.
14847
14848         * glyphs.c (image_instantiate): don't allow the minibuffer as a
14849         window domain cache, otherwise we get inconsistencies at
14850         startup. There is something fishy at startup which can lead to the
14851         minibuffer being the selected window when the gutter content is
14852         instantiated.
14853
14854         * gui.c (parse_gui_item_tree_list): add probably unnecessary
14855         gcpros.
14856         (parse_gui_item_tree_children): ditto.
14857         (parse_gui_item_tree_item): ditto.
14858
14859         * glyphs.c (Fupdate_widget_instances): return something.
14860
14861 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
14862
14863         * window.c (Fselect_window): Undo 2000-03-17 change.
14864
14865 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
14866
14867         * postgresql.c (Fpq_setenv): Remove this turkey when linking
14868         against v7.0 libraries.  Insta-coredump city until the postgres
14869         folks fix it.
14870
14871 2000-03-17  Andy Piper  <andy@xemacs.org>
14872
14873         * faces.c (complex_vars_of_faces): don't give the widget face an
14874         inherited background pixmap.
14875
14876         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
14877         selected item.
14878
14879         * event-stream.c (Fdispatch_non_command_events): return something.
14880
14881         * gutter.c (output_gutter): use widget face.
14882         (clear_gutter): ditto.
14883
14884         * NEWS: adjust again.
14885
14886         * window.c (Fselect_window): make sure this runs to completion to
14887         avoid oddities with Fset_window_configuration.
14888         (Fcurrent_window_configuration): in general do not save the
14889         minibuffer as the selected window.
14890
14891         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
14892
14893 2000-03-16  Olivier Galibert  <galibert@pobox.com>
14894
14895         * emacs.c (Frunning_temacs_p): Revert previous patch.
14896         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
14897
14898 2000-03-16  Andy Piper  <andy@xemacs.org>
14899
14900         * glyphs-x.c (x_tab_control_update): if no widget values then
14901         return.
14902
14903         * NEWS: update for new features.
14904
14905         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
14906         synthetic event to the native system.
14907         (reinit_vars_of_event_Xt): set force_event_pending to
14908         emacs_Xt_force_event_pending.
14909
14910         * events.h (struct event_stream): add force_event_pending.
14911
14912         * specifier.c (recompute_one_cached_specifier_in_window): add
14913         comment.
14914
14915         * redisplay.c (redisplay_frame): don't call
14916         update_frame_subwindows. Reset subwindow cachels when
14917         subwindows_changed, removing this was an optimization too far.
14918
14919         * redisplay-output.c (compare_runes): reorganize so that we catch
14920         glyph changes when we want them. Set optimize_output when this
14921         would help layouts.
14922         (redisplay_output_layout): remove frame_really_changed, use
14923         optimize_output instead.
14924
14925         * redisplay-msw.c (mswindows_output_display_block): reset
14926         optimize_output after outputting a glyph.
14927         * redisplay-x.c (x_output_display_block): ditto.
14928         * redisplay-tty.c (tty_output_display_block): ditto.
14929
14930         * gutter.c: (specifier_vars_of_gutter): use new spec changed
14931         functions.
14932         (gutter_specs_changed): do specific gutter positions.
14933         (top_gutter_specs_changed): new function. Only update the
14934         specified gutter specs.
14935         (bottom_gutter_specs_changed): ditto.
14936         (left_gutter_specs_changed): ditto.
14937         (right_gutter_specs_changed): ditto.
14938
14939         * gui.c (gui_item_hash_internal): new function, does a real hash.
14940         (gui_item_id_hash): use it.
14941         (gui_item_hash): hash the eval'ed gui_item.
14942
14943         * gui-x.c (popup_selection_callback): send an eval event to call
14944         Fupdate_widget_instances.
14945
14946         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
14947         to call Fupdate_widget_instances.
14948
14949         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
14950         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
14951
14952         * glyphs.c: (update_frame_subwindows): deleted.
14953         (Fupdate_widget_instances): new function for updating the dirty
14954         state of widgets that might have changed.
14955         (syms_of_glyphs): add Qupdate_widget_instances.
14956         (full_list_hash): hash a list completely.
14957         (image_instance_hash): use it for items and properties.
14958
14959         * frame-msw.c (mswindows_size_frame_internal): remove unused
14960         variable.
14961
14962         * faces.h (struct face_cachel): fix comment.
14963
14964         * event-stream.c (Fdispatch_non_command_events): new
14965         function. Process non-command events, forcing an event cycle
14966         beforehand.
14967         (syms_of_event_stream): declare.
14968         (event_stream_force_event_pending): new function. Force an event
14969         on the native event queue so that an event cycle will occur next
14970         time we check.
14971
14972         * event-msw.c:
14973         (struct ntpipe_shove_stream):
14974         (mswindows_enqueue_dispatch_event):
14975         (mswindows_dequeue_dispatch_event):
14976         (mswindows_cancel_dispatch_event):
14977         (mswindows_pump_outstanding_events):
14978         (mswindows_drain_windows_queue):
14979         (mswindows_handle_paint):
14980         (mswindows_wnd_proc):
14981         (mswindows_key_to_emacs_keysym):
14982         (get_process_input_waitable):
14983         (emacs_mswindows_delete_stream_pair): re-indent file.
14984         (mswindows_need_event): do not process further fds if the windows
14985         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
14986         fixes the 100% cpu problem.
14987         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
14988
14989 2000-03-15  Olivier Galibert  <galibert@pobox.com>
14990
14991         * alloc.h: New.
14992         * dumper.h: New.
14993         * dumper.c: New.
14994
14995         * emacs.c: Moved dump file searching to dumper.c.
14996         (Frunning_temacs_p): Fixed.
14997
14998         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
14999         last_lrecord_type_index_assigned.
15000
15001 2000-02-20  Olivier Galibert  <galibert@pobox.com>
15002
15003         * symsinit.h: Added reinit parameter to init_console_stream
15004         declaration.
15005
15006         * lisp.h: Added file parameter to pdump_load declaration.
15007
15008         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
15009         support.  Added dump file searching.
15010
15011         * config.h.in: Added EMACS_PROGNAME.
15012
15013         * console-stream.c (init_console_stream): Fix reinitialisation
15014         when running from temacs.
15015
15016         * alloc.c (pdump): Add id support.
15017         (pdump_load): Add file parameter and signature/id support.
15018
15019         * Makefile.in.in: Add full pdump support.
15020
15021 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
15022
15023         * postgresql.c: Update documentation to reflect latest code
15024         status.
15025         (print_result): Show tuple counts in printed representation when
15026         appropriate.
15027         (Fpq_put_nbytes): MULE-ize.
15028         (Fpq_get_line_async): Ditto.
15029
15030 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15031
15032         * postgresql.c (Fpq_lo_import): Fix return value.
15033         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
15034
15035 2000-03-13  Ben Wing  <ben@xemacs.org>
15036
15037         * alloc.c (pdump_load):
15038         Fix compile warning under mswin.
15039
15040 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15041
15042         * postgresql.c: Mule-ization, bug fixes.
15043         Use PG_CODING to encapsulate coding system name changes.
15044         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
15045         (pg-coding-system): Create.
15046
15047         (Fpq_conn_defaults): Mule-ize.
15048         (Fpq_connectdb): Mule-ize & bug fix.
15049         (Fpq_connect_start): Mule-ize.
15050         (Fpq_set_client_encoding): Mule-ize.
15051         (Fpq_finish): Document `DEAD' connection status.
15052         (Fpq_clear): Ditto.
15053         (Fpq_pgconn): Mule-ize.
15054         (Fpq_exec): Mule-ize & bug fix.
15055         (Fpq_send_query): Ditto.
15056         (Fpq_get_result): Ditto.
15057         (Fpq_res_status): Mule-ize.
15058         (Fpq_result_error_message): Mule-ize.
15059         (Fpq_ntuples): fix comments.
15060         (Fpq_fname): Mule-ize.
15061         (Fpq_fnumber): Mule-ize.
15062         (Fpq_ftype): fix comments.
15063         (Fpq_get_value): Mule-ize.
15064         (Fpq_cmd_status): Ditto.
15065         (Fpq_cmd_tuples): Ditto.
15066         (Fpq_oid_value): Ditto.
15067         (Fpq_notifies): Ditto.
15068         (Fpq_lo_import): Ditto.
15069         (Fpq_lo_export): Ditto.
15070         (Fpq_get_line): Ditto.
15071         (Fpq_put_line): Mule-ize and bug fix.
15072         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
15073
15074 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15075
15076         * postgresql.c (vars_of_postgresql): Mule-ize.
15077         (Fpq_conn_defaults): Ditto.
15078
15079 2000-03-12  Ben Wing  <ben@xemacs.org>
15080
15081         * alloc.c (Fmake_byte_code):
15082         * alloc.c (debug_string_purity_print):
15083         * alloc.c (pdump_backtrace):
15084         * alloc.c (pdump_get_indirect_count):
15085         * alloc.c (pdump_register_sub):
15086         * alloc.c (pdump_register_object):
15087         * alloc.c (pdump_register_struct):
15088         * alloc.c (pdump_dump_data):
15089         * alloc.c (pdump_reloc_one):
15090         Minor cleanups.
15091
15092         * console-msw.c:
15093         * console-msw.c (GetConsoleHwnd):
15094         * console-msw.c (msw_hide_console):
15095         * console-msw.c (msw_show_console):
15096         * console-msw.c (msw_ensure_console_buffered):
15097         * console-msw.c (msw_output_console_string):
15098         * console-msw.c (console_type_create_mswindows):
15099
15100         a) Added functions to manipulate the console window for use with
15101         shell support.
15102
15103         b) Added support for writing text to the console, which is now
15104         used under Windows when xemacs is not being run non-interactively,
15105         to write text that would otherwise be destined for stdout because
15106         under these circumstances, text written to stdout tends to
15107         disappear and not be seen.
15108
15109         * console-msw.h:
15110         * event-Xt.c:
15111         * event-Xt.c (x_event_to_emacs_event):
15112         * event-Xt.c (describe_event_window):
15113         * events-mod.h (XEMACS_MOD_CONTROL):
15114         * events.c:
15115         * events.c (Fmake_event):
15116         * events.c (character_to_event):
15117         * events.c (event_to_character):
15118         * events.c (format_event_object):
15119         * events.c (Fevent_modifiers):
15120         * events.h:
15121         * events.h (struct key_data):
15122         * events.h (struct button_data):
15123         * events.h (struct misc_user_data):
15124         * frame-x.c (Fcde_start_drag_internal):
15125         * frame-x.c (Foffix_start_drag_internal):
15126         * gpmevent.c (Freceive_gpm_event):
15127         * keymap.c:
15128         * keymap.c (bucky_sym_to_bucky_bit):
15129         * keymap.c (control_meta_superify):
15130         * keymap.c (make_key_description):
15131         * keymap.c (keymap_lookup_directly):
15132         * keymap.c (create_bucky_submap):
15133         * keymap.c (keymap_store):
15134         * keymap.c (define_key_check_and_coerce_keysym):
15135         * keymap.c (define_key_parser):
15136         * keymap.c (define_key_alternate_name):
15137         * keymap.c (Fdefine_key):
15138         * keymap.c (raw_lookup_key_mapper):
15139         * keymap.c (struct map_keymap_unsorted_closure):
15140         * keymap.c (map_keymap_unsorted_mapper):
15141         * keymap.c (map_keymap_sort_predicate):
15142         * keymap.c (map_keymap_sorted):
15143         * keymap.c (accessible_keymaps_mapper_1):
15144         * keymap.c (where_is_recursive_mapper):
15145         * keymap.c (describe_map_mapper):
15146         * keymap.c (describe_map_sort_predicate):
15147         * keymap.c (describe_map):
15148         * keymap.c (complex_vars_of_keymap):
15149         And a number of other files, the key modifier preprocessor
15150         constants that xemacs uses have names that conflict with constants
15151         defined under MS Windows for other purposes, so they were renamed
15152         to begin with the prefix XEMACS_. The variables that hold such
15153         modifiers were changed to consistently be of type int to fix
15154         various compile warnings.
15155
15156         * console.c (complex_vars_of_console):
15157         * device.c:
15158         * device-msw.c:
15159         * device-msw.c (mswindows_finish_init_device):
15160         * device-msw.c (msw_get_workspace_coords):
15161         * device-msw.c (mswindows_device_system_metrics):
15162         and various other files, added support for a new
15163         device property called offset-workspace which returns the position
15164         of the upper left corner of the workspace area and goes along with
15165         the existing size-workspace property.
15166
15167         * dialog-msw.c:
15168         * dialog-msw.c (push_bufbyte_string_as_unicode):
15169         * dialog-msw.c (mswindows_popup_dialog_box):
15170         Added support for XEmacs-style accelerator specifications in
15171         button text.  Note: I didn't add support for this under X Windows,
15172         and somebody needs to do this.
15173
15174         * dialog.c:
15175         * dialog.c (Fpopup_dialog_box):
15176         Documented the support for accelerators that was just mentioned.
15177
15178         editfns.c (get_home_directory): Changed behavior under Windows
15179         when HOME not defined; former behavior was irretrievably broken.
15180
15181         * emacs.c:
15182         * emacs.c (main_1):
15183         * emacs.c (main):
15184         * minibuf.c (clear_echo_area_internal):
15185         * minibuf.c (echo_area_append):
15186         * print.c:
15187         * print.c (std_handle_out_external):
15188         * print.c (std_handle_out_va):
15189         * print.c (fatal):
15190         * print.c (write_string_to_stdio_stream):
15191         * print.c (output_string):
15192         * print.c (debug_print):
15193         * print.c (debug_backtrace):
15194         * print.c (debug_short_backtrace):
15195         Cleaned up the code that prints text to stdout so that this can be
15196         changed to output into a console window instead under MS Windows,
15197         as described above.
15198
15199         * eval.c:
15200         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15201         * eval.c (internal_catch):
15202         * eval.c (unwind_to_catch):
15203         * eval.c (throw_or_bomb_out):
15204         * eval.c (condition_case_1):
15205         * eval.c (signal_1):
15206         * eval.c (check_error_state_sanity):
15207         * eval.c (call_with_suspended_errors_1):
15208         * eval.c (call_with_suspended_errors):
15209         * eval.c (reinit_vars_of_eval):
15210         Added code to catch throw loops and check for a pesky bug that may
15211         be gone now.
15212
15213         * event-msw.c:
15214         * event-msw.c (key_needs_default_processing_p):
15215         * event-msw.c (mswindows_wnd_proc):
15216         * event-msw.c (mswindows_modifier_state):
15217         * event-msw.c (emacs_mswindows_quit_p):
15218         * event-msw.c (vars_of_event_mswindows):
15219         a) Added support for using the alt key to select menu items as is
15220         standard under MS Windows.  This is controlled using the variable
15221         menu-accelerator-enabled, just like under X Windows.  There is an
15222         option on the options menu to turn this support on.  I really
15223         think that it should be on by default under Windows, but I'm not
15224         going to make this change yet.
15225
15226         b)  Added support for dynamic display size changes under Windows.
15227
15228         * event-stream.c:
15229         * event-stream.c (maybe_echo_keys):
15230         * event-stream.c (Fnext_event):
15231         * event-stream.c (command_builder_find_leaf):
15232         * event-stream.c (lookup_command_event):
15233         * event-stream.c (execute_command_event):
15234         * event-stream.c (pre_command_hook):
15235         * event-stream.c (post_command_hook):
15236         * event-stream.c (syms_of_event_stream):
15237         * event-stream.c (vars_of_event_stream):
15238         * event-stream.c (complex_vars_of_event_stream):
15239         * events.h (struct command_builder):
15240
15241         a) Tried to clean up a little bit the horribly written x-specific
15242         accelerator code that crept into this file.  I moved this code
15243         into menubar-x.c where it belongs. I also needed to move the
15244         command builder structure into the file events.h because it is
15245         accessed directly by this accelerator code.  What I didn't do, but
15246         which should be done at some point, is to properly abstract this
15247         code using device methods instead of the kludgy way that it
15248         currently hooks into the event code.
15249
15250         b) Added the lisp variables this-command-properties and
15251         last-command- properties, which should be used to synchronize two
15252         adjacent commands in preference to playing games with the variable
15253         this-command, which is typically what happens.
15254
15255         c) Added some slightly nasty code to hook into the lisp support
15256         for shifted- motion-key selection.  This is actually necessary for
15257         somewhat complicated reasons, which are described in
15258         simple.el. (NB: I think the proper thing would be to have the code
15259         that calls the pre and post command hooks also call out to generic
15260         lisp functions in simple.el, where all built-in stuff could be
15261         added.  I will think about this more.)
15262
15263         * event-unixoid.c (poll_fds_for_input):
15264         * lread.c (readchar):
15265         * redisplay-tty.c (tty_clear_frame):
15266         * redisplay-x.c (x_get_gc):
15267         * signal.c (interrupt_signal):
15268         And a whole bunch of other files: fixed up places that printed
15269         directly to stderr to instead call the function stderr_out so that
15270         the changes I made under Windows work correctly.
15271
15272         * filemode.c (mode_string):
15273         Warning fixes.
15274
15275         * frame-msw.c:
15276         * frame-msw.c (mswindows_size_frame_internal):
15277         Fixed the computation of frame size and position to keep the frame
15278         within the workspace area, rather than within the physical
15279         dimensions of the screen, so that the frame doesn't overlap window
15280         manager decorations, such as the start menu and toolbar, typically
15281         at the bottom of the screen.
15282
15283         * frame.c (vars_of_frame):
15284         Changed the default frame title format under MS Windows to consist
15285         of buffername-XEmacs, which is standard under MS Windows.  I think
15286         it might be a good idea to change this everywhere because I think
15287         it is superior to the current frame title format, but this is the
15288         kind of change that is likely to cause some people to get annoyed,
15289         so I'm not making it.
15290
15291         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15292
15293         * gui-msw.c (mswindows_handle_gui_wm_command):
15294         Fixed compile warnings.
15295
15296         * gui-x.c:
15297         * gui-x.c (strdup_and_add_accel):
15298         * gui-x.c (button_item_to_widget_value):
15299         * gui-x.h:
15300         Added code to automatically put an accelerator onto the beginning
15301         of menu items that don't have one as is now the standard, and is
15302         described more later.  Also fixed things so that the menu item
15303         name can be an evaluated expression, again a new standard.
15304
15305         * gui.c:
15306         * gui.c (gui_item_add_keyval_pair):
15307         * gui.c (make_gui_item_from_keywords_internal):
15308         * gui.c (gui_add_item_keywords_to_plist):
15309         * gui.c (gui_item_accelerator):
15310         * gui.c (gui_name_accelerator):
15311         * gui.c (gui_item_included_p):
15312         * gui.c (gui_item_display_flush_left):
15313         * gui.c (gui_item_display_flush_right):
15314         * gui.c (parse_gui_item_tree_item):
15315         * gui.c (parse_gui_item_tree_children):
15316         * gui.c (parse_gui_item_tree_list):
15317         Mule-ized.  Cleanup.  GCPRO addition.
15318
15319         * line-number.c (buffer_line_number):
15320         * lisp.h:
15321         * lisp.h (EMACS_INT_MAX):
15322         Added the manifest constant EMACS_INT_MIN corresponding to the
15323         existing constant EMACS_INT_MAX.  This is partially to fix compile
15324         warnings under Windows, and partly for cleanliness.
15325
15326         * menubar-msw.c:
15327         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15328         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15329         * menubar-msw.c (displayable_menu_item):
15330         * menubar-msw.c (populate_menu_add_item):
15331         * menubar-msw.c (populate_or_checksum_helper):
15332         * menubar-msw.c (populate_menu):
15333         * menubar-msw.c (update_frame_menubar_maybe):
15334         * menubar-msw.c (prune_menubar):
15335         * menubar-msw.c (msw_char_is_accelerator):
15336         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15337         * menubar-msw.c (mswindows_handle_wm_command):
15338         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15339         * menubar-msw.c (mswindows_handle_wm_initmenu):
15340         * menubar-msw.c (mswindows_update_frame_menubars):
15341         * menubar-msw.c (mswindows_free_frame_menubars):
15342         * menubar-msw.c (mswindows_popup_menu):
15343         Fixed a bug in handling accelerators where an extra character
15344         would be displayed in the menu item.  Also generalized the
15345         function displayable_menu_item because it is now used by the
15346         dialog box code as well.  And finally, added code in the functions
15347         that create the menubar to extract a list of accelerators for the
15348         top level menubar, which is used in the event code to determine
15349         whether a particular alt-key combination should be used to invoke
15350         a menu item, or should be passed through to access the standard
15351         XEmacs keymap binding for this key combination.
15352
15353         Much needed GCPROing.
15354
15355         * menubar-x.c:
15356         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15357         * menubar-x.c (menu_item_descriptor_to_widget_value):
15358         * menubar-x.c (restore_in_menu_callback):
15359         * menubar-x.c (x_popup_menu):
15360         * menubar-x.c (menu_move_up):
15361         * menubar-x.c (menu_move_down):
15362         * menubar-x.c (menu_move_left):
15363         * menubar-x.c (menu_move_right):
15364         * menubar-x.c (menu_select_item):
15365         * menubar-x.c (command_builder_operate_menu_accelerator):
15366         * menubar-x.c (menu_accelerator_junk_on_error):
15367         * menubar-x.c (command_builder_find_menu_accelerator):
15368         * menubar-x.c (Faccelerate_menu):
15369         * menubar.h:
15370         Moved a whole bunch of code here that was previously in
15371         event-stream.c as described above.  There is also code connected
15372         to the new standard of adding an accelerator to the beginning of
15373         menu items that don't have one as described above and below.
15374
15375         * menubar.c:
15376         * menubar.c (menu_parse_submenu_keywords):
15377         * menubar.c (Fmenu_find_real_submenu):
15378         * menubar.c (Fnormalize_menu_item_name):
15379         * menubar.c (syms_of_menubar):
15380         * menubar.c (vars_of_menubar):
15381         * menubar.c (complex_vars_of_menubar):
15382
15383         a) Cleaned up a bunch of documentation and improved it.
15384
15385         b) XEmacs now automatically adds an accelerator onto the beginning
15386         of any menu items that don't have one.  I did this because there
15387         will inevitably be some menu items on the main menubar that don't
15388         have accelerators on them because the package that adds that
15389         particular menu item hasn't yet been fixed up to have accelerators
15390         in them and it looked rather strange to have some items with and
15391         some items without accelerators, especially since even in items
15392         without accelerators, you can, at least under windows, still
15393         access the item through an accelerator corresponding to the first
15394         character in the item's name.  If people don't like this behavior,
15395         I can add a variable to turn it off optionally, but I'm not sure
15396         this is a good idea because we really do need to have accelerators
15397         on all of the menu items, and if a package doesn't like the
15398         accelerators being put on the first character, then it should put
15399         the accelerators where they belong.
15400
15401         c) I made a behavior change, which is that the descriptor that
15402         specifies the text of the menu item, which formerly was just a
15403         string, can now also be an evaluated expression.  This makes this
15404         descriptor parallel with all of the others, which could also be
15405         evaluated expressions.  This also obviates the need for the
15406         keyword :label, which was previously listed in the documentation
15407         as unimplemented, and which was for the same purpose.
15408
15409         d) GCPROing.
15410
15411         * ntproc.c:
15412         * ntproc.c (new_child):
15413         * ntproc.c (sys_spawnve):
15414         * ntproc.c (find_child_console):
15415         * ntproc.c (sys_kill):
15416         Fixed compile warnings.  By the way, this file should really go
15417         away entirely, and this will happen as soon as Kirill makes his
15418         final round of process cleanups, which affect the function
15419         call-process.
15420
15421         * process-nt.c:
15422         * process-nt.c (struct nt_process_data):
15423         * process-nt.c (find_process_from_pid):
15424         * process-nt.c (send_signal_the_nt_way):
15425         * process-nt.c (enable_child_signals):
15426         * process-nt.c (find_child_console):
15427         * process-nt.c (send_signal_the_95_way):
15428         * process-nt.c (nt_finalize_process_data):
15429         * process-nt.c (ensure_console_window_exists):
15430         * process-nt.c (nt_create_process):
15431         * process-nt.c (nt_kill_child_process):
15432         * process-nt.c (nt_kill_process_by_pid):
15433         * process-nt.c (nt_open_network_stream):
15434         * process-nt.c (vars_of_process_nt):
15435         Copied over code from Emacs 20.5 to correctly send signals to sub-
15436         processes under Windows 95.  Also added code to automatically
15437         create and hide console window when a sub-process is created under
15438         Windows 95, which obviates the need for the separate runemacs.exe
15439         executable, and finally implemented some variables that were
15440         implemented in Emacs 20.5, but previously not in XEmacs.  These
15441         include mswindows- start-process-share-console and
15442         mswindows-start-process-inherit-error-mode. (Both of these only
15443         apply to Windows 95.)
15444
15445         * regex.c (regex_compile): Fixed a compile warning.
15446
15447         * select-msw.c:
15448         * select-msw.c (mswindows_own_selection):
15449         * select-msw.c (mswindows_get_foreign_selection):
15450         * select-msw.c (mswindows_disown_selection):
15451         * select-msw.c (console_type_create_select_mswindows):
15452         * select-msw.c (syms_of_select_mswindows):
15453         Cleaned up the file and implemented the device method
15454         selection_exists_p, which had accidentally been left out.  Also
15455         removed four lisp functions that were remnants from before the
15456         time when the selection code was properly device abstracted.
15457         These functions are no longer needed because there are generic
15458         equivalents, and because they were added recently and don't exist
15459         in FSF Emacs, I don't think there's any problem with just deleting
15460         them.
15461
15462         * sysdep.c:
15463         * sysdep.c (sys_subshell):
15464         Fixed a compile warning, although in this case there's probably
15465         something wrong with this code, and it ought to be looked into
15466         more thoroughly by somebody who understands it.
15467
15468         * window.c:
15469         * window.c (Fwindow_text_area_height):
15470         * window.c (Fwindow_width):
15471         * window.c (Fwindow_full_width):
15472         * window.c (Fwindow_pixel_width):
15473         * window.c (debug_print_window):
15474         * window.c (syms_of_window):
15475         Added functions window-text-area-height and window-full-width,
15476         which are functions for returning various width and height
15477         characteristics of a window. (One of these functions is necessary
15478         for making the file dialog box work correctly, and the other one
15479         was added for completeness.)  Also added a table to the
15480         documentation for window-height which describes the entire scheme
15481         for accessing width and height characteristics of a window.
15482
15483 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15484
15485         * nt.c (fstat): Added a comment for another problem with
15486         non-encapsulated [f]stat(), reported by Adrian Aichner
15487         <aichner@ecf.teradyne.com>.
15488
15489 2000-03-11  Andy Piper  <andy@xemacs.org>
15490
15491         * window.c (make_dummy_parent): initialize subwindow instance
15492         cache.
15493         (Fset_window_configuration): zero extent_modiff.
15494
15495 2000-03-10  Andy Piper  <andy@xemacs.org>
15496
15497         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
15498         more changes can be triggered.
15499         (Fredisplay_frame): ditto.
15500         (Fredraw_device): ditto.
15501         (Fredisplay_device): ditto.
15502         (redisplay_frame): make non-static.
15503         (redisplay_frame): call update_frame_gutter_geometry outside of
15504         display proper.
15505
15506         * gutter.h: declare update_frame_gutter_geometry.
15507
15508         * redisplay.h: declare redisplay_frame.
15509
15510         * gutter.c (update_frame_gutter_geometry): move geometry changes
15511         in update_frame_gutters here. Geometry changes can only occur
15512         outside of redisplay.
15513         (update_frame_gutters): remove geometry change code.
15514         (Fredisplay_gutter_area): make sure that we are in display when we
15515         update and that we have flushed any size changes.
15516
15517 2000-03-11  Andy Piper  <andy@xemacs.org>
15518
15519         * alloc.c (pdump_dump_data): remove i & count shadows.
15520
15521 2000-02-27  Mike Alexander  <mta@arbortext.com>
15522
15523         * sysdep.h: Declare pdump_read_file
15524
15525         * sysdep.c (pdump_read_file): New function
15526
15527         * alloc.c (pdump_load): Call pdump_read_file to get the portable
15528         dump data
15529
15530 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15531
15532         * lrecord.h: add `lrecord_type_pgsetenv'.
15533
15534 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
15535
15536         * symsinit.h: declare (vars|syms)_of* functions.
15537         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
15538
15539 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
15540
15541         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
15542
15543         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
15544         GCCs.
15545
15546         * emacs.c (main_1): Call postgres initialization code.
15547
15548         * postgresql.h: New file.  PostgreSQL RDBMS support.
15549         * postgresql.c: New file.
15550
15551 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
15552
15553         * redisplay-output.c (redisplay_output_display_block): Disable
15554         redundant code.
15555
15556 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15557
15558         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
15559         (Fcanna_henkan_next): Ditto.
15560         (Fcanna_bunsetu_henkou): Ditto.
15561         (Fcanna_henkan_kakutei): Ditto.
15562         (Fcanna_henkan_end): Ditto.
15563         (Fcanna_henkan_quit): Ditto.
15564         (Fcanna_henkan_next): Set retun value correctly.
15565         (c2mu): Use unsigned char instead of signed char.
15566
15567 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15568
15569         * emacs.c (main_1): Always call syms_of_gui.
15570         * inline.c: include gui.h
15571
15572 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15573
15574         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
15575         converted to Lisp_Object.
15576         (Qtop_bottom): New variable.
15577         (syms_of_redisplay): Initialize it.
15578         * redisplay.h (Vvisible_bell): Ditto.
15579         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
15580         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
15581         only flash top and bottom.
15582
15583 2000-03-08  Andy Piper  <andy@xemacs.org>
15584
15585         * buffer.c (Frename_buffer): record new buffer name the right way.
15586
15587 2000-03-08  Andy Piper  <andy@xemacs.org>
15588
15589         * glyphs.c (update_subwindow): increase hash depth so that widget
15590         items get picked up properly.
15591
15592         * redisplay-output.c (compare_runes): increase hash depth so that
15593         widget items get picked up properly.
15594
15595 2000-03-08  Andy Piper  <andy@xemacs.org>
15596
15597         * gutter.c (output_gutter): add some debug.
15598
15599         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
15600         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
15601         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
15602
15603         * redisplay-output.c (compare_runes): use display_hash to
15604         determine if glyphs really are not the same.
15605
15606         * glyphs.c (update_subwindow): check display_hash to see if
15607         anything really needs to be updated. If not then do
15608         nothing. Record the display_hash after updating.
15609         (image_instance_equal): compare the image_instance face also.
15610
15611 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
15612
15613         * redisplay.h: Fix comment style.
15614
15615 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15616
15617         * consle-msw.h (struct mswindows_frame):
15618         Added new member paint_pending to indicate whether a WM_PAINT
15619         magic event has been queued for this frame.
15620
15621         * event-msw.c (mswindows_drain_windows_queue):
15622         Don't queue a WM_PAINT magic event if one is already queued.
15623         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
15624
15625         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
15626
15627 2000-03-07  Didier Verna  <didier@xemacs.org>
15628
15629         * dired.c: #include `regex.h' after `sysfile.h'.
15630
15631 2000-03-06  Martin Buchholz  <martin@xemacs.org>
15632
15633         * sound.c (init_nas_sound): Fix compiler warning.
15634
15635         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
15636         (FREE_STRUCT_P):
15637         (MARK_STRUCT_AS_FREE):
15638         (MARK_STRUCT_AS_NOT_FREE):
15639         Make `gcc -fstrict-aliasing' work properly.
15640
15641 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15642
15643         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
15644         (mswindows_delete_device): Call CoUnnitialize().
15645
15646         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
15647
15648 2000-02-25    <CraigL@DyCon.com>
15649
15650         * process-nt.c: MinGW now has <shellapi.h>, but still needs
15651         <errno.h>.
15652
15653         * sysdep.c: This extern declaration for environ prevents MinGW
15654         from finding the variable in CRTDLL.DLL.
15655
15656         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
15657         windows headers.
15658         (SHGFI_EXETYPE): ..
15659         (WM_MOUSEWHEEL): ..
15660         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
15661         definitions.
15662         (MMRESULT): Removed, now defined in cygwin's windows headers.
15663         (TIMECAPS): ..
15664         (uid_t,gid_t,pid_t,ssize_t): ..
15665         (_timeb): Removed, MinGW defines both _timeb and timeb.
15666         (HAVE_H_ERRNO): Added.
15667         (HAVE_TZNAME): Added, configure is not detecting this.
15668
15669 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
15670
15671         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
15672         * syntax.c (syntax_match): Use it.
15673
15674         * cmds.c: Import auto-fill-chars from FSF Emacs.
15675         (Vauto_fill_chars): New variables.
15676         (internal_self_insert): Check Vauto_fill_chars.
15677         (vars_of_cmds):
15678         Declare auto-fill-chars as a Lisp variable and initialize it.
15679
15680 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15681
15682         * fileio.c (Fmake_symbolic_link):
15683         (Ffile_symlink_p):
15684         Run handlers even if local machine doesn't have symlinks.
15685
15686 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15687
15688         * event-msw.c (mswindows_drain_windows_queue):
15689         Don't generate paint magic events for non-XEmacs frames.
15690
15691 2000-03-05  Andy Piper  <andy@xemacs.org>
15692
15693         * redisplay.c (redisplay_frame): generate_displayable_area and
15694         friends assumes that we are not in GC, we therefore have to make
15695         sure that this doesn't happen.
15696
15697         * gutter.c (calculate_gutter_size): generate_displayable_area
15698         assumes that we are not in GC, we therefore have to make sure that
15699         this doesn't happen.
15700
15701 2000-03-05  Martin Buchholz  <martin@xemacs.org>
15702
15703         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
15704
15705 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15706
15707         * redisplay.c (regenerate_window): Make sure we set a sane value
15708         for end_pos even if we jump out of the loop.
15709         (regenerate_window): Answer Ben's question :-).
15710         (start_end_of_last_line): Add may_error argument.
15711         (start_of_last_line):
15712         (end_of_last_line): Pass may_error = 0.
15713         (end_of_last_line_may_error): New function.
15714         (pixel_to_glyph_translation): Use it, so we don't crash in
15715         event_to_glyph.
15716
15717 2000-03-04  Andy Piper  <andy@xemacs.org>
15718
15719         * window.h (struct window): add gutter_extent_modiff.
15720
15721         * window.c (allocate_window): zero out gutter_extent_modiff.
15722
15723         * redisplay.h: declare sync_display_line_structs.
15724
15725         * redisplay.c (add_glyph_rune): add a better comment.
15726
15727         * redisplay-output.c (sync_display_line_structs): made non-static.
15728         (compare_runes): remove unneccesary glyph cachel access.
15729
15730         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
15731
15732         * gutter.c (output_gutter): don't output the gutter if extent
15733         changes only involve extents in buffers. use 4 sets of display
15734         lines.
15735         (gutter_extent_signal_changed_region_maybe): new function. Mark
15736         extents in gutters as changed.
15737         (update_frame_gutters): use 4 sets of display lines.
15738         (reset_gutter_display_lines): ditto.
15739         (free_frame_gutters): ditto.
15740         (redraw_exposed_gutter): force output of gutters.
15741
15742         * frame.h (struct frame): add 4 sets of gutter display lines.
15743
15744         * extents.c: (extent_changed_for_redisplay): signal changes to
15745         extents in strings in the gutter as well as extents in buffers.
15746
15747 2000-03-02  Andy Piper  <andy@xemacs.org>
15748
15749         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
15750
15751         * frame.c (Fmake_frame): make sure the gutters get initialized
15752         after the frame is visible.
15753         (set_frame_selected_window): re-arrange compilation macros a
15754         little.
15755         (change_frame_size_1): mark gutters changed.
15756
15757         * device.c (Fset_device_class): mark gutters changed.
15758
15759 2000-03-01  Andy Piper  <andy@xemacs.org>
15760
15761         * window.c (window_top_frame_gutter_height): deleted.
15762         (window_bottom_frame_gutter_height): ditto.
15763         (window_left_frame_gutter_height): ditto.
15764         (window_right_frame_gutter_height): ditto.
15765         (window_top_gutter_height): don't use them.
15766         (window_bottom_gutter_height): ditto.
15767         (window_left_gutter_width): ditto.
15768         (window_right_gutter_width): ditto.
15769         (Fsplit_window): ditto.
15770         (Fwindow_pixel_edges): don't use border dimensions here.
15771
15772         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
15773         (update_scrollbar_instance): ditto.
15774
15775         * redisplay.c (generate_modeline): don't take gutters into account.
15776         (generate_modeline): ditto.
15777         (redisplay_frame): small gutter display optimization.
15778
15779         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
15780
15781         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
15782         gutters into account.
15783
15784         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
15785         for window position and type.
15786
15787         * gutter.c (get_gutter_coords): fix for frame gutters.
15788         (update_frame_gutters): update frame geometry if the gutters have
15789         changed.
15790         (init_frame_gutters): record current gutter geometries.
15791
15792         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
15793         var.
15794         (mswindows_widget_instantiate): ditto.
15795
15796         * frame.h (struct frame): add current_gutter_bounds.
15797
15798         * frame.c (change_frame_size_1): position window and minibuffer
15799         appropriately taking into account the frame gutters.
15800
15801         * frame-x.c: (x_initialize_frame_size): take into account the
15802         frame gutters.
15803
15804 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15805
15806         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
15807
15808 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
15809
15810         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
15811
15812 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15813
15814         * file-coding.c (reset_decoding_stream): Clear previous
15815         detection state when autodetect.
15816
15817 2000-02-29  Didier Verna  <didier@xemacs.org>
15818
15819         * extents.c (set_extent_glyph_1): don't require extents to be
15820         attached.
15821
15822 2000-02-27  Andy Piper  <andy@xemacs.org>
15823
15824         * gutter.c (Fset_default_gutter_position): don't default left and
15825         right gutter visibility to t.
15826         (Fset_default_gutter_position): run
15827         default-gutter-position-changed-hook.
15828         (syms_of_gutter): add default-gutter-position-changed-hook.
15829
15830 2000-02-26  Andy Piper  <andy@xemacs.org>
15831
15832         * specifier.c (Fmake_specifier): add gutter references.
15833
15834         * gutter.h (RAW_WINDOW_GUTTER): new macro.
15835
15836         * lisp.h: declare Fvalid_plist_p.
15837
15838         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
15839         as changed.
15840         (default_gutter_visible_p_changed_in_window): invalidate gutter as
15841         well as its visibility so that it gets reconstructed.
15842         (construct_window_gutter_spec): new function. Construct a string
15843         to be displayed in the gutter from a plist of strings. Take care
15844         to only use elements that are declared as visible.
15845         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
15846         WINDOW_GUTTER.
15847         (gutter_validate): allow plists of strings in the specifier.
15848         (gutter_specs_changed): construct the real_gutter from the gutter
15849         specs using construct_window_gutter_spec.
15850         (gutter_visible_validate): gutter-visible is a new specifier type.
15851         (Fgutter_visible_specifier_p): new function for the new specifier.
15852         (syms_of_gutter): declare gutter-visible and
15853         Fgutter_visible_specifier_p.
15854         (specifier_type_create_gutter): intitalize new gutter-visible
15855         specifier.
15856         (reinit_specifier_type_create_gutter): ditto.
15857         (specifier_vars_of_gutter): use new specifier type for gutter
15858         visibility.
15859         (init_frame_gutters): construct real_gutter correctly.
15860         (Fgutter_specifier_p): beef up documentation.
15861         (Fgutter_size_specifier_p): ditto.
15862
15863         * winslots.h: add real_gutter slots.
15864
15865 2000-02-25  Andy Piper  <andy@xemacs.org>
15866
15867         * device-msw.c: Be kind to older cygwin versions. From Raymond
15868         Toy <toy@rtp.ericsson.se>.
15869
15870         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
15871         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
15872
15873 2000-02-25  Martin Buchholz  <martin@xemacs.org>
15874
15875         * elhash.c (MARK_OBJ): Practice macro hygiene.
15876
15877 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15878
15879         * miscplay.c: s/__inline__/inline/g;
15880         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
15881         (get_device_compdc): INLINE ==> static inline
15882         * *.[ch]: Change INLINE to INLINE_HEADER globally.
15883         find -name '*.h' | \
15884         xargs global-replace \
15885         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
15886
15887 2000-02-25  Andy Piper  <andy@xemacs.org>
15888
15889         * window.c (window_top_frame_gutter_height): new function.
15890         (window_top_window_gutter_height): ditto.
15891         (window_top_gutter_height): use them.
15892         (window_bottom_frame_gutter_height): new function.
15893         (window_bottom_window_gutter_height): ditto.
15894         (window_bottom_gutter_height): use them.
15895         (window_left_window_gutter_width): new function.
15896         (window_left_frame_gutter_width): ditto.
15897         (window_left_gutter_width): use them.
15898         (window_right_window_gutter_width): new function.
15899         (window_right_frame_gutter_width): ditto.
15900         (window_right_gutter_width): use them.
15901         (window_pixel_height): new function. calulate window pixel height
15902         with frame gutter involvement.
15903         (Fsplit_window): calculate new sizes taking frame gutters into
15904         account.
15905         (window_char_height_to_pixel_height): don't include frame gutters.
15906         (window_char_height): use window_pixel_height.
15907         (window_pixheight): rename from window_pixel_height.
15908         (change_window_height): use it.
15909         (window_pixel_height_to_char_height): don't include frame gutters.
15910         (window_char_width_to_pixel_width): ditto.
15911
15912 2000-02-25  Andy Piper  <andy@xemacs.org>
15913
15914         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
15915         if it is.
15916
15917 2000-02-24  Martin Buchholz  <martin@xemacs.org>
15918
15919         * alloc.c (staticpro):
15920         (staticpro_nodump):
15921         (dumpstruct):
15922         (dumpopaque):
15923         (pdump_wire):
15924         (pdump_wire_list):
15925         (compact_string_chars):
15926         (pdump_dump_wired):
15927         Convert:  if (foo) abort();  ==>  assert (! foo);
15928
15929         * eldap.c (Fldap_search_basic):
15930         (Fldap_add):
15931         (Fldap_modify):
15932         (Fldap_delete):
15933         Fix compiler warnings, and possible crashes if (random) return
15934         value were to be used.
15935
15936 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15937
15938         * device-msw.c: Workaround ResetDC failure.
15939
15940         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
15941         applying a devmode.
15942
15943         * redisplay-msw.c (get_frame_dc): Added start_page_p.
15944         (mswindows_text_width): Do not start printer page.
15945
15946         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
15947
15948         * glyphs-msw.c: Added image methods to msprinter console and
15949         msprinter-specific image instantiation.
15950
15951 2000-02-20  Mike Alexander  <mta@arbortext.com>
15952
15953         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
15954         to avoid crashes when selection-sets-clipboard is on
15955         (mswindows_own_selection): ditto
15956
15957 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15958
15959         * glyphs-msw.c:
15960         * redisplay-msw.c (get_frame_dc):
15961         (get_frame_compdc):
15962         * console-msw.h:
15963         * device-msw.c (mswindows_init_device):
15964         (mswindows_delete_device):
15965         (msprinter_init_device):
15966         (msprinter_delete_device):
15967         * frame-msw.c (mswindows_init_frame_1):
15968         (mswindows_delete_frame):
15969         (msprinter_init_frame_3):
15970         (msprinter_delete_frame): Move compatible DC to device object from
15971         frame object, for both mswindows and msprinter. Only one at a time
15972         is needed, it is a real waste to have one per frame!
15973
15974 2000-02-23  Andy Piper  <andy@xemacs.org>
15975
15976         * glyphs.c: add dynamic width and height elements.
15977         (image_instance_equal): ditto.
15978
15979         * glyphs-widget.c (widget_query_geometry): calculate width and
15980         height dynamically if required.
15981         (initialize_widget_image_instance): initialize dynamic dimensions.
15982         (widget_instantiate): pick-up dynamic dimensions.
15983
15984         * glyphs.h (struct Lisp_Image_Instance): add width and height for
15985         dynamic determination. Add appropriate macros.
15986
15987         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
15988         dimensions safe.
15989         (WINDOW_GUTTER_SIZE): ditto.
15990         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
15991
15992         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
15993         inline.
15994         (get_frame_dc): ditto.
15995
15996         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
15997         here.
15998
15999 2000-02-23  Martin Buchholz <martin@xemacs.org>
16000
16001         * XEmacs 21.2.31 is released.
16002
16003 2000-02-22  Ben Wing <ben@xemacs.org>
16004
16005         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
16006
16007 2000-02-22  Andy Piper  <andy@xemacs.org>
16008
16009         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
16010
16011 2000-02-21  Mike Sperber <mike@xemacs.org>
16012
16013         * .dbxrc:
16014         * .gdbinit:
16015         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
16016         variables.
16017
16018 2000-02-21  Mike Sperber <mike@xemacs.org>
16019
16020         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
16021
16022 2000-02-21  Martin Buchholz <martin@xemacs.org>
16023
16024         * XEmacs 21.2.30 is released.
16025
16026 2000-02-20  Martin Buchholz  <martin@xemacs.org>
16027
16028         Performance hacking.
16029         * *.c (syms_of_*):
16030         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
16031         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
16032         * emacs.c (main_1):
16033         * lisp.h (DEFUN):
16034         * console.c (DEFVAR_CONSOLE_LOCAL_1):
16035         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
16036         * symeval.h (DEFVAR_SYMVAL_FWD):
16037         * symbols.c (guts_of_unbound_marker):
16038         Make all c_readonly objects also lisp_readonly and marked for life.
16039         * lrecord.h (struct lrecord_implementation):
16040         Document flags better.
16041         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
16042         * lrecord.h (DECLARE_LRECORD):
16043         * lrecord.h (XSETRECORD):
16044         * lrecord.h (RECORDP):
16045         * lrecord.h (RECORD_TYPEP):
16046         * lrecord.h (RECORD_MARKER): New.
16047         * lrecord.h (error_check_*):
16048         * lrecord.h (CONCHECK_NONRECORD):
16049         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
16050         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
16051         * lrecord.h (set_lheader_implementation):
16052         * lrecord.h (enum lrecord_type): New.
16053         * symeval.h (SYMBOL_VALUE_MAGIC_P):
16054         * alloc.c (disksave_object_finalization_1):
16055         * alloc.c (mark_object):
16056         * alloc.c (lrecord_type_index):
16057         * alloc.c (tick_lcrecord_stats):
16058         * alloc.c (Fgarbage_collect):
16059         * alloc.c (init_alloc_once_early):
16060         * alloc.c (pdump_load):
16061         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
16062         * alloc.c (lrecord_type_index): Delete.
16063         Make lisp object type indexes be constant.
16064           Makes (byte-compile) 5% faster.
16065         Put all marker functions into their own array.
16066           Makes (garbage-collect) 5% faster.
16067         Optimize SYMBOL_VALUE_MAGIC_P.
16068           Makes (byte-compile) 2-3% faster.
16069         * config.h.in (gc_checking_assert): New.
16070         * alloc.c: Use gc_checking_assert().
16071         * .dbxrc: Make compatible with new object type implementation.
16072         * .gdbinit: Make compatible with new object type implementation.
16073         * alloc.c: Delete all symbols defined only for debugging, such as
16074         Lisp_Type_Vector and lrecord_charset.
16075
16076 2000-02-21  Andy Piper  <andy@xemacs.org>
16077
16078         * gui-msw.c (Fmswindows_shell_execute): fix file location
16079         problems.
16080
16081         * buffer.c (Fkill_buffer): remove buffer from alist buffer
16082         unshowing so that set_window_buffer doesn't undo
16083         kill_buffer_hook's hard work.
16084
16085         * glyphs-widget.c (tab_control_query_geometry): don't count the
16086         first item when calculating geometry.
16087
16088         * glyphs.c (map_subwindow): remove redundant code.
16089         (update_frame_subwindows): be more circumspect about when to
16090         update subwindows.
16091
16092         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
16093         when items haven't changed. Update faces if faces have changed as
16094         well as just the widget face.
16095         (x_tab_control_update): Update faces if faces have changed as well
16096         as just the widget face.
16097
16098 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16099
16100         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
16101         registration.
16102         (build_syscolor_string): Use mswindows_color_to_string to try to
16103         get a named color.
16104         (mswindows_device_system_metrics): Reverse the foreground and
16105         background colors so that they match the documentation.
16106
16107         * objects-msw.c: (mswindows_X_color_map): tweak some values so
16108         they match the default Windows palette.
16109         (mswindows_color_to_string): New function.
16110
16111 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16112
16113         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16114
16115 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16116
16117         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16118         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16119
16120         * symbols.c (init_symbols_once_early): Removed obsolete
16121         DATA_SEG_BITS related kludge.
16122         (defvar_magic): Ditto.
16123
16124         * malloc.c: Removed obsolete DATA_SEG_BITS
16125         * ralloc.c: Ditto.
16126         * mem-limits.h: Ditto.
16127
16128         * Makefile.in.in: Removed obsolete HAVE_SHM
16129         * emacs.c: Ditto.
16130
16131 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16132
16133         *  device-msw.c (mswindows_delete_device): Free DDE string
16134         handles.
16135
16136 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16137
16138         * keymap.c (get_keyelt):
16139         * unexnt.c (unexec):
16140         * vm-limit.c (memory_warnings):
16141         * ntheap.c (recreate_heap):
16142         * ntheap.h (UNINIT_PTR):
16143         * select-msw.c (Fmswindows_get_clipboard):
16144         (Fmswindows_set_clipboard):
16145         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16146         * objects-msw.c:
16147         * menubar-msw.c (displayable_menu_item):
16148         * glyphs-msw.c:
16149         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16150         * sysdep.c (sys_subshell):
16151         * process-nt.c (nt_create_process):
16152         * nt.c (normalize_filename):
16153         (dostounix_filename):
16154         (unixtodos_filename):
16155         * ntproc.c (win32_executable_type):
16156         * ntplay.c (play_sound_data_1):
16157         (play_sound_file):
16158         * editfns.c (get_home_directory):
16159         * event-msw.c (struct winsock_stream):
16160         (mswindows_dde_callback):
16161         * device-msw.c (msprinter_init_device):
16162         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16163
16164         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16165         mswindows_clear_toolbar were swapped!
16166
16167         * objects-msw.c:(colormap_t):
16168         (fontmap_t):
16169         * emacs.c (struct standard_args): Fixed const jumble.
16170
16171         * glyphs-widget.c (update_widget): Fixed comparison notation.
16172
16173         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16174
16175         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16176         __declspec(noreturn) syntax.
16177
16178 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16179
16180         * eldap.c (Fldap_open):
16181         (Fldap_search_basic):
16182         (Fldap_add):
16183         (Fldap_modify):
16184         Use new coding system conversion macros.
16185
16186 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16187
16188         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16189
16190 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16191
16192         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16193         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16194
16195         * eldap.c (Qadd, Qreplace): New constant symbols
16196         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16197         interruptions by XEmacs signals
16198         Remove unnecessary calls to slow_down_interrupts and
16199         speed_up_interrupts
16200         (Fldap_search_basic): Renamed from Fldap_search_internal
16201         Added new optional parameter VERBOSE that triggers the
16202         display of progress messages
16203         Remove unnecessary calls to slow_down_interrupts and
16204         speed_up_interrupts
16205         LDAP result code analysis rewritten
16206         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16207         (syms_of_eldap): Define the new symbols and functions
16208
16209
16210 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16211
16212         * realpath.c: Determine PATH_MAX maximally portably.
16213
16214         * insdel.c (bytecount_to_charcount): Optimize.
16215         The function used to be optimized for entirely ASCII sequences.
16216         Now it is optimized for successive characters from the same
16217         charset.  This also wins big for _mostly_ ASCII sequences.
16218
16219         * fileio.c (Ffile_truename): convert return from realpath() using
16220         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16221         - Rewrite GCPROing slightly.
16222
16223         * sysdep.c (sys_open): Do filename conversion, like all other
16224         sys_* functions.  Fixes bug:
16225         (let ((file-name-coding-system 'iso-8859-2))
16226            (write-region x y latin2-name))
16227         ==> writes filename using internal encoding.
16228
16229 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16230
16231         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16232         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16233         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16234         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16235         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16236         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16237         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16238         (CONST_IF_NOT_DEBUG): Delete.
16239         * alloc.c (this_one_is_unmarkable): Delete.
16240         (mark_object): Don't check for this_one_is_unmarkable. Use the
16241         c_readonly flag instead.
16242         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16243
16244 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16245
16246         * event-msw.c (mswindows_drain_windows_queue):
16247         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16248         away redundant repaint events.
16249
16250 2000-02-17  Andy Piper  <andy@xemacs.org>
16251
16252         * redisplay.h: declare mark_redisplay_structs.
16253
16254         * redisplay.c (redisplay_window):
16255         (redisplay_frame): don't check subwindows_state_changed.
16256         (mark_redisplay): mark gutters here.
16257
16258         * glyphs.c: (instantiate_image_instantiator): always layout if we
16259         haven't done so already.
16260         (allocate_image_instance): don't mark as dirty.
16261         (update_subwindow): bind inhibit_quit.
16262
16263         * gutter.c (mark_gutters): new function.
16264
16265         * glyphs-x.c (x_update_widget): Always resize to get round a
16266         widget bug.
16267
16268         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16269         breaking absolutely everything.
16270
16271         * gutter.h: declare mark_gutters.
16272
16273 2000-02-16  Martin Buchholz <martin@xemacs.org>
16274
16275         * XEmacs 21.2.29 is released.
16276
16277 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16278
16279         * fns.c (size_bit_vector): Fix computation of the size.
16280
16281 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16282
16283         * *.[ch]: Change CONST to const globally.
16284         find -name '*.[ch]' | \
16285         xargs global-replace \
16286         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16287         - Remove vestigial references to CONST_IS_LOSING
16288
16289 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16290
16291         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16292         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16293         events instead of dispatching them directly.
16294         (mswindows_handle_paint): New function to do repainting.
16295         (mswindows_wnd_proc):
16296         (emacs_mswindows_handle_magic_event): Call above function.
16297
16298 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16299
16300         * objects-msw.c (mswindows_create_font_variant): Return the new
16301         font handle.
16302         (initialize_font_instance): Get font metrics from the underlined
16303         variant of the font to cope with the case where the underlined
16304         font has a bigger descent.
16305
16306 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16307
16308         * gui.c (gui_item_accelerator): Return the first underlined
16309         character in item name.
16310
16311 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16312
16313         * lisp.h: Added Qprinter.
16314
16315         * general.c (syms_of_general): Initialized it.
16316
16317         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16318         (get_frame_dc):
16319         (get_frame_compdc): Made inline.
16320
16321         * console.h (struct console_methods): Added eject_page method.
16322
16323         * frame.h: Added FRAME_DISPLAY_P and friends.
16324         Aligned backslahes in many macros in more readable fashion.
16325         Added page_number to struct frame, and an accessor macro
16326         for it.
16327
16328         * defice.h: Added DEVICE_DISPLAY_P and friends.
16329
16330         * device.c (Fdevice_printer_p): Used these.
16331
16332         * frame.c (allocate_frame_core): Initialize page number.
16333         (Fprint_job_page_number):
16334         (Fprint_job_eject_page): Implemented.
16335
16336         * frame-msw.c (msprinter_eject_page): Added method.
16337         (msprinter_start_page): Added.
16338
16339         * window.c (Fwindow_truncated_p): Fixed docstring.
16340         (Fwindow_last_line_visible_height): Implemented.
16341
16342 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16343
16344         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16345
16346 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16347
16348         * syntax.c (scan_words): Always advance at least one character.
16349
16350 2000-02-13  Andy Piper  <andy@xemacs.org>
16351
16352         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16353         to make sure the glyph is in the cachels.
16354
16355         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16356         global image instance flag.
16357         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16358         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16359
16360         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16361         (Fset_image_instance_property): mark layout as changed.
16362         (invalidate_glyph_geometry_maybe): mark layout as changed.
16363         (glyph_width): use new NEEDS_LAYOUT macro.
16364         (glyph_ascent): ditto.
16365         (glyph_descent): ditto.
16366         (glyph_height): ditto.
16367         (image_instance_layout): mark layout as clean after laying out.
16368         (update_subwindow): don't mark layout as clean here.
16369
16370         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16371         should no longer be needed.
16372
16373         * glyphs-x.c (x_update_widget): sanitize asserts.
16374         (x_finalize_image_instance): sanitize assignment to widgets.
16375
16376         * glyphs-widget.c (widget_instantiate): don't need to clear the
16377         layout flag here.
16378
16379 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16380
16381         * sysdep.c (getcwd): Use standard prototype.
16382         * sysdep.h (getcwd): Use standard prototype.
16383
16384         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16385         (sequence, start, end).
16386         Remove redundant type checking.
16387         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16388         view of `caller-protects') to avoid a crash where the real fix was
16389         found elsewhere.
16390
16391 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16392
16393         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16394
16395         * s/sol2.h: Remove feature macro initialization.
16396
16397         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16398         (vector_hash): New.  Code from internal_hash.
16399         * lrecord.h:
16400         Fix up allocation subsystem comments.
16401
16402         * config.h.in: Add __EXTENSIONS__ for Solaris.
16403
16404         * systime.h (EMACS_GETTIMEOFDAY): New.
16405         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16406         Remove Solaris-specific code.
16407         Use void* for the (ignored) second arg for gettimeofday().
16408
16409         * elhash.c (hash_table_hash): Implement it, finally.
16410         * elhash.c:  Use hashcode_t.
16411
16412         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16413         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16414
16415         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16416         * fns.c (size_bit_vector):
16417         * alloc.c (size_vector):
16418         (make_vector_internal):
16419         (make_bit_vector_internal):
16420         (sweep_bit_vectors_1):
16421         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16422
16423 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16424
16425         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16426         Include strings.h to avoid warnings for bzero and strcasecmp.
16427
16428 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16429
16430         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
16431         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
16432
16433         * fns.c (size_bit_vector): New.  Declare bit vectors as a
16434         sequence.
16435
16436 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16437
16438         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
16439         use a value field instead.
16440         (symbol_value_forward_forward): Use value field.
16441         (DEFVAR_SYMVAL_FWD): Use value field.
16442         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
16443         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
16444         (DEFVAR_CONST_INT): Ditto.
16445         (DEFVAR_BOOL): Ditto.
16446         (DEFVAR_CONST_BOOL): Ditto.
16447         (DEFVAR_INT_MAGIC): Ditto.
16448         (DEFVAR_BOOL_MAGIC): Ditto.
16449
16450         * symbols.c (guts_of_unbound_marker): Use value field.
16451         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
16452         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
16453
16454         * lisp.h: Declare dumpopaque and noninteractive1.
16455
16456         * alloc.c (dumpopaque): Added.
16457         (pdump_dump_opaquevec): Added.
16458         (pdump): Call pdump_dump_opaquevec to dump opaque data.
16459         (pdump_load): Reload opaque data.  Sync noninteractive1 with
16460         noninteractive.
16461
16462 2000-02-10  Andy Piper  <andy@xemacs.org>
16463
16464         * glyphs.c (image_instance_layout): if the size changes, mark it
16465         as such.
16466
16467         * redisplay-output.c (redisplay_output_layout): Update the
16468         subwindow here.
16469         (redisplay_output_subwindow): ditto.
16470
16471         * glyphs.c (update_subwindow): make sure we reset flags for
16472         layouts as well as everything else.
16473
16474         * glyphs-widget.c (layout_layout): don't need to set the instances
16475         dimensions here.
16476
16477 2000-02-09  Martin Buchholz  <martin@xemacs.org>
16478
16479         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
16480         not HAVE_DLOPEN, which is a lower-level thing.
16481
16482         * .cvsignore: Ignore gmon.out
16483
16484 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
16485
16486         * .cvsignore: Ignore portable dumper xemacs.dmp file
16487
16488 2000-02-09  Andy Piper  <andy@xemacs.org>
16489
16490         * redisplay-output.c (redisplay_output_layout): be more clever
16491         about when we output based on the changed flags.
16492
16493         * glyphs.h (struct image_instantiator_methods): add update_method.
16494         (struct Lisp_Image_Instance): add changed flags. Declare new
16495         macros for manipulating them.
16496
16497         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
16498         (image_instance_parent_glyph): find an image_instance's parent
16499         glyph or image_instance.
16500         (image_instance_layout): mark the size as changed.
16501         (set_image_instance_dirty_p): new function. mark an image
16502         instance, plus all of its parents, as dirty.
16503         (Fset_image_instance_property): use it.
16504         (Fglyph_animated_timeout_handler): use it.
16505         (update_subwindow): call update_widget and device methods for
16506         update_subwindow. Mark all changed flags as clean.
16507         (Fresize_subwindow): mark size as changed.
16508
16509         * glyphs-x.c (x_finalize_image_instance): try and detect gc
16510         failures.
16511         (x_update_subwindow): only resize subwindows here.
16512         (x_update_widget): new function. Update all changed properties of
16513         a widget.
16514         (x_resize_subwindow): deleted.
16515         (x_widget_set_property): deleted.
16516         (x_progress_gauge_set_property): deleted.
16517         (x_progress_gauge_update): new function. Implement recorded
16518         changes.
16519         (x_tab_control_update): ditto.
16520         (x_tab_control_set_property): deleted.
16521         (console_type_create_glyphs_x): declare new functions.
16522         (image_instantiator_format_create_glyphs_x): ditto.
16523
16524         * glyphs-widget.c (widget_set_property): mark text changed.
16525         (update_widget): new function. Update properties of a widget.
16526         (widget_instantiate): for layouts make sure we set their
16527         children's parent correctly.
16528         (tab_control_set_property): new function. Record changes that will
16529         take place under redisplay's control.
16530         (progress_gauge_set_property): ditto.
16531         (image_instantiator_progress_guage): declare new functions.
16532         (image_instantiator_tab_control): ditto.
16533
16534         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
16535         now.
16536         (mswindows_update_widget): new function. Update all properties on
16537         a widget that have changed.
16538         (mswindows_button_update): new function. Update a button's set
16539         state.
16540         (mswindows_tab_control_update): new function. Update the items in
16541         a tab.
16542         (mswindows_tab_control_set_property): deleted.
16543         (mswindows_progress_gauge_update): new function. Update the
16544         progress gauge's progress.
16545         (mswindows_widget_set_property): deleted. This is all done
16546         asynchronously now.
16547         (mswindows_progress_gauge_set_property): ditto.
16548         (console_type_create_glyphs_mswindows): declare new methods.
16549         (image_instantiator_format_create_glyphs_mswindows): ditto.
16550
16551         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
16552         (msprinter_set_frame_properties): ditto.
16553
16554         * console.h (struct console_methods): Add update_widget_method.
16555
16556 2000-02-09  Andy Piper  <andy@xemacs.org>
16557
16558         * gui-msw.c (Fmswindows_shell_execute): Make
16559         mswindows-shell-execute industrial strength.
16560
16561 2000-02-08  Martin Buchholz  <martin@xemacs.org>
16562
16563         * lrecord.h: Make macro argument `props' match member function `plist'.
16564         * fns.c (Fget):
16565         * fns.c (Fput):
16566         * fns.c (Fremprop):
16567         * fns.c (Fobject_plist):
16568         * alloc.c:
16569         * symbols.c:
16570         Object property list frobbing cleanup.
16571         - Allow any lisp object (compared with `eq'), not just symbols, as
16572           keys in object plists.
16573         - Move symbol plist frobbing into symbols.c, where it belongs.
16574         - Move string plist frobbing into alloc.c, where it belongs.
16575         - Everything's an lrecord now, so no need to test for symbolp, etc.
16576         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
16577
16578         * extents.c: Reorder code to remove declarations.
16579
16580         * frame.h (store_in_alist): Remove useless declaration.
16581
16582 2000-02-07  Martin Buchholz  <martin@xemacs.org>
16583
16584         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
16585         * config.h.in: Add HAVE_XCONVERTCASE.
16586
16587 2000-02-07  Andy Piper  <andy@xemacs.org>
16588
16589         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
16590         it breaks many things.
16591
16592 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
16593
16594         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
16595         actually can start a common comment type.
16596         * src/syntax.h (SYNTAX_END_P): ditto for end.
16597
16598 2000-02-07  Martin Buchholz <martin@xemacs.org>
16599
16600         * XEmacs 21.2.28 is released.
16601
16602 2000-02-06  Martin Buchholz  <martin@xemacs.org>
16603
16604         * event-Xt.c (x_keysym_to_character): New.
16605         (maybe_define_x_key_as_self_inserting_character): New.
16606         (x_has_keysym): New.
16607         Auto-define all keys on the keyboard as self-insert-key.
16608
16609 2000-02-02  Martin Buchholz  <martin@xemacs.org>
16610
16611         * menubar.c (vars_of_menubar): A small code simplification.
16612
16613         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
16614
16615         * ExternalShell.c:
16616         * ExternalClient.c:
16617         * EmacsShell-sub.c:
16618         * EmacsManager.c:
16619         * EmacsFrame.c:
16620         Use consistent style for specifying X resources.
16621
16622         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
16623         This makes (dontusethis-set-symbol-value-handler) actually usable.
16624
16625         * lrecord.h (lrecord_decription_type):
16626         * alloc.c (pdump_register_sub):
16627         (pdump_dump_data):
16628         (pdump_reloc_one):
16629         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
16630         Comply with XEmacs coding style.
16631         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
16632         args, and XD_LISP_OBJECT_ARRAY with 3 args.
16633
16634         * keymap.c (Faccessible_keymaps):
16635         Make (accessible-keymaps map "\C-h") do the Right Thing.
16636         Make (accessible-keymaps map []) do the Right Thing.
16637         Make (accessible-keymaps map "") do the Right Thing.
16638         (check_keymap_definition_loop): New function.
16639         (keymap_store_internal): Keep luser from shooting self in foot,
16640           via (define-key ctl-x-4-map "p" global-map).
16641         Remove fullness slot from struct Lisp_Keymap, since hash tables
16642         are now reliable.
16643         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
16644
16645 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16646
16647         * redisplay.c (init_redisplay): Fix small memory leak.
16648         * elhash.h:
16649         * elhash.c (pdump_reorganize_hash_table):
16650         Rename from reorganize_hash_table. Change prototype.
16651         Reuse the original memory for hentries.  Save 100k.
16652         * alloc.c (PDUMP_READ): new macro.
16653         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
16654         * alloc.c: No need to #ifndef before #undef.
16655
16656         * print.c: Allow debug_print() to print readably by modifying
16657         debug_print_readably.  Use consistent variable names.
16658
16659         * .dbxrc: Try to get things to work even if stopped in a function
16660         without source available by explicitly specifying source files.
16661 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16662
16663         * unexnt.c (_start): Removed bogus code which caused loading heap
16664         from differrent executable file.
16665         Removed bogus assignment to _fmode, which caused inconsistencies.
16666
16667 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16668
16669         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
16670         Have spawnve encapsulation regard DONT_ENCAPSULATE.
16671         Do not preliminary `#define signal sigset'.
16672
16673         * systime.h: Do not prototype environ on windows nt and cygwin,
16674         this conflicts with system header.
16675
16676         * syssignal.h: Use correct define for WINDOWSNT
16677
16678         * sysdep.h: Do not prototype environ on windows nt, this conflicts
16679         with system header.
16680
16681         * sysdep.c (near start of file): Fixed commentary and rearranged
16682         ifdefs in readable order.
16683         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
16684         (start_of_text):
16685         (end_of_text):
16686         (end_of_data): Do not compile in if using PDUMP.
16687
16688         * symsinit.h: Prototyped vars_of_nt().
16689
16690         * ntproc.c (windows9x_p): Added, instead of os_subtype.
16691         (find_child_console): Use it.
16692         (sys_kill): Use it.
16693
16694         * ntheap.h: Do not extern os_subtype.
16695
16696         * ntheap.c (cache_system_info): Do not cache unneeded:
16697         nt_major_version, nt_minor_version and os_subtype.
16698         (recreate_heap): Do not compile in when PDUMPing.
16699
16700         * nt.c (geteuid and friends): Use the new varibale
16701         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
16702         (init_user_info): Removed the above mentioned hackery.
16703         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
16704         stat has been fixed in the C runtime.
16705         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
16706
16707         * file-coding.c (struct file_coding_dump): Do not define
16708         ucs_to_mule_table in the struct if not MULE.
16709         (struct struct lrecord_description fcd_description_1): Do not dump
16710         the above.
16711
16712         * emacs.c (main_1): Call vars_of_nt().
16713         (right before Fdump_emacs_data): Don't need lastfile if using both
16714         portabe dumper and system malloc.
16715
16716         * alloc.c (Fmemory_limit): Conditionalized out.
16717         (pdump): Use OPEN_BINARY for the portable dump file.
16718         (pdump_load): Ditto.
16719
16720 2000-02-02  Mike Alexander  <mta@arbortext.com>
16721
16722         * nt.c (convert_time): Set tm_isdst before calling mktime and
16723         avoid calling it at all if the compiler supports 64 bit integers.
16724         Also initialize utc_base_ft before using it.
16725
16726 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16727
16728         * frame.c (change_frame_size_1): Take f->internal_border_width
16729         into consideration when calculating the width of the frame.
16730
16731 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16732
16733         * window.c (frame_min_height):
16734         (frame_size_valid_p):
16735         (frame_pixsize_valid_p): Added.
16736         (check_frame_size): Generalized.
16737
16738         * window.h: Prototyped the above.
16739
16740         * lisp.h:
16741         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
16742         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
16743         Deleted Vwin32_* and Vbinary_process_* unused variables.
16744
16745         * device-msw.c (msprinter_init_device): Do not get printer font
16746         list; Added DEVMODE functions.
16747
16748         * frame-msw.c: Added lots of printer code.
16749
16750         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
16751         general.c.
16752
16753         * console-msw.h: Added more msprinter device private slots.
16754
16755 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16756
16757         * event-msw.c (key_needs_default_processing_p): Added.
16758         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
16759
16760 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16761
16762         * glyphs.c (image_instance_layout): Mark image instance as clean
16763         after layout.
16764         (glyph_dirty_p): Removed redundant function.
16765         (invalidate_glyph_geometry_maybe): Added.
16766         (update_glyph_cachel_data): Call it.
16767
16768         * glyphs.h: Prototyped it.
16769
16770         * redisplay.c (add_glyph_rune): Call it.
16771         (redisplay_window): Reset glyphs cachels when frame faces have
16772         changed, thus forcing recomputation of built-in border glyphs.
16773
16774 2000-01-30  Martin Buchholz  <martin@xemacs.org>
16775
16776         * Makefile.in.in: Make portable dumper and purify play well together.
16777         Add imperfect, but better than nothing, support for pdump.
16778         Remove xemacs.dmp when temacs is re-generated.
16779         Don't ignore errors when dumping xemacs.
16780
16781         * symbols.c (maybe_call_magic_handler): Remove one magic number.
16782
16783 2000-01-28  Andy Piper  <andy@xemacs.org>
16784
16785         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
16786         (setup_normal_frame): ditto.
16787         (setup_frame_without_minibuffer): ditto.
16788         (setup_minibuffer_frame): ditto.
16789         (delete_frame_internal): ditto.
16790         (Fmake_frame_invisible): ditto.
16791         (Ficonify_frame): ditto.
16792
16793         * window.h: change Fset_window_buffer signature.
16794
16795         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
16796         (Fset_window_buffer): allow recording of buffer if the window is
16797         the selected window.
16798         (window_loop): Use new Fset_window signature.
16799
16800 2000-01-23  Daniel Pittman  <daniel@danann.net>
16801
16802         * config.h.in: Added template for `HAVE_ATHENA_3D'
16803
16804 2000-01-29  Andy Piper  <andy@xemacs.org>
16805
16806         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
16807
16808         * gutter.c (output_gutter): Don't output if the window isn't live.
16809
16810 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16811
16812         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
16813         of 01/12/00: Moved SetFocus back here where it belongs.
16814
16815 2000-01-23  Andy Piper  <andy@xemacs.org>
16816
16817         * s/cygwin32.h: declare printer things.
16818
16819 2000-01-26  Andy Piper  <andy@xemacs.org>
16820
16821         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
16822         Alexander.
16823
16824 2000-01-24  Andy Piper  <andy@xemacs.org>
16825
16826         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
16827         (mswindows_button_instantiate): Make sure glyph is a pixmap.
16828
16829         * glyphs-widget.c (widget_instantiate): Avoid shadows.
16830
16831         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
16832
16833         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
16834
16835         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
16836         (mswindows_output_display_block): Avoid local shadows.
16837
16838         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
16839         (mswindows_enqueue_mouse_button_event): ditto.
16840         (mswindows_handle_gui_wm_command): remove declaration.
16841
16842         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
16843         warnings.
16844
16845         * console-msw.h: Avoid shadows.
16846         (mswindows_get_toolbar_button_text):
16847         (emacs_mswindows_create_stream_pair):
16848         (emacs_mswindows_delete_stream_pair):
16849         (mswindows_handle_toolbar_wm_command): declare.
16850
16851         * device-msw.c (build_syscolor_string): Avoid shadows.
16852
16853 2000-01-23  Andy Piper  <andy@xemacs.org>
16854
16855         * glyphs-widget.c (widget_instantiate): reverse the items for
16856         layouts so that children are in the expected order.
16857
16858 2000-01-28  Martin Buchholz  <martin@xemacs.org>
16859
16860         * ralloc.c: safe_bcopy ==> memmove
16861         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
16862         * s/msdos.h: Remove BCOPY macros.
16863         * insdel.c (gap_right): Remove BCOPY conditional code.
16864         * insdel.c (gap_left): Remove BCOPY conditional code.
16865         XEmacs demands a working ANSI C compiler - hence memmove.
16866
16867         * regex.c (regex_compile): Remove accidental use of trigraphs.
16868
16869 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16870
16871         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
16872         event timestamp.
16873
16874 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16875
16876         * event-msw.c (mswindows_drain_windows_queue): Added the
16877         parameter.
16878         (mswindows_need_event): Commented the call to
16879         mswindows_drain_windows_queue().
16880         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
16881         only.
16882
16883         * console-msw.h: Moved a few function prototypes here from
16884         event-msw.c.
16885
16886         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
16887         parameter from unsigned short to unsigned long.
16888         (Fmswindows_shell_execute): Added return value.
16889
16890 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16891
16892         * sysdep.c (init_system_name):
16893           process-unix.c (unix_canonicalized_host_name):
16894         Don't call freeaddrinfo() if getaddrinfo() fails.
16895
16896         * process-unix.c (unix_open_unix_network_stream):
16897         Moved the code to get a port # into address loop.
16898
16899 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16900
16901         * buffer.c (reinit_vars_of_buffer):
16902         The right place to initialize conversion_in_dynarr and
16903         conversion_out_dynarr.
16904
16905         * alloc.c (pdump): Use the real open() till sys_open() is functional.
16906
16907         * process-unix.c (unix_canonicalize_host_name): Muleize.
16908         (unix_open_network_stream): Muleize.
16909
16910         * buffer.h: Fix up prototypes for ralloc.c functions.
16911
16912 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
16913         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
16914         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
16915                 instead of gethostbyname()
16916         * process-unix.c: In unix_canonicalize_host_name() and
16917                 unix_open_network_stream(), add code to use getaddrinfo()
16918                 instead of gethostbyname().
16919
16920 2000-01-27  Daniel Pittman <daniel@danann.net>
16921
16922         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
16923         libs when built with flat Athena.
16924
16925 2000-01-27  Martin Buchholz  <martin@xemacs.org>
16926
16927         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
16928         Use coding standards for function prototypes.
16929
16930 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16931
16932         * dialog-msw.c (push_lisp_string_as_unicode):
16933         * doc.c (unparesseuxify_doc_string):
16934         * dired.c (Fuser_name_completion_1):
16935         * dired.c (Fuser_name_all_completions):
16936         * dired.c (free_user_cache):
16937         * dired.c (user_name_completion):
16938         * console-x.c (get_display_arg_connection):
16939         * minibuf.c (clear_echo_area_internal):
16940         * minibuf.c (echo_area_append):
16941         * eldap.c (Fldap_open):
16942         * eldap.c (Fldap_search_internal):
16943         * frame-x.c (x_set_frame_text_value):
16944         * frame-x.c (x_set_frame_properties):
16945         * frame-x.c (x_create_widgets):
16946         * redisplay-tty.c (term_get_fkeys_1):
16947         * objects-x.c (x_parse_nearest_color):
16948         * objects-x.c (x_valid_color_name_p):
16949         * objects-x.c (x_initialize_font_instance):
16950         * objects-x.c (x_list_fonts):
16951         * objects-x.c (x_find_charset_font):
16952         * tooltalk.c (Fadd_tooltalk_message_arg):
16953         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
16954         * tooltalk.c (Fadd_tooltalk_pattern_arg):
16955         * process-unix.c (unix_create_process):
16956         * ntproc.c (sys_spawnve):
16957         * sound.c (Fplay_sound_file):
16958         * sound.c (Fplay_sound):
16959         * buffer.c (init_initial_directory):
16960         * buffer.c (init_buffer):
16961         * editfns.c (init_editfns):
16962         * editfns.c (Ftemp_directory):
16963         * editfns.c (Fuser_full_name):
16964         * editfns.c (uncache_home_directory):
16965         * editfns.c (get_home_directory):
16966         * editfns.c (Fuser_home_directory):
16967         * editfns.c (Fformat_time_string):
16968         * editfns.c (Fcurrent_time_string):
16969         * gui-x.c (button_item_to_widget_value):
16970         * database.c (Fopen_database):
16971         * event-Xt.c (x_to_emacs_keysym):
16972         * event-Xt.c (x_event_to_emacs_event):
16973         * event-Xt.c (describe_event_window):
16974         * event-msw.c (mswindows_wnd_proc):
16975         * glyphs-eimage.c (jpeg_instantiate):
16976         * glyphs-eimage.c (gif_instantiate):
16977         * glyphs-eimage.c (png_instantiate):
16978         * glyphs-eimage.c (tiff_instantiate):
16979         * glyphs-x.c (xbm_instantiate_1):
16980         * glyphs-x.c (x_xbm_instantiate):
16981         * glyphs-x.c (x_xface_instantiate):
16982         * glyphs-x.c (autodetect_instantiate):
16983         * glyphs-x.c (cursor_font_instantiate):
16984         * glyphs-x.c (x_widget_instantiate):
16985         * glyphs-x.c (x_widget_set_property):
16986         * glyphs-x.c (x_widget_property):
16987         * glyphs-x.c (BUILD_GLYPH_INST):
16988         * print.c (write_string_to_stdio_stream):
16989         * print.c (output_string):
16990         * print.c (Falternate_debugging_output):
16991         * print.c (Fexternal_debugging_output):
16992         * glyphs-msw.c (extract_xpm_color_names):
16993         * glyphs-msw.c (mswindows_xpm_instantiate):
16994         * glyphs-msw.c (bmp_instantiate):
16995         * glyphs-msw.c (resource_name_to_resource):
16996         * glyphs-msw.c (mswindows_resource_instantiate):
16997         * glyphs-msw.c (xbm_instantiate_1):
16998         * glyphs-msw.c (mswindows_xbm_instantiate):
16999         * glyphs-msw.c (mswindows_xface_instantiate):
17000         * glyphs-msw.c (mswindows_widget_instantiate):
17001         * glyphs-msw.c (add_tree_item):
17002         * glyphs-msw.c (add_tab_item):
17003         * glyphs-msw.c (mswindows_combo_box_instantiate):
17004         * glyphs-msw.c (mswindows_widget_property):
17005         * glyphs-msw.c (mswindows_combo_box_property):
17006         * glyphs-msw.c (mswindows_widget_set_property):
17007         * console.c (stuff_buffered_input):
17008         * objects-msw.c (mswindows_initialize_color_instance):
17009         * objects-msw.c (mswindows_valid_color_name_p):
17010         * objects-msw.c (mswindows_list_fonts):
17011         * objects-msw.c (mswindows_font_instance_truename):
17012         * bytecode.c (optimize_compiled_function):
17013         * select-x.c (symbol_to_x_atom):
17014         * select-x.c (x_atom_to_symbol):
17015         * select-x.c (hack_motif_clipboard_selection):
17016         * select-x.c (selection_data_to_lisp_data):
17017         * select-x.c (lisp_data_to_selection_data):
17018         * select-x.c (Fx_get_cutbuffer_internal):
17019         * select-x.c (Fx_store_cutbuffer_internal):
17020         * buffer.h (TO_EXTERNAL_FORMAT): New function.
17021         * buffer.h (TO_INTERNAL_FORMAT): New function.
17022         * emacs.c (make_arg_list_1):
17023         * emacs.c (make_argc_argv):
17024         * emacs.c (main_1):
17025         * emacs.c (Fdump_emacs):
17026         * emacs.c (split_string_by_emchar_1):
17027         * file-coding.h:
17028         * lisp.h:
17029         * lstream.h:
17030         * symsinit.h:
17031         * device-x.c (x_init_device):
17032         * device-x.c (Fx_valid_keysym_name_p):
17033         * device-x.c (Fx_get_font_path):
17034         * device-x.c (Fx_set_font_path):
17035         * glyphs.c (bitmap_to_lisp_data):
17036         * glyphs.c (pixmap_to_lisp_data):
17037         * alloc.c (make_ext_string): Use coding system arguments.  Update
17038         all callers.
17039         * alloc.c (build_string):
17040         * callproc.c (child_setup):
17041         * callproc.c (init_callproc):
17042         * fileio.c (lisp_strerror):
17043         * fileio.c (directory_file_name):
17044         * fileio.c (Fexpand_file_name):
17045         * fileio.c (Ffile_truename):
17046         * fileio.c (Fsysnetunam):
17047         * fileio.c (Fdo_auto_save):
17048         * sysdep.c (sys_readdir):
17049         * tests.c: New file.  Allow adding C tests.
17050         Replace GET_* macros with a more comprehensible and flexible
17051         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
17052         Modify all calls.
17053         Any coding system can be used to do format conversion.
17054         Eliminate enum external_data_format.
17055         Eliminate convert_to_external_format.
17056         Eliminate convert_to_internal_format.
17057         Make sure file-name, keyboard, terminal, and ctext are always
17058         defined as coding systems or aliases.  Make
17059         file-name-coding-system, terminal-coding-system, and
17060         keyboard-coding-system magical variables that are equivalent to
17061         defining the corresponding coding system aliases.
17062
17063         * file-coding.c (Fcoding_system_canonical_name_p): New function.
17064         * file-coding.c (Fcoding_system_alias_p): New function.
17065         * file-coding.c (Fcoding_system_aliasee): New function.
17066         * file-coding.c (append_suffix_to_symbol): New function.
17067         * file-coding.c (dangling_coding_system_alias_p): New function.
17068         * file-coding.c (Ffind_coding_system):
17069         * file-coding.c (Fcopy_coding_system):
17070         * file-coding.c (encode_coding_no_conversion):
17071         * file-coding.c (syms_of_file_coding):
17072         * file-coding.c (vars_of_file_coding):
17073         Rewrite coding system alias code.
17074         Allow nested aliases, like symbolic links.
17075         Allow redefinition of coding system aliases.
17076         Prevent existence of dangling coding system aliases.
17077
17078         * dired.c (Fuser_name_completion_1):
17079         * dired.c (Fuser_name_all_completions):
17080         A crash would happen if user did QUIT in the middle of building
17081         user_name_cache.  Remove redundant code in mainline and unwind_protect.
17082
17083         * lisp.h:
17084         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
17085
17086         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
17087         an unsigned char *.  Update all callers.
17088
17089 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17090
17091         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
17092
17093 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17094
17095         * elhash.c (hentry_description): Use more portable definition.
17096         (resize_hash_table): Initialize new hentries using
17097         xnew_array_and_zero, thereby simplifying the code.
17098
17099         * mule-charset.c (make_charset): Make sure entire object is
17100         initialized, to avoid Purify warnings.
17101
17102         * alloc.c (resize_string): Fix unlikely crash with big strings.
17103
17104 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17105
17106         * realpath.c (xrealpath):
17107         Don't call getwd().
17108
17109 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17110
17111         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17112
17113 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17114
17115         * unexelfsgi.c (unexec): Change the way we decide which segment
17116         should be extended.
17117
17118         Assumption that .bss section should be outside the PT_LOADable
17119         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17120         it's present) is inside the 'data' segment. This would fail the
17121         test which was used to find a segment to grow and cover new
17122         heap. Instead of this assumption, I created another one - on IRIX
17123         the segment to grow should start below .bss and it's address
17124         should extent above the end of .bss. Once this segment is
17125         identified, it's grown to accommodate the new heap and new
17126         zero-length .bss section is added at the end of .data2.
17127
17128 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17129
17130         * eval.c (Feval): Wrong number of arguments should use original
17131         function, not the indirect_function version of it.
17132
17133 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17134
17135         * glyphs-x.c (x_button_instantiate): Don't add image if
17136         it is not a pixmap.
17137         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17138         is relative.
17139
17140 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17141
17142         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17143         declaration.
17144         (DEFVAR_INT_MAGIC): Ditto.
17145         (DEFVAR_BOOL_MAGIC): Ditto.
17146         * glyphs.h: Reindent backslash.
17147
17148 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17149
17150         * glyphs-widget.c (layout_query_geometry):
17151         (layout_layout): Use correct types for gheight, gwidth.
17152
17153 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17154
17155         * EmacsManager.c (QueryGeometry): Purified.
17156
17157 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17158
17159         * alloc.c (make_float): Make sure entire object is initialized, to
17160         avoid Purify warnings.
17161         (pdump_register_sub): Remove useless assignment.
17162         (pdump): Use xmalloc, not malloc.
17163         (pdump_load): Use xmalloc, not malloc.
17164
17165 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17166
17167         * callproc.c:
17168         * dired-msw.c:
17169         * fileio.c:
17170         * process-nt.c:
17171         * redisplay-msw.c:
17172         * sysdep.c: Removed redundant #include <windows.h>
17173
17174 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17175
17176         * frame.c (delete_frame_internal): Do not delete device when its
17177         implementation so declares.
17178         (delete_frame_internal): Set device selected frame to nil when
17179         last frame goes away.
17180
17181         * device-msw.c (msprinter_device_system_metrics): Implemented.
17182         (mswindows_device_system_metrics): Added 'device-dpi property.
17183
17184         * device.c: (Fdevice_printer_p): Added.
17185         Added 'offset-workspace device metric.
17186
17187         * console.h (device_metrics): Declared DM_offset_workspace.
17188
17189 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17190
17191         * fileio.c (Ffile_truename): Remove pointless and confusing
17192         initialization of elen.
17193
17194         * glyphs-widget.c: Compiler warning fixes.
17195
17196 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17197
17198         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17199         instead of a Lisp_Object as argument to make it consistent with
17200         the other LIVE_P macros.
17201         (CHECK_LIVE_PROCESS): New macro.
17202
17203         * process.c: Declare Qprocess_live_p.
17204         (Fprocess_live_p): New function.
17205         (create_process): Use PROCESS_LIVE_P.
17206         (read_process_output): Ditto.
17207         (set_process_filter): Ditto.
17208         (Fdelete_process): Ditto.
17209         (kill_buffer_processes): Ditto
17210         (process_send_signal): Use CHECK_LIVE_PROCESS.
17211         (Fprocess_input_coding_system): Check whether process is still
17212         alive (fix PR#1061).
17213         (Fprocess_output_coding_system): Ditto.
17214         (Fprocess_coding_system): Ditto.
17215         (Fset_process_input_coding_system): Ditto.
17216         (Fset_process_output_coding_system): Ditto.
17217
17218 2000-01-23  Andy Piper  <andy@xemacs.org>
17219
17220         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17221         layout and widget.
17222
17223         * glyphs.c (mark_image_instance): take into account changed
17224         image_instance format.
17225         (image_instance_equal): ditto.
17226         (image_instance_hash): ditto.
17227
17228         * glyphs-widget.c (widget_instantiate): Incorporate layout
17229         instantiation here. Delay layout of the layout until later.
17230         (layout_instantiate): deleted.
17231         (layout_query_geometry): new function. get the geometry of a
17232         layout.
17233         (layout_layout): layout a layout dynamically.
17234         (image_instantiator_widget): New function - splitting up
17235         image_instantiator_format_create_glyphs_widget for netwinder
17236         compilation.
17237         (image_instantiator_buttons):
17238         (image_instantiator_edit_fields):
17239         (image_instantiator_combo_box):
17240         (image_instantiator_scrollbar):
17241         (image_instantiator_progress_guage):
17242         (image_instantiator_tree_view):
17243         (image_instantiator_tab_control):
17244         (image_instantiator_labels):
17245         (image_instantiator_layout): ditto.
17246         (image_instantiator_format_create_glyphs_widget): Call preceding
17247         functions.
17248
17249 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17250
17251         * process.c (Fset_process_coding_system):
17252         * device-x.c (Fx_keysym_hash_table):
17253         Docstring fixes.
17254
17255         * lstream.c (Lstream_write): Return documented value, not 0.
17256
17257         * fileio.c (directory_file_name):
17258         (Fsubstitute_in_file_name):
17259         (Fsubstitute_insert_file_contents_internal):
17260         (Fwrite_region_internal):
17261         * emacs.c:
17262         * sysdep.c:
17263         * getloadavg.c:
17264         * systty.h:
17265         Remove vestigial APOLLO-conditional code.
17266
17267 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17268
17269         * getpagesize.h: Add guard macros.
17270         * libsst.h: Add guard macros.
17271         * libst.h: Add guard macros.
17272         * line-number.h: Add guard macros.
17273         * ndir.h: Add guard macros.
17274         * sysfloat.h: Add guard macros.
17275         * sysfile.h: Add guard macros.
17276         * sysproc.h: Add guard macros.
17277         * syswait.h: Add guard macros.
17278         * xintrinsic.h: Add guard macros.
17279         * xintrinsicp.h: Add guard macros.
17280         * xmmanager.h: Add guard macros.
17281         * xmmanagerp.h: Add guard macros.
17282         * xmprimitive.h: Add guard macros.
17283         * xmu.h: Add guard macros.
17284         * gpmevent.h: Add copyright statement. Add guard macros.
17285         * miscplay.h: Add guard macros.
17286         * *.h: Use consistent C-standards-approved guard macro names.
17287
17288         * opaque.c (make_opaque): Switch parameter order.
17289         * opaque.h (make_opaque): Switch parameter order.
17290         Update all callers.
17291         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17292
17293         * config.h.in (type_checking_assert): Added.
17294         (bufpos_checking_assert): Added.
17295
17296 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17297
17298         * alloc.c: Harmless pdump changes.
17299         - Use countof().
17300         - spell alignment correctly.
17301         * sysdep.c: Use countof()
17302
17303 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17304
17305         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17306         initially_selected_for_input() console method, default to 0.
17307         (semi_canonicalize_console_connection): Try to delegate to
17308         canonicalize_console_connection if no such console method.
17309         (canonicalize_console_connection): Vice versa.
17310         (print_console): Do not print nil connection.
17311
17312         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17313         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17314         (XDEVIMPF_FRAMELESS_OK): Added.
17315         (CONSOLE_INHERITS_METHOD): Added.
17316
17317         * console-msw.c (mswindows_canonicalize_console_connection):
17318         Added.
17319         (mswindows_canonicalize_device_connection): Added.
17320
17321         * console-msw.h (struct msprinter_device): Added this struct and
17322         accessor macros.
17323         (mswindows_device): Made fontlist a lisp object.
17324
17325         * device.c (semi_canonicalize_device_connection):  Try to delegate
17326         to canonicalize_device_connection if no such console method.
17327         (canonicalize_device_connection): Vice versa.
17328         (print_device): Do not print nil connection.
17329
17330         * device-msw.c (mswindows_init_device): Call InitCommonControls
17331         when have widgets.
17332         (mswindows_delete_device): Removed fontlist deallocation.
17333         (mswindows_mark_device): Added.
17334
17335         * events.c (event_equal): Added abort() at unreached code.
17336         (event_hash): Ditto.
17337
17338         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17339         fallback tags of Windows devices.
17340
17341         * general.c (syms_of_general): Initialized Qmsprinter.
17342
17343         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17344         of fallback tags of Windows devices.
17345
17346         * lisp.h: Declared Qmsprinter.
17347
17348         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17349         of strings.
17350         (mswindows_list_fonts): Ditto.
17351         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17352         that it can be used by both mswindows and msprinter devices.
17353         (initialize_font_instance): Added.
17354         (mswindows_initialize_font_instance): Use it.
17355         (msprinter_initialize_font_instance): Added.
17356
17357         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17358         and implementation flags check.
17359         (redisplay_without_hooks): Changed the call to the above.
17360         (Fredraw_device): Ditto.
17361         (Fredisplay_device): Ditto.
17362
17363         * redisplay-msw.c (get_frame_dc): Implemented.
17364         (get_frame_compdc): Implemented.
17365         (many functions): Use the two functions above to get device
17366         contexts, ether for a window or a printer.
17367
17368 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17369
17370         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17371         initialization here.
17372         (init_symbols_once_early): Call it.
17373         * emacs.c (main_1): Call it.
17374         * symsinit.h: Declare it.
17375
17376 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17377
17378         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17379         Lisp_Object.
17380         (pdump_backtrace): Ditto.
17381         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17382         (pdump_get_entry): Abort if trying to register a null pointer.
17383         (pdump_dump_data): Cleanup types when relocating.
17384         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17385         (pdump_dump_rtables): Remove bad casts.
17386         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17387         Lisp_Object instead of a EMACS_INT for the hashtable
17388         reorganization.
17389
17390 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17391
17392         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17393
17394         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17395
17396         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17397
17398         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17399
17400 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17401
17402         * faces.h (FACE_STRIKETHRU_P): Added.
17403
17404         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17405         of font variants.
17406
17407         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17408         (mswindows_set_dc_font): New function, aware of font variants,
17409         separated from mswindows_update_dc.
17410
17411         * objects-msw.h (struct mswindows_font_instance_data): Added
17412         definition.
17413
17414         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17415         cached fonts and the data structure.
17416         (mswindows_initialize_font_instance): Added creation of font data
17417         structure.
17418         (mswindows_print_font_instance): Print at least something.
17419         (mswindows_create_font_variant): Implemented.
17420         (mswindows_get_hfont): Implemented.
17421
17422 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17423
17424         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17425         prototyping problem with msvc.
17426
17427         * emacs.c (main_1): added syms_of_gui_mswindows() call
17428
17429         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17430         syms_of_gui_mswindows() function
17431
17432         * symsinit.h: added the prototype for syms_of_gui_mswindows()
17433
17434 2000-01-18  Martin Buchholz <martin@xemacs.org>
17435
17436         * XEmacs 21.2.27 is released.
17437
17438 2000-01-18  Martin Buchholz  <martin@xemacs.org>
17439
17440         * glyphs-eimage.c (struct tiff_error_struct):
17441         (tiff_error_func):
17442         (tiff_warning_func):
17443         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
17444
17445         * unexmips.c:
17446         * unexhp9k3.c:
17447         * unexfreebsd.c:
17448         * unexec.c: Remove vestigial Lucid C code.
17449         * unexalpha.c:
17450         * unexaix.c:
17451         * termcap.c:
17452         * libsst.c: Ansify.
17453         Remove declarations of errno and strerror().
17454
17455         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
17456
17457         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
17458
17459 2000-01-16  Martin Buchholz  <martin@xemacs.org>
17460
17461         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
17462         Optimize.
17463
17464 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17465
17466         * md5.c:
17467         * file-coding.c:
17468         * file-coding.h:
17469         Change enum eol_type to eol_type_t.
17470
17471 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17472
17473         * gui.c (get_gui_callback): Check cons before accessing car.
17474
17475 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17476
17477         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
17478         (XSETSPECIFIER_TYPE): Ditto.
17479
17480 2000-01-17  Didier Verna  <didier@xemacs.org>
17481
17482         * redisplay.c (generate_fstring_runes): compute string size in
17483         characters, not bytes.
17484
17485 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17486
17487         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
17488
17489 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
17490
17491         * print.c (print_error_message): Call print_prepare().
17492
17493 2000-01-14  Martin Buchholz  <martin@xemacs.org>
17494
17495         * .dbxrc: Renamed from dbxrc.
17496
17497         * events.c (event_to_character):
17498         Use `assert (foo)' instead of `if (!foo) abort()'
17499
17500         * .gdbinit (xtype): Add documentation.
17501         * .gdbinit (check-temacs): New function.
17502         * .gdbinit (check-xemacs): New function.
17503         * dbxrc (check-xemacs): New function.
17504         * dbxrc (check-xemacs): New function.
17505
17506 2000-01-14  Andy Piper  <andy@xemacs.org>
17507
17508         * glyphs-widget.c (widget_query_geometry): Make sure that we
17509         calculate default dimensions correctly.
17510
17511 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17512
17513         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
17514
17515         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
17516         pdump_wire'd variable.
17517
17518         * emacs.c: (main_1): Conditionalized calls to
17519         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
17520
17521 2000-01-13  Martin Buchholz  <martin@xemacs.org>
17522
17523         * window.c (Fset_window_configuration):
17524         * sysdep.c (_start):
17525         * input-method-motif.c (res):
17526         * event-Xt.c (Xt_process_to_emacs_event):
17527         Simple compiler warning fixes.
17528
17529         * bytecode.c (funcall_compiled_function): Use the original
17530         function symbol on the backtrace list in preference to the
17531         compiled_function object in error messages.
17532
17533 2000-01-13  Andy Piper  <andy@xemacs.org>
17534
17535         * glyphs-x.c (update_widget_face): Make sure we update the widget
17536         background as well as foreground.
17537
17538 2000-01-13  Andy Piper  <andy@xemacs.org>
17539
17540         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
17541         fields to subwindow.
17542         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
17543         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
17544         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17545         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17546
17547         * glyphs-widget.c (check_valid_tab_orientation): new function.
17548         (initialize_widget_image_instance): zero orientation and
17549         justification.
17550         (widget_instantiate): pick up orientation.
17551         (tab_control_query_geometry): return appropriate values for
17552         vertical tabs.
17553
17554         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
17555         appropriate creation flags for left, right and bottom tabs.
17556
17557         * s/cygwin32.h: add tab definitions.
17558
17559 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17560
17561         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
17562         frame upon hiding a subwindow.
17563         (mswindows_button_instantiate): Changed the push button style to
17564         BS_PUSHBUTTON.
17565         (mswindows_button_instantiate): Removed button BS_NOTIFY
17566         style.
17567         (mswindows_button_instantiate): Removed redundant check for
17568         a disabled gui item.
17569         (mswindows_button_instantiate): Made use of WS_TABSTOP
17570         consistent: "operable" controls (edit, button, tree, scroll) have
17571         this style, "display-only" ones (static, progress gauge) do
17572         not. This style is currently ignored by XEmacs though. Also,
17573         removed the WS_EX_CONTROLPARENT style - it is not for children,
17574         it is for their parents!
17575         (mswindows_edit_field_instantiate): Ditto.
17576         (mswindows_progress_gauge_instantiate): Ditto.
17577         (mswindows_tree_view_instantiate): Ditto.
17578         (mswindows_tab_control_instantiate): Ditto.
17579         (mswindows_scrollbar_instantiate): Ditto.
17580         (mswindows_combo_box_instantiate): Ditto.
17581         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
17582         style to the "clip" window.
17583         (mswindows_button_instantiate): Removed compilation warning by
17584         equally typing terms of the ?: operator.
17585
17586 2000-01-12  Didier Verna  <didier@xemacs.org>
17587
17588         * redisplay.c (generate_fstring_runes): new parameter holding the
17589         last modeline-format extent.
17590         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
17591         extent, fill the glyph block with it.
17592         (generate_fstring_runes): handle these parameters.
17593         (generate_formatted_string_db): ditto.
17594
17595         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
17596         glyphs'extents in the modeline.
17597
17598 1999-01-11  Mike Woolley  <mike@bulsara.com>
17599
17600         * ntheap.c: Reduced the reserved heap space from 1Gb down to
17601         256Mb, as a workaround for the non-starting problem many people
17602         have experienced.
17603
17604 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17605
17606         * console-tty.c (Fset_console_tty_output_coding_system):
17607         Force redrawing tty frame.
17608
17609 2000-01-10  Didier Verna  <didier@xemacs.org>
17610
17611         * redisplay.c (generate_fstring_runes): fix size computation bug.
17612
17613 2000-01-09  William M. Perry <wmperry@aventail.com>
17614
17615         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
17616
17617 2000-01-09  Andy Piper  <andy@xemacs.org>
17618
17619         * glyphs-msw.c: index -> i to avoid shadows.
17620         (xbm_create_bitmap_from_data): make static.
17621         (check_valid_string_or_int): deleted.
17622         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
17623
17624         * glyphs-x.c (x_update_subwindow): remove unused args.
17625
17626         * glyphs.c (glyph_image_instance): return the thing. Don't set the
17627         back pointer - this is done in allocate_image_instance.
17628         (query_string_font): return Qnil to make the compiler happy.
17629         (unmap_subwindow): set to ~0 to make the compiler happy.
17630         (glyph_query_geometry): comment out until used.
17631         (glyph_layout): ditto.
17632
17633 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17634
17635         * insdel.c (signal_after_change): Remove extraneous unbind_to().