update.
[chise/xemacs-chise.git] / src / ChangeLog
1 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
4         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
5         don't define it when UTF2000 is not defined.
6         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
7         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
8         when UTF2000 is not defined.
9         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
10         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
11
12 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
13
14         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
15
16         * mule-charset.c (Vcharset_ucs_gb): Deleted.
17         (Qucs_gb): Deleted.
18         (syms_of_mule_charset): Delete `ucs-gb'.
19         (complex_vars_of_mule_charset): Likewise.
20
21 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
22
23         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
24
25         * mule-charset.c (Vcharset_ucs_cns): Deleted.
26         (Qucs_cns): Deleted.
27         (syms_of_mule_charset): Delete `ucs-cns'.
28         (complex_vars_of_mule_charset): Likewise.
29
30 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
31
32         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
33
34         * mule-charset.c (Vcharset_ucs_jis): Deleted.
35         (Qucs_jis): Deleted.
36         (syms_of_mule_charset): Delete `ucs-jis'.
37         (complex_vars_of_mule_charset): Likewise.
38
39 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
40
41         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
42
43         * mule-charset.c (Vcharset_ucs_ks): Deleted.
44         (Qucs_ks): Deleted.
45         (syms_of_mule_charset): Delete `ucs-ks'.
46         (complex_vars_of_mule_charset): Likewise.
47
48 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
49
50         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
51         (Qideograph_daikanwa_2): Deleted.
52         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
53         (complex_vars_of_mule_charset): Likewise.
54
55         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
56         (LEADING_BYTE_DAIKANWA_1): Deleted.
57         (LEADING_BYTE_DAIKANWA_2): Deleted.
58         (MIN_CHAR_DAIKANWA): Deleted.
59         (MAX_CHAR_DAIKANWA): Deleted.
60
61 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
62
63         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
64         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
65         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
66
67         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
68         (Vcharset_ideograph_daikanwa): Deleted.
69         (Qideograph_hanziku_{1..12}): Deleted.
70         (Qideograph_daikanwa): Deleted.
71         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
72         Vcharset_ideograph_daikanwa.
73         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
74         `ideograph-hanziku-{1..12}'.
75         (complex_vars_of_mule_charset): Likewise.
76
77 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
78
79         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
80
81         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
82         (Qideograph_gt_pj_{1..11}): Deleted.
83         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
84         (complex_vars_of_mule_charset): Likewise.
85
86 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
87
88         * mule-charset.c (Vcharset_ucs_big5): Deleted.
89         (Vcharset_ideograph_gt): Deleted.
90         (Qucs_big5): Deleted.
91         (Qideograph_gt): Deleted.
92         (syms_of_mule_charset): Delete symbol `ucs-big5' and
93         `ideograph-gt'.
94         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
95         and `ideograph-gt'.
96
97         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
98         (LEADING_BYTE_GT): Deleted.
99         (MIN_CHAR_GT): Deleted.
100         (MAX_CHAR_GT): Deleted.
101
102 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
103
104         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
105
106 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
107
108         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
109         (save_uint16_byte_table): Likewise.
110         (save_byte_table): Likewise; convert values by it.
111         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
112         for `ideographic-structure'.
113         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
114         as the filter for `ideographic-structure'.
115
116 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
117
118         * chartab.c (put_char_composition): New function.
119         (Fput_char_attribute): Use `put_char_composition'; use
120         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
121
122         * fns.c (simplify_char_spec): New function.
123         (char_ref_simplify_spec): New function.
124         (Fchar_refs_simplify_char_specs): New function.
125         (syms_of_fns): Add new builtin function
126         `char-refs-simplify-char-specs'.
127
128 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
129
130         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
131         (Qideograph_cbeta): Deleted.
132         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
133         (complex_vars_of_mule_charset): Likewise.
134
135         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
136         (MIN_CHAR_CBETA): Comment out.
137         (MAX_CHAR_CBETA): Likewise.
138
139 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
140
141         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
142         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
143         CHISE client feature.
144
145 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
146
147         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
148
149 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
150
151         * mule-charset.c (charset_lookup_description_1): Use
152         `NUM_LEADING_BYTES' in UTF-2000.
153
154 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
155
156         * char-ucs.h (GC_CHARSETP): Deleted.
157
158 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
159
160         * char-ucs.h (MAX_CHAR_GT): Updated.
161
162 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
163
164         * text-coding.c: Sync with XEmacs 21.4.10.
165
166 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
167
168         * mule-charset.c (Vcharset_china3_jef): Deleted.
169         (Qchina3_jef): Deleted.
170         (syms_of_mule_charset): Don't define `china3-jef'.
171         (complex_vars_of_mule_charset): Likewise.
172
173         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
174         (MIN_CHAR_CHINA3_JEF): Comment out.
175         (MAX_CHAR_CHINA3_JEF): Comment out.
176
177 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
178
179         * mule-charset.c (Vcharset_ucs_gb): New variable.
180         (Qucs_gb): New variable.
181         (syms_of_mule_charset): Add new symbol `ucs-gb'.
182         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
183
184         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
185
186 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
187
188         * mule-charset.c (charset_code_point): if a coded-charset has a
189         final-byte, don't inherit the builtin range of the mother CCS.
190
191 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
192
193         * mule-charset.c (charset_code_point): Fix problem about
194         inheritance.
195
196 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
197
198         * mule-charset.c (decode_builtin_char): Reorganized.
199
200 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
201
202         * text-coding.c (char_encode_as_entity_reference): Modify for
203         `charset_code_point'.
204         (char_encode_shift_jis): Likewise.
205         (char_encode_big5): Likewise.
206         (char_encode_utf8): Likewise.
207         (char_encode_iso2022): Likewise.
208
209         * mule-charset.c (charset_code_point): Add new argument
210         `defined_only'.
211         (Fencode_char): Add new optional argument `defined_only'.
212
213         * chartab.c (put_char_table): Modify for `charset_code_point'.
214
215         * char-ucs.h (charset_code_point): Add new argument
216         `defined_only'.
217         (encode_char_1): Modify for `charset_code_point'.
218
219 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
220
221         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
222         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
223
224 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
225
226         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
227         (Qjis_x0208): Likewise.
228         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
229         XCHARSET_FINAL(charset).
230         (charset_code_point): Modify condition for final-byte based
231         builtin-chars.
232         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
233         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
234         in UTF-2000; specify `=jis-x0208' as the mother of
235         `japanese-jisx0208-1978', `japanese-jisx0208' and
236         `japanese-jisx0208-1990' in UTF-2000.
237
238 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
239
240         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
241
242 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
243
244         * text-coding.c (decode_coding_utf16): Support UTF-16.
245         (char_encode_utf16): Fixed.
246
247 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
248
249         * text-coding.c (Qutf16): New variable in MULE.
250         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
251         (Fcoding_system_type): Add `utf-16' in MULE.
252         (struct detection_state): Add a structure for utf16 in MULE.
253         (detect_coding_type): Setup st->utf16.mask in MULE.
254         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
255         MULE.
256         (reset_encoding_stream): Use `char_encode_utf16' and
257         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
258         (detect_coding_utf16): New function [incomplete].
259         (decode_coding_utf16): New function [support only UCS-2].
260         (char_encode_utf16): New function.
261         (char_finish_utf16): New function.
262         (syms_of_file_coding): Add new symbol `utf-16'; setup
263         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
264
265         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
266         UTF-2000.
267         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
268         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
269
270 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
271
272         * chartab.c (put_char_table): When a charset is specified as a
273         range in UTF-2000, don't support builtin characters.
274
275 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
276
277         * mule-charset.c (decode_defined_char): Don't refer external
278         database if Qunbound or Qnil are found.
279         (Fsave_charset_mapping_table): Don't define it if
280         HAVE_CHISE_CLIENT is not defined.
281         (Freset_charset_mapping_table): New function.
282         (load_char_decoding_entry_maybe): Store Qnil if a character is not
283         found in external database.
284         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
285         if HAVE_CHISE_CLIENT is not defined; add new builtin function
286         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
287
288 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
289
290         * text-coding.c (decode_coding_utf8): Check CCS is specified or
291         not.
292
293 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
294
295         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
296         Q_lowercase, Q_uppercase in UTF-2000.
297
298         * chartab.c (get_char_table): Add special code for the standard
299         case table to use character attribute `->downcase' and
300         `->uppercase' for case operations in UTF-2000.
301
302         * casetab.c (Qflippedcase): New variable in UTF-2000.
303         (Q_lowercase): Likewise.
304         (Q_uppercase): Likewise.
305         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
306         and `->uppercase' in UTF-2000.
307         (complex_vars_of_casetab): Assign attribute name `downcase' to
308         downcase and CANON table of Vstandard_case_table in UTF-2000;
309         assign attribute name `flippedcase' to upcase and EQV table of
310         Vstandard_case_table in UTF-2000.
311
312 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
313
314         * text-coding.c (decode_add_er_char): Support isolated-chars.
315         (char_encode_as_entity_reference): Likewise.
316
317 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
318
319         * emacs.c (Vutf_2000_lisp_directory): New variable.
320         (Vconfigure_utf_2000_lisp_directory): Likewise.
321         (complex_vars_of_emacs): Add new variable
322         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
323
324 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
325
326         * char-ucs.h (DECODE_CHAR): Delete special code for
327         `chinese-big5-1' and `chinese-big5-2'.
328
329         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
330         (Qbig5_2): Likewise.
331         (decode_defined_char): Support CONVERSION_BIG5_1 and
332         CONVERSION_BIG5_2.
333         (decode_builtin_char): Likewise.
334         (charset_code_point): Likewise.
335         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
336         'conversion in UTF-2000.
337         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
338         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
339         `chinese-big5-2' as children of `chinese-big5'.
340
341         * char-ucs.h (CONVERSION_BIG5_1): New macro.
342         (CONVERSION_BIG5_2): New macro.
343
344 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
345
346         * text-coding.c (char_encode_big5): Support entity-reference.
347
348 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
349
350         * text-coding.c (char_encode_as_entity_reference): New function.
351         (char_encode_utf8): Use `char_encode_as_entity_reference'.
352
353 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
354
355         * text-coding.c (decode_coding_big5): Support entity-reference
356         decoding feature.
357
358 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
359
360         * text-coding.c (allocate_coding_system): Initialize initial
361         charsets for CODESYS_UTF8.
362         (Fmake_coding_system): Accept charset-g0, charset-g1 and
363         charset-g2 for CODESYS_UTF8.
364         (decode_coding_utf8): Use charset-g0.
365         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
366         to force variants to map to UCS.
367
368 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
369
370         * text-coding.c (Qutf_8_mcs): New variable.
371         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
372         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
373         instead of `utf-8' in UTF-2000.
374
375 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
376
377         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
378         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
379         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
380         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
381         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
382         CONVERSION_96x96x96x96 are introduced.
383         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
384         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
385         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
386
387         * char-ucs.h (CONVERSION_94): New macro.
388         (CONVERSION_96): New macro.
389         (CONVERSION_94x94): New macro.
390         (CONVERSION_96x96): New macro.
391         (CONVERSION_94x94x94): New macro.
392         (CONVERSION_96x96x96): New macro.
393         (CONVERSION_94x94x94x60): New macro.
394         (CONVERSION_94x94x94x94): New macro.
395         (CONVERSION_96x96x96x96): New macro.
396
397 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
398
399         * chartab.c (Vcharacter_variant_table): Deleted.
400         (Fchar_variants): Use character-attribute `->ucs-variants' instead
401         of `Vcharacter_variant_table'.
402         (Fput_char_attribute): Likewise.
403         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
404         (complex_vars_of_chartab): Likewise.
405
406 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
407
408         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
409
410         * fns.c (Qideographic_structure): New variable.
411         (Qkeyword_char): New variable.
412         (ids_format_unit): New function.
413         (Fideographic_structure_to_ids): New function.
414         (syms_of_fns): Add new symbols `ideographic-structure' and
415         `:char'; add new builtin function `ideographic-structure-to-ids'.
416
417         * data.c (Fchar_ref_p): New function.
418         (syms_of_data): Add new builtin function `char-ref-p'.
419
420         * chartab.h: Add an EXFUN for `Ffind_char'.
421
422 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
423
424         * text-coding.c (Vcharacter_composition_table): Deleted.
425         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
426         in every UTF-2000.
427
428         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
429         UTF-2000.
430         (Vcharacter_composition_table): Deleted.
431         (Fget_composite_char): Use the implementation for external-DB
432         support in every UTF-2000.
433         (Fput_char_attribute): Likewise.
434         (char_attribute_system_db_file): Don't define if external-DB
435         feature is not available.
436         (Fsave_char_attribute_table): Likewise.
437         (Fmount_char_attribute_table): Likewise.
438         (Fclose_char_attribute_table): Likewise.
439         (Freset_char_attribute_table): Likewise.
440         (Fload_char_attribute_table): Likewise.
441         (syms_of_chartab): Don't define `save-char-attribute-table',
442         `mount-char-attribute-table', `reset-char-attribute-table',
443         `close-char-attribute-table' and `load-char-attribute-table' if
444         external-DB feature is not available.
445         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
446
447 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
448
449         * text-coding.c (Qcomposition): Add extern if external-DB feature
450         is supported.
451         (Vcharacter_composition_table): Don't add extern if external-DB
452         feature is supported.
453         (COMPOSE_ADD_CHAR): Modify for new data-representation of
454         character composition rule if external-DB feature is supported.
455
456         * chartab.c (Vcharacter_composition_table): Don't define if
457         external-DB feature is supported.
458         (Qcomposition): New variable.
459         (Fget_composite_char): New implementation for external-DB support.
460         (Fput_char_attribute): Use `composition' property of each
461         character instead of `Vcharacter_composition_table' to store
462         character-composition rules if external-DB feature is supported.
463         (syms_of_chartab): Add new symbol `composition'.
464         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
465         external-DB feature is supported.
466
467 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
468
469         * chartab.c (Vchar_db_stingy_mode): New variable.
470         (load_char_attribute_maybe): Close database if
471         Vchar_db_stingy_mode is not NIL.
472         (Fload_char_attribute_table_map_function): Use
473         `get_char_id_table_0' instead of `get_char_id_table'.
474         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
475
476         * chartab.h (get_char_id_table_0): New inline function.
477         (get_char_id_table): Use `get_char_id_table_0'.
478
479 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
480
481         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
482         and `COMPOSE_ADD_CHAR'.
483         (decode_coding_iso2022): Use `decode_flush_er_chars'.
484
485 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
486
487         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
488         instead of `DECODE_ADD_UCS_CHAR'.
489         (COMPOSE_ADD_CHAR): Likewise.
490
491 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
492
493         * text-coding.c (decode_flush_er_chars): New inline function.
494         (decode_add_er_char): New function.
495         (decode_coding_utf8): Use `decode_flush_er_chars' and
496         `decode_add_er_char'.
497
498 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
499
500         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
501         done before `decode_output_utf8_partial_char'.
502
503         * mule-charset.c (complex_vars_of_mule_charset): Specify
504         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
505         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
506
507 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
508
509         * mule-charset.c (decode_defined_char): New function; search
510         mother.
511         (decode_builtin_char): Don't search mother if
512         XCHARSET_MAX_CODE(charset) == 0.
513         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
514         == 0 even if code >= XCHARSET_MAX_CODE(charset).
515         (Fdecode_char): Use `decode_defined_char' instead of
516         `DECODE_DEFINED_CHAR'.
517         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
518         mother of `Vcharset_ucs_jis'.
519
520         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
521         instead of `DECODE_DEFINED_CHAR'.
522
523         * char-ucs.h (decode_defined_char): Renamed from
524         `DECODE_DEFINED_CHAR'; changed to normal function.
525         (DECODE_CHAR): Use `decode_defined_char' instead of
526         `DECODE_DEFINED_CHAR'.
527
528         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
529
530 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
531
532         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
533
534         * text-coding.c (Vcoded_charset_entity_reference_alist): New
535         variable.
536         (Quse_entity_reference): New variable.
537         (Qd): New variable.
538         (Qx): New variable.
539         (QX): New variable.
540         (coding_system_description): Add description for
541         `ccs_priority_list'.
542         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
543         (allocate_coding_system): Initialize `ccs_priority_list' in
544         UTF-2000.
545         (Fmake_coding_system): Add description about
546         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
547         (codesys).
548         (Fcoding_system_property): Accept `disable-composition' and
549         `use-entity-reference' in UTF-2000.
550         (struct decoding_stream): Add new member `er_counter' and `er_buf'
551         in UTF-2000.
552         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
553         (decode_coding_utf8): Decode entity-reference if
554         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
555         (char_encode_utf8): Encode non-Unicode characters as
556         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
557         (str->codesys).
558         (syms_of_file_coding): Add new symbols `use-entity-reference',
559         `d', `x', `X'.
560         (vars_of_file_coding): Add new variable
561         `coded-charset-entity-reference-alist'.
562         (complex_vars_of_file_coding): Declare `disable-composition' and
563         `use-entity-reference' to be coding-system-properties in UTF-2000.
564
565         * file-coding.h (struct Lisp_Coding_System): Add new member
566         `use_entity_reference' and `ccs_priority_list'.
567         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
568         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
569         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
570
571 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
572
573         * chartab.c (save_uint8_byte_table): Don't clear the table.
574         (save_uint16_byte_table): Likewise.
575         (save_byte_table): Likewise.
576         (Fmount_char_attribute_table): New function.
577         (syms_of_chartab): Add new builtin function
578         `mount-char-attribute-table'.
579
580 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
581
582         * mule-charset.c (Fsave_charset_mapping_table): Open database as
583         "w+" mode.
584         (load_char_decoding_entry_maybe): Open database as read-only mode.
585
586         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
587         open database as "w+" mode.
588         (load_char_attribute_maybe): Open database as read-only mode.
589         (Fload_char_attribute_table): Likewise.
590
591 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
592
593         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
594         (char_table_description): Delete member `db_file'.
595         (Fmake_char_table): Don't refer `ct->db_file'.
596         (Fcopy_char_table): Likewise.
597         (Fsave_char_attribute_table): Likewise.
598         (Fclose_char_attribute_table): Likewise.
599         (Freset_char_attribute_table): Likewise.
600         (load_char_attribute_maybe): Likewise.
601         (Fload_char_attribute_table): Likewise.
602
603         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
604
605 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
606
607         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
608         (Fsave_char_attribute_table): Don't check `ct->db_file' if
609         `ct->db' is living.
610         (load_char_attribute_maybe): Likewise.
611         (Fload_char_attribute_table): Likewise.
612
613 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
614
615         * chartab.c (Fclose_char_attribute_table): Set Qnil on
616         `ct->db_file' unconditionally.
617
618 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
619
620         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
621         UTF-2000.
622         (char_table_description): Add description for `db_file' and `db'
623         in UTF-2000.
624         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
625         UTF-2000.
626         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
627         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
628         (Fclose_char_attribute_table): New function.
629         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
630         (load_char_attribute_maybe): Change interface; use `cit->db_file'
631         and `cit->db'.
632         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
633         (syms_of_chartab): Add new builtin function
634         `Fclose_char_attribute_table'.
635
636 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
637
638         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
639         `db' in UTF-2000.
640         (load_char_attribute_maybe): Change interface.
641         (get_char_id_table): Modify for `load_char_attribute_maybe'.
642
643 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
644
645         * database.h: Add an EXFUN for `Fdatabase_live_p'.
646
647 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
648
649         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
650         instead of `DECODE_CHAR' for mother; don't use special code for
651         chinese-big5 to use code space of chinese-big5-1 and
652         chinese-big5-2.
653         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
654         `MAX_CHAR_BIG5_CDP' for chinese-big5.
655
656         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
657         (MAX_CHAR_BIG5_CDP): Revival.
658
659 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
660
661         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
662         the XLFD registry-encoding name of `chinese-big5'.
663
664 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
665
666         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
667         (Qchinese_big5_cdp): Deleted.
668         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
669         (complex_vars_of_mule_charset): Delete coded-charset
670         `chinese-big5-cdp'.
671
672         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
673         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
674         `CHARSET_ID_OFFSET - n' for private CCS.
675         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
676         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
677         of `MIN_LEADING_BYTE'.
678         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
679         `(CHARSET_ID_OFFSET - 97)'.
680         (MIN_CHAR_BIG5_CDP): Deleted.
681         (MAX_CHAR_BIG5_CDP): Deleted.
682
683 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
684
685         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
686
687 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
688
689         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
690         (vars_of_mule): Add new variable `utf-2000-version' [moved from
691         chartab.c].
692
693         * chartab.c (Vutf_2000_version): Moved to mule.c.
694         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
695
696 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
697
698         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
699         when HAVE_CHISE_CLIENT is not defined.
700
701         * mule.c (vars_of_mule): Provide feature `chise' when
702         HAVE_CHISE_CLIENT is defined.
703
704 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
705
706         * config.h.in (UTF2000): Add comment.
707         (HAVE_CHISE_CLIENT): New macro.
708
709 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
710
711         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
712         CONSP.
713         (Fput_char_attribute): Likewise.
714         (char_attribute_system_db_file): Encode file-name of attribute.
715         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
716         the initial value.
717
718 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
719
720         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
721         (Fsave_charset_mapping_table): Use
722         `char_attribute_system_db_file'.
723         (load_char_decoding_entry_maybe): Likewise.
724
725         * chartab.h (Qsystem_char_id): New external variable.
726         (char_attribute_system_db_file): New prototype.
727
728         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
729         (char_attribute_system_db_file): New function.
730         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
731         (Freset_char_attribute_table): Likewise.
732         (load_char_attribute_maybe): Likewise.
733         (Fload_char_attribute_table): Likewise.
734         (syms_of_chartab): Add new symbol `system-char-id'.
735
736 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
737
738         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
739         `XCHARSET_GRAPHIC(ccs)'.
740
741 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
742
743         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
744
745 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
746
747         * chartab.c (Q_ucs_variants): New variable.
748         (syms_of_chartab): Add new symbol `->ucs-variants'.
749         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
750         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
751         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
752
753         * mule-charset.c (load_char_decoding_entry_maybe): New function.
754
755         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
756         `HAVE_DATABASE' is defined.
757         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
758         `HAVE_DATABASE' is defined.
759
760 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
761
762         * chartab.c (Fsave_char_attribute_table): Don't clear internal
763         attribute-table.
764         (Freset_char_attribute_table): New function.
765         (syms_of_chartab): Add new builtin function
766         `reset-char-attribute-table'.
767
768 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
769
770         * chartab.c (load_char_attribute_maybe): Don't make directories.
771
772 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
773
774         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
775
776         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
777         for decoding-table.
778
779 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
780
781         * mule-charset.c (Fsave_charset_mapping_table): Use
782         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
783
784         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
785         instead of `XCHARSET_CHARS'.
786
787 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
788
789         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
790         (XCHARSET_BYTE_SIZE): Likewise.
791
792         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
793         mule-charset.c].
794         (XCHARSET_BYTE_SIZE): Likewise.
795
796 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
797
798         * chartab.c (Fput_char_attribute): Use exec-directory instead of
799         data-directory to store database.
800         (Fsave_char_attribute_table): Likewise.
801         (load_char_attribute_maybe): Likewise.
802         (Fload_char_attribute_table): Likewise.
803
804 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
805
806         * mule-charset.c (Fsave_charset_mapping_table): New function.
807         (syms_of_mule_charset): Add new builtin function
808         `save-charset-mapping-table'.
809
810 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
811
812         * char-ucs.h (decoding_table_check_elements): Delete prototype.
813         (get_ccs_octet_table): New inline function.
814         (put_ccs_octet_table): Likewise.
815         (decoding_table_put_char): Use `get_ccs_octet_table' and
816         `put_ccs_octet_table'.
817         (decoding_table_remove_char): Use `decoding_table_put_char'.
818         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
819
820         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
821         into encoding_table.
822         (make_charset): Use Qunbound instead Qnil as initial value of
823         decoding_table.
824
825 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
826
827         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
828         element is Qunloaded.
829         (map_over_uint16_byte_table): Likewise.
830         (map_over_byte_table): Likewise.
831         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
832         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
833         database support, load encoding-table of the specified
834         coded-charset if it is not loaded yet.
835         (save_uint8_byte_table): New function of UTF-2000 with external
836         database support.
837         (save_uint16_byte_table): Likewise.
838         (save_byte_table): Likewise.
839         (Fput_char_attribute): Don't store value into external database
840         even if the external database feature is supported in UTF-2000;
841         set `attribute' as name of char-table if the external database
842         feature is supported.
843         (Fsave_char_attribute_table): New function in UTF-2000.
844         (syms_of_chartab): Add new builtin function
845         `save-char-attribute-table' in UTF-2000.
846
847 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
848
849         * chartab.c (char_attribute_table_to_put): New variable in
850         UTF-2000.
851         (Qput_char_table_map_function): Likewise.
852         (value_to_put): Likewise.
853         (Fput_char_table_map_function): New function in UTF-2000.
854         (put_char_table): Use `Fmap_char_attribute' for
855         CHARTAB_RANGE_CHARSET in UTF-2000.
856         (Fput_char_attribute): Store symbol instead of string in
857         `XCHAR_TABLE_NAME (table)'.
858         (load_char_attribute_maybe): Likewise.
859         (syms_of_chartab): Add new symbol/function
860         `put-char-table-map-function'.
861
862 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
863
864         * database.h: Add new EXFUN for `Fmap_database'.
865
866         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
867         (syms_of_database): Likewise.
868
869         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
870         UTF-2000.
871         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
872         (XCHAR_TABLE_UNLOADED): Likewise.
873
874         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
875         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
876         HAVE_DATABASE is defined.
877         (char_attribute_table_to_load): New variable of UTF-2000 with
878         external database support.
879         (Qload_char_attribute_table_map_function): Likewise.
880         (Fload_char_attribute_table_map_function): New function of
881         UTF-2000 with external database support.
882         (Fload_char_attribute_table): New function of UTF-2000.
883         (Fmap_char_attribute): Call Fload_char_attribute_table if
884         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
885         (syms_of_chartab): Add new symbol and function
886         `load-char-attribute-table-map-function' in UTF-2000 with external
887         database support; add new function `load-char-attribute-table' in
888         UTF-2000.
889
890 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
891
892         * chartab.h (load_char_attribute_maybe): New prototype for
893         UTF-2000 with DATABASE support.
894         (get_char_id_table): Use `load_char_attribute_maybe' if
895         HAVE_DATABASE is defined.
896
897         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
898         with DATABASE support.
899
900 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
901
902         * chartab.c (Fput_char_attribute): Use S-expression as key of
903         external database.
904
905         * chartab.h (get_char_id_table): Use S-expression as key of
906         external database.
907
908 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
909
910         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
911         if an element is not loaded, load the corresponding attributes
912         from an external database.
913         (map_over_uint16_byte_table): Likewise.
914         (map_over_byte_table): Likewise.
915         (map_char_table): Modify for `map_over_uint8_byte_table',
916         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
917         element is not loaded, load the corresponding attributes from an
918         external database.
919         (Fput_char_attribute): Change initial values to Qunloaded.
920
921         * chartab.h (get_char_id_table): If a character attribute is not
922         loaded and the attribute value is not found in an external
923         database, store Qunbound as the attribute value.
924
925 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
926
927         * chartab.c (BT_UINT8_unloaded): New macro.
928         (UINT8_VALUE_P): Accept Qunloaded.
929         (UINT8_ENCODE): Likewise.
930         (UINT8_DECODE): Likewise.
931         (BT_UINT16_unloaded): New macro.
932         (UINT16_VALUE_P): Accept Qunloaded.
933         (UINT16_ENCODE): Likewise.
934         (UINT16_DECODE): Likewise.
935         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
936         BT_UINT16_unloaded.
937         (mark_char_table): Mark `ct->name' in UTF-2000.
938         (char_table_description): Add `name' in UTF-2000.
939         (Fmake_char_table): Initialize `ct->name'.
940         (Fcopy_char_table): Copy `ct->name'.
941         (Fput_char_attribute): Store value into an external database if
942         HAVE_DATABASE is defined.
943
944         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
945         UTF-2000.
946         (CHAR_TABLE_NAME): New macro in UTF-2000.
947         (XCHAR_TABLE_NAME): New macro in UTF-2000.
948         (get_char_id_table): Try to read an external database if Qunloaded
949         is stored in a table.
950
951         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
952         Qunloaded.
953
954 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
955
956         * database.h: Add EXFUN definitions for Fopen_database,
957         Fput_database, Fget_database and Fclose_database.
958
959         * data.c (Qunloaded): New variable in UTF-2000.
960
961         * lisp.h (Qunloaded): New variable in UTF-2000.
962
963 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
964
965         * mule-charset.c (put_char_ccs_code_point): Modify for
966         `decoding_table_remove_char' and `decoding_table_put_char'.
967         (remove_char_ccs): Modify for `decoding_table_remove_char'.
968
969         * char-ucs.h (decoding_table_remove_char): Change arguments to
970         hide decoding_table vector.
971         (decoding_table_put_char): Likewise.
972
973 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
974
975         * mule-charset.c (decoding_table_remove_char): Moved to
976         char-ucs.h.
977         (decoding_table_put_char): Likewise.
978
979         * char-ucs.h (decoding_table_check_elements): New prototype [moved
980         from mule-charset.c].
981         (decoding_table_remove_char): New inline function [moved from
982         mule-charset.c].
983         (decoding_table_put_char): Likewise.
984
985 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
986
987         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
988         extension.
989
990 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
991
992         * mule-charset.c (decode_builtin_char): Support mother charsets.
993
994 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
995
996         * mule-charset.c (Q94x94x60): New variable.
997         (charset_code_point): Support conversion `94x94x60'.
998         (Fmake_charset): Likewise.
999         (syms_of_mule_charset): Add new symbol `94x94x60'.
1000
1001         * char-ucs.h (CONVERSION_94x94x60): New macro.
1002
1003 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1004
1005         * mule-charset.c (charset_code_point): Unify code about
1006         `code-offset'.
1007
1008 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1009
1010         * mule-charset.c (charset_code_point): Merge code about builtin
1011         characters into code about mother charsets; don't use
1012         `range_charset_code_point'.
1013         (range_charset_code_point): Deleted.
1014
1015 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1016
1017         * mule-charset.c (Qcode_offset): New variable.
1018         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1019         `max-code'; accept new property `code-offset'.
1020         (syms_of_mule_charset): Add new symbol `code-offset'.
1021
1022 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1023
1024         * mule-charset.c (range_charset_code_point): Fixed.
1025
1026 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1027
1028         * mule-charset.c (decode_builtin_char): Change semantics of
1029         code-offset of coded-charset.
1030         (charset_code_point): Likewise.
1031         (range_charset_code_point): Likewise.
1032         (complex_vars_of_mule_charset): Modify for the change.
1033
1034 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1035
1036         * mule-charset.c (Fencode_char): Reverse arguments.
1037
1038         * mule-charset.c (charset_code_point): Fixed.
1039
1040 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1041
1042         * mule-charset.c (Vcharset_mojikyo): Deleted.
1043         (Vcharset_mojikyo_2022_1): Deleted.
1044         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1045         (Qmin_code): New variable in UTF-2000.
1046         (Qmax_code): Likewise.
1047         (Qmother): Likewise.
1048         (Qconversion): Likewise.
1049         (Q94x60): Likewise.
1050         (Qmojikyo): Deleted.
1051         (Qmojikyo_2022_1): Deleted.
1052         (Qmojikyo_pj_{1..22}): Deleted.
1053         (mark_charset): Mark `cs->mother'.
1054         (charset_description): Add description for `mother'.
1055         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1056         new arguments `mother' and `conversion'; use
1057         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1058         (charset_code_point): Moved from char-ucs.h; support `mother'
1059         charset feature.
1060         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1061         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1062         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1063         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1064         allow 2 as the value of `graphic' in UTF-2000; add new properties
1065         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1066         require `final' in UTF-2000; modify for `make_charset'.
1067         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1068         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1069         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1070         (Fencode_char): New function.
1071         (syms_of_mule_charset): Add new builtin function `encode-char' in
1072         UTF-2000; add new symbols `min-code', `max-code', `mother',
1073         `conversion' and `94x60'; delete symbols `mojikyo',
1074         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1075         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1076         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1077         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1078
1079         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1080         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1081
1082         * char-ucs.h (Vcharset_mojikyo): Deleted.
1083         (Vcharset_mojikyo_2022_1): Deleted.
1084         (LEADING_BYTE_MOJIKYO): Deleted.
1085         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1086         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1087         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1088         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1089         add new member `mother'; add new member `conversion'.
1090         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1091         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1092         (CHARSET_MOTHER): New macro.
1093         (CHARSET_CONVERSION): New macro.
1094         (CONVERSION_IDENTICAL): New macro.
1095         (CONVERSION_94x60): New macro.
1096         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1097         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1098         (XCHARSET_MOTHER): New macro.
1099         (XCHARSET_CONVERSION): New macro.
1100         (MIN_CHAR_MOJIKYO): Deleted.
1101         (MAX_CHAR_MOJIKYO): Deleted.
1102         (DECODE_MOJIKYO_2022): Deleted.
1103         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1104         (charset_code_point): Changed to non-inline function.
1105         (encode_char_1): Use `charset_code_point'.
1106         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1107
1108 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1109
1110         * lread.c (read_compiled_function): Fix prototype.
1111         (read_vector): Likewise.
1112
1113 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1114
1115         * lrecord.h (struct lrecord_header): Delete `older'.
1116         (set_lheader_implementation): Delete code for `older'.
1117         (set_lheader_older_implementation): Deleted.
1118         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1119         (OLDER_RECORD_P): Deleted.
1120         (OLDER_RECORD_HEADER_P): Deleted.
1121         (alloc_older_lcrecord): Deleted.
1122         (alloc_older_lcrecord_type): Deleted.
1123
1124         * alloc.c (all_older_lcrecords): Deleted.
1125         (alloc_older_lcrecord): Deleted.
1126         (disksave_object_finalization_1): Delete code for older objects.
1127         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1128         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1129
1130 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1131
1132         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1133         instead of `make_older_vector'.
1134         (put_char_ccs_code_point): Likewise.
1135         (mark_charset): Mark `cs->decoding_table'.
1136         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1137
1138         * lisp.h (make_older_vector): Deleted.
1139         (make_vector_newer): Deleted.
1140
1141         * config.h.in (HAVE_GGC): Deleted.
1142
1143         * alloc.c (make_older_vector): Deleted.
1144         (make_vector_newer_1): Deleted.
1145         (make_vector_newer): Deleted.
1146
1147 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1148
1149         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1150         (Qideograph_daikanwa_2): New variable.
1151         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1152         (complex_vars_of_mule_charset): Add new coded-charset
1153         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1154         `LEADING_BYTE_DAIKANWA'.
1155
1156         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1157         (LEADING_BYTE_DAIKANWA_1): New macro.
1158         (LEADING_BYTE_DAIKANWA_2): New macro.
1159         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1160
1161 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1162
1163         * mule-charset.c (complex_vars_of_mule_charset): Change
1164         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1165         the second revised version.
1166
1167 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1168
1169         * mule-charset.c (Vcharset_ucs_smp): New variable.
1170         (Vcharset_ucs_sip): New variable.
1171         (Qucs_smp): New variable.
1172         (Qucs_sip): New variable.
1173         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1174         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1175         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1176         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1177         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1178         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1179
1180         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1181         (LEADING_BYTE_UCS_SIP): New macro.
1182         (MIN_CHAR_SMP): New macro.
1183         (MAX_CHAR_SMP): New macro.
1184         (MIN_CHAR_SIP): New macro.
1185         (MAX_CHAR_SIP): New macro.
1186
1187 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1188
1189         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1190         utf-2000.
1191
1192 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1193
1194         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1195         value; don't store value into `encoding_table' of `Lisp_Charset'.
1196         (mark_charset): `encoding_table' was deleted.
1197         (charset_description): Likewise.
1198         (make_charset): Likewise.
1199         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1200         `put_char_ccs_code_point'.
1201
1202         * chartab.h (Fput_char_attribute): New EXFUN.
1203
1204         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1205         is unified with normal symbol space.
1206         (Fget_char_attribute): Likewise.
1207         (Fput_char_attribute): Likewise; behavior of
1208         `put_char_ccs_code_point' is changed.
1209
1210         * char-ucs.h: Include "elhash.h".
1211         (Vchar_attribute_hash_table): New external variable.
1212         (struct Lisp_Charset): Delete `encoding_table'.
1213         (CHARSET_ENCODING_TABLE): New implementation; refer
1214         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1215         `Lisp_Charset'.
1216
1217 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1218
1219         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1220         (cs) == 0.
1221
1222 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1223
1224         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1225         `chinese-big5'.
1226
1227 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1228
1229         * chartab.c (uint8_byte_table_description): New constant.
1230         (uint8-byte-table): Use `uint8_byte_table_description'.
1231         (uint16_byte_table_description): New constant.
1232         (uint16-byte-table): Use `uint16_byte_table_description'.
1233
1234 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1235
1236         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1237         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1238
1239 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1240
1241         * mule-charset.c (Vcharset_ucs_ks): New variable.
1242         (Qucs_ks): New variable.
1243         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1244         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1245
1246         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1247
1248 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1249
1250         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1251         (Fdecode_char): Likewise.
1252
1253         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1254         chartab.h.
1255         (Fdefine_char): Modify for Fdecode_char.
1256         (Ffind_char): Likewise.
1257
1258         * mule-charset.c (Fdecode_char): Add new optional argument
1259         `defined-only'.
1260         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1261
1262 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1263
1264         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1265         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1266         (allocate_coding_system): Initialize initial-charsets of
1267         CODESYS_BIG5 in XEmacs UTF-2000.
1268         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1269         CODESYS_BIG5 in XEmacs UTF-2000.
1270         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1271         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1272
1273         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1274         variables.
1275         (Qideograph_hanziku_{1 .. 12}): Likewise.
1276         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1277         .. 12}'.
1278         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1279         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1280         `ideograph-hanziku-{1 .. 12}'.
1281
1282         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1283         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1284         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1285         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1286         (DECODE_DEFINED_CHAR): New inline function.
1287         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1288
1289 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1290
1291         * mule-charset.c (Vcharset_china3_jef): Renamed from
1292         `Vcharset_japanese_jef_china3'.
1293         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1294         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1295         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1296         (syms_of_mule_charset): Rename `china3-jef' from
1297         `japanese-jef-china3'.
1298         (complex_vars_of_mule_charset): Likewise; rename
1299         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1300
1301         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1302         `LEADING_BYTE_JEF_CHINA3'.
1303         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1304         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1305
1306 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1307
1308         * mule-charset.c (encode_builtin_char_1): Comment out special code
1309         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1310
1311         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1312         (MAX_CHAR_MOJIKYO_0): Comment out.
1313         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1314         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1315         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1316         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1317
1318 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1319
1320         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1321         (Qideograph_cbeta): New variable.
1322         (encode_builtin_char_1): Comment out special code for
1323         coded-charset `mojikyo' and `japanese-jef-china3'.
1324         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1325         (complex_vars_of_mule_charset): Add new coded-charset
1326         `ideograph-cbeta'.
1327
1328         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1329         (MIN_CHAR_CBETA): New macro.
1330         (MAX_CHAR_CBETA): New macro.
1331
1332 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1333
1334         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1335         (LEADING_BYTE_JEF_CHINA3): New macro.
1336         (MIN_CHAR_JEF_CHINA3): New macro.
1337         (MAX_CHAR_JEF_CHINA3): Likewise.
1338         (DECODE_CHAR): Fixed.
1339
1340 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1341
1342         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1343         (Qjapanese_jef_china3): New variable.
1344         (encode_builtin_char_1): Support `japanese-jef-china3'.
1345         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1346         (complex_vars_of_mule_charset): Add new coded-charset
1347         `japanese-jef-china3'.
1348
1349 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1350
1351         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1352         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1353         94^4, 96^3, 96^4, 128^n and 256^n set.
1354         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1355         (map_char_table): Likewise.
1356
1357 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1358
1359         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1360         UTF-2000.
1361
1362 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1363
1364         * chartab.h (get_char_id_table): New inline function.
1365
1366         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1367         function.
1368
1369 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1370
1371         * chartab.h (decode_char_table_range): New prototype in XEmacs
1372         UTF-2000.
1373         (put_char_id_table): New inline function in XEmacs UTF-2000.
1374
1375         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1376         function.
1377         (decode_char_table_range): Delete static declaration in XEmacs
1378         UTF-2000.
1379
1380 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1381
1382         * chartab.c (put_char_id_table): Use `put_char_table'.
1383
1384 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1385
1386         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1387         (map_over_uint16_byte_table): Likewise.
1388         (map_over_byte_table): Likewise.
1389         (map_char_table): Modify for `map_over_uint8_byte_table',
1390         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1391         UTF-2000.
1392
1393 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1394
1395         * chartab.c (struct map_char_table_for_charset_arg): New
1396         structure.
1397         (map_char_table_for_charset_fun): New function.
1398         (map_char_table): Use `map_char_table' for encoding_table of
1399         `range->charset'.
1400
1401 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1402
1403         * chartab.c (map_char_table): Check a character is found in
1404         range->charset instead of non default value is defined in
1405         char-table when range is CHARTAB_RANGE_ROW.
1406
1407 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1408
1409         * chartab.c (map_char_id_table): Deleted.
1410         (Fmap_char_attribute): Use `map_char_table' instead of
1411         `map_char_id_table'.
1412
1413 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1414
1415         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1416         UTF-2000.
1417         (update_syntax_table): Deleted in XEmacs UTF-2000.
1418
1419         * syntax.c (find_defun_start): Use `syntax_table' instead of
1420         `mirror_syntax_table' in XEmacs UTF-2000.
1421         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1422         UTF-2000.
1423         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1424         XEmacs UTF-2000.
1425         (Fmatching_paren): Likewise.
1426         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1427         in XEmacs UTF-2000.
1428         (find_start_of_comment): Likewise.
1429         (find_end_of_comment): Likewise.
1430         (Fforward_comment): Likewise.
1431         (scan_lists): Likewise.
1432         (char_quoted): Likewise.
1433         (Fbackward_prefix_chars): Likewise.
1434         (scan_sexps_forward): Likewise.
1435         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1436         (update_syntax_table): Likewise.
1437
1438         * search.c (skip_chars): Use `syntax_table' instead of
1439         `mirror_syntax_table' in XEmacs UTF-2000.
1440         (wordify): Likewise.
1441         (Freplace_match): Likewise.
1442
1443         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1444         `mirror_syntax_table' in XEmacs UTF-2000.
1445         (WORDCHAR_P_UNSAFE): Likewise.
1446         (re_match_2_internal): Likewise.
1447
1448         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1449         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1450
1451         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1452         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1453
1454         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1455         XEmacs UTF-2000.
1456
1457         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1458         UTF-2000.
1459         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1460         (char_table_description): Delete `mirror_table' in XEmacs
1461         UTF-2000.
1462         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1463         UTF-2000.
1464         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1465         (Fcopy_char_table): Likewise.
1466         (put_char_table): Don't call `update_syntax_table' in XEmacs
1467         UTF-2000.
1468
1469         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1470         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1471         (casify_region_internal): Likewise.
1472
1473         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1474
1475         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1476         `mirror_syntax_table' in XEmacs UTF-2000.
1477
1478         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1479         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1480         (Fexpand_abbrev): Likewise.
1481
1482 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1483
1484         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1485
1486 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1487
1488         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1489         (map_over_uint16_byte_table): Likewise.
1490         (map_over_byte_table): Likewise.
1491         (get_char_id_table): Refer `cit->default_value'.
1492         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1493         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1494         of character-id ranges.
1495         (mark_char_table): Mark `ct->default_value'.
1496         (char_table_description): Add `default_value'.
1497         (fill_char_table): Use `default_value'.
1498         (decode_char_table_range): Decode `nil' as
1499         `CHARTAB_RANGE_DEFAULT'.
1500         (get_char_id_table): Refer `cit->default_value'.
1501         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1502         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1503         temporary hack; check value of char-table is bound or not.
1504         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1505
1506         * chartab.h (struct Lisp_Char_Table): Add new member
1507         `default_value' in XEmacs UTF-2000.
1508         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1509         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1510         UTF-2000.
1511
1512 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1513
1514         * chartab.h (Lisp_Char_ID_Table): Deleted.
1515
1516         * chartab.c (char_table_description): Fix typo.
1517         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1518         `Lisp_Char_ID_Table'.
1519
1520 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1521
1522         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1523         `CHAR_ID_TABLE_P'.
1524
1525         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1526         `CHAR_ID_TABLE_P'.
1527
1528         * chartab.h (XCHAR_ID_TABLE): Deleted.
1529         (XSETCHAR_ID_TABLE): Deleted.
1530         (CHAR_ID_TABLE_P): Deleted.
1531
1532         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1533         `CHAR_ID_TABLE_P'.
1534         (Fget_composite_char): Likewise.
1535         (put_char_table): Likewise.
1536         (add_char_attribute_alist_mapper): Fixed.
1537         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1538         `CHAR_ID_TABLE_P'.
1539         (Fget_char_attribute): Likewise.
1540         (Fget_char_attribute): Likewise.
1541         (Fmap_char_attribute): Likewise.
1542
1543         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1544         `CHAR_ID_TABLE_P'.
1545         (encode_char_1): Likewise.
1546
1547 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1548
1549         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1550         `XCHAR_ID_TABLE'.
1551
1552         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1553         instead of `XCHAR_ID_TABLE'.
1554         (remove_char_ccs): Likewise.
1555
1556         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1557         `XCHAR_ID_TABLE'.
1558         (Fget_composite_char): Likewise.
1559         (Fchar_variants): Likewise.
1560         (put_char_table): Likewise.
1561         (add_char_attribute_alist_mapper): Likewise.
1562         (Fchar_attribute_alist): Likewise.
1563         (Fget_char_attribute): Likewise.
1564         (Fput_char_attribute): Likewise.
1565         (Fmap_char_attribute): Likewise.
1566         (Fmap_char_attribute): Likewise.
1567
1568         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1569         `XCHAR_ID_TABLE'.
1570         (encode_char_1): Likewise.
1571
1572 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1573
1574         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1575         `Lisp_Char_ID_Table'.
1576         (mark_char_id_table): Deleted.
1577         (print_char_id_table): Likewise.
1578         (char_id_table_equal): Likewise.
1579         (char_id_table_hash): Likewise.
1580         (char_id_table_description): Likewise.
1581         (char_id_table): Likewise.
1582         (make_char_id_table): Use `Fmake_char_table' and
1583         `fill_char_table'.
1584         (get_char_id_table): Use `Lisp_Char_Table' instead of
1585         `Lisp_Char_ID_Table'.
1586         (put_char_id_table): Likewise.
1587         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1588         `XCHAR_ID_TABLE'.
1589         (Fremove_char_attribute): Likewise.
1590         (syms_of_chartab): Don't define type `char-id-table'.
1591
1592         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1593         (char_id_table): Likewise.
1594         (GC_CHAR_ID_TABLE_P): Likewise.
1595         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1596         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1597         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1598         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1599         (get_char_id_table): Use `Lisp_Char_Table' instead of
1600         `Lisp_Char_ID_Table'.
1601         (put_char_id_table_0): Likewise.
1602         (put_char_id_table): Likewise.
1603
1604 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1605
1606         * chartab.h: Lisp_Byte_Table related codes are moved from
1607         chartab.h.
1608
1609         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1610
1611 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1612
1613         * chartab.h: Don't include "chartab.h".
1614         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1615         (Lisp_Char_ID_Table): Likewise.
1616         (char_id_table): Likewise.
1617         (XCHAR_ID_TABLE): Likewise.
1618         (XSETCHAR_ID_TABLE): Likewise.
1619         (CHAR_ID_TABLE_P): Likewise.
1620         (GC_CHAR_ID_TABLE_P): Likewise.
1621         (get_char_id_table): Likewise.
1622
1623         * char-ucs.h: Include "chartab.h".
1624         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1625         (Lisp_Char_ID_Table): Likewise.
1626         (char_id_table): Likewise.
1627         (XCHAR_ID_TABLE): Likewise.
1628         (XSETCHAR_ID_TABLE): Likewise.
1629         (CHAR_ID_TABLE_P): Likewise.
1630         (GC_CHAR_ID_TABLE_P): Likewise.
1631         (get_char_id_table): Likewise.
1632
1633 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1634
1635         * chartab.c (copy_uint8_byte_table): New function.
1636         (copy_uint16_byte_table): New function.
1637         (copy_byte_table): New function.
1638         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1639         characters to call.
1640         (map_over_uint16_byte_table): Likewise.
1641         (map_over_byte_table): Likewise.
1642         (get_byte_table): Move prototype to chartab.h.
1643         (put_byte_table): Likewise.
1644         (put_char_id_table_0): Moved to chartab.h.
1645         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1646         (char_table_entry_equal): Likewise.
1647         (char_table_entry_hash): Likewise.
1648         (char_table_entry_description): Likewise.
1649         (char_table_entry): Likewise.
1650         (make_char_table_entry): Likewise.
1651         (copy_char_table_entry): Likewise.
1652         (get_non_ascii_char_table_value): Likewise.
1653         (map_over_charset_ascii): Likewise.
1654         (map_over_charset_control_1): Likewise.
1655         (map_over_charset_row): Likewise.
1656         (map_over_other_charset): Likewise.
1657         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1658         (print_char_table): Likewise.
1659         (char_table_equal): Likewise.
1660         (char_table_hash): Likewise.
1661         (char_table_description): Likewise.
1662         (fill_char_table): Likewise.
1663         (Fcopy_char_table): Likewise.
1664         (get_char_table): Likewise.
1665         (Fget_range_char_table): Likewise.
1666         (put_char_table): Likewise.
1667         (map_char_table): Likewise.
1668         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1669         UTF-2000.
1670
1671 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1672
1673         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1674         `Vauto_fill_chars' in XEmacs UTF-2000.
1675
1676         * chartab.h (get_byte_table): New prototype [moved from
1677         chartab.c].
1678         (put_byte_table): Likewise [moved from chartab.c].
1679         (put_char_id_table_0): New inline function [moved from chartab.c].
1680         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1681         (Lisp_Char_Table_Entry): Likewise.
1682         (char_table_entry): Likewise.
1683         (XCHAR_TABLE_ENTRY): Likewise.
1684         (XSETCHAR_TABLE_ENTRY): Likewise.
1685         (CHAR_TABLE_ENTRYP): Likewise.
1686         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1687         (NUM_ASCII_CHARS): Likewise.
1688         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1689         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1690
1691 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1692
1693         * chartab.c (get_char_id_table): Change interface.
1694         (put_char_id_table_0): New function.
1695         (put_char_id_table): Change interface; new implementation.
1696         (Fget_composite_char): Modify for interface change of
1697         `get_char_id_table'.
1698         (Fchar_variants): Likewise.
1699         (add_char_attribute_alist_mapper): Likewise.
1700         (Fchar_attribute_alist): Likewise.
1701         (Fget_char_attribute): Likewise.
1702         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1703         as same as character as the first argument like `put-char-table';
1704         modify for interface change of `put_char_id_table'.
1705         (Fremove_char_attribute): Modify for interface change of
1706         `put_char_id_table'.
1707
1708 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1709
1710         * text-coding.c: Sync up with XEmacs 21.2.41.
1711         (COMPOSE_ADD_CHAR): Modify for interface change of
1712         `get_char_id_table'.
1713
1714         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1715         change of `put_char_id_table'.
1716         (remove_char_ccs): Likewise.
1717
1718         * chartab.h (put_char_id_table): Change interface.
1719
1720         * char-ucs.h (get_char_id_table): Change interface.
1721         (charset_code_point): Modify for interface change of
1722         `get_char_id_table'.
1723         (encode_char_1): Likewise.
1724
1725 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1726
1727         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1728         argument `ccs'.
1729         (map_over_uint16_byte_table): Likewise.
1730         (map_over_byte_table): Likewise.
1731         (map_char_id_table): Add new argument `range' like
1732         `map_char_table'.
1733         (Fmap_char_attribute): Add new argument `range' like
1734         `Fmap_char_table'.
1735
1736 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1737
1738         * chartab.c (map_over_uint8_byte_table): Change interface of
1739         mapping function to use struct chartab_range instead of Emchar.
1740         (map_over_uint16_byte_table): Likewise.
1741         (map_over_byte_table): Likewise.
1742         (map_char_id_table): Likewise.
1743         (struct slow_map_char_id_table_arg): Deleted.
1744         (slow_map_char_id_table_fun): Deleted.
1745         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1746         function `slow_map_char_table_fun' instead of struct
1747         `slow_map_char_id_table_arg' and function
1748         `slow_map_char_id_table_fun'.
1749
1750 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1751
1752         * mule-charset.c: Move char-it-table related codes to chartab.c.
1753         (Vutf_2000_version): Moved to chartab.c.
1754         (Fdefine_char): Likewise.
1755         (Ffind_char): Likewise.
1756         (syms_of_mule_charset): Move types `uint8-byte-table',
1757         `uint16-byte-table', `byte-table' and `char-id-table' to
1758         chartab.c; move functions `char_attribute_list,
1759         `find_char_attribute_table, `char_attribute_alist,
1760         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1761         `map_char_attribute, `define_char, `find_char, `char_variants and
1762         `get_composite_char to chartab.c; move symbols `=>ucs',
1763         `->decomposition', `compat', `isolated', `initial', `medial',
1764         `final', `vertical', `noBreak', `fraction', `super', `sub',
1765         `circle', `square', `wide', `narrow', `small' and `font' to
1766         chartab.c.
1767         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1768         setting codes for `Vcharacter_composition_table' and
1769         `Vcharacter_variant_table' to chartab.c.
1770         (complex_vars_of_mule_charset): Move setting code for
1771         `Vchar_attribute_hash_table' to chartab.c.
1772
1773         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1774         (make_char_id_table): New prototype.
1775         (put_char_id_table): Likewise.
1776         (Fget_char_attribute): Likewise.
1777
1778         * chartab.c: Move char-id-table related code from mule-charset.c.
1779         (Vutf_2000_version): Moved from mule-charset.c.
1780
1781         * char-ucs.h (Qucs): New external variable.
1782         (put_char_ccs_code_point): New prototype.
1783         (remove_char_ccs): Likewise.
1784
1785 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1786
1787         * mule-charset.c (Vcharset_ucs_jis): New variable.
1788         (Qucs_jis): Likewise.
1789         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1790         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1791
1792         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1793
1794 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1795
1796         * mule-charset.c (map_over_uint8_byte_table): New function.
1797         (map_over_uint16_byte_table): Likewise.
1798         (map_over_byte_table): Likewise.
1799         (map_char_id_table): Likewise.
1800         (slow_map_char_id_table_fun): Likewise.
1801         (Fmap_char_attribute): Likewise.
1802         (syms_of_mule_charset): Add new function `map-char-attribute'.
1803
1804 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1805
1806         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1807         (syms_of_mule_charset): Add new function `find-char'.
1808
1809 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1810
1811         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1812         XEmacs UTF-2000.
1813         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1814         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1815         XEmacs UTF-2000.
1816         (complex_vars_of_mule_charset): Add new coded-charset
1817         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1818         `ideograph-gt-pj-*'.
1819
1820         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1821
1822 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1823
1824         * mule-charset.c (encode_builtin_char_1): Purge codes about
1825         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1826         {MIN|MAX}_CHAR_HEBREW.
1827         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1828         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1829
1830         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1831         (MAX_CHAR_GREEK): Purged.
1832         (MIN_CHAR_CYRILLIC): Purged.
1833         (MAX_CHAR_CYRILLIC): Purged.
1834         (MIN_CHAR_HEBREW): Commented out.
1835         (MAX_CHAR_HEBREW): Likewise.
1836
1837 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1838
1839         * mule-charset.c (Qto_ucs): New variable.
1840         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1841         (Fdefine_char): Likewise.
1842         (syms_of_mule_charset): Add new symbol `=>ucs'.
1843
1844 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1845
1846         * mule-charset.c (Fdecode_char): Fixed.
1847
1848 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1849
1850         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1851         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1852         "tcvn5712-1".
1853
1854 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1855
1856         * mule-charset.c (Vcharset_ucs_big5): New variable.
1857         (Qucs_big5): Likewise.
1858         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1859         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1860
1861         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1862
1863 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1864
1865         * mule-charset.c (decode_builtin_char): Check Big5 code range
1866         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1867
1868 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1869
1870         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1871         (Qchinese_gb12345): Likewise.
1872         (Fdecode_builtin_char): Fixed.
1873         (syms_of_mule_charset): Add `chinese-gb12345'.
1874         (complex_vars_of_mule_charset): Add coded-charset
1875         `chinese-gb12345'.
1876
1877         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1878         (LEADING_BYTE_CHINESE_GB12345): New macro.
1879
1880 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1881
1882         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1883         and `latin-viscii-upper' for `latin-viscii'.
1884
1885 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1886
1887         * mule-charset.c (Fdecode_builtin_char): Comment out
1888         regularization code for ISO-IR GR representation.
1889
1890 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1891
1892         * mule-charset.c (decode_builtin_char): New function; renamed from
1893         `make_builtin_char'; return -1 instead of signal.
1894         (Fdecode_builtin_char): Use `decode_builtin_char'.
1895
1896         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1897         `make_builtin_char'.
1898         (DECODE_CHAR): Use `decode_builtin_char' instead of
1899         `make_builtin_char'; use mapping table of `chinese-big5' for
1900         `chinese-big5-{1,2}'.
1901
1902 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1903
1904         * text-coding.c (char_encode_big5): New function.
1905         (char_finish_big5): Likewise.
1906         (reset_encoding_stream): Use `char_encode_big5' and
1907         `char_finish_big5' for CODESYS_BIG5.
1908         (mule_encode): Don't use `encode_coding_big5'.
1909         (encode_coding_big5): Deleted.
1910
1911 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1912
1913         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1914         0x81- in XEmacs UTF-2000.
1915         (detect_coding_big5): Likewise.
1916
1917 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1918
1919         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1920         generate character-id if the CCS property does not have
1921         corresponding predefined character.
1922         (make_builtin_char): Return -1 if corresponding predefined
1923         character is not found.
1924         (Fdecode_char): Return nil if corresponding character is not
1925         found.
1926         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1927         don't map to builtin ucs space.
1928
1929 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1930
1931         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1932         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1933
1934 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1935
1936         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1937         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1938         (Qideograph_gt): Likewise.
1939         (Qideograph_gt_pj_{1..11}): Likewise.
1940         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1941         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1942         `ideograph-gt-pj-11'.
1943         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1944         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1945         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1946
1947         * char-ucs.h (LEADING_BYTE_GT): New macro.
1948         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1949         (MIN_CHAR_GT): Likewise.
1950         (MAX_CHAR_GT): Likewise.
1951
1952 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1953
1954         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1955         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1956
1957         * doprnt.c (unsigned_int_converters): Add `c'.
1958         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1959
1960         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1961         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1962         `MIN_CHAR_MOJIKYO'.
1963         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1964         (MAX_CHAR_MOJIKYO_0): New macro.
1965         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1966
1967 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1968
1969         * mule-charset.c (Fdefine_char): Delete cemented out code.
1970         (encode_builtin_char_1): Modify for new allocation of builtin
1971         Mojikyo characters.
1972
1973         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1974
1975 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1976
1977         * mule-charset.c (Vcharset_ucs_cns): New variable.
1978         (Qucs_cns): New variable.
1979         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1980         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1981
1982 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1983
1984         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1985
1986 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1987
1988         * search.c (search_buffer): Make `charset_base_code' as
1989         character-id >> 6 to eliminate the corresponding last byte in
1990         UTF-8 representation [I'm not sure it is right thing].
1991         (boyer_moore): Likewise.
1992
1993 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1994
1995         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1996         representation in MULE.
1997
1998 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1999
2000         * text-coding.c (Fmake_coding_system): Use
2001         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2002         `EXTERNAL_PROPERTY_LIST_LOOP'.
2003
2004 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2005
2006         * text-coding.c (decode_output_utf8_partial_char): New function.
2007         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2008
2009 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2010
2011         * text-coding.c (decode_coding_utf8): Output original byte
2012         sequence if it is broken; change order of conditions.
2013
2014         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2015         of conditions.
2016
2017         * mb-multibyte.h (BYTE_ASCII_P):
2018         Use bit ops for char-signedness safety.
2019         (BYTE_C0_P): Use bit ops for char-signedness safety.
2020         (BYTE_C1_P): Use bit ops for char-signedness safety.
2021
2022         * character.h: (XCHAR_OR_CHAR_INT):
2023         Always use inline function.
2024         Remove redundant type checking assert() - XINT will abort quite
2025         nicely.
2026
2027 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2028
2029         * text-coding.c: (Fencode_shift_jis_char):
2030         (Fencode_big5_char):
2031         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2032         Replace 0 with '\0' when working with bytes.
2033         Replace initial "(" with "\(" in docstrings.
2034
2035         (Fmake_coding_system):
2036         When type is ccl and value is vector, register it with a proper
2037         symbol.  And checks whether the given ccl program is valid.
2038         (mule_decode): When calling ccl_driver, if src indicates
2039         NULL pointer, set an empty string instead.
2040         (mule_encode): Likewise.
2041
2042         (detect_eol_type):
2043         (detect_coding_sjis):
2044         (decode_coding_sjis):
2045         (detect_coding_big5):
2046         (decode_coding_big5):
2047         (detect_coding_ucs4):
2048         (decode_coding_ucs4):
2049         (detect_coding_utf8):
2050         (decode_coding_utf8):
2051         (detect_coding_iso2022):
2052         (decode_coding_iso2022):
2053         (decode_coding_no_conversion):
2054         (mule_decode):
2055         Make all detecting and decoding functions take an Extbyte * arg.
2056         (text_encode_generic):
2057         (encode_coding_big5):
2058         (encode_coding_no_conversion):
2059         (mule_encode):
2060         Make all encoding functions take a Bufbyte * arg.
2061         Use size_t instead of unsigned int for memory sizes.
2062         Only cast to unsigned char whenever dereferencing Extbyte *.
2063
2064         (struct lrecord_description fcd_description_1): Use countof.
2065         (complex_vars_of_file_coding):
2066         Use countof instead of sizeof.
2067         Use CHECK_NATNUM instead of CHECK_INT.
2068
2069 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2070
2071         * mule-charset.c (Fget_char_attribute): Add new optional argument
2072         `default-value'.
2073         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2074         (remove_char_ccs): Likewise.
2075
2076 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2077
2078         * text-coding.c (char_encode_shift_jis): New implementation in
2079         UTF-2000.
2080         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2081         ...)'.
2082
2083         * mule-charset.c (Vcharset_chinese_big5): New variable in
2084         UTF-2000.
2085         (Qchinese_big5): New variable in UTF-2000.
2086         (BIG5_SAME_ROW): New macro in UTF-2000.
2087         (make_builtin_char): Use builtin characters of
2088         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2089         characters of `Vcharset_chinese_big5'.
2090         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2091         (complex_vars_of_mule_charset): Add new coded-charset
2092         `chinese-big5' in UTF-2000.
2093
2094         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2095         (Vcharset_chinese_big5): New external variable declaration.
2096         (Vcharset_japanese_jisx0208_1990): Likewise.
2097
2098 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2099
2100         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2101         function.
2102         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2103
2104 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2105
2106         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2107         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2108         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2109         `mojikyo-pj-*'.
2110
2111 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2112
2113         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2114
2115 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2116
2117         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2118         to 0.17.
2119
2120 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2121
2122         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2123         for `CHARSET_BY_ATTRIBUTES'.
2124         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2125         `CHARSET_BY_ATTRIBUTES'.
2126
2127         * text-coding.c (struct decoding_stream): Rename member `CH' to
2128         `CPOS'.
2129         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2130         (decode_coding_sjis): Likewise.
2131         (decode_coding_big5): Likewise.
2132         (decode_coding_ucs4): Likewise.
2133         (decode_coding_utf8): Likewise.
2134         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2135         `CHARSET_BY_ATTRIBUTES'.
2136         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2137         `str->counter'; decode 3, 4 bytes sets.
2138         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2139         sets.
2140         (decode_coding_no_conversion): Use `str->cpos' instead of
2141         `str->ch'.
2142
2143         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2144         (Qmojikyo_2022_1): New variable.
2145         (make_charset): Don't use `CHARSET_TYPE_*'.
2146         (range_charset_code_point): Support coded-charset
2147         `mojikyo-2022-1'.
2148         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2149         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2150         `CHARSET_BY_ATTRIBUTES'.
2151         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2152         `CHARSET_BY_ATTRIBUTES'.
2153         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2154         (complex_vars_of_mule_charset): Add new coded-charset
2155         `mojikyo-2022-1'.
2156
2157         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2158         interface; changed to inline function.
2159
2160         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2161         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2162         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2163         (CHARSET_TYPE_94): Deleted.
2164         (CHARSET_TYPE_94X94): Deleted.
2165         (CHARSET_TYPE_96): Deleted.
2166         (CHARSET_TYPE_96X96): Deleted.
2167         (CHARSET_TYPE_128): Deleted.
2168         (CHARSET_TYPE_128X128): Deleted.
2169         (CHARSET_TYPE_256): Deleted.
2170         (CHARSET_TYPE_256X256): Deleted.
2171         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2172         to inline function.
2173         (DECODE_MOJIKYO_2022): New inline function.
2174         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2175         `Vcharset_mojikyo_2022_1'.
2176
2177 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2178
2179         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2180         instead of `EQ'.
2181         (put_byte_table): Likewise.
2182         (char_id_table_equal): Use `get_byte_table' [new implementation].
2183
2184 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2185
2186         * mule-charset.c: Include <limits.h> in UTF-2000.
2187         (BT_UINT8_MIN): New macro in UTF-2000.
2188         (BT_UINT8_MAX): New macro in UTF-2000.
2189         (BT_UINT8_t): New macro in UTF-2000.
2190         (BT_UINT8_nil): New macro in UTF-2000.
2191         (BT_UINT8_unbound): New macro in UTF-2000.
2192         (INT_UINT8_P): New inline function in UTF-2000.
2193         (UINT8_VALUE_P): New inline function in UTF-2000.
2194         (UINT8_ENCODE): New inline function in UTF-2000.
2195         (UINT8_DECODE): New inline function in UTF-2000.
2196         (mark_uint8_byte_table): New function in UTF-2000.
2197         (print_uint8_byte_table): New function in UTF-2000.
2198         (uint8_byte_table_equal): New function in UTF-2000.
2199         (uint8_byte_table_hash): New function in UTF-2000.
2200         (make_uint8_byte_table): New function in UTF-2000.
2201         (uint8_byte_table_same_value_p): New function in UTF-2000.
2202         (BT_UINT16_MIN): New macro in UTF-2000.
2203         (BT_UINT16_MAX): New macro in UTF-2000.
2204         (BT_UINT16_t): New macro in UTF-2000.
2205         (BT_UINT16_nil): New macro in UTF-2000.
2206         (BT_UINT16_unbound): New macro in UTF-2000.
2207         (INT_UINT16_P): New inline function in UTF-2000.
2208         (UINT16_VALUE_P): New inline function in UTF-2000.
2209         (UINT16_ENCODE): New inline function in UTF-2000.
2210         (UINT16_DECODE): New inline function in UTF-2000.
2211         (UINT8_TO_UINT16): New inline function in UTF-2000.
2212         (mark_uint16_byte_table): New function in UTF-2000.
2213         (print_uint16_byte_table): New function in UTF-2000.
2214         (uint16_byte_table_equal): New function in UTF-2000.
2215         (uint16_byte_table_hash): New function in UTF-2000.
2216         (make_uint16_byte_table): New function in UTF-2000.
2217         (uint16_byte_table_same_value_p): New function in UTF-2000.
2218         (print_byte_table): New function in UTF-2000.
2219         (byte-table): Use `print_byte_table' as printer.
2220         (make_byte_table): Delete second argument `older'.
2221         (byte_table_same_value_p): New function in UTF-2000.
2222         (copy_byte_table): Deleted.
2223         (get_byte_table): New function in UTF-2000.
2224         (put_byte_table): New function in UTF-2000.
2225         (print_char_id_table): New function in UTF-2000.
2226         (char-id-table): Use `print_char_id_table' as printer.
2227         (make_char_id_table): Delete second argument `older'.
2228         (get_char_id_table): Use `get_byte_table [new implementation].
2229         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2230         implementation].
2231         (Ffind_char_attribute_table): New function in UTF-2000.
2232         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2233         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2234         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2235         (syms_of_mule_charset): Add new function
2236         `find-char-attribute-table' in UTF-2000.
2237
2238         * lrecord.h (enum lrecord_type): Add
2239         `lrecord_type_uint16_byte_table' and
2240         `lrecord_type_uint8_byte_table'.
2241
2242         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2243         (Lisp_Uint8_Byte_Table): New type.
2244         (XUINT8_BYTE_TABLE): New macro.
2245         (XSETUINT8_BYTE_TABLE): New macro.
2246         (UINT8_BYTE_TABLE_P): New macro.
2247         (GC_UINT8_BYTE_TABLE_P): New macro.
2248         (struct Lisp_Uint16_Byte_Table): New structure.
2249         (Lisp_Uint16_Byte_Table): New type.
2250         (XUINT16_BYTE_TABLE): New macro.
2251         (XSETUINT16_BYTE_TABLE): New macro.
2252         (UINT16_BYTE_TABLE_P): New macro.
2253         (GC_UINT16_BYTE_TABLE_P): New macro.
2254
2255 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2256
2257         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2258         (Vcharacter_ideographic_strokes_table): Deleted.
2259         (Vcharacter_total_strokes_table): Deleted.
2260         (Vcharacter_morohashi_daikanwa_table): Deleted.
2261         (Vcharacter_decomposition_table): Deleted.
2262         (Qname): Deleted because it is duplicated.
2263         (Qideographic_radical): Deleted.
2264         (Qideographic_strokes): Deleted.
2265         (Qtotal_strokes): Deleted.
2266         (Qmorohashi_daikanwa): Deleted.
2267         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2268         `ideographic-radical', `ideographic-strokes', `total-strokes',
2269         `morohashi-daikanwa' and `->decomposition'.
2270         (Fget_char_attribute): Likewise.
2271         (Fput_char_attribute): Likewise; use `make-vector' instead of
2272         `make_older_vector' for `->decomposition' value.
2273         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2274         `ideograph-daikanwa'.
2275         (syms_of_mule_charset): Delete builtin symbols `name',
2276         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2277         `morohashi-daikanwa'.
2278         (vars_of_mule_charset): Don't setup
2279         `Vcharacter_ideographic_radical_table',
2280         `Vcharacter_ideographic_strokes_table',
2281         `Vcharacter_total_strokes_table',
2282         `Vcharacter_morohashi_daikanwa_table' and
2283         `Vcharacter_decomposition_table'.
2284
2285 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2286
2287         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2288         `make_older_vector', `make_vector_newer_1' and
2289         `make_vector_newer'.
2290
2291         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2292         `make_older_vector' and `make_vector_newer'.
2293
2294         * config.h.in (HAVE_GGC): New macro.
2295
2296 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2297
2298         * mule-charset.c (struct char_attribute_list_closure): New
2299         structure in UTF-2000.
2300         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2301         (Fchar_attribute_list): Likewise.
2302         (Fset_charset_mapping_table): Use `make_vector_newer'.
2303         (Fdecode_builtin_char): New function in UTF-2000.
2304         (syms_of_mule_charset): Add new function `char-attribute-list' and
2305         `decode-builtin-char' in UTF-2000.
2306
2307         * lisp.h (make_vector_newer): New prototype.
2308
2309         * alloc.c (make_vector_newer_1): New function.
2310         (make_vector_newer): New function.
2311
2312 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2313
2314         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2315         50100)'.
2316
2317 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2318
2319         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2320         (Vcharacter_attribute_table): Deleted.
2321         (Vcharacter_name_table): Deleted.
2322         (put_char_attribute): Deleted.
2323         (remove_char_attribute): Deleted.
2324         (struct char_attribute_alist_closure): New structure.
2325         (add_char_attribute_alist_mapper): New function.
2326         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2327         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2328         (Fget_char_attribute): Likewise.
2329         (Fput_char_attribute): Likewise.
2330         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2331         of `remove_char_attribute'.
2332         (Fdefine_char): Return character.
2333         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2334         and `Vcharacter_name_table'.
2335         (complex_vars_of_mule_charset): Likewise
2336         `Vchar_attribute_hash_table'.
2337
2338 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2339
2340         * character.h (CHARC_CHARSET): New macro.
2341         (CHARC_CHARSET_ID): New macro.
2342         (CHARC_CODE_POINT): New macro.
2343         (CHARC_COLUMNS): New macro.
2344         (CHARC_TO_CHAR): New inline function.
2345         (CHARC_EQ): New inline function.
2346         (CHARC_ASCII_EQ): New inline function.
2347         (CHARC_IS_SPACE): New inline function.
2348         (ASCII_TO_CHARC): New inline function.
2349
2350         * char-ucs.h (encode_char_2): Deleted.
2351         (ENCODE_CHAR): Use `encode_char_1' again.
2352         (breakup_char_1): Likewise.
2353         (CHAR_TO_CHARC): New inline function.
2354
2355         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2356
2357 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2358
2359         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2360         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2361         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2362         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2363         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2364         `CHARC_IS_SPACE'.
2365         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2366
2367         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2368         `CHARC_CODE_POINT'.
2369         (x_output_display_block): Use `CHARC_CHARSET' and
2370         `CHARC_ASCII_EQ'.
2371
2372         * redisplay-tty.c (tty_output_display_block): Use
2373         `CHARC_ASCII_EQ'.
2374         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2375
2376         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2377
2378         * insdel.c (find_charsets_in_charc_string): Use
2379         `CHARC_CHARSET_ID'.
2380         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2381         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2382         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2383         (convert_charc_string_into_malloced_string): Likewise.
2384
2385 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2386
2387         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2388         instead of <Emchar_dynarr *> for buf; use
2389         `convert_bufbyte_string_into_charc_dynarr' instead of
2390         `convert_bufbyte_string_into_emchar_dynarr'; use
2391         `find_charsets_in_charc_string' instead of
2392         `find_charsets_in_emchar_string'.
2393
2394         * redisplay.h:
2395         - Include "character.h".
2396         (struct rune): New member `cglyph'; delete member `chr'.
2397
2398         * redisplay.c (redisplay_text_width_charc_string): New function;
2399         delete `redisplay_text_width_emchar_string'.
2400         (rtw_charc_dynarr): New variable; renamed from
2401         `rtw_emchar_dynarr'.
2402         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2403         `rtw_emchar_dynarr'; use
2404         `convert_bufbyte_string_into_charc_dynarr' instead of
2405         `convert_bufbyte_string_into_emchar_dynarr'; use
2406         `redisplay_text_width_charc_string' instead of
2407         `redisplay_text_width_emchar_string'.
2408         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2409         instead of `rtw_emchar_dynarr'; use
2410         `convert_bufbyte_string_into_charc_dynarr' instead of
2411         `convert_bufbyte_string_into_emchar_dynarr'.
2412         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2413         `redisplay_text_width_charc_string' instead of
2414         `redisplay_text_width_emchar_string'.
2415         (create_text_block): Modify for <struct rune> change.
2416         (generate_formatted_string_db): Likewise.
2417         (create_string_text_block): Likewise.
2418         (pixel_to_glyph_translation): Likewise.
2419
2420         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2421         instead of <const Emchar *>.
2422         (x_text_width): Likewise.
2423         (x_output_display_block): Use <Charc_dynarr *> instead
2424         <Emchar_dynarr *>; modify for <structure rune> change.
2425         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2426         *>.
2427
2428         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2429         <const Emchar *>; use `charc_string_displayed_columns' instead of
2430         `emchar_string_displayed_columns'.
2431         (tty_output_display_block): Use <Charc_dynarr *> instead of
2432         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2433         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2434         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2435         `tty_output_emchar_dynarr_dynarr'.
2436         (tty_output_charc_dynarr): New function; delete
2437         `tty_output_charc_dynarr'.
2438
2439         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2440         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2441         <Emchar_dynarr *> for buf; use
2442         `convert_bufbyte_string_into_charc_dynarr' instead of
2443         `convert_bufbyte_string_into_emchar_dynarr'.
2444
2445         * frame.c (title_string_charc_dynarr): New variable; renamed from
2446         `title_string_emchar_dynarr'.
2447         (generate_title_string): Use `title_string_charc_dynarr' instead
2448         of `title_string_emchar_dynarr'; use
2449         `convert_charc_string_into_malloced_string' instead of
2450         `convert_emchar_string_into_malloced_string'.
2451         (init_frame): Use `title_string_charc_dynarr' instead of
2452         `title_string_emchar_dynarr'.
2453
2454         * console.h:
2455         - Include "character.h".
2456         (struct console_methods): Use <const Charc *> instead of <const
2457         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2458         <Emchar_dynarr *> in output_string_method.
2459
2460         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2461         <Emchar_dynarr *>.
2462
2463         * console-stream.c (stream_text_width): Use <const Charc *>
2464         instead of <const Emchar *>.
2465
2466         * character.h (Charc_dynarr): New type.
2467
2468         * char-ucs.h (structure Charc): New structure; define new type
2469         `Charc'.
2470
2471         * char-lb.h (DECODE_CHAR): New inline function.
2472         (encode_char_1): New inline function.
2473         (ENCODE_CHAR): New macro.
2474         (structure Charc): New structure; define new type `Charc'.
2475
2476         * char-1byte.h (Vcharset_control_1): New macro.
2477         (Vcharset_latin_iso8859_1): New macro.
2478         (DECODE_CHAR): New inline function.
2479         (encode_char_1): New inline function.
2480         (ENCODE_CHAR): New macro.
2481         (structure Charc): New structure; define new type `Charc'.
2482
2483         * insdel.c (find_charsets_in_charc_string): New function; delete
2484         `find_charsets_in_emchar_string'.
2485         (charc_string_displayed_columns): New function; delete
2486         `emchar_string_displayed_columns'.
2487         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2488         `convert_bufbyte_string_into_emchar_dynarr'.
2489         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2490         `convert_charc_string_into_bufbyte_dynarr'.
2491         (convert_charc_string_into_malloced_string): New function; delete
2492         `convert_charc_string_into_malloced_string'.
2493
2494         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2495         `find_charsets_in_emchar_string'.
2496         (charc_string_displayed_columns): New prototype; delete
2497         `emchar_string_displayed_columns'.
2498         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2499         `convert_charc_string_into_bufbyte_dynarr'.
2500         (convert_charc_string_into_malloced_string): New prototype; delete
2501         `convert_charc_string_into_malloced_string'.
2502
2503 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2504
2505         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2506
2507 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2508
2509         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2510
2511         * char-ucs.h: Use <short> for <Charset_ID>.
2512
2513         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2514         <Charset_ID>.
2515
2516 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2517
2518         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2519         to 0.16.
2520
2521 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2522
2523         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2524         variable.
2525         (Qmorohashi_daikanwa): New variable.
2526         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2527         for `morohashi-daikanwa' attribute.
2528         (Fget_char_attribute): Likewise.
2529         (Fput_char_attribute): Likewise.
2530         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2531         has the same value of `ideograph-daikanwa'.
2532         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2533         (vars_of_mule_charset): Setup
2534         `Vcharacter_morohashi_daikanwa_table'.
2535
2536 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2537
2538         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2539         attributes.
2540         (add_charset_to_list_mapper): Add `key' instead of
2541         `XCHARSET_NAME (value)' to return aliases.
2542
2543 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2544
2545         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2546         variable.
2547         (Vcharacter_ideographic_strokes_table): New variable.
2548         (Qideographic_radical): New variable.
2549         (Qideographic_strokes): New variable.
2550         (Fchar_attribute_alist): Use
2551         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2552         attribute; use `Vcharacter_ideographic_strokes_table' for
2553         `ideographic-strokes' attribute.
2554         (Fget_char_attribute): Likewise.
2555         (Fput_char_attribute): Likewise.
2556         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2557         `ideographic-strokes'.
2558         (vars_of_mule_charset): Setup
2559         `Vcharacter_ideographic_radical_table' and
2560         `Vcharacter_ideographic_strokes_table'.
2561
2562 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2563
2564         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2565         (Qtotal_strokes): New variable.
2566         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2567         `total-strokes' attribute.
2568         (Fget_char_attribute): Likewise.
2569         (Fput_char_attribute): Likewise.
2570         (syms_of_mule_charset): Add new symbol `total-strokes'.
2571         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2572
2573 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2574
2575         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2576         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2577         are found.
2578         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2579         `->decomposition' attribute.
2580         (Fput_char_attribute): Likewise.
2581         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2582
2583 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2584
2585         * mule-charset.c (decoding_table_check_elements): New function.
2586         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2587
2588 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2589
2590         * mule-charset.c (Fset_charset_mapping_table): Use
2591         `put_char_ccs_code_point'.
2592
2593 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2594
2595         * mule-charset.c (decoding_table_put_char): New inline function.
2596         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2597
2598 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2599
2600         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2601         (XCHARSET_BYTE_SIZE): New macro.
2602         (decoding_table_remove_char): New inline function.
2603         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2604         `decoding_table_remove_char'.
2605         (remove_char_ccs): Use `decoding_table_remove_char'.
2606         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2607
2608 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2609
2610         * mule-charset.c (Vcharacter_name_table): New variable.
2611         (Qname): New variable.
2612         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2613         attribute.
2614         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2615         `Vcharacter_name_table' for `name' attribute.
2616         (Fremove_char_attribute): Use function `remove_char_ccs'.
2617         (put_char_ccs_code_point): New function.
2618         (remove_char_ccs): New function.
2619         (syms_of_mule_charset): Add new symbol `name'.
2620         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2621
2622 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2623
2624         * mule-charset.c (make_byte_table): Add new argument `older'.
2625         (make_char_id_table): Likewise.
2626         (copy_char_id_table): Comment out because it is not used.
2627         (put_char_id_table): Modify for `make_byte_table'.
2628         (Fput_char_attribute): Make encoding_table as older object;
2629         inherit older bit of `Vcharacter_composition_table'.
2630         (mark_charset): Don't mark `cs->encoding_table'.
2631         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2632         normal object; make `Vcharacter_composition_table' as an older
2633         object; delete staticpro for `Vcharacter_composition_table'; make
2634         `Vcharacter_variant_table' as a normal object.
2635
2636         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2637         (mark_object): Don't check older object in UTF-2000.
2638
2639         * lrecord.h (struct lrecord_header): Add new member `older' in
2640         UTF-2000.
2641         (set_lheader_implementation): Setup `SLI_header->older' in
2642         UTF-2000.
2643         (set_lheader_older_implementation): New macro in UTF-2000.
2644         (OLDER_RECORD_P): New macro in UTF-2000.
2645         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2646         (alloc_older_lcrecord): New prototype in UTF-2000.
2647         (alloc_older_lcrecord_type): New macro in UTF-2000.
2648
2649 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2650
2651         * mule-charset.c (byte_table_description): Use
2652         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2653         (char_id_table_description): Delete bogus `, 1'.
2654         (Fget_char_attribute): Refer encoding_table of each coded-charset
2655         to get value of coded-charset attribute of a character.
2656         (Fput_char_attribute): Use `make_older_vector' instead of
2657         `make_vector'; use encoding_table of each coded-charset to store
2658         value of coded-charset attribute of a character.
2659         (Fremove_char_attribute): Use encoding_table of each coded-charset
2660         to store value of coded-charset attribute of a character.
2661         (mark_charset): Mark `cs->encoding_table'; don't mark
2662         `cs->decoding_table'.
2663         (charset_description): Add description of new member
2664         `encoding_table'.
2665         (make_charset): Initialize `encoding_table'.
2666
2667         * char-ucs.h (struct Lisp_Charset): Add new member
2668         `encoding_table'.
2669         (CHARSET_ENCODING_TABLE): New macro.
2670         (XCHARSET_ENCODING_TABLE): New macro.
2671         (charset_code_point): New implementation.
2672         (encode_char_1): Likewise.
2673
2674         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2675         (disksave_object_finalization_1): Call finalizers of
2676         `all_older_lcrecords' in UTF-2000.
2677         (make_older_vector): New function in UTF-2000.
2678         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2679         UTF-2000.
2680
2681         * lisp.h (make_older_vector): New prototype in UTF-2000.
2682
2683 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2684
2685         * lrecord.h (enum lrecord_type): Rename
2686         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2687
2688         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2689         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2690         `get_char_code_table'.
2691
2692         * mule-charset.c (mark_char_id_table): Renamed from
2693         `mark_char_code_table'.
2694         (char_id_table_equal): Renamed from `char_code_table_equal'.
2695         (char_id_table_hash): Renamed from `char_code_table_hash'.
2696         (make_char_id_table): Renamed from `make_char_code_table'.
2697         (copy_char_id_table): Renamed from `copy_char_code_table'.
2698         (get_char_id_table): Renamed from `get_char_code_table'.
2699         (put_char_id_table): Renamed from `put_char_code_table'.
2700         (to_char_id): Renamed from `to_char_code'.
2701
2702         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2703         `Lisp_Char_Code_Table'.
2704         (char_id_table): Renamed from `char_code_table'.
2705         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2706         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2707         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2708         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2709         (get_char_id_table): Renamed from `get_char_code_table'.
2710
2711 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2712
2713         * lrecord.h (enum lrecord_type): Rename
2714         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2715
2716         * mule-charset.c (mark_byte_table): Renamed from
2717         `mark_char_byte_table'.
2718         (byte_table_equal): Renamed from `char_byte_table_equal'.
2719         (byte_table_hash): Renamed from `byte_table_hash'.
2720         (make_byte_table): Renamed from `make_byte_table'.
2721         (copy_byte_table): Renamed from `copy_char_byte_table'.
2722
2723         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2724         `Lisp_Char_Byte_Table'.
2725         (byte_table): Renamed from `char_byte_table'.
2726         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2727         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2728         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2729         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2730
2731 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2732
2733         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2734         (dfc_convert_to_internal_format): Likewise.
2735         
2736         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2737         * text-coding.c (Fcoding_system_alias_p): New function.
2738         * text-coding.c (Fcoding_system_aliasee): New function.
2739         * text-coding.c (append_suffix_to_symbol): New function.
2740         * text-coding.c (dangling_coding_system_alias_p): New function.
2741         * text-coding.c (Ffind_coding_system):
2742         * text-coding.c (Fcopy_coding_system):
2743         * text-coding.c (encode_coding_no_conversion):
2744         * text-coding.c (syms_of_file_coding):
2745         * text-coding.c (vars_of_file_coding):
2746         Rewrite coding system alias code.
2747         Allow nested aliases, like symbolic links.
2748         Allow redefinition of coding system aliases.
2749         Prevent existence of dangling coding system aliases.
2750         Eliminate convert_to_external_format.
2751         Eliminate convert_to_internal_format.
2752         
2753         * text-coding.c: Change enum eol_type to eol_type_t.
2754
2755 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2756
2757         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2758         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2759
2760         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2761         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2762
2763 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2764
2765         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2766         `ideograph-daikanwa'.
2767
2768         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2769         (Vcharset_ucs_bmp): Likewise.
2770         (Vcharset_mojikyo): Add new extern variable definition.
2771         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2772         (Vcharset_latin_iso8859_3): Likewise.
2773         (Vcharset_latin_iso8859_4): Likewise.
2774         (Vcharset_latin_iso8859_9): Likewise.
2775         (Vcharset_latin_viscii_lower): Likewise.
2776         (Vcharset_latin_viscii_upper): Likewise.
2777         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2778         `mojikyo' code-point is used to decode.
2779         (encode_char_2): New function [to convert `mojikyo' code-point to
2780         Mojikyo font encoding].
2781         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2782         (breakup_char_1): Likewise.
2783         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2784
2785 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2786
2787         * text-coding.c (Fmake_coding_system): Add document about
2788         `disable-composition' property.
2789
2790 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2791
2792         * text-coding.c (Qdisable_composition): New variable; delete
2793         `Qcomposite'.
2794         (Fmake_coding_system): Add new property `disable-composite';
2795         delete property `composite'.
2796         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2797         instead of `!CODING_SYSTEM_COMPOSITE'.
2798         (syms_of_file_coding): Add new symbol `disable-composition';
2799         delete symbol `composite'.
2800
2801         * file-coding.h (struct Lisp_Coding_System): Add
2802         `disable_composition'; delete `enable_composition'.
2803         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2804         `CODING_SYSTEM_COMPOSITE'.
2805         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2806         `XCODING_SYSTEM_COMPOSITE'.
2807
2808 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2809
2810         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2811         to 0.15.
2812
2813 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2814
2815         * text-coding.c (Qcomposite): New variable.
2816         (Fmake_coding_system): Add new property `composite'.
2817         (struct decoding_stream): Add `combined_char_count',
2818         `combined_chars' and `combining_table' in UTF-2000.
2819         (COMPOSE_FLUSH_CHARS): New macro.
2820         (COMPOSE_ADD_CHAR): New macro.
2821         (reset_decoding_stream): Reset `str->combined_char_count' and
2822         `str->combining_table' in UTF-2000.
2823         (decode_coding_iso2022): Modify for character-decomposition.
2824         (syms_of_file_coding): Add new symbol `composite'.
2825
2826 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2827
2828         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2829         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2830         of `Vcharacter_composition_table' if `->decomposition' property
2831         has only 1 element.
2832         (Qlatin_tcvn5712): New variable.
2833         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2834         (complex_vars_of_mule_charset): Add new coded-charset
2835         `latin-tcvn5712'.
2836
2837         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2838
2839 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2840
2841         * file-coding.h (struct Lisp_Coding_System): Add
2842         `enable_composition'.
2843         (CODING_SYSTEM_COMPOSITE): New macro.
2844         (XCODING_SYSTEM_COMPOSITE): New macro.
2845
2846 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2847
2848         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2849
2850 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2851
2852         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2853         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2854
2855 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2856
2857         * mule-charset.c (Vcharset_mojikyo): New variable.
2858         (Fdefine_char): Don't use coded-charset which does not have
2859         non-builtin character range to allocate character-id.
2860         (Qmojikyo): New variable.
2861         (syms_of_mule_charset): Add new symbol `mojikyo'.
2862         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2863
2864         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2865         (LEADING_BYTE_MOJIKYO): New macro.
2866         (MIN_CHAR_MOJIKYO): New macro.
2867         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2868         (MAX_CHAR_MOJIKYO): New macro.
2869
2870 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2871
2872         * mule-charset.c (remove_char_attribute): Fixed.
2873
2874 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2875
2876         * mule-charset.c (remove_char_attribute): New function.
2877         (Fremove_char_attribute): New function.
2878         (encode_builtin_char_1): Comment out builtin-support for
2879         greek-iso8859-7 and cyrillic-iso8859-5.
2880         (Fdecode_char): Check `code' is an integer.
2881         (syms_of_mule_charset): Add `remove-char-attribute'.
2882         (MIN_CHAR_GREEK): Deleted.
2883         (MAX_CHAR_GREEK): Likewise.
2884         (MIN_CHAR_CYRILLIC): Likewise.
2885         (MAX_CHAR_CYRILLIC): Likewise.
2886         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2887         MAX_CHAR_GREEK for `greek-iso8859-7'.
2888
2889         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2890         (MAX_CHAR_GREEK): Likewise.
2891         (MIN_CHAR_CYRILLIC): Likewise.
2892         (MAX_CHAR_CYRILLIC): Likewise.
2893
2894 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2895
2896         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2897         format is used without `ucs' property.
2898         (Fdecode_char): Fix problem with GR representation.
2899         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2900         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2901
2902 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2903
2904         * mule-charset.c (make_builtin_char): New function.
2905         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2906         (Fset_charset_mapping_table): Modify for new representation of
2907         code-point.
2908         (Fdecode_char): New function.
2909         (syms_of_mule_charset): Add new builtin function `decode-char' in
2910         UTF-2000.
2911
2912         * char-ucs.h (make_builtin_char): New prototype.
2913         (DECODE_CHAR): New inline function.
2914         (MAKE_CHAR): Use `DECODE_CHAR'.
2915
2916 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2917
2918         * text-coding.c (parse_charset_conversion_specs): Use
2919         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2920         `XCHARSET_TYPE'.
2921         (iso2022_designate): Likewise.
2922
2923         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2924         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2925
2926         * mule-charset.c (Vcharset_ucs): New variable.
2927         (print_charset): Change design; use `CHARSET_CHARS' and
2928         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2929         (make_charset): Change signature to specify `chars' and
2930         `dimension' instead of `type'.
2931         (range_charset_code_point): Modify for 256^n-set.
2932         (encode_builtin_char_1): Encode as `ucs' in default.
2933         (Fmake_charset): Modify for `make_charset'.
2934         (Fmake_reverse_direction_charset): Likewise.
2935         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2936         UTF-2000.
2937         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2938         for `make_charset'.
2939
2940         * char-ucs.h (Vcharset_ucs): New variable.
2941         (LEADING_BYTE_UCS): New macro.
2942         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2943         and `chars' to `unsigned short' from `unsigned int'.
2944         (CHARSET_TYPE): Deleted.
2945         (XCHARSET_TYPE): Deleted.
2946
2947 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2948
2949         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2950
2951         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2952         (ENCODE_CHAR): New macro.
2953
2954 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2955
2956         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2957         to 0.14 (Kawachi-Katakami).
2958
2959 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2960
2961         * text-coding.c (char_encode_shift_jis): Modify for
2962         `charset_code_point'.
2963         (char_encode_iso2022): Likewise.
2964
2965         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2966         (integer) instead of list of <Lisp_Object>s (integers) as the
2967         format of code-point of a coded-charset.
2968         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2969         (encode_builtin_char_1): New function; delete
2970         `split_builtin_char'.
2971         (charset_code_point): Return <int> instead of <Lisp_Object>.
2972         (Fsplit_char): Don't use `SPLIT_CHAR'.
2973
2974         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2975         prototype for `split_builtin_char'.
2976         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2977         (charset_code_point): Likewise.
2978         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2979         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2980
2981 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2982
2983         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2984         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2985
2986 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2987
2988         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2989
2990         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2991         (MAX_CHAR_OBS_94x94): Deleted.
2992
2993 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2994
2995         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2996
2997         * char-ucs.h (MAX_CHAR_BMP): New macro.
2998
2999 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3000
3001         * text-coding.c: Sync with r21-2-24.
3002
3003 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3004
3005         * file-coding.c: Modify for UTF-2000.
3006
3007 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3008
3009         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3010         to 0.13 (Takaida).
3011
3012 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3013
3014         * mule-charset.c (split_builtin_char): Delete builtin support for
3015         `katakana-jisx0201'.
3016         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3017         BMP area in builtin representation.
3018
3019         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3020         `Vcharset_katakana_jisx0201'.
3021
3022 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3023
3024         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3025         (Qisolated): New variable.
3026         (Qinitial): New variable.
3027         (Qmedial): New variable.
3028         (Qfinal): New variable.
3029         (Qvertical): New variable.
3030         (Qsmall): New variable.
3031         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3032         `Qvertical' and `Qsmall'.
3033         (Qmojikyo_pj_[1 .. 21]): New variable.
3034         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3035         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3036         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3037         .. 21]'.
3038
3039 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3040
3041         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3042         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3043         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3044
3045 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3046
3047         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3048         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3049         BMP.
3050         (Qjapanese_jisx0208_1990): New variable.
3051         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3052         (complex_vars_of_mule_charset): Add new coded-charset
3053         `japanese-jisx0208-1990'.
3054
3055         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3056         (MIN_CHAR_JIS_X0208_1990): New macro.
3057         (MAX_CHAR_JIS_X0208_1990): New macro.
3058
3059 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3060
3061         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3062         coded-charset is not found.
3063
3064 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3065
3066         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3067         (Fdefine_char): Use `Fmake_char'.
3068
3069 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3070
3071         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3072         (Vcharset_hiragana_jisx0208): Deleted.
3073         (Vcharset_katakana_jisx0208): Deleted.
3074         (Qideograph_daikanwa): New variable.
3075         (Qhiragana_jisx0208): Deleted.
3076         (Qkatakana_jisx0208): Deleted.
3077         (split_builtin_char): Split `ideograph-daikanwa'.
3078         (Fsplit_char): New implementation for UTF-2000.
3079         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3080         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3081         (complex_vars_of_mule_charset): Add new coded-charset
3082         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3083         `katakana-jisx0208'.
3084
3085         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3086         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3087         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3088         (MIN_CHAR_DAIKANWA): New macro.
3089         (MAX_CHAR_DAIKANWA): New macro.
3090
3091 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3092
3093         * data.c (Fstring_to_number): Don't recognize floating point if
3094         base is not 10.
3095
3096 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3097
3098         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3099
3100 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3101
3102         * mule-charset.c (Qsquare): New variable.
3103         (to_char_code): Add `Qsquare'.
3104         (syms_of_mule_charset): Add new symbol `square'.
3105
3106 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3107
3108         * mule-charset.c (Qcircle): New variable.
3109         (to_char_code): Add `Qcircle'.
3110         (syms_of_mule_charset): Add new symbol `circle'.
3111
3112 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3113
3114         * mule-charset.c (Qfont): New variable.
3115         (to_char_code): Add `Qfont'.
3116         (syms_of_mule_charset): Add new symbol `font'.
3117
3118 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3119
3120         * mule-charset.c (Qsub): New variable.
3121         (to_char_code): Add `Qsub'.
3122         (syms_of_mule_charset): Add new symbol `sub'.
3123
3124 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3125
3126         * mule-charset.c (Fput_char_attribute): Convert each element of
3127         VALUE to GL position if ATTRIBUTE is a GR-set,
3128
3129 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3130
3131         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3132         coded-charset is a GR-set.
3133
3134 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3135
3136         * mule-charset.c (Fput_char_attribute): Check each element of
3137         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3138
3139 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3140
3141         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3142         UTF-2000.
3143         (Qethiopic_ucs): New variable in UTF-2000.
3144         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3145         (complex_vars_of_mule_charset): Add new coded-charset
3146         `ethiopic-ucs' in UTF-2000.
3147
3148         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3149         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3150         9)'.
3151         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3152         10)'.
3153         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3154
3155 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3156
3157         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3158         `ascii'.
3159
3160 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3161
3162         * mule-charset.c (Vcharacter_variant_table): New variable.
3163         (Q_ucs): New variable.
3164         (Fchar_variants): New function.
3165         (Fput_char_attribute): Register `->ucs' value to
3166         `Vcharacter_variant_table'.
3167         (syms_of_mule_charset): Add new function `char-variants' and new
3168         symbol `->ucs'.
3169         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3170
3171 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3172
3173         * mule-charset.c (get_char_code_table): Allow negative character
3174         code.
3175         (put_char_code_table): Likewise.
3176         (Vcharacter_composition_table): New variable.
3177         (Q_decomposition): New variable.
3178         (Qwide): New variable.
3179         (Qnarrow): New variable.
3180         (Qcompat): New variable.
3181         (QnoBreak): New variable.
3182         (Qsuper): New variable.
3183         (Qfraction): New variable.
3184         (to_char_code): New function.
3185         (Fget_composite_char): New function.
3186         (Fput_char_attribute): Register `->decomposition' value to
3187         `Vcharacter_composition_table'.
3188         (syms_of_mule_charset): Add new function `get-composite-char', new
3189         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3190         `super' and `fraction'.
3191         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3192
3193 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3194
3195         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3196         character; copy the return value.
3197
3198 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3199
3200         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3201
3202         * mule-charset.c (range_charset_code_point): Must use make_int.
3203         (split_builtin_char): New function.
3204
3205 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3206
3207         * mule-charset.c (char_byte_table): Change name from
3208         "char-code-table" to "char-byte-table".
3209         (mark_char_code_table): New function.
3210         (char_code_table_equal): New function.
3211         (char_code_table_hash): New function.
3212         (char_code_table_description): New constant.
3213         (char_code_table): New type.
3214         (make_char_code_table): New function.
3215         (copy_char_code_table): New function.
3216         (get_char_code_table): Modify for `char_code_table' type.
3217         (put_char_code_table): Likewise.
3218         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3219         (Kashiwara).
3220
3221         * char-ucs.h (char_code_table): New type.
3222         (XCHAR_CODE_TABLE): New macro.
3223         (XSETCHAR_CODE_TABLE): New macro.
3224         (CHAR_CODE_TABLE_P): New macro.
3225         (GC_CHAR_CODE_TABLE_P): New macro.
3226         (struct Lisp_Char_Code_Table): New structure.
3227
3228 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3229
3230         * mule-charset.c (Fmake_charset): Setup byte_offset for
3231         {94|96}^n-set.
3232
3233 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3234
3235         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3236         character.
3237
3238 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3239
3240         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3241         is found.
3242
3243 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3244
3245         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3246         charset, it is regarded as a charset.
3247         (put_char_attribute): New function in UTF-2000.
3248         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3249         charset, mapping-table of the charset is modified.
3250         (Fdefine_char): New function in UTF-2000.
3251         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3252         `Fput_char_attribute'.
3253         (syms_of_mule_charset): Add new function `define-char' and new
3254         symbol `ucs' in UTF-2000.
3255         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3256
3257 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3258
3259         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3260         non-UTF-2000 configuration.
3261
3262 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3263
3264         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3265         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3266
3267         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3268         deleted.
3269         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3270         (Fset_charset_mapping_table): Likewise.
3271
3272         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3273         (CHARSET_ENCODING_TABLE): Delete.
3274         (XCHARSET_ENCODING_TABLE): Delete.
3275         (charset_code_point): New interface.
3276
3277 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3278
3279         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3280         instead of `charset_get_byte1' and `charset_get_byte2'.
3281
3282         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3283         (charset_get_byte2): Deleted.
3284
3285 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3286
3287         * char-ucs.h (SPLIT_CHAR): New inline function.
3288         (breakup_char_1): Use `SPLIT_CHAR'.
3289
3290         * mule-charset.c (range_charset_code_point): New function.
3291         (charset_code_point): New function.
3292
3293         * char-ucs.h (range_charset_code_point): New interface.
3294         (breakup_char_1): Use `range_charset_code_point'.
3295
3296 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3297
3298         * mule-charset.c (Fmake_charset): Delete unused local variable
3299         `code_offset'.
3300
3301         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3302         (breakup_char_1): Find a charset and code-point in
3303         `Vcharacter_attribute_table'.
3304
3305 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3306
3307         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3308         to 0.10 (Yao).
3309
3310 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3311
3312         * mule-charset.c (Vcharacter_attribute_table): New variable.
3313         (Fchar_attribute_alist): New function.
3314         (Fget_char_attribute): New function.
3315         (Fput_char_attribute): New function.
3316         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3317         too.
3318         (syms_of_mule_charset): Add new function `char-attribute-alist',
3319         `get-char-attribute' and `put-char-attribute'.
3320         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3321
3322 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3323
3324         * mule-charset.c (Fmake_charset): Just use
3325         `get_unallocated_leading_byte'.
3326
3327         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3328         sets; don't use final-byte based number for private sets.
3329
3330 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3331
3332         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3333         integer.
3334
3335 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3336
3337         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3338         to 0.9.
3339
3340 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3341
3342         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3343         of `CHAR_LEADING_BYTE' in UTF-2000.
3344
3345         * insdel.c (find_charsets_in_bufbyte_string): Use
3346         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3347         (find_charsets_in_emchar_string): Likewise.
3348
3349         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3350         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3351
3352         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3353         (CHAR_CHARSET_ID): New macro.
3354
3355 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3356
3357         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3358         charset-id - MIN_LEADING_BYTE.
3359         (put_char_table): Likewise.
3360
3361 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3362
3363         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3364         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3365         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3366         (CHARSET_ID_OFFSET): New macro.
3367         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3368         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3369         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3370         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3371         4).
3372         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3373         5).
3374         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3375         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3376         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3377         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3378         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3379
3380 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3381
3382         * mule-charset.c (next_allocated_leading_byte): New variable in
3383         UTF-2000.
3384         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3385         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3386         (get_unallocated_leading_byte): Simply use
3387         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3388         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3389         UTF-2000.
3390
3391         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3392         (MAX_LEADING_BYTE_PRIVATE): New macro.
3393         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3394         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3395
3396 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3397
3398         * mule-charset.c (Fmake_charset): Allocate final-byte based
3399         charset-id for 94-set, 96-set and 94x94-set.
3400
3401 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3402
3403         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3404         ambiguous `else'.
3405         (Fmake_charset): Likewise.
3406         (complex_vars_of_mule_charset): Modify the font registry of
3407         `ucs-bmp' not to match `Ethiopic-Unicode'.
3408
3409 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3410
3411         * mule-charset.c (complex_vars_of_mule_charset): Add font
3412         registory of `ucs-bmp'.
3413
3414 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3415
3416         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3417         coded-charsets in `default-coded-charset-priority-list' when
3418         breaking up a character.
3419
3420         * mule-charset.c (Vcharset_latin_viscii): New variable.
3421         (Qlatin_viscii): New variable.
3422         (make_charset): Don't use `decoding_table'.
3423         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3424         byte_offset.
3425         (Fset_charset_mapping_table): New implementation.
3426         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3427         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3428         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3429         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3430         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3431         charset `latin_viscii'.
3432
3433         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3434         (CHARSET_TYPE_94X94): Change to 1 from 2.
3435         (CHARSET_TYPE_96): Change to 2 from 1.
3436         (CHARSET_TYPE_128): New macro.
3437         (CHARSET_TYPE_128X128): Change to 5 from 4.
3438         (CHARSET_TYPE_256): New macro.
3439         (CHARSET_TYPE_256X256): Change to 7 from 5.
3440         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3441
3442 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3443
3444         * text-coding.c (char_encode_shift_jis): Refer
3445         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3446         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3447
3448         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3449         (char_byte_table_equal): New function in UTF-2000.
3450         (char_byte_table_hash): New function in UTF-2000.
3451         (char_byte_table_description): New constant in UTF-2000.
3452         (char_byte_table): New type in UTF-2000.
3453         (make_char_byte_table): New function in UTF-2000.
3454         (copy_char_byte_table): New function in UTF-2000.
3455         (make_char_code_table): New macro in UTF-2000.
3456         (get_char_code_table): New function in UTF-2000.
3457         (put_char_code_table): New function in UTF-2000.
3458         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3459         (charset_description): Add setting in UTF-2000.
3460         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3461         `CHARSET_TO_BYTE1_TABLE(cs)'.
3462         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3463         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3464         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3465         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3466         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3467         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3468         `CHARSET_TO_BYTE2_TABLE(cs)'.
3469
3470         * char-ucs.h (char_byte_table): New type.
3471         (XCHAR_BYTE_TABLE): New macro.
3472         (XSETCHAR_BYTE_TABLE): New macro.
3473         (CHAR_BYTE_TABLE_P): New macro.
3474         (GC_CHAR_BYTE_TABLE_P): New macro.
3475         (struct Lisp_Char_Byte_Table): New structure.
3476         (get_char_code_table): New interface.
3477         (Emchar_to_byte_table): Deleted.
3478         (get_byte_from_character_table): Deleted.
3479         (struct Lisp_Charset): Add `encoding_table'; delete
3480         `to_byte1_table' and `to_byte2_table'.
3481         (CHARSET_ENCODING_TABLE): New macro.
3482         (CHARSET_TO_BYTE1_TABLE): Deleted.
3483         (CHARSET_TO_BYTE2_TABLE): Deleted.
3484         (XCHARSET_ENCODING_TABLE): New macro.
3485         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3486         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3487
3488 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3489
3490         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3491         `vietnamese-viscii-*'.
3492
3493 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3494
3495         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3496         (Qvietnamese_viscii_upper): New variable.
3497         (Fdefine_charset_alias): New function.
3498         (syms_of_mule_charset): Add new function `define-charset-alias'.
3499         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3500         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3501         `latin-viscii-*'.
3502
3503 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3504
3505         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3506         (MAX_CHAR_OBS_94x94): New macro.
3507         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3508         for 94x94 sets.
3509
3510         * mule-charset.c (put_byte_from_character_table): Change unit size
3511         from 128 to 256.
3512         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3513         not defined.
3514         (Fmake_reverse_direction_charset): Modify dummy argument of
3515         `make_charset' for non-UTF-2000 environment.
3516
3517 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3518
3519         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3520
3521         * mule-charset.c (destroy_byte_from_character_table): New macro.
3522         (latin_jisx0201_to_ucs): Deleted.
3523         (latin_iso8859_2_to_ucs): Deleted.
3524         (latin_iso8859_3_to_ucs): Deleted.
3525         (latin_iso8859_4_to_ucs): Deleted.
3526         (latin_iso8859_9_to_ucs): Deleted.
3527         (latin_viscii_lower_to_ucs): Deleted.
3528         (latin_viscii_upper_to_ucs): Deleted.
3529         (mark_charset): Mark `cs->decoding_table'.
3530         (Fcharset_mapping_table): Fix DOC-string.
3531         (Fset_charset_mapping_table): New function.
3532         (syms_of_mule_charset): Add nwe function
3533         `set-charset-mapping-table'.
3534         (complex_vars_of_mule_charset): Don't setup and use
3535         `latin_*_to_ucs'.
3536
3537 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3538
3539         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3540         charset.
3541
3542 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3543
3544         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3545         (Vcharset_katakana_jisx0208): New variable.
3546         (Qhiragana_jisx0208): New variable.
3547         (Qkatakana_jisx0208): New variable.
3548         (make_charset): Add new argument `byte_offset'.
3549         (charset_get_byte1): Modify for new coded-charset definition; use
3550         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3551         `XCHARSET_BYTE_OFFSET'.
3552         (Fmake_charset): Modify for `make_charset'.
3553         (Fmake_reverse_direction_charset): Likewise.
3554         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3555         `katakana-jisx0208'.
3556         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3557         `.'  in font registry of charset `katakana-jisx0201',
3558         `latin-jisx0201', `vietnamese-viscii-lower' and
3559         `vietnamese-viscii-upper'; modify DOC-string of charset
3560         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3561         registry of charset `japanese-jisx0208' not to use font for JIS
3562         X0208:1990; add new charset `hiragana-jisx0208' and
3563         `katakana-jisx0208'.
3564
3565         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3566         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3567         (struct Lisp_Charset): Add `byte_offset'.
3568         (CHARSET_BYTE_OFFSET): New macro.
3569         (XCHARSET_UCS_MIN): New macro.
3570         (XCHARSET_UCS_MAX): New macro.
3571         (XCHARSET_CODE_OFFSET): New macro.
3572         (XCHARSET_BYTE_OFFSET): New macro.
3573         (MIN_CHAR_HIRAGANA): New macro.
3574         (MAX_CHAR_HIRAGANA): New macro.
3575         (MIN_CHAR_KATAKANA): New macro.
3576         (MAX_CHAR_KATAKANA): New macro.
3577         (MAKE_CHAR): Modify for new coded-charset definition; use
3578         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3579         `XCHARSET_BYTE_OFFSET'.
3580
3581 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3582
3583         * mule-charset.c (CHAR96): Deleted.
3584         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3585         <Lisp_Object>.
3586         (latin_iso8859_2_to_ucs): Likewise.
3587         (latin_iso8859_3_to_ucs): Likewise.
3588         (latin_iso8859_4_to_ucs): Likewise.
3589         (latin_iso8859_9_to_ucs): Likewise.
3590         (latin_viscii_lower_to_ucs): Likewise.
3591         (latin_viscii_upper_to_ucs): Likewise.
3592         (latin_tcvn5712_to_ucs): Commented out.
3593         (make_charset): Change type of argument `decoding_table' from
3594         <Emchar*> to <Lisp_Object> [vector of characters].
3595         (Fmake_charset): Modify for `make_charset'.
3596         (Fmake_reverse_direction_charset): Likewise.
3597         (Fcharset_mapping_table): New function in UTF-2000.
3598         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3599         UTF-2000.
3600         (complex_vars_of_mule_charset): Modify for type change of
3601         `*_to_ucs'; modify for `make_charset'.
3602
3603         * char-ucs.h (struct Lisp_Charset): Change type of
3604         `decoding_table' from <Emchar*> to <Lisp_Object>.
3605         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3606
3607 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3608
3609         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3610         error with non-UTF-2000-Mule.
3611
3612 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3613
3614         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3615         in lisp again].
3616         (Vcharset_chinese_cns11643_4): Likewise.
3617         (Vcharset_chinese_cns11643_5): Likewise.
3618         (Vcharset_chinese_cns11643_6): Likewise.
3619         (Vcharset_chinese_cns11643_7): Likewise.
3620         (Qchinese_cns11643_3): Likewise.
3621         (Qchinese_cns11643_4): Likewise.
3622         (Qchinese_cns11643_5): Likewise.
3623         (Qchinese_cns11643_6): Likewise.
3624         (Qchinese_cns11643_7): Likewise.
3625         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3626         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3627         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3628         (complex_vars_of_mule_charset): Likewise.
3629
3630 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3631
3632         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3633         96-set.
3634         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3635         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3636
3637 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3638
3639         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3640         0xFF60.
3641         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3642         (breakup_char_1): Likewise.
3643
3644         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3645         one of them includes the specified character.
3646
3647 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3648
3649         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3650
3651 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3652
3653         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3654
3655 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3656
3657         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3658         definition for non-UTF-2000 Mule.
3659         (latin_iso8859_3_to_ucs): Likewise.
3660         (latin_iso8859_4_to_ucs): Likewise.
3661         (latin_iso8859_9_to_ucs): Likewise.
3662         (latin_jisx0201_to_ucs): Likewise.
3663         (MIN_CHAR_THAI): Likewise.
3664         (MAX_CHAR_THAI): Likewise.
3665         (MIN_CHAR_GREEK): Likewise.
3666         (MAX_CHAR_GREEK): Likewise.
3667         (MIN_CHAR_HEBREW): Likewise.
3668         (MAX_CHAR_HEBREW): Likewise.
3669         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3670         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3671         (MIN_CHAR_CYRILLIC): Likewise.
3672         (MAX_CHAR_CYRILLIC): Likewise.
3673
3674 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3675
3676         * char-ucs.h (breakup_char_1): Use
3677         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3678         thai-tis620 and katakana-jisx0201 area.
3679
3680 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3681
3682         * char-ucs.h (breakup_char_1): Use
3683         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3684         area.
3685
3686         * text-coding.c (reset_encoding_stream): Fixed.
3687         (char_encode_ucs4): Delete `& 255'.
3688
3689         * char-ucs.h (breakup_char_1): Use
3690         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3691
3692 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3693
3694         * file-coding.c (Fmake_coding_system): Don't set up
3695         `codesys->fixed.size'.
3696         (encode_coding_no_conversion): Don't refer
3697         `str->codesys->fixed.size'.
3698
3699 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3700
3701         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3702         (latin_a_char_to_byte1): Deleted.
3703         (latin_a_char_to_byte2): Deleted.
3704
3705 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3706
3707         * mule-charset.c (make_charset): Add new argument `ucs_min',
3708         `ucs_max' and `code_offset'.
3709         (charset_get_byte1): New implementation [delete specific charset
3710         depended implementations].
3711         (Fmake_charset): Modify for `make_charset'.
3712         (Fmake_reverse_direction_charset): Likewise.
3713         (complex_vars_of_mule_charset): Likewise.
3714
3715         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3716         `code_offset'.
3717         (CHARSET_UCS_MIN): New macro.
3718         (CHARSET_UCS_MAX): New macro.
3719         (CHARSET_CODE_OFFSET): New macro.
3720         (MAKE_CHAR): Delete charset depended definitions [except
3721         katakana-jisx0201].
3722
3723 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3724
3725         * char-ucs.h (breakup_char_1): Use
3726         `Vdefault_coded_charset_priority_list' for C0-Controls,
3727         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3728
3729 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3730
3731         * char-ucs.h (charset_get_byte1): New function.
3732         (XCHARSET_GET_BYTE1): Deleted.
3733         (charset_get_byte2): New function.
3734         (XCHARSET_GET_BYTE2): Deleted.
3735         (Vdefault_coded_charset_priority_list): New external variable.
3736         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3737         `Vdefault_preferred_coded_charset_list'.
3738
3739         * mule-charset.c (charset_get_byte1): New function.
3740         (charset_get_byte2): New function.
3741         (Vdefault_coded_charset_priority_list): New variable.
3742         (vars_of_mule_charset): Add new variable
3743         `default-coded-charset-priority-list'.
3744
3745 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3746
3747         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3748         (XCHARSET_GET_BYTE2): New inline function.
3749         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3750         `XCHARSET_GET_BYTE2'.
3751
3752 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3753
3754         * mule-charset.c (make_charset): Initialize
3755         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3756         NULL if table is not defined.
3757
3758 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3759
3760         * text-coding.c (char_encode_shift_jis): Use
3761         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3762         `ucs_to_latin_jisx0201'.
3763
3764         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3765         (ucs_to_latin_iso8859_2): Deleted.
3766         (ucs_to_latin_iso8859_3): Deleted.
3767         (ucs_to_latin_iso8859_4): Deleted.
3768         (ucs_to_latin_iso8859_9): Deleted.
3769         (ucs_to_latin_viscii_lower): Deleted.
3770         (ucs_to_latin_viscii_upper): Deleted.
3771         (ucs_to_latin_tcvn5712): Deleted.
3772         (make_charset): Add new argument `decoding_table'; set up
3773         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3774         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3775         `decoding_table' is defined in UTF-2000.
3776         (Fmake_charset): Modify for `make_charset'.
3777         (Fmake_reverse_direction_charset): Likewise.
3778         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3779         and `GENERATE_96_SET'.
3780
3781         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3782         (ucs_to_latin_jisx0201): Deleted.
3783         (latin_iso8859_2_to_ucs): Deleted.
3784         (ucs_to_latin_iso8859_2): Deleted.
3785         (latin_iso8859_3_to_ucs): Deleted.
3786         (ucs_to_latin_iso8859_3): Deleted.
3787         (latin_iso8859_4_to_ucs): Deleted.
3788         (ucs_to_latin_iso8859_4): Deleted.
3789         (latin_iso8859_9_to_ucs): Deleted.
3790         (ucs_to_latin_iso8859_9): Deleted.
3791         (latin_viscii_lower_to_ucs): Deleted.
3792         (ucs_to_latin_viscii_lower): Deleted.
3793         (latin_viscii_upper_to_ucs): Deleted.
3794         (ucs_to_latin_viscii_upper): Deleted.
3795         (struct Lisp_Charset): Renamed `encoding_table' to
3796         `to_byte1_table'; add `to_byte2_table'.
3797         (CHARSET_DECODING_TABLE): New macro.
3798         (CHARSET_TO_BYTE1_TABLE): New macro.
3799         (CHARSET_TO_BYTE2_TABLE): New macro.
3800         (XCHARSET_DECODING_TABLE): New macro.
3801         (XCHARSET_TO_BYTE1_TABLE): New macro.
3802         (XCHARSET_TO_BYTE2_TABLE): New macro.
3803         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3804         tables.
3805         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3806         don't use `ucs_to_*' tables.
3807
3808 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3809
3810         * text-coding.c (Fmake_coding_system): Don't set up
3811         `codesys->fixed.size'.
3812         (encode_coding_no_conversion): Use `if' instead of `switch'.
3813
3814         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3815
3816 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3817
3818         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3819         (Fmake_charset): Modify for `make_charset'.
3820         (Fmake_reverse_direction_charset): Likewise.
3821         (complex_vars_of_mule_charset): Likewise.
3822
3823 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3824
3825         * text-coding.c (char_encode_shift_jis): Use table
3826         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3827
3828 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3829
3830         * text-coding.c (text_encode_generic): Use `if' instead of
3831         `switch'.
3832         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3833         decode JIS-Latin.
3834
3835 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3836
3837         * text-coding.c (encode_coding_sjis): Deleted.
3838         (char_encode_shift_jis): New function.
3839         (char_finish_shift_jis): New function.
3840         (reset_encoding_stream): Set up `encode_char' and `finish' for
3841         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3842         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3843         (char_encode_utf8): Treat `eol_type'.
3844
3845 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3846
3847         * file-coding.c (decode_coding_iso2022): Use
3848         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3849
3850 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3851
3852         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3853         to 0.7 (Hirano).
3854
3855 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3856
3857         * char-lb.h (CHAR_COLUMNS): New macro.
3858
3859 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3860
3861         * text-coding.c (char_encode_ucs4): New function.
3862         (char_finish_ucs4): New function.
3863         (encode_coding_ucs4): Deleted.
3864         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3865         (text_encode_generic): Delete local variable `charset' and `half'.
3866         (ucs_to_mule_table): Deleted.
3867         (mule_to_ucs_table): Deleted.
3868         (Fset_ucs_char): Deleted.
3869         (ucs_to_char): Deleted.
3870         (Fucs_char): Deleted.
3871         (Fset_char_ucs): Deleted.
3872         (Fchar_ucs): Deleted.
3873         (decode_ucs4): Deleted.
3874         (mule_char_to_ucs4): Deleted.
3875         (encode_ucs4): Deleted.
3876         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3877         (decode_coding_utf8): Likewise.
3878         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3879         (char_encode_iso2022): Fixed.
3880         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3881         `Fset_char_ucs' and `Fchar_ucs'.
3882         (complex_vars_of_file_coding): Don't initialize
3883         `ucs_to_mule_table'.
3884
3885         * objects-tty.c (tty_initialize_font_instance): Don't use
3886         `XCHARSET_COLUMNS'.
3887
3888         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3889         UTF-2000.
3890
3891         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3892         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3893
3894         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3895         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3896         (emchar_string_displayed_columns): Likewise.
3897
3898         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3899         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3900         (string_column_at_point): Likewise.
3901         (Fmove_to_column): Likewise.
3902
3903         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3904         `encoding_table' and `decoding_table'.
3905         (CHARSET_REP_BYTES): Deleted.
3906         (XCHARSET_REP_BYTES): Deleted.
3907         (XCHARSET_COLUMNS): Deleted.
3908         (CHAR_COLUMNS): New macro.
3909         (lookup_composite_char): Deleted unconditionally.
3910         (composite_char_string): Likewise.
3911
3912 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3913
3914         * char-ucs.h (Emchar_to_byte_table): New type.
3915         (get_byte_from_character_table): New function interface.
3916         (Vcharset_latin_jisx0201): New variable.
3917         (latin_jisx0201_to_ucs): New variable.
3918         (ucs_to_latin_jisx0201): New variable.
3919         (Vcharset_latin_iso8859_2): New variable.
3920         (latin_iso8859_2_to_ucs): New variable.
3921         (ucs_to_latin_iso8859_2): New variable.
3922         (Vcharset_latin_iso8859_3): New variable.
3923         (latin_iso8859_3_to_ucs): New variable.
3924         (ucs_to_latin_iso8859_3): New variable.
3925         (Vcharset_latin_iso8859_4): New variable.
3926         (latin_iso8859_4_to_ucs): New variable.
3927         (ucs_to_latin_iso8859_4): New variable.
3928         (Vcharset_latin_iso8859_9): New variable.
3929         (latin_iso8859_9_to_ucs): New variable.
3930         (ucs_to_latin_iso8859_9): New variable.
3931         (Vcharset_latin_viscii_lower): New variable.
3932         (latin_viscii_lower_to_ucs): New variable.
3933         (ucs_to_latin_viscii_lower): New variable.
3934         (Vcharset_latin_viscii_upper): New variable.
3935         (latin_viscii_upper_to_ucs): New variable.
3936         (ucs_to_latin_viscii_upper): New variable.
3937         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3938         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3939         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3940         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3941         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3942         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3943         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3944         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3945         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3946         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3947
3948         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3949         (Vcharset_latin_viscii_upper): New variable.
3950         (make_byte_from_character_table): New function.
3951         (put_byte_from_character_table): New function.
3952         (get_byte_from_character_table): New function.
3953         (CHAR96): New macro.
3954         (ucs_to_latin_jisx0201): New variable.
3955         (latin_jisx0201_to_ucs): New variable.
3956         (ucs_to_latin_iso8859_2): New variable.
3957         (latin_iso8859_2_to_ucs): New variable.
3958         (ucs_to_latin_iso8859_3): New variable.
3959         (latin_iso8859_3_to_ucs): New variable.
3960         (ucs_to_latin_iso8859_4): New variable.
3961         (latin_iso8859_4_to_ucs): New variable.
3962         (ucs_to_latin_iso8859_9): New variable.
3963         (latin_iso8859_9_to_ucs): New variable.
3964         (ucs_to_latin_viscii_lower): New variable.
3965         (latin_viscii_lower_to_ucs): New variable.
3966         (ucs_to_latin_viscii_upper): New variable.
3967         (latin_viscii_upper_to_ucs): New variable.
3968         (ucs_to_latin_tcvn5712): New variable.
3969         (latin_tcvn5712_to_ucs): New variable.
3970         (Qlatin_viscii_lower): New variable.
3971         (Qlatin_viscii_upper): New variable.
3972         (syms_of_mule_charset): Set up new symbol
3973         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3974         (complex_vars_of_mule_charset): Set up new charset
3975         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3976         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3977         `ucs_to_<CHARSET>' tables.
3978
3979 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3980
3981         * text-coding.c: New file.
3982
3983 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3984
3985         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3986
3987         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3988         (MAKE_CHAR): Modify for `ucs-bmp'.
3989         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3990         non-MULE characters of BMP.
3991
3992 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3993
3994         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3995         to 0.6.
3996
3997 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3998
3999         * lstream.h:
4000         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4001         - Include character.h for `CHAR_ASCII_P'.
4002
4003         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4004
4005         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4006         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4007
4008         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4009         (BYTE_C0_P): Likewise.
4010         (BYTE_C1_P): Likewise.
4011         (Lstream_get_emchar_1): Likewise.
4012         (Lstream_fput_emchar): Likewise.
4013         (Lstream_funget_emchar): Likewise.
4014         (copy_internal_to_external): Likewise.
4015         (copy_external_to_internal): Likewise.
4016
4017         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4018         (BYTE_C0_P): Likewise.
4019         (BYTE_C1_P): Likewise.
4020         (Lstream_get_emchar_1): Likewise.
4021         (Lstream_fput_emchar): Likewise.
4022         (Lstream_funget_emchar): Likewise.
4023         (copy_internal_to_external): Likewise.
4024         (copy_external_to_internal): Likewise.
4025
4026         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4027         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4028
4029         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4030         (BYTE_ASCII_P): Moved to mb-1byte.h.
4031
4032 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4033
4034         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4035
4036         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4037         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4038         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4039         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4040         (VALIDATE_CHARPTR_FORWARD): Likewise.
4041         (simple_charptr_emchar): Moved to mb-multibyte.h.
4042         (simple_set_charptr_emchar): Likewise.
4043         (simple_charptr_copy_char): Likewise.
4044         (non_ascii_charptr_emchar): Likewise.
4045         (non_ascii_set_charptr_emchar): Likewise.
4046         (non_ascii_charptr_copy_char): Likewise.
4047         (charptr_emchar): Moved to mb-*byte.h.
4048         (set_charptr_emchar): Likewise.
4049         (charptr_copy_char): Likewise.
4050
4051         * mb-1byte.h, mb-multibyte.h: New files.
4052
4053 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4054
4055         * mb-utf-8.h (MULTIBYTE): New macro.
4056         (MAX_EMCHAR_LEN): Moved from buffer.h.
4057         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4058
4059         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4060
4061         * mb-lb.h, multibyte.h: New files.
4062
4063         * char-1byte.h (Charset_ID): Moved from buffer.h.
4064         (MIN_LEADING_BYTE): Likewise.
4065         (LEADING_BYTE_ASCII): Likewise.
4066         (NUM_LEADING_BYTES): Likewise.
4067         (CHARSETP): Likewise.
4068         (CHARSET_BY_LEADING_BYTE): Likewise.
4069         (XCHARSET_LEADING_BYTE): Likewise.
4070         (XCHARSET_GRAPHIC): Likewise.
4071         (XCHARSET_COLUMNS): Likewise.
4072         (XCHARSET_DIMENSION): Likewise.
4073         (CHAR_CHARSET): Likewise.
4074         (CHAR_LEADING_BYTE): Likewise.
4075         (BREAKUP_CHAR): Likewise.
4076         (Vcharset_ascii): Likewise.
4077
4078         * buffer.h: Include multibyte.h unconditionally.
4079         (VALID_CHARPTR_P): Moved to multibyte.h.
4080         (ASSERT_VALID_CHARPTR): Likewise.
4081         (REAL_INC_CHARPTR): Likewise.
4082         (REAL_INC_CHARBYTIND): Likewise.
4083         (REAL_DEC_CHARPTR): Likewise.
4084         (INC_CHARPTR): Likewise.
4085         (INC_CHARBYTIND): Likewise.
4086         (DEC_CHARPTR): Likewise.
4087         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4088         (VALIDATE_CHARPTR_FORWARD): Likewise.
4089         (charptr_n_addr): Likewise.
4090         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4091         (simple_charptr_emchar): Moved to multibyte.h.
4092         (simple_set_charptr_emchar): Likewise.
4093         (simple_charptr_copy_char): Likewise.
4094         (non_ascii_charptr_emchar): Likewise.
4095         (non_ascii_set_charptr_emchar): Likewise.
4096         (non_ascii_charptr_copy_char): Likewise.
4097         (charptr_emchar): Likewise.
4098         (set_charptr_emchar): Likewise.
4099         (charptr_copy_char): Likewise.
4100         (charptr_emchar_n): Likewise.
4101         (Charset_ID): Moved to char-1byte.h.
4102         (Vcharset_ascii): Likewise.
4103         (CHAR_CHARSET): Likewise.
4104         (CHAR_LEADING_BYTE): Likewise.
4105         (LEADING_BYTE_ASCII): Likewise.
4106         (NUM_LEADING_BYTES): Likewise.
4107         (MIN_LEADING_BYTE): Likewise.
4108         (CHARSETP): Likewise.
4109         (CHARSET_BY_LEADING_BYTE): Likewise.
4110         (XCHARSET_LEADING_BYTE): Likewise.
4111         (XCHARSET_GRAPHIC): Likewise.
4112         (XCHARSET_COLUMNS): Likewise.
4113         (XCHARSET_DIMENSION): Likewise.
4114         (BREAKUP_CHAR): Likewise.
4115
4116 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4117
4118         * character.h: Add document about interface for characters.
4119
4120         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4121         (MAKE_CHAR): Delete comment about
4122         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4123         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4124         (BREAKUP_CHAR): Modify name of arguments.
4125         (CHAR_CHARSET): Modify name of argument.
4126
4127         * buffer.h: Delete document about Emchar accessors.
4128
4129 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4130
4131         * character.h (CHAR_INTP): Moved from buffer.h
4132         (CHAR_OR_CHAR_INTP): Likewise.
4133         (XCHAR_OR_CHAR_INT): Likewise.
4134         (CHECK_CHAR_COERCE_INT): Likewise.
4135
4136         * buffer.h (CHAR_INTP): Moved to character.h
4137         (CHAR_OR_CHAR_INTP): Likewise.
4138         (XCHAR_OR_CHAR_INT): Likewise.
4139         (CHECK_CHAR_COERCE_INT): Likewise.
4140
4141 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4142
4143         * character.h:
4144         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4145         - Include char-1byte.h, char-lb.h or char-ucs.h.
4146
4147         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4148
4149         * buffer.h: Include character unconditionally.
4150         (valid_char_p): Moved to char-*.h.
4151         (non_ascii_valid_char_p): Moved to char-lb.h.
4152
4153         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4154
4155 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4156
4157         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4158         in UTF-2000 because it is not ported yet and not to use
4159         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4160         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4161         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4162
4163         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4164         (CHAR_ASCII_P): Moved from character.h.
4165
4166         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4167         (CHAR_ASCII_P): Likewise.
4168         (CHAR_FIELD1_MASK): Deleted.
4169         (CHAR_FIELD2_MASK): Deleted.
4170         (CHAR_FIELD3_MASK): Deleted.
4171         (MAX_CHAR_BASIC_LATIN): New macro.
4172         (CHAR_FIELD1): Deleted.
4173         (CHAR_FIELD2_INTERNAL): Deleted.
4174         (CHAR_FIELD3_INTERNAL): Deleted.
4175         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4176         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4177         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4178         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4179         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4180         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4181         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4182         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4183         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4184         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4185         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4186         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4187         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4188         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4189         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4190         (MIN_CHAR_COMPOSITION): Deleted.
4191         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4192         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4193
4194 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4195
4196         * buffer.h: Include mb-utf-8.h in UTF-2000.
4197
4198         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4199
4200         * mb-utf-8.h: New file.
4201
4202 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4203
4204         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4205         instead of `int'.
4206
4207         * mule-charset.h, buffer.h (Charset_ID): New type.
4208
4209 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4210
4211         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4212         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4213         instead of `MULE_CHAR_PRIVATE_OFFSET',
4214         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4215         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4216         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4217
4218         * character.h (Vcharset_japanese_jisx0212): New variable
4219         definition.
4220
4221 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4222
4223         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4224         (charset_by_attributes): Delete array about direction.
4225         (latin_a_char_to_charset): New variable in UTF-2000.
4226         (latin_a_char_to_byte1): New variable in UTF-2000.
4227         (latin_a_char_to_byte2): New variable in UTF-2000.
4228         (Qucs_bmp): New variable.
4229         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4230         `Bufbyte'.
4231         (next_allocated_2_byte_leading_byte): Likewise.
4232         (non_ascii_set_charptr_emchar): Likewise.
4233         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4234         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4235         `charset_by_attributes'.
4236         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4237         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4238         and `CHARSET_BY_LEADING_BYTE'.
4239         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4240         `utf-2000-version' to `vars_of_mule_charset'.
4241         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4242         define `leading-code-private-11' in UTF-2000; move setting of
4243         `utf-2000-version' from `syms_of_mule_charset'.
4244         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4245         UTF-2000.
4246
4247         * character.h (Charset_ID): New type.
4248         (LEADING_BYTE_UCS_BMP): New macro.
4249         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4250         (CHARSET_ID_OFFSET_94): New macro.
4251         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4252         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4253         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4254         final-byte.
4255         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4256         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4257         (CHARSET_ID_OFFSET_96): New macro.
4258         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4259         CHARSET_ID_OFFSET_96 and final-byte.
4260         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4261         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4262         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4263         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4264         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4265         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4266         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4267         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4268         (LEADING_BYTE_THAI_TIS620): Likewise.
4269         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4270         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4271         (CHARSET_ID_OFFSET_94x94): New macro.
4272         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4273         CHARSET_ID_OFFSET_94x94 and final-byte.
4274         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4275         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4276         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4277         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4278         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4279         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4280         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4281         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4282         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4283         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4284         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4285         (CHARSET_TYPE_128X128): New macro.
4286         (CHARSET_TYPE_256X256): New macro.
4287         (XCHARSET_PRIVATE_P): Delete unconditionally.
4288         (charset_by_attributes): Delete array about direction.
4289         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4290         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4291         (MIN_CHAR_94): New macro.
4292         (MAX_CHAR_94): New macro.
4293         (MIN_CHAR_96): New macro.
4294         (MAX_CHAR_96): New macro.
4295         (MIN_CHAR_94x94): New macro.
4296         (MAX_CHAR_94x94): New macro.
4297         (MIN_CHAR_96x96): New macro.
4298         (MAX_CHAR_96x96): New macro.
4299         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4300         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4301         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4302         - 32)'.
4303         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4304         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4305         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4306         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4307         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4308         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4309         `XCHARSET_LEADING_BYTE' to make code-point.
4310         (latin_a_char_to_charset): New variable.
4311         (latin_a_char_to_byte1): New variable.
4312         (latin_a_char_to_byte2): New variable.
4313         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4314         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4315         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4316
4317         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4318         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4319         (find_charsets_in_emchar_string): Likewise.
4320         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4321
4322         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4323         `int'.
4324         (decode_coding_iso2022): Likewise.
4325
4326         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4327         of `unsigned char'.
4328
4329         * redisplay.c (redisplay_text_width_emchar_string): Use
4330         `Charset_ID' instead of `unsigned char'.
4331         (redisplay_frame_text_width_string): Likewise.
4332
4333         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4334         `unsigned char'.
4335
4336         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4337         instead of `unsigned char'.
4338         (face_cachel_charset_font_metric_info): Likewise.
4339
4340         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4341         (get_non_ascii_char_table_value): Likewise.
4342         (get_char_table): Likewise.
4343         (put_char_table): Likewise.
4344         (map_over_other_charset): Likewise.
4345         (map_char_table): Likewise.
4346
4347         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4348         instead of `unsigned char'.
4349
4350 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4351
4352         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4353         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4354
4355         * mule-charset.c (leading_code_private_11): Don't define in
4356         UTF-2000.
4357
4358         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4359         in UTF-2000 because it is not ported yet and not to use
4360         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4361
4362 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4363
4364         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4365
4366 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4367
4368         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4369         in UTF-2000.
4370
4371         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4372         of unsigned char to store leading-byte.
4373
4374         * chartab.c (get_non_ascii_char_table_value): Don't use
4375         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4376
4377         * file-coding.c (encode_coding_big5): Delete bogus implementation
4378         in UTF2000.
4379
4380         * character.h (LEADING_BYTE_*): Delete definition for
4381         non-UTF-2000.
4382         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4383         (LEADING_BYTE_PREFIX_P): Deleted.
4384         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4385         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4386         (BUFBYTE_LEADING_BYTE_P): Deleted.
4387         (CHARSET_PRIVATE_P): Deleted unconditionally.
4388         (rep_bytes_by_first_byte): Deleted unconditionally.
4389         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4390         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4391         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4392         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4393         (CHAR_FIELD2): Deleted.
4394         (CHAR_FIELD3): Deleted.
4395         (MAKE_CHAR): Delete definition for non-UTF-2000.
4396         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4397         (breakup_char_1): New implementation.
4398         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4399         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4400
4401 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4402
4403         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4404         condition.
4405
4406 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4407
4408         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4409         (CHARSET_PRIVATE_P): Likewise.
4410         (XCHARSET_PRIVATE_P): Likewise.
4411         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4412
4413         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4414         UTF2000.
4415         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4416
4417 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4418
4419         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4420         (NUM_LEADING_BYTES): Changed from 128 to 256.
4421         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4422         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4423         UTF2000.
4424         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4425
4426         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4427         UTF2000.
4428         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4429         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4430         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4431         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4432         (Qchinese_cns11643_3): New variable in UTF2000.
4433         (Qchinese_cns11643_4): New variable in UTF2000.
4434         (Qchinese_cns11643_5): New variable in UTF2000.
4435         (Qchinese_cns11643_6): New variable in UTF2000.
4436         (Qchinese_cns11643_7): New variable in UTF2000.
4437         (syms_of_mule_charset): Define `chinese-cns11643-3',
4438         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4439         and `chinese-cns11643-7' in UTF2000.
4440         (vars_of_mule_charset): Initialize
4441         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4442         + 1 in UTF2000.
4443         (complex_vars_of_mule_charset): Setup charset
4444         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4445         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4446
4447 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4448
4449         * mule-charset.c: Move setting for `leading-code-private-11' from
4450         `syms_of_mule_charset' to `vars_of_mule_charset'.
4451
4452 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4453
4454         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4455         and `NUM_LEADING_BYTES' in assert.
4456
4457 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4458
4459         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4460         instead of 128.
4461         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4462         `NUM_LEADING_BYTES' instead of 128.
4463
4464 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4465
4466         * mule-charset.h (charset_by_leading_byte): Use
4467         `NUM_LEADING_BYTES' instead of 128.
4468         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4469
4470         * mule-charset.c (charset_by_leading_byte): Use
4471         `NUM_LEADING_BYTES' instead of 128.
4472         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4473
4474         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4475         128.
4476
4477 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4478
4479         * mule-charset.c (syms_of_mule_charset): Update to
4480         0.4 (Shin-Imamiya).
4481
4482 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4483
4484         * file-coding.c (encode_coding_sjis): New implementation for
4485         UTF2000.  (decode_coding_sjis): Ditto.
4486
4487 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4488
4489         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4490         Don't define in UTF2000.
4491
4492         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4493         defined.
4494
4495         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4496         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4497         MULE.
4498
4499 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4500
4501         * config.h.in (CHAR_IS_UCS4): New macro.
4502
4503         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4504         conventional MULE representation.
4505         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4506
4507         * mule-charset.h: Reverted to original.
4508
4509         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4510         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4511         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4512
4513         * character.h: New file.
4514
4515         * file-coding.c (Fmake_coding_system): Set 1 to
4516         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4517         defined.
4518         (encode_coding_no_conversion): New implementation for UTF2000.
4519
4520         * file-coding.h (struct Lisp_Coding_System): Add new member
4521         `fixed.size'.
4522
4523 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4524
4525         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4526         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4527         (encode_coding_iso2022): New implementation for UTF2000.
4528
4529 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4530
4531         * mule-canna.c (c2mu): New implementation for UTF2000.
4532         (m2c): Likewise.
4533
4534 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4535
4536         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4537
4538 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4539
4540         * file-coding.c (reset_encoding_stream): Set 0 to
4541         `str->iso2022.current_char_boundary' in UTF2000.
4542         (encode_utf8): Don't define in UTF2000.
4543         (encode_coding_utf8): New implementation for UTF-8 representation
4544         of UTF2000.
4545         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4546
4547 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4548
4549         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4550
4551         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4552         UTF2000.
4553         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4554
4555         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4556
4557         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4558         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4559         as UTF-8 in UTF2000.
4560         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4561         (non_ascii_valid_char_p): Don't define in UTF2000.
4562         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4563         (Lstream_get_emchar_1): Likewise.
4564         (utf-2000-version): New variable in UTF2000.
4565
4566         * lread.c (read_escape): Add new reader `u'.
4567
4568         * insdel.c (three_to_one_table): Don't define in UTF2000.
4569         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4570         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4571         UTF2000.
4572         (bytind_to_bufpos_func): Likewise.
4573         (buffer_mule_signal_inserted_region): Likewise.
4574         (vars_of_insdel): Don't initialize `three_to_one_table'.
4575         (init_buffer_text): Use `buf->text->mule_size' instead of
4576         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4577         UTF2000.
4578
4579         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4580         UTF-8 representation in UTF2000.
4581         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4582         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4583         (decode_coding_iso2022): Don't define local variable `lb' in
4584         UTF2000; don't use LEADING_BYTE in UTF2000; use
4585         `DECODE_ADD_UCS_CHAR' in UTF2000.
4586         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4587
4588         * config.h.in (UTF2000): New macro.
4589
4590         * buffer.h (struct buffer_text): Add new member `mule_size' and
4591         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4592         (valid_char_p): Return always 1 in UTF2000.
4593         (MAX_EMCHAR_LEN): 6 in UTF2000.
4594         (three_to_one_table): Don't define in UTF2000.
4595         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4596         UTF2000.
4597         (real_bytind_to_bufpos): Likewise.
4598
4599         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4600
4601 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4602
4603         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4604         representation change.
4605         (Vutf_2000_version): New variable.
4606         (leading_code_private_11): New variable.
4607         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4608         `leading-code-private-11'.
4609
4610         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4611         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4612         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4613         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4614         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4615         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4616         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4617         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4618         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4619         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4620         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4621         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4622         (MIN_CHAR_GREEK): New macro.
4623         (MAX_CHAR_GREEK): New macro.
4624         (MIN_CHAR_CYRILLIC): New macro.
4625         (MAX_CHAR_CYRILLIC): New macro.
4626         (MIN_CHAR_HEBREW): New macro.
4627         (MAX_CHAR_HEBREW): New macro.
4628         (MIN_CHAR_THAI): New macro.
4629         (MAX_CHAR_THAI): New macro.
4630         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4631         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4632         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4633         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4634         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4635         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4636         (CHAR_FIELD2): New inline function.
4637         (CHAR_FIELD3): New inline function.
4638         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4639         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4640         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4641         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4642         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4643         (MIN_CHAR_COMPOSITION): Likewise.
4644         (CHAR_LEADING_BYTE): Modified for character representation change.
4645         (MAKE_CHAR): Likewise.
4646
4647         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4648         (Vcharset_greek_iso8859_7): Likewise.
4649         (Vcharset_cyrillic_iso8859_5): Likewise.
4650         (Vcharset_hebrew_iso8859_8): Likewise.
4651         (Vcharset_thai_tis620): Likewise.
4652         (Vcharset_katakana_jisx0201): Likewise.
4653
4654 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
4655
4656         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
4657
4658 2002-12-14  Ben Wing  <ben@xemacs.org>
4659
4660         * callint.c: Declaration error.
4661         * dumper.c (pdump):
4662         * dumper.c (pdump_load): Warning fix.
4663         * process.c: GCPRO error.
4664         * glyphs.c (unmap_subwindow):
4665         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
4666         * event-stream.c (maybe_kbd_translate): Wrong argument to
4667         character_to_event().
4668
4669         * alloc.c (garbage_collect_1):
4670         * emacs.c:
4671         * emacs.c (debug_can_access_memory):
4672         * emacs.c (fatal_error_signal):
4673         * emacs.c (mswindows_handle_hardware_exceptions):
4674         * emacs.c (main_1):
4675         * emacs.c (main):
4676         * emacs.c (assert_failed):
4677         * emacs.c (syms_of_emacs):
4678         * lisp.h:
4679         * print.c:
4680         * print.c (std_handle_out_va):
4681         * print.c (write_string_to_stdio_stream):
4682         * print.c (write_fmt_string):
4683         * print.c (printing_badness):
4684         * print.c (printing_major_badness):
4685         * print.c (print_internal):
4686         * print.c (debug_print_no_newline):
4687         * print.c (debug_backtrace):
4688         Be more defensive in handling bad values when printing.  Add code
4689         from trunk involving inhibit_non_essential_printing_operations.
4690         When going down or in debug_print(), don't do external conversion
4691         and such and try really, really hard when printing to avoid core
4692         dumping.  Add force-debugging-signal, debug_break().
4693
4694 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
4695
4696         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
4697         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
4698
4699 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
4700
4701         * database.c: Fix open_database. Berkeley DB API has changed in
4702         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
4703
4704 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
4705
4706         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
4707
4708 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
4709
4710         * event-Xt.c (Xt_timeout):
4711         (Xt_timeout_callback):
4712         (emacs_Xt_add_timeout):
4713         (emacs_Xt_remove_timeout):
4714         (Xt_timeout_to_emacs_event):
4715         Turn completed_timeouts from a stack into a queue.  Fixes
4716         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
4717
4718 2002-11-07  Wolfram Gloger  <wg@malloc.de>
4719
4720         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
4721         * emacs.c (main): Assert that mmap'd allocation is disabled.
4722
4723 2002-10-14  Andy Piper  <andy@xemacs.org>
4724
4725         * glyphs-widget.c (layout_query_geometry): add in fiddle
4726         factor. Include border text in width layout calculation.
4727         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
4728
4729 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
4730
4731         * XEmacs 21.4.10 "Military Intelligence" is released.
4732
4733 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
4734
4735         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
4736         using the NAS private array SoundFileInfo that no longer exists in
4737         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
4738         and earlier.  This is broken for some versions between 1.5a and
4739         1.5f.
4740
4741 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
4742
4743         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
4744
4745         * emacs.c (shut_down_emacs): Improve crash message.
4746
4747 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
4748
4749         * file-coding.c (determine_real_coding_system): Check for coding
4750         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
4751         shebangs and Python PEP 263.
4752
4753 2002-10-08  Andy Piper  <andy@xemacs.org>
4754
4755         * glyphs-widget.c (layout_query_geometry): only resize dynamically
4756         if static sizes haven't been set.
4757
4758 2002-08-30  Mike Alexander  <mta@arbortext.com>
4759
4760         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
4761         to close a socket.
4762
4763 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
4764
4765         * callproc.c (child_setup): 21.4 doesn't have retry_close.
4766
4767 2002-09-20  Mike Sperber <mike@xemacs.org>
4768
4769         (This partially gets back my patch from 2002-07-20 without the
4770         bug.)
4771         * callproc.c (child_setup): Remove Ben's comment noting confusion
4772         over the file descriptors >= 3: close_process_descs() doesn't
4773         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
4774         * process-unix.c (unix_create_process): Call
4775         begin_dont_check_for_quit to inhibit unwanted interaction (and
4776         thus breaking of X event synchronicity) in the child.
4777
4778 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
4779
4780         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
4781         widget.
4782
4783 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
4784
4785         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
4786         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
4787         the xemacs process did not exit, but looped infinitely here.  This
4788         fixes that problem.
4789
4790 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4791
4792         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
4793         (find_context): Improve comments.
4794
4795         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
4796         (re_match_2): An XCHAR_TABLE operation was missing.
4797
4798         Many of the following changes were inspired by Andy Piper's (now
4799         obsolete) patch to make syntax-table text property lookup optional.
4800
4801         [Documentation]
4802
4803         * syntax.h (top level): Document semantics of syntax flags.
4804         * syntax.c (comstr_start, Fforward_comment): Improve comments.
4805         * syntax.c, syntax.h (top level): Document syntax cache better in
4806         comments.
4807
4808         [Instrument syntax caching (temporary change)]
4809
4810         * syntax.h (enum syntax_cache_statistics_functions, struct
4811         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
4812         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
4813         * syntax.c (scan_words, Fforward_comment, scan_lists,
4814         Fbackward_prefix_characters):
4815         * font-lock.c (find_context):
4816         Use them to instrument syntax caching. 
4817         * syntax.c (struct syntax_cache_statistics, scs_statistics,
4818         syntax_cache_statistics_function_names): New type and variables.
4819         * syntax.c (update_syntax_cache): Update and report statistics.
4820
4821         [Major syntax cache optimizations]
4822
4823         syntax.c (lookup_syntax_properties): Default off.
4824
4825         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
4826         * syntax.c (update_syntax_cache):
4827         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
4828
4829         [Minor syntax cache optimizations and code clarifications]
4830
4831         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
4832         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
4833         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
4834         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
4835         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
4836         (Code clarification.)
4837
4838         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
4839         scan_lists): Compute code from syncode, use Boolean macros instead
4840         of redundant masking operations.  (Code clarification; any decent
4841         compiler can do this optimization.)
4842
4843         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
4844         for clarity.
4845
4846         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
4847         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
4848         use F*_single_property_change instead of F*_extent_change.
4849         Currently F*_single_property_change is _much_ less efficient.
4850
4851         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
4852         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
4853         syntax_cache.object properly, don't leave Qt or Qnil.
4854         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
4855         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
4856         tests for Qt or Qnil.
4857
4858 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
4859
4860         * redisplay.c (point_in_line_start_cache): 
4861         * extents.c (print_extent_1):
4862         Fix warnings.
4863
4864         * extents.c (Fset_extent_property): Document `syntax-table' property.
4865
4866         * extents.h (Fnext_single_property_change): EXFUN it.
4867
4868 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
4869
4870         * search.c (clear_unused_search_regs): New static function.
4871         (search_buffer): 
4872         (simple_search): 
4873         (boyer_moore):
4874         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
4875         Minor clarifications in comments.
4876
4877         * regex.c (re_match_2_internal): Ensure no stale submatches.
4878
4879 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
4880
4881         * event-Xt.c (enqueue_focus_event): Add missing prototype.
4882
4883 2002-08-29  Jerry James  <james@xemacs.org>
4884
4885         * lisp.h: structrures -> structures.
4886
4887 2002-06-03  Andy Piper  <andy@xemacs.org>
4888
4889         * frame.c (frame_conversion_internal): add conversion appropriate
4890         for setting frame dimensions in pixels.
4891
4892         * console.h (struct console_methods): add device-specific widget
4893         layout functions.
4894
4895         * emacs.c (main_1): initialize glyph vars.
4896
4897         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
4898         (handle_focus_event_2): new function. Allow focus to
4899         be set to a particular window and widget.
4900         (enqueue_focus_event): new function. Create a
4901         synthetic focus event.
4902         (emacs_Xt_handle_magic_event): call
4903         handle_focus_event_2.
4904
4905         * frame.c (Fset_frame_pixel_height): new function. Allow
4906         pixel-based sizing. Does the right thing on character-oriented
4907         displays.
4908         (Fset_frame_pixel_width): ditto.
4909         (Fset_frame_pixel_size): ditto.
4910         (syms_of_frame): declare.
4911
4912         * general-slots.h: add :vertically-justify and
4913         :horizontally-justify.
4914
4915         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
4916         (mswindows_widget_border_width): new function.
4917         (mswindows_combo_box_instantiate): set border widths.
4918         (console_type_create_glyphs_mswindows): declare.
4919
4920         * glyphs-widget.c:
4921         (check_valid_justification): allow vertical and horizontal
4922         justification.
4923         (widget_border_width): new function. Call device methods.
4924         (widget_instance_border_width): ditto.
4925         (logical_unit_height): new function. Determine the height of a
4926         logical-unit. Logical units are intended to provide grid-like
4927         layout for subcontrols in a layout. If the layout is
4928         :vertically-justify top then subcontrols will be positioned on
4929         logical-unit boundaries, thus allowing adjacent subcontrols to
4930         line up.
4931         (widget_logical_unit_height): ditto for widgets.
4932         (redisplay_widget): misc cleanup.
4933         (widget_spacing): new function. Call device specific
4934         methods. Intended to be the default gap between adjacent widgets.
4935         (widget_query_geometry): use new spacing functions to determine
4936         appropriate geometry.
4937         (initialize_widget_image_instance): initialize horizontal and
4938         vertical justification.
4939         (widget_instantiate): use logica-units where appropriate for
4940         sizing large widgets.
4941         (button_query_geometry): use widget_instance_border_width.
4942         (tree_view_query_geometry): ditto.
4943         (tab_control_query_geometry): ditto.
4944         (edit_field_query_geometry): new function.
4945         (layout_update): pick up :justify, :horizontally-justify and
4946         :vertically-justify none of which worked previously. :justify is
4947         used as a fallback for both horizontal and vertical justification.
4948         (layout_query_geometry): use logical units to size appropriately.
4949         (layout_layout): ditto.
4950         (Fwidget_logical_to_character_width): new function. Allow users to
4951         convert from logical units to characters so that frame sizes can
4952         be set appropriately.
4953         (Fwidget_logical_to_character_height): ditto.
4954         (syms_of_glyphs_widget): declare.
4955         (image_instantiator_edit_fields): add edit_field_query_geometry.
4956         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
4957         :horizontally-justify.
4958         (specifier_vars_of_glyphs_widget): new function. Declare
4959         Vwidget_border_width which is not yet used.
4960
4961         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
4962         (x_widget_border_width): new function.
4963         (x_widget_instantiate): create a sensible name for widgets.
4964         (console_type_create_glyphs_x): declare x_widget_border_width.
4965
4966         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
4967         (struct Lisp_Image_Instance): add :vertically-justify and
4968         :horizontally-justify.
4969         (LAYOUT_JUSTIFY_TOP): new.
4970         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
4971         (ROUND_UP): new macro. Round argument up to next integral
4972         interval.
4973
4974         * redisplay-output.c (redisplay_output_layout): misc formatting.
4975
4976         * symsinit.h: declare specifier_vars_of_glyphs_widget.
4977
4978 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
4979
4980         * XEmacs 21.4.9 "Informed Management" is released.
4981
4982 2002-08-19  Andy Piper  <andy@xemacs.org>
4983
4984         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
4985         win32 format.
4986
4987         * realpath.c (xrealpath): normalize drive spec also so that dir
4988         sep chars are not mixed on cygwin.
4989
4990 2002-08-06  Jerry James  <james@xemacs.org>
4991
4992         * window.c (Fsplit_window): Count only half of the divider width
4993         against the left window when splitting horizontally. 
4994
4995 2002-06-24  Andy Piper  <andy@xemacs.org>
4996
4997         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
4998         toolbar was cleared.
4999
5000         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5001         function. Split out from mswindows_output_frame_toolbars.
5002         (mswindows_output_frame_toolbars): move clear pieces to
5003         mswindows_output_frame_toolbars.
5004
5005         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5006         out from gtk_output_frame_toolbars.
5007         (gtk_output_frame_toolbars): move clear pieces to
5008         gtk_clear_frame_toolbars.
5009
5010         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5011         the frame is cleared. How this ever worked before is a mystery.
5012         (x_output_frame_toolbars): Only output toolbars.
5013         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5014
5015         * gutter.c (update_gutter_geometry):
5016         Mark frame layout changed.
5017         (update_frame_gutter_geometry, update_frame_gutters):
5018         Respect frame_layout_changed.
5019
5020         * console.h (struct console_methods): add
5021         clear_frame_toolbars_method.
5022
5023         * redisplay.c (redisplay_frame): call
5024         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5025
5026         * toolbar.h: declare update_frame_toolbars_geometry.
5027
5028         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5029         out from update_frame_toolbars.  Call clear_frame_toolbars.
5030         (update_frame_toolbars): only output, do not change geometry.
5031
5032         * redisplay.c: add frame_layout_changed.
5033
5034         * redisplay.h: add frame_layout_changed.
5035         (CLASS_RESET_CHANGED_FLAGS): set it.
5036         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5037         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5038         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5039
5040         * device.h (struct device): add frame_layout_changed.
5041         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5042
5043         * frame.h (struct frame): add frame_layout_changed.
5044         (MARK_FRAME_LAYOUT_CHANGED): new.
5045
5046 2002-06-30  Mike Alexander  <mta@arbortext.com>
5047
5048         * event-msw.c (mswindows_need_event): Don't wait for a new message
5049         if the queue is not empty.  Suggested by Paul Moore.
5050
5051 2002-06-12  Andy Piper  <andy@xemacs.org>
5052
5053         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5054         for printing on accurately.
5055
5056 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5057
5058         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5059         WM_ACTIVATE message. Make sure that the frame is visible if the
5060         window is visible. This seemss to fix the problem where XEmacs
5061         appears to freeze after switching desktops with certain virtual
5062         window managers.
5063         (debug_output_mswin_message): Added code to output message
5064         parameters for WM_WINDOWPOSCHANGED, 
5065         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5066
5067 2002-05-25  Andy Piper  <andy@xemacs.org>
5068
5069         * select-x.c (vars_of_select_x): Fix docstring of
5070         x-selection-strict-motif-ownership
5071
5072 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5073
5074         * keymap.c (get_keymap):
5075         Add comment about do_autoload GCPROs own args.
5076
5077 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5078
5079         * bytecode.c (execute_optimized_program): check_opcode ifdef
5080         ERROR_CHECK_BYTE_CODE.
5081
5082 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5083
5084         Thanks to Ben Wing and Michael Sperber.
5085
5086         * eval.c (Fcommand_execute):
5087         (Feval):
5088         (Ffuncall):
5089         (Fmacroexpand_internal):
5090         (function_argcount):
5091         callint.c (Fcall_interactively):
5092         Add comment about do_autoload GCPROs own args.
5093
5094         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5095
5096         * eval.c (Ffuncall): Extra braces to placate GCC.
5097
5098 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5099
5100         * backtrace.h (grow_specpdl):
5101         (SPECPDL_RESERVE):
5102         * EmacsFrame.c (EmacsFrameSetValues):
5103         * eval.c (grow_specpdl):
5104         * ExternalShell.c (hack_event_masks_1):
5105         * glyphs-x.c (convert_EImage_to_XImage): 
5106         (x_finalize_image_instance):
5107         * ralloc.c (page_size):
5108         (r_alloc_sbrk):
5109         * xgccache.c (gc_cache_hash):
5110         Fix unsigned comparison warnings.
5111
5112 2002-07-29  Jerry James  <james@xemacs.org>
5113
5114         * lread.c (locate_file): Any nonnegative return value indicates
5115         success if MODE is nonnegative.
5116
5117 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5118
5119         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5120         argument. 
5121
5122 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5123
5124         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5125
5126         * dumper.c (pdump_get_indirect_count):
5127         (pdump_scan_by_alignment):
5128         (pdump_dump_root_struct_ptrs):
5129         (pdump_dump_rtables):
5130         (pdump_dump_root_objects):
5131         (pdump):
5132         * nas.c (WaveOpenDataForReading):
5133         * fns.c (print_bit_vector):
5134         * font-lock.c (SINGLE_SYNTAX_STYLE):
5135         * glyphs.c (check_for_ignored_expose):
5136         (find_matching_subwindow):
5137         * glyphs-eimage.c:
5138         * imgproc.c (get_histogram):
5139         * redisplay.c (point_in_line_start_cache):
5140         * redisplay-output.c (redisplay_unmap_subwindows):
5141         * symbols.c (defsymbol_massage_name_1):
5142         (defkeyword_massage_name):
5143         (deferror_massage_name_and_message):
5144         * redisplay-x.c (x_output_string): 
5145         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5146         * frame.h (struct frame):
5147         * filelock.c (current_lock_owner):
5148         * doprnt.c (emacs_doprnt_1):
5149         * lisp.h (struct Lisp_Bit_Vector):
5150         (DO_REALLOC):
5151         Fix warnings.
5152
5153 2002-02-13  Ben Wing  <ben@xemacs.org>
5154
5155         * event-stream.c (reset_key_echo):
5156         * event-stream.c (reset_this_command_keys):
5157         * event-stream.c (execute_command_event):
5158         If console is dead as a result of C-x 5 0, then post-command stuff
5159         needs to be careful and do only non-console-specific stuff.
5160
5161 2002-07-01  Mike Sperber <mike@xemacs.org>
5162
5163         * process-unix.c (unix_send_process): Mark coding_outstream as
5164         non-open upon SIGPIPE.
5165
5166         * event-stream.c (Fnext_event): Reorder switch cases to something
5167         that makes sense.
5168
5169 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5170
5171         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
5172         Don't bogusly reinitialize ascii_character property.
5173
5174 2002-07-08  Mike Sperber <mike@xemacs.org>
5175
5176         * process.c (Fstart_process_internal): Do error checking before we
5177         fork off the child, so the child can't muck with the state of the
5178         parent.
5179
5180 2002-07-08  Mike Sperber <mike@xemacs.org>
5181
5182         * ralloc.c (init_ralloc): Allocate properly for pdump.
5183
5184 2002-06-12  Andy Piper  <andy@xemacs.org>
5185
5186         * glyphs.c (query_string_geometry): check the string.
5187
5188         * glyphs-widget.c (widget_logical_unit_height): cope with nil
5189         widget names.
5190
5191 2002-06-17  Jerry James  <james@xemacs.org>
5192
5193         * sysdll.c: Remove RTLD_GLOBAL initialization.
5194         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
5195
5196 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
5197
5198         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
5199
5200 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
5201
5202         * sysdep.c (sys_rename): Make sys_rename work for the case where
5203         Windows rename sets errno to EACCES if target file exists.
5204
5205 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
5206
5207         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5208         Fix detection of metric units to work on Win95
5209
5210 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
5211
5212         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
5213
5214 2002-04-25  Andy Piper  <andy@xemacs.org>
5215
5216         * redisplay.c (create_text_block): Remove extra comment trailer.
5217
5218 2002-04-24  Andy Piper  <andy@xemacs.org>
5219
5220         * redisplay.c (create_text_block): Don't actually add propagation
5221         data if the line ends after we have added a glyph.
5222
5223 2002-04-22  Andy Piper  <andy@xemacs.org>
5224
5225         * extents.c (extent_fragment_update): check for glyphs we have
5226         previously displayed.
5227         * extents.c (print_extent_1): warning removal.
5228         * extents.h: change prototype.
5229         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
5230         widths correctly for wide glyphs.
5231         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
5232         * redisplay.c (prop_type): add PROP_GLYPH.
5233         * redisplay.c (struct prop_block): add glyph type
5234         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
5235         to the propagation data.
5236         * redisplay.c (create_text_block): if there is a glyph in the
5237         propagation data use it to salt extent_fragment_update.
5238         * redisplay.c (create_string_text_block): ditto.
5239
5240 2002-04-13  Nix  <nix@esperi.demon.co.uk>
5241
5242         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
5243         * redisplay-output.c (compare_runes): Compare them.
5244         * redisplay.c: Update copyright date.
5245         * redisplay.c (pos_data): Add need_baseline_computation field.
5246         * redisplay.c (add_glyph_rune): Update ascent, descent, and
5247         need_baseline_computation; zero yoffset. Set max_pixmap_height
5248         for all pixmaps, not just automatically positioned ones.
5249         * redisplay.c (calculate_yoffset): New, compute yoffset values.
5250         * redisplay.c (calculate_baseline): New, compute textual baseline.
5251         * redisplay.c (add_glyph_rune): Call them.
5252         * redisplay.c (create_text_block): Likewise.
5253         * redisplay.c (create_overlay_glyph_block): Likewise.
5254         * redisplay.c (add_margin_runes): Likewise.
5255         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
5256
5257         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
5258         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
5259         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
5260         * redisplay-msw.c (mswindows_output_string): Likewise.
5261         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
5262         * redisplay-gtk.c (gtk_output_display_block): Likewise.
5263         * redisplay-x.c (x_output_display_block): Likewise.
5264
5265 2002-03-28  Ben Wing  <ben@xemacs.org>
5266
5267         * redisplay.c: Fixed bug in redisplay
5268         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
5269         and down of the lines, since they're bigger than the line
5270         size. (It was seen most obviously when there's a horizontal scroll
5271         bar, e.g. do C-h a glyph or something like that.) The problem was
5272         that the glyph-contrib-p setting on glyphs was ignored even if it
5273         was set properly, which it wasn't until now.
5274
5275 2002-04-24  Andy Piper  <andy@xemacs.org>
5276
5277         * lisp.h (Dynarr_end): Fix definition.
5278
5279 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
5280
5281         * redisplay.c (mark_redisplay): Remove call to
5282         update_frame_window_mirror.
5283
5284 2001-11-15  Andy Piper  <andy@xemacs.org>
5285
5286         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
5287         cygwin (again).
5288
5289 2002-02-13  Andy Piper  <andy@xemacs.org>
5290
5291         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
5292         we did in fact enqueue the XM_MAPFRAME event.
5293
5294 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
5295
5296         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
5297         to fix problem switching between virtual desktops under virtuawin
5298         virtual window manager.
5299
5300 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
5301
5302         * event-msw.c: Typo fix.
5303         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
5304         magic XM_MAPFRAME event has been sent.
5305
5306 2001-11-23  Andy Piper  <andy@xemacs.org>
5307
5308         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
5309
5310 2001-11-21  Andy Piper  <andy@xemacs.org>
5311
5312         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
5313         mouse events outside the frame.
5314
5315 2002-03-20  Andy Piper  <andy@xemacs.org>
5316
5317         * menubar-msw.c (mswindows_popup_menu): warning removal.
5318         * dialog-msw.c (dialog_popped_down): ditto.
5319
5320 2001-12-11  Andy Piper  <andy@xemacs.org>
5321
5322         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
5323         * dialog-msw.c (mswindows_make_dialog_box_internal): set
5324         popup_up_p.
5325         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
5326         * menubar-msw.c (mswindows_handle_wm_command): ditto.
5327         * menubar-msw.c (mswindows_popup_menu): ditto.
5328
5329 2001-10-29  Andy Piper  <andy@xemacs.org>
5330
5331         * dialog-msw.c (handle_directory_dialog_box): quit if the user
5332         cancels.
5333
5334 2002-01-03  Andy Piper  <andy@xemacs.org>
5335
5336         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
5337         letters.
5338         (xrealpath): ditto.
5339
5340 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
5341
5342         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
5343         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
5344         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5345         Detect and handle case where machine is set up for metric units
5346
5347 2002-04-02  Andy Piper  <andy@xemacs.org>
5348
5349         * dired-msw.c (mswindows_get_files): 
5350         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
5351         completely handled by XEmacs. Suggested by Thomas Vogler
5352         <mail@thomas-vogler.de>.
5353
5354 2001-11-14  Andy Piper  <andy@xemacs.org>
5355
5356         * nt.c (REG_ROOT): change registry key to XEmacs.
5357
5358 2002-04-27  Andy Piper  <andy@xemacs.org>
5359
5360         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
5361
5362 2002-04-26  Andy Piper  <andy@xemacs.org>
5363
5364         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
5365         behavior.
5366
5367 2002-03-14  Mike Alexander  <mta@arbortext.com>
5368
5369         * event-msw.c (mswindows_unwait_process): New, remove process from
5370         wait list
5371         * process-nt.c (nt_finalize_process_data): Call
5372         mswindows_unwait_process
5373         * console-msw.h: Declare mswindows_unwait_process
5374
5375 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
5376
5377         * editfns.c (Fdecode_time):
5378         (Fformat_time_string):
5379         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
5380         (make_time): Warning elimination (change arg name).
5381
5382 2001-11-24  Andy Piper  <andy@xemacs.org>
5383
5384         * window.c (Fsplit_window): Doc return type.
5385
5386 2002-04-01  Andy Piper  <andy@xemacs.org>
5387
5388         * emacs.c (Fkill_emacs): Only output message box in interactive
5389         mode.
5390
5391 2002-04-26  Andy Piper  <andy@xemacs.org>
5392  
5393         * config.h.in: pull in 21.5.x change to stop alloca warnings under
5394         cygwin.
5395
5396 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
5397
5398         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
5399         bit platform.
5400
5401 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
5402
5403         * XEmacs 21.4.8 "Honest Recruiter" is released.
5404
5405 2002-05-07  Nix  <nix@esperi.demon.co.uk>
5406
5407         Supersedes 2002-04-17 patch.
5408
5409         * process.h (PROCESS_LIVE_P): Use the process status as
5410         evidence of health, not the state of the input stream.
5411         (PROCESS_READABLE_P): Say if the process is readable
5412         from. (It may be dead nonetheless.)
5413         (CHECK_READABLE_PROCESS): Test for that condition.
5414
5415         * process.c (create_process): Use PROCESS_READABLE_P.
5416         (read_process_output, set_process_filter): Likewise.
5417
5418         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
5419         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
5420
5421         This code is #if 0'd, this is not the time to add new functions:
5422
5423         * process.c (Fprocess_readable_p): Report readability status.
5424         * process.c (Qprocess_readable_p): New, associated symbol...
5425         * process.c (syms_of_process): ... initialize it.
5426
5427 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
5428
5429         * XEmacs 21.4.7 "Economic Science" is released.
5430
5431 2002-04-17  Nix  <nix@esperi.demon.co.uk>
5432
5433         * process.h (PROCESS_LIVE_P): Use the process status as
5434         evidence of health, not the state of the input stream.
5435
5436 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
5437
5438         * sysdep.c (sys_siglist): change "signum" to "signal"
5439
5440 2001-04-21  Martin Buchholz  <martin@xemacs.org>
5441
5442         * s/darwin.h: New file.
5443         Thanks to Greg Parker <gparker@cs.stanford.edu>.
5444         
5445 2002-04-23  Andreas Jaeger  <aj@suse.de>
5446
5447         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
5448         which use lib64 for 64-bit libs.
5449         (START_FILES): Likewise.
5450
5451 2002-02-11  Mike Sperber  <mike@xemacs.org>
5452
5453         * device-x.c: 
5454         (x_IO_error_handler):
5455         (x_init_device): Temporarily keep device in static variable
5456         `device_being_initialized' so we can recover gracefully from
5457         internal XOpenDevice failure.  (XOpenDevice is documented to
5458         return NULL on failure, but sometimes calls the IO error handler
5459         instead.)
5460
5461 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
5462
5463         * dired.c (Ffile_name_all_completions): Change documentation --
5464         remove reference to completion-ignored-extensions.
5465         * dired.c (vars_of_dired): Change documentation for
5466         completion-ignored-extensions -- remove reference to
5467         file-name-all-completions.
5468
5469 2002-03-06  Jerry James  <james@xemacs.org>
5470
5471         * emodules.c (emodules_load): Fix multiple loading of same module.
5472
5473 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
5474         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
5475         RTLD_LAZY to avoid incorrect symbol binding when using nested
5476         shared libraries on Solaris.
5477
5478 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
5479
5480         * fileio.c (Ffind_file_name_handler): Improve docstring.
5481
5482 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
5483
5484         * fns.c (Fmapconcat): Improve docstring.
5485
5486 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
5487
5488         * device-gtk.c: Add prototype for
5489         emacs_gtk_selection_clear_event_handle.
5490         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
5491         selection.  Setup signal handler for "selection_clear_event"
5492         (emacs_gtk_selection_clear_event_handle).
5493
5494         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
5495         other applications owning the clipboard (based on
5496         x_handle_selection_clear).
5497
5498 2001-12-23  William M. Perry  <wmperry@gnu.org>
5499
5500         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
5501         
5502 2002-01-04  Martin Buchholz  <martin@xemacs.org>
5503
5504         * keymap.c (define_key_alternate_name): Parenthesize EQ.
5505
5506 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
5507
5508         * XEmacs 21.4.6 "Common Lisp" is released.
5509
5510 2001-12-16  Torsten Duwe  <duwe@caldera.de>
5511
5512         * search.c (Freplace_match): Add missing sub-expression functionality.
5513
5514         * buffer.c (decode_buffer): Add a check for pointer type to
5515         decode_buffer, before gcc's CSE optimization reorders a
5516         dereference in front of the allow_string test.
5517
5518 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
5519
5520         * window.c (window_loop): Fix bug that sometimes prevented
5521         window_loop() from iterating across multiple devices.  Also, at
5522         Ben's request, changed infloop-detecting code to abort() instead
5523         of silently terminating window_loop().
5524
5525 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
5526
5527         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
5528         * editfns.c (make_time): New function.
5529         (Fencode_time): Use it instead of wasteful_word_to_lisp.
5530         * lisp.h (make_time): Prototype and comment it.
5531         * dired.c (wasteful_word_to_lisp): Deprecate.
5532         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
5533
5534 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
5535
5536         * fileio.c (auto_save_1): Use current coding system, not
5537         escape-quoted.
5538
5539 2001-11-13  Ben Wing  <ben@xemacs.org>
5540
5541         * window.c:
5542         * window.c (window_truncation_on):
5543         * window.c (syms_of_window):
5544         truncate-partial-width-windows should respect the buffer being
5545         displayed, like other redisplay vars.
5546
5547 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
5548
5549         * event-stream.c (Fread_key_sequence): save current buffer.
5550
5551 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5552
5553         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
5554
5555 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5556
5557         * alloc.c (lcrecord_stats): Add space for types defined in modules.
5558
5559 2001-10-26  Mike Alexander  <mta@arbortext.com>
5560
5561         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
5562
5563 2001-10-25  Andy Piper  <andy@xemacs.org>
5564
5565         * ChangeLog:
5566         * dialog-msw.c (handle_directory_proc): new function.
5567          (handle_directory_dialog_box): new fucntion.
5568          (handle_file_dialog_box): use new directory dialog support.
5569          (mswindows_make_dialog_box_internal): ditto.
5570         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
5571         handling.
5572         (mswindows_find_frame): make global.
5573         * fileio.c (Fexpand_file_name): build fix.
5574         * general-slots.h: add Qdirectory.
5575         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
5576         handling.
5577         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
5578         cygwin not leaving win32 paths unchanged.
5579         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
5580         cygwin runtime to do path conversion.
5581         (Fmswindows_shell_execute): fix cygwin handling of URLs.
5582         (syms_of_win32): add new function.
5583         * window.c (window_loop): build fix.
5584
5585 2001-10-15  Andy Piper  <andy@xemacs.org>
5586
5587         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
5588
5589 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
5590
5591         * XEmacs 21.4.5 "Civil Service" is released.
5592
5593 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
5594
5595         * glyphs-x.c: Force buffer-tab highlight update when moving the
5596         buffer, avoiding an ugly black border, used for keyboard focus
5597         indication, on a widget that can never have keyboard focus, the
5598         buffer tab.
5599
5600 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
5601
5602         * process-unix.c (unix_open_multicast_group): Remove too much
5603         conversion between host and network byte order.
5604
5605 2001-09-10  Nix  <nix@esperi.demon.co.uk>
5606
5607         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
5608         before replacing them.
5609
5610         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
5611         operation.
5612
5613         * src/window.c (undedicate_windows): Use it.
5614         * src/window.h: Add prototype.
5615
5616 2001-09-17  Ben Wing  <ben@xemacs.org>
5617
5618         * fileio.c (normalize_filename):
5619         * fileio.c (Fexpand_file_name):
5620         Fix various C++ compile errors in Andy's recent code.
5621         
5622         * callint.c (Fcall_interactively):
5623         * editfns.c (Ftemp_directory):
5624         * editfns.c (Fuser_full_name):
5625         * emacs.c (argmatch):
5626         * lread.c (locate_file_map_suffixes):
5627         * redisplay-x.c (x_ring_bell):
5628         Fix sign-compare warnings.
5629         
5630 2001-09-08  Andy Piper  <andy@xemacs.org>
5631
5632         * fileio.c (normalize_filename): copied from nt.c
5633         * (Ffile_name_directory): enable win32 paths under cygwin.
5634         * (Ffile_name_nondirectory): ditto.
5635         * (directory_file_name): ditto.
5636         * (Fexpand_file_name): ditto.
5637         * (Ffile_truename): ditto.
5638         * (Fsubstitute_in_file_name): ditto.
5639         * (Ffile_name_absolute_p): ditto.
5640         * (Ffile_readable_p): ditto.
5641
5642 2001-09-08  Andy Piper  <andy@xemacs.org>
5643
5644         * device-msw.c (mswindows_finish_init_device): remove dde
5645         initialization.
5646         * device-msw.c (mswindows_init_dde): factor out from
5647         mswindows_finish_init_device()
5648         * device-msw.c (init_mswindows_very_early): new function
5649         initialize but don't enable dde.
5650         * emacs.c (main_1): call init_mswindows_very_early.
5651         * event-msw.c:
5652         * event-msw.c (mswindows_dde_callback): only execute when we are
5653         ready.
5654         * symsinit.h: declare init_mswindows_very_early.
5655
5656 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5657
5658         [sjt: This has been in 21.5 for months with no complaints.]
5659
5660         * console.h (struct console_methods): Added flags member.
5661         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
5662         (CONMETH_IMPL_FLAG):
5663         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
5664         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5665
5666         * device.c (window_system_pixelated_geometry): Use the above macros.
5667
5668         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
5669         implememntation flag.
5670         * device.h (DEVICE_DISPLAY_P): Use it.
5671
5672         * frame.c (delete_frame_internal): Use the above macro.
5673
5674         * redisplay.c (redisplay_device): Use it.
5675         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5676         (redisplay_frame): Ditto.
5677
5678         * device-msw.c (mswindows_device_implementation_flags): Removed.
5679         (msprinter_device_implementation_flags): Removed.
5680         (console_type_create_device_mswindows): Removed references to
5681         implementation_flags methods, set implementation flags here.
5682         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
5683
5684         * device-gtk.c (gtk_device_implementation_flags): Removed method.
5685         (console_type_create_device_gtk): Removed method declaration.
5686         Added commented out statement which semantically matches the
5687         commented out statement in the above removed method.
5688
5689 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
5690
5691         The attached patch fixes a few warnings. 
5692
5693         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
5694         * src/frame-gtk.c: guard against GNOME calls in GTK only
5695         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
5696         * src/select-gtk.c: prototype lisp_to_time
5697
5698 2001-06-08  Ben Wing  <ben@xemacs.org>
5699
5700         ------ gc-in-window-procedure fixes ------
5701         
5702         * alloc.c:
5703         * alloc.c (struct post_gc_action):
5704         * alloc.c (register_post_gc_action):
5705         * alloc.c (run_post_gc_actions):
5706         * alloc.c (garbage_collect_1):
5707         Create "post-gc actions", to avoid those dreaded "GC during window
5708         procedure" problems.
5709
5710         * event-msw.c:
5711         Abort, clean and simple, when GC in window procedure.  We want
5712         to flush these puppies out.
5713
5714         * glyphs-msw.c:
5715         * glyphs-msw.c (finalize_destroy_window):
5716         * glyphs-msw.c (mswindows_finalize_image_instance):
5717         Use a post-gc action when destroying subwindows.
5718
5719         * lisp.h:
5720         Declare register_post_gc_action().
5721
5722         * scrollbar-msw.c:
5723         * scrollbar-msw.c (unshow_that_mofo):
5724         Use a post-gc action when unshowing scrollbar windows, if in gc.
5725
5726         * redisplay.c (mark_redisplay):
5727         Add comment about the utter evilness of what's going down here.
5728
5729         ------ cygwin setitimer fixes ------
5730         
5731         * Makefile.in.in (sheap_objs):
5732         * Makefile.in.in (profile_objs):
5733         * Makefile.in.in (objs):
5734         Compile profile.c only when HAVE_SETITIMER.
5735         
5736         * nt.c (mswindows_sigset):
5737         * nt.c (mswindows_sighold):
5738         * nt.c (mswindows_sigrelse):
5739         * nt.c (mswindows_sigpause):
5740         * nt.c (mswindows_raise):
5741         * nt.c (close_file_data):
5742         Style fixes.
5743         
5744         * nt.c:
5745         Move setitimer() emulation to win32.c, because Cygwin needs it too.
5746         
5747         * profile.c:
5748         * profile.c (Fstart_profiling):
5749         * profile.c (Fstop_profiling):
5750         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
5751         instead of just plain setitimer().
5752         
5753         * signal.c:
5754         * signal.c (set_one_shot_timer):
5755         * signal.c (alarm):
5756         Define qxe_setitimer() as an encapsulation around setitimer() --
5757         call setitimer() directly unless Cygwin or MS Win, in which case
5758         we use our simulated version in win32.c.
5759         
5760         * systime.h:
5761         * systime.h (struct itimerval):
5762         * systime.h (ITIMER_REAL):
5763         Prototype mswindows_setitimer() and qxe_setitimer().  Long
5764         comment about "qxe" and the policy regarding encapsulation.
5765
5766         * win32.c:
5767         * win32.c (setitimer_helper_proc):
5768         * win32.c (setitimer_helper_period):
5769         * win32.c (setitimer_helper):
5770         * win32.c (mswindows_setitimer):
5771         Move setitimer() emulation here, so Cygwin can use it.
5772         Rename a couple of functions and variables to be longer and more
5773         descriptive.  In setitimer_helper_proc(), send the signal
5774         using either mswindows_raise() or (on Cygwin) kill().  If for
5775         some reason we are still getting lockups, we'll change the kill()
5776         to directly invoke the signal handlers.
5777
5778         ------ windows shell fixes ------
5779         
5780         * callproc.c:
5781         * ntproc.c:
5782         Comments about how these two files must die.
5783
5784         * callproc.c (init_callproc):
5785         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
5786         not just COMSPEC. (more correct and closer to FSF.) Don't
5787         force a value for SHELL into the environment. (Comments added
5788         to explain why not.)
5789         
5790         * nt.c (init_user_info):
5791         Don't shove a fabricated SHELL into the environment.  See above.
5792
5793 2001-06-01  Ben Wing  <ben@xemacs.org>
5794
5795         * Makefile.in.in (ldflags):
5796         eliminate that pesky "defaulting to 00401000" warning.
5797         * nt.h:
5798         eliminate warnings.
5799
5800 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
5801
5802         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
5803         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
5804
5805 2001-04-24  Jerry James <james@xemacs.org>
5806
5807         * faces.h: pass parameters to Fadd_spec_to_specifier in the
5808         correct order.
5809
5810 2001-06-01  Ben Wing  <ben@xemacs.org>
5811
5812         * event-msw.c (debug_mswin_messages):
5813         conditionalize the messages that were causing compile errors.
5814         (if only macros could generate #ifdef statements ...)
5815
5816 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
5817
5818         * XEmacs 21.4.4 "Artificial Intelligence" is released.
5819
5820 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5821
5822         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
5823
5824 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5825
5826         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
5827         * process-unix.c (unix_canonicalize_host_name):
5828         sysdep.c (init_system_name):
5829         Use it to conditionally support IPv6 canonicalization.
5830
5831 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
5832
5833         * event-msw.c:
5834         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
5835
5836 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
5837
5838         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
5839         attempt is made to scroll when no scroll bar is available.
5840
5841 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5842
5843         * input-method-motif.c (XIM_delete_frame): New callback.
5844         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
5845         got deleted from 21.4.3.)
5846
5847 2001-06-01  Ben Wing  <ben@xemacs.org>
5848
5849         * nt.c (mswindows_utime):
5850         * nt.c (close_file_data):
5851         fix off-by-one-indirection error.
5852
5853 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
5854
5855         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
5856         because set_file_times() now takes Lisp_Object path, instead of
5857         char*.
5858         * nt.c: Include buffer.h.
5859         * nt.c (convert_from_time_t): New.
5860         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
5861         not set mtime correctly.
5862         * nt.h: Declare mswindows_utime().
5863         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
5864         path, instead of char*.
5865         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
5866
5867 2001-05-30  Ben Wing  <ben@xemacs.org>
5868
5869         For 21.4:
5870
5871         (Stephen, just take all event-msw.c patches.  This includes
5872         the "iconify" fix below.)
5873
5874         * event-msw.c:
5875         * event-msw.c (mswindows_dequeue_dispatch_event):
5876         * event-msw.c (assert):
5877         * event-msw.c (emacs_mswindows_quit_p):
5878         * event-msw.c (debug_mswin_messages):
5879         * event-msw.c (debug_output_mswin_message):
5880         * event-msw.c (vars_of_event_mswindows):
5881         Fix yet more problems with C-g handling.
5882         Implement debug-mswindows-events.
5883         
5884 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5885
5886         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
5887         
5888 2001-05-23  Ben Wing  <ben@xemacs.org>
5889
5890         * event-msw.c (winsock_writer):
5891         * event-msw.c (winsock_closer):
5892         prior kludgy code was clobbering the buffer, thinking it was
5893         "unused" space to store an unneeded return value; instead, use
5894         the variable we've already got staring us in the face.
5895
5896 2001-05-17  Andy Piper  <andy@xemacs.org>
5897
5898         * sysfile.h: don't assume that file attributes are boolean
5899
5900 2001-05-23  Ben Wing  <ben@xemacs.org>
5901
5902         * device-msw.c (msprinter_init_device):
5903         signal an error rather than crash with an unavailable network
5904         printer (from Mike Alexander).
5905         
5906         * event-msw.c:
5907         * event-msw.c (struct winsock_stream):
5908         * event-msw.c (winsock_writer):
5909         * event-msw.c (winsock_closer):
5910         * event-msw.c (make_winsock_stream_1):
5911         cleanup headers.  fix (hopefully) an error with data corruption
5912         when sending to a network connection.
5913
5914         * fileio.c (Fexpand_file_name): Fix evil code that attempts
5915         to handle the ~user prefix by (a) always assuming we're referencing
5916         ourselves and not even verifying the user -- hence any file with
5917         a tilde as its first char is invalid! (b) if there wasn't a slash
5918         following the filename, the pointer was set *past* the end of
5919         file and we started reading from uninitialized memory.  Now we
5920         simply treat these as files, always.
5921
5922         * buffer.c (common_init_complex_vars_of_buffer): comment change.
5923         
5924 2001-05-19  Ben Wing  <ben@xemacs.org>
5925
5926         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
5927
5928         * process-nt.c:
5929         * process-nt.c (vars_of_process_nt):
5930         remove unused mswindows-quote-process-args.  rec for 21.4.
5931         
5932 2001-05-12  Ben Wing  <ben@xemacs.org>
5933
5934         * event-msw.c (mswindows_dde_callback):
5935         * event-msw.c (mswindows_wnd_proc):
5936         eliminate cygwin warnings.
5937
5938 2001-05-06  Ben Wing  <ben@xemacs.org>
5939
5940         * console-msw.h:
5941         * device-msw.c:
5942         * device-msw.c (print_dialog_worker):
5943         * device-msw.c (mswindows_handle_print_dialog_box):
5944         * device-msw.c (syms_of_device_mswindows):
5945         * dialog-msw.c (mswindows_make_dialog_box_internal):
5946         * general-slots.h:
5947         implement printing the selection when it's selected.
5948
5949 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
5950
5951         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
5952
5953 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
5954
5955         * lisp.h (EMACS_INT_MAX): This should be one bit less since
5956         EMACS_INT is signed.
5957
5958 2001-04-15  Michael Lausch  <mla@1012surf.net>
5959
5960         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
5961         gtk_widget_request_size() to give scrollbar >0 width for
5962         GTK >1.2.8.
5963
5964 2001-05-30  William M. Perry  <wmperry@gnu.org>
5965
5966         * event-gtk.c: Check for buttons as modifier keys.
5967
5968 2001-05-25  Craig Lanning  <CraigL@Knology.net>
5969
5970         * s\mingw32.h:
5971         Properly find MinGW's <process.h> inside Cygwin's restructured
5972         include directories.  Don't try to include <cygwin/version.h>
5973         since we are dropping support for MinGW in versions of Cygwin
5974         earlier than b21.
5975         * nt.c:
5976         Drop support for MinGW in versions of Cygwin before b21.
5977         * sysdep.c:
5978         Properly find MinGW's <process.h> inside Cygwin's restructured
5979         include directories.
5980         * syswindows.h:
5981         Drop support for MinGW in versions of Cygwin before b21.
5982         * unexcw.c:
5983         Even though a.out.h is no longer detected by configure, allow
5984         MinGW to use it until we figure out how to do the job with Win32.
5985
5986 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
5987
5988         * syntax.c (find_start_of_comment):
5989         Fix `unbalanced parentheses' bug when dealing with mixed comment
5990         styles in c++/java/etc. mode
5991
5992 2001-05-29  Mike Alexander  <mta@arbortext.com>
5993
5994         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
5995         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
5996
5997 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
5998
5999         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6000
6001 2001-03-31  Mike Sperber <mike@xemacs.org>
6002
6003         * search.c (Freplace_match): Support FSF-style specification of
6004         match subexpression when applied to a buffer.
6005
6006 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6007
6008         * event-stream.c (is_scrollbar_event): add missing semicolon
6009
6010 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6011
6012         * Makefile.in.in: Use TAR macro instead of hardcoding
6013           tar.  Allows use of GNU tar instead of system tar
6014
6015 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6016
6017         * event-stream.c (is_scrollbar_event): add missing semicolon
6018
6019 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6020
6021         * XEmacs 21.4.3 "Academic Rigor" is released.
6022
6023 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6024
6025         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6026
6027 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6028
6029         * buffer.c (Vcase_fold_search): Remove obsolete
6030           comment about non ASCII case-fold-search.  This
6031           bug has been fixed by case-table changes.
6032
6033 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6034
6035         * event-msw.c: Restore include of events-mod.h.
6036
6037 2001-04-22   zhaoway  <zw@debian.org>
6038
6039         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6040         !HAVE_SCROLLBARS.
6041
6042 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6043
6044         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6045
6046 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6047
6048         * mule-charset.c (Fmake_charset): Add missing else.
6049
6050 2001-04-23  Ben Wing  <ben@xemacs.org>
6051
6052         * event-msw.c (FAKE_MOD_QUIT):
6053         * event-msw.c (mswindows_dequeue_dispatch_event):
6054         * event-msw.c (mswindows_wnd_proc):
6055         * event-msw.c (emacs_mswindows_quit_p):
6056         Get critical quit working.
6057
6058 2001-05-05  Ben Wing  <ben@xemacs.org>
6059
6060         * console-msw.h:
6061         * device-msw.c:
6062         * device-msw.c (mswindows_get_default_margin):
6063         * frame-msw.c (mswindows_size_frame_internal):
6064         * frame-msw.c (msprinter_init_frame_1):
6065         * frame-msw.c (vars_of_frame_mswindows):
6066         Change top/bottom margin defaults to 0.5 inches.
6067
6068 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6069
6070         Fix link error with gcc 3.0 on Linux.
6071         * terminfo.c (UP): Remove.
6072         * terminfo.c (BC): Remove.
6073         * terminfo.c (PC): Remove.
6074         They weren't used, and in any case, these symbols should be
6075         defined in the *library*.
6076
6077 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6078
6079         * s/aix4.h: Fix crash with xlc -O3.
6080         Improve comment explaining how -O3 works.
6081
6082 2001-04-15  Ben Wing  <ben@xemacs.org>
6083
6084         * event-stream.c:
6085         * event-stream.c (Fnext_event):
6086         * event-stream.c (is_scrollbar_event):
6087         * event-stream.c (execute_command_event):
6088         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6089         crash' problem.  His fix introduces other problems.  We filter
6090         out scrollbar events specifically, making them somewhat invisible
6091         to command-building, and not appearing in `this-command-keys'.
6092         More work is still needed (see comments in event-stream.c), but
6093         this fixes all the major problems.
6094
6095 2001-04-20  Ben Wing  <ben@xemacs.org>
6096
6097         * .cvsignore: Added stuff for Windows.
6098
6099 2001-04-28  Ben Wing  <ben@xemacs.org>
6100
6101         * buffer.c (Ferase_buffer):
6102         * editfns.c (buffer_insert1):
6103         * editfns.c (Finsert_before_markers):
6104         * editfns.c (Finsert_string):
6105         * editfns.c (Finsert_char):
6106         * editfns.c (Fdelete_region):
6107         * editfns.c (Fwiden):
6108         * editfns.c (Fnarrow_to_region):
6109         remove bogus lines setting zmacs_region_stays to 0.
6110         
6111 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6112
6113         * process-unix.c (unix_open_network_stream): If connect() fails
6114         invalidate file descriptor after closing it.
6115
6116 2001-03-08  Mike Alexander  <mta@arbortext.com>
6117
6118         * event-msw.c (mswindows_need_event_in_modal_loop):
6119         Don't dispatch a message if we didn't get one.
6120         (mswindows_need_event):
6121         Terminate the correct process when one exits instead of the first
6122         one on Vprocess_list and look for process termination when in
6123         mswindows_protect_modal_loop.
6124
6125 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6126
6127         * XEmacs 21.4.1 "Copyleft" is released.
6128
6129 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6130
6131         * input-method-motif.c (XIM_delete_frame): New callback.
6132         (XIM_init_frame): Register it.
6133
6134 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6135
6136         * XEmacs 21.4.0 "Solid Vapor" is released.
6137
6138 2001-04-15  Ben Wing  <ben@xemacs.org>
6139
6140         * cmdloop.c (call_command_loop):
6141         Fix braino in bit-rotting code.
6142         
6143 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6144
6145         * extents.c (Fset_extent_endpoints): Force creation of extent info
6146         in buffer_or_string.
6147
6148         * extents.c (process_extents_for_insertion_mapper): Correctly
6149         check for open-open zero-length extents.
6150
6151 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6152
6153         * lisp.h: New typedefs Memory_count, Element_count.
6154         * regex.c:
6155         * regex.h:
6156         Sign-compare warning elimination: several unsigned -> signed.
6157         Based on work by Ben Wing <ben@xemacs.org>.
6158
6159 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6160
6161         * XEmacs 21.2.47 "Zephir" is released.
6162
6163 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6164
6165         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6166
6167 2001-04-03  Mike Sperber <mike@xemacs.org>
6168
6169         * search.c: Revert previous patch due because of release.
6170
6171 2001-03-30  Ben Wing  <ben@xemacs.org>
6172
6173         * s\cygwin32.h:
6174         Add missing killpg prototype.
6175
6176         * elhash.c:
6177         Add a comment about fixing problems when a new entry is added
6178         while mapping.
6179
6180         * frame-msw.c (mswindows_init_frame_1):
6181         Fix compile warnings.
6182
6183         * menubar.c (vars_of_menubar):
6184         Provide `menu-accelerator-support' to indicate that we properly
6185         support %_ in menu specifications, so that package code can
6186         conditionalize on this (and remove %_ from menu specifications
6187         on older versions).
6188
6189         * event-msw.c:
6190         * scrollbar-msw.c:
6191         * scrollbar-msw.c (can_scroll):
6192         * scrollbar-msw.h:
6193         Fix handling of mouse wheel under Windows to follow standards --
6194         now scrolls window under pointer, not selected window.
6195
6196 2001-03-31  Mike Sperber <mike@xemacs.org>
6197
6198         * search.c (Freplace_match): Support FSF-style specification of
6199         match subexpression when applied to a buffer.
6200
6201 2001-03-15  Martin Buchholz  <martin@xemacs.org>
6202
6203         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
6204         function to modify KEYMAP, so map over a copy of the hash table.
6205
6206 2001-03-21  Martin Buchholz <martin@xemacs.org>
6207
6208         * XEmacs 21.2.46 "Urania" is released.
6209
6210 2001-03-20  Dan Holmsand  <dan@eyebee.com>
6211
6212         * realpath.c (xrealpath): Make file-truename work with symlinks to
6213         /cygdrive paths on cygwin. Always lowercase drive-letters on
6214         native windows.
6215         (cygwin_readlink): Don't try to find canonical filename unless
6216         file exists.
6217
6218 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
6219
6220         * ChangeLog: Log GTK merge.
6221
6222         * dumper.c:
6223         * select-x.c:
6224         * specifier.c:
6225         * symeval.h:
6226         Revert gratuitous whitespace changes from GTK merge.
6227
6228         * emacs.c: Document end of complex #ifdef @ l. 1495.
6229
6230
6231 2001-03-12  Andy Piper  <andy@xemacs.org>
6232
6233         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
6234         have to do likewise.
6235
6236 2001-03-12  Andy Piper  <andy@xemacs.org>
6237
6238         * sysdep.c: we only support mingw now.
6239
6240 2001-03-09  Andy Piper  <andy@xemacs.org>
6241
6242         * unexcw.c (copy_executable_and_dump_data_section): making approx
6243         overrun a warning only.
6244
6245 2001-03-10  William M. Perry  <wmperry@aventail.com>
6246
6247         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
6248         satisfy Stephen's identical-after-cpp plea.
6249
6250 2001-03-02  Ben Wing  <ben@xemacs.org>
6251
6252         * cmds.c:
6253         * cmds.c (Fforward_char):
6254         * syntax.c:
6255         * window.c:
6256
6257         Augment documentation of the most common motion commands to make
6258         note of the shifted-motion support.
6259         
6260 2001-03-02  Ben Wing  <ben@xemacs.org>
6261
6262         * nt.c (mswindows_fstat):
6263         * nt.c (mswindows_stat):
6264         * search.c (boyer_moore):
6265         Fix compile warnings under Windows.
6266         
6267         * sysdep.c (sys_readdir):
6268         Fix buggy filename-conversion code under Mule.
6269
6270 2001-03-09  William M. Perry  <wmperry@aventail.com>
6271
6272         * Makefile.in.in:
6273         * config.h.in:
6274         * console.c:
6275         * console.h:
6276         * device.c:
6277         * device.h:
6278         * dragdrop.c:
6279         * emacs.c:
6280         * event-stream.c:
6281         * events.c:
6282         * events.h:
6283         * faces.c:
6284         * frame.h:
6285         * general-slots.h:
6286         * glyphs.c:
6287         * gutter.c:
6288         * inline.c:
6289         * lisp.h:
6290         * lrecord.h:
6291         * make-src-depend:
6292         * redisplay-output.c:
6293         * redisplay.c:
6294         * symsinit.h:
6295         * sysfile.h:
6296         * toolbar.c:
6297         * window.c:
6298         The Great GTK Merge.
6299
6300         * ChangeLog.GTK:
6301         * console-gtk.c:
6302         * console-gtk.h:
6303         * device-gtk.c:
6304         * emacs-marshals.c:
6305         * emacs-widget-accessors.c:
6306         * event-gtk.c:
6307         * frame-gtk.c:
6308         * gccache-gtk.c:
6309         * gccache-gtk.h:
6310         * glade.c:
6311         * glyphs-gtk.c:
6312         * glyphs-gtk.h:
6313         * gtk-glue.c:
6314         * gtk-xemacs.c:
6315         * gtk-xemacs.h:
6316         * gui-gtk.c:
6317         * gui-gtk.h:
6318         * menubar-gtk.c:
6319         * native-gtk-toolbar.c:
6320         * objects-gtk.c:
6321         * objects-gtk.h:
6322         * redisplay-gtk.c:
6323         * scrollbar-gtk.c:
6324         * scrollbar-gtk.h:
6325         * select-gtk.c:
6326         * toolbar-gtk.c:
6327         * ui-byhand.c:
6328         * ui-gtk.c:
6329         * ui-gtk.h:
6330         The Great GTK Merge: new files.
6331
6332 2001-02-26  Ben Wing  <ben@xemacs.org>
6333
6334         Reapplied Lstream change.
6335
6336 2001-02-26  Ben Wing  <ben@xemacs.org>
6337
6338         Undid the last change, since it is more controversial than I
6339         thought.  It should be back in at some point soon.
6340         
6341 2001-02-25  Ben Wing  <ben@xemacs.org>
6342
6343         * buffer.c:
6344         * callproc.c (Fold_call_process_internal):
6345         * event-msw.c (ntpipe_slurp_reader):
6346         * event-msw.c (ntpipe_shove_writer):
6347         * event-msw.c (winsock_reader):
6348         * event-msw.c (winsock_writer):
6349         * file-coding.c:
6350         * file-coding.c (detect_eol_type):
6351         * file-coding.c (detect_coding_type):
6352         * file-coding.c (determine_real_coding_system):
6353         * file-coding.c (Fdetect_coding_region):
6354         * file-coding.c (decoding_reader):
6355         * file-coding.c (decoding_writer):
6356         * file-coding.c (mule_decode):
6357         * file-coding.c (Fdecode_coding_region):
6358         * file-coding.c (encoding_reader):
6359         * file-coding.c (encoding_writer):
6360         * file-coding.c (mule_encode):
6361         * file-coding.c (Fencode_coding_region):
6362         * file-coding.c (detect_coding_sjis):
6363         * file-coding.c (decode_coding_sjis):
6364         * file-coding.c (encode_coding_sjis):
6365         * file-coding.c (detect_coding_big5):
6366         * file-coding.c (decode_coding_big5):
6367         * file-coding.c (encode_coding_big5):
6368         * file-coding.c (detect_coding_ucs4):
6369         * file-coding.c (decode_coding_ucs4):
6370         * file-coding.c (encode_coding_ucs4):
6371         * file-coding.c (detect_coding_utf8):
6372         * file-coding.c (decode_coding_utf8):
6373         * file-coding.c (encode_coding_utf8):
6374         * file-coding.c (detect_coding_iso2022):
6375         * file-coding.c (decode_coding_iso2022):
6376         * file-coding.c (encode_coding_iso2022):
6377         * file-coding.c (decode_coding_no_conversion):
6378         * file-coding.c (encode_coding_no_conversion):
6379         * glyphs-x.c (write_lisp_string_to_temp_file):
6380         * gpmevent.c (tty_get_foreign_selection):
6381         * lisp.h:
6382         * lstream.c:
6383         * lstream.c (Lstream_flush_out):
6384         * lstream.c (Lstream_adding):
6385         * lstream.c (Lstream_write_1):
6386         * lstream.c (Lstream_write):
6387         * lstream.c (Lstream_raw_read):
6388         * lstream.c (Lstream_read_more):
6389         * lstream.c (Lstream_read):
6390         * lstream.c (Lstream_unread):
6391         * lstream.c (Lstream_fputc):
6392         * lstream.c (stdio_reader):
6393         * lstream.c (stdio_writer):
6394         * lstream.c (filedesc_reader):
6395         * lstream.c (filedesc_writer):
6396         * lstream.c (lisp_string_reader):
6397         * lstream.c (struct fixed_buffer_stream):
6398         * lstream.c (make_fixed_buffer_input_stream):
6399         * lstream.c (make_fixed_buffer_output_stream):
6400         * lstream.c (fixed_buffer_reader):
6401         * lstream.c (fixed_buffer_writer):
6402         * lstream.c (struct resizing_buffer_stream):
6403         * lstream.c (resizing_buffer_writer):
6404         * lstream.c (dynarr_writer):
6405         * lstream.c (lisp_buffer_reader):
6406         * lstream.c (lisp_buffer_writer):
6407         * lstream.h:
6408         * lstream.h (lstream_implementation):
6409         * lstream.h (struct lstream):
6410         * md5.c (Fmd5):
6411         * process-nt.c (nt_send_process):
6412         * process-unix.c (unix_send_process):
6413         
6414         Correct Lstream lossage due to mixing of signed and unsigned
6415         quantities.  All Lstream uses of size_t and ssize_t are now a
6416         single signed data type Lstream_data_count.  This fixes problems
6417         under Windows with sending large quantities of data to a process,
6418         and may well fix other subtle bugs.
6419
6420 2001-02-23  Martin Buchholz <martin@xemacs.org>
6421
6422         * XEmacs 21.2.45 "Thelxepeia" is released.
6423
6424 2001-02-21  Martin Buchholz  <martin@xemacs.org>
6425
6426         * lisp-union.h (XSETINT): 
6427         (XSETCHAR):
6428         (XSETOBJ): 
6429         Reverse previous change of 2001-02-06.
6430
6431 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
6432
6433         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
6434         buffers.
6435         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6436         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
6437         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
6438         * regex.c (POS_AS_IN_BUFFER): removed
6439         * regex.c (re_search_2):
6440         * regex.c (re_match_2):
6441         Don't use an offset of 1 when calculating buffer positions, since
6442         `BI_BUF_BEGV' does it already.
6443
6444 2001-02-18  Wim Dumon  <wim@easics.be>
6445
6446         * insdel.c (prepare_to_modify_buffer): Also check for
6447         supersession when clash-detection is enabled. 
6448
6449 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
6450
6451         * regex.c (re_match_2_internal):
6452         Convert temp characters from 'const unsigned char' to 're_char'.
6453         Fix crashing bug with extended characters under mule.
6454         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
6455         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
6456         font-lock, pdump, and new syntax-table code.
6457         * syntax.c (find_start_of_comment):
6458         (find_end_of_comment):
6459         (forward-comment):
6460         Fix crashing bugs involving moving beyond end of buffer.
6461         * syntax.c (find_start_of_comment):
6462         Fixed logic to allow proper detection of cases where the same
6463         character is used to end both a two-char comment start and a
6464         two-char comment end sequence. Fixes `(forward-comment -1)'.
6465         * syntax.c (find_start_of_comment):
6466         Return position just past last comment-end character for all cases
6467         (previously was only done for two-char comment-end sequences).
6468         * syntax.c (forward-comment):
6469         Take value returned from `find_end_of_comment', rather than
6470         incrementing it.
6471         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6472         Properly deal with BUFFERP (syntax_cache.object)
6473
6474 2001-02-17  Martin Buchholz  <martin@xemacs.org>
6475
6476         * alloc.c (Fgarbage_collect): 
6477         * alloc.c (make_bit_vector_from_byte_vector):
6478         -Wsign-compare-correctness.
6479
6480 2001-02-16  Martin Buchholz  <martin@xemacs.org>
6481
6482         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
6483         (XSETCHAR): Likewise.
6484         (XSETOBJ): Likewise.
6485
6486 2001-02-15  Martin Buchholz  <martin@xemacs.org>
6487
6488         * mule-canna.c (canna-func-delete_previous): 
6489         Rename to canna-func-delete-previous.
6490
6491 2001-02-14  Martin Buchholz  <martin@xemacs.org>
6492
6493         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
6494
6495 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
6496
6497         * font-lock.c (find_context): Fix C++ compile errors introduced by
6498         recent patch
6499
6500 2001-02-13  Martin Buchholz  <martin@xemacs.org>
6501
6502         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
6503         pragma, but earlier ones barf on the same pragma.
6504
6505 2001-02-06  Mike Sperber <mike@xemacs.org>
6506
6507         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
6508         `configure-mule-lisp-directory'.
6509
6510 2001-02-12  Martin Buchholz  <martin@xemacs.org>
6511
6512         Make sure dump-id.c is compiled in the same way as other .c's.
6513         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
6514         * dump-id.h: Remove.
6515         * emacs.c: Move dump-id.h into dumper.h.
6516         * dumper.h: Move dump-id.h into dumper.h.
6517         * Makefile.in.in:
6518         Use standard .c.o rule for building dump-id.o.
6519         Remove preprocessor flags from link command.
6520         Add dump-id.o to ${otherobjs} if PDUMP.
6521
6522 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
6523
6524         Port FSF 20.7 syntax table improvements.
6525         * syntax.c.
6526         * syntax.h.
6527
6528         Fixups for new syntax table stuff.
6529         * dired.c: Include syntax.c.
6530         (Fdirectory_files): Initialize regex_match_object and
6531         regex_emacs_buffer.
6532         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
6533         and Fget_char_property.
6534
6535         Use ported FSF 20.7 syntax table improvements.
6536         * font-lock.c.
6537         * regex.c.
6538         * search.c.
6539         
6540 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6541
6542         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
6543         Unixware's enum boolean from sys/types.h.
6544
6545 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6546
6547         Fix support for building with latest Purify.
6548         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
6549         (PURIFY_FLAGS): Likewise.
6550
6551 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6552
6553         * fileio.c (lisp_string_set_file_times): New.
6554         * fileio.c (Fcopy_file): Use it.
6555         Fixes bug:
6556         (copy-file filename non-ascii-filename t t)
6557         ==> No such file or directory, non-ascii-filename
6558
6559 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6560
6561         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
6562         USHRT_MAX seems clearer than ~0 anyways.
6563
6564 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6565
6566         dumper improvements.  Inspired by Olivier.
6567         * dumper.c (pdump_max_align): New.
6568         * dumper.c (pdump_add_entry): Use pdump_max_align.
6569         * dumper.c (pdump_get_entry_list): Likewise.
6570         * dumper.c (pdump_scan_by_alignment): Likewise.
6571         Don't iterate through unnecessary alignments.
6572         * dumper.c (pdump_file_get): No need to align result of malloc().
6573         * dumper.c (pdump_mallocadr): Remove.  
6574         The result of malloc() is guaranteed to be maximally aligned.
6575         * dumper.c: s/elmt/elt/g;
6576         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
6577         * dumper.c (pdump_alert_undump_object): Likewise.
6578         * dumper.c (pdump_align_table): 
6579         Don't support alignments > 64.
6580         Store ALIGNOF's, not shift counts, in table.
6581
6582 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6583
6584         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
6585         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
6586         * systime.h: Use HAVE_UTIME.
6587         * sysdep.c (struct utimbuf): Remove.
6588         * sysdep.c (set_file_times): Prefer utime() to utimes().
6589         * config.h.in (HAVE_UTIME): New.
6590         * config.h.in (HAVE_UTIME_H): Remove.
6591         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
6592
6593 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6594
6595         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
6596
6597 2001-02-08  Martin Buchholz  <martin@xemacs.org>
6598
6599         * s/irix6-0.h: Use the standard system memmove, not bcopy.
6600
6601 2001-02-08  Martin Buchholz <martin@xemacs.org>
6602
6603         * XEmacs 21.2.44 "Thalia" is released.
6604
6605 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6606
6607         Fixes crashes in kill-emacs on some systems.
6608         * process-unix.c (unix_kill_child_process):
6609         It's OK for kill() to fail with ESRCH.
6610
6611 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6612
6613         Contortions to make .gdbinit tricks work on most systems.
6614         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
6615         * alloc.c (dbg_valmask): Make non-const.
6616         * alloc.c (dbg_typemask): Make non-const.
6617         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
6618         * alloc.c (dbg_valbits): Make non-const.
6619         * alloc.c (dbg_gctypebits): Make non-const.
6620         * .gdbinit (decode_object): Make it work with AIX cc.
6621
6622 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6623
6624         * elhash.c (make_general_lisp_hash_table):
6625         Use simpler and more efficient calloc to clear entries.
6626
6627 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6628
6629         * window.c (window_scroll): Work around an AIX C compiler bug.
6630         Fixes 'scroll-up' does nothing problem with xlC.
6631
6632 2001-02-05  Martin Buchholz  <martin@xemacs.org>
6633
6634         * .gdbinit: Remove obsolete comment.
6635
6636 2001-01-31  Mike Alexander  <mta@arbortext.com>
6637
6638         * select.c (Fown_selection_internal): Set owned_p for device
6639         method correctly.
6640
6641 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6642
6643         Port to g++ 2.97.
6644         "not" cannot be used as a macro name as it is an operator in C++
6645         * config.h.in: Stop #defining `not'.
6646         * chartab.c (check_category_char): not ==> not_p
6647         * chartab.h: Likewise.
6648         * regex.c (re_match_2_internal): Likewise.
6649
6650 2001-02-02  Martin Buchholz  <martin@xemacs.org>
6651
6652         * lisp-disunion.h: Fix up comments.
6653
6654 2001-01-31  Martin Buchholz  <martin@xemacs.org>
6655
6656         * keymap.c (define_key_check_and_coerce_keysym):
6657         (syms_of_keymap):
6658         Support mouse-6 and mouse-7 bindings in the obvious way.
6659
6660 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6661
6662         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
6663
6664 2001-01-30  Martin Buchholz  <martin@xemacs.org>
6665
6666         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
6667         Previous patch missed DEFVAR_INT_MAGIC.
6668         Make sure future DEFVAR_foo use correct types.
6669         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
6670         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
6671         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
6672         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
6673         * (DEFVAR_INT): Likewise.
6674         * redisplay.c (vertical_clip): Should be of type Fixnum.
6675         * redisplay.c (horizontal_clip): Likewise.
6676         * lisp.h (dump_add_opaque_int): New.
6677         (dump_add_opaque_fixnum): New.
6678
6679 2001-01-29  Andy Piper  <andy@xemacs.org>
6680
6681         * glyphs-widget.c (check_valid_int_or_function): allow symbols
6682         since they can be eval'ed
6683
6684 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6685
6686         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
6687         Oops, XEmacs redefines `class'.  Use `typename' instead.
6688
6689 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6690
6691         * dumper.c: Fix C++ compile errors.
6692
6693 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6694
6695         * tparam.c: Use correct prototypes.
6696
6697 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6698
6699         * sysproc.h: #include util.h for NetBSD's openpty.
6700
6701 2001-01-27  Martin Buchholz  <martin@xemacs.org>
6702
6703         More 64-bit correctness.
6704         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
6705         Use a typedef `fixnum' for the type used for DEFVAR_INT.
6706         Fix up comments.
6707         This finally finishes the 64-bit SGI port.
6708         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
6709         * symbols.c: Fix up comments and type casts.
6710         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
6711         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
6712         * symeval.h (Fixnum): New type.
6713         * symeval.h (symbol_value_type): Fix up comment.
6714
6715         * commands.h:
6716         * nt.c:
6717         * emacs.c:
6718         * data.c:
6719         * redisplay.c:
6720         * abbrev.c:
6721         * dired-msw.c:
6722         * event-Xt.c:
6723         * eldap.c:
6724         * window.c:
6725         * sound.c:
6726         * event-stream.c:
6727         * eval.c:
6728         * buffer.c:
6729         * mule-canna.c: A million DEFVAR_INTs here...
6730         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
6731         * extents.c:
6732         * cmdloop.c:
6733         * lisp.h:
6734         * select-x.c:
6735         * console-x.h:
6736         * event-msw.c:
6737         * mule-wnnfns.c:
6738         * hpplay.c:
6739         * ralloc.c:
6740         * alloc.c:
6741         * keymap.c:
6742         * profile.c:
6743         s/int/Fixnum/g in DEFVAR_INT declarations.
6744
6745 2001-01-26  Martin Buchholz  <martin@xemacs.org>
6746
6747         Port pdump to SGI alignment-sensitive environment.
6748         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
6749         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
6750         properly aligned.
6751         Define and use aligned reading and writing macros.
6752         Use buffered stdio instead of posix i/o for faster dumping.
6753         Eliminate kludgy 256 byte space for header.
6754         Read and write from dump file using structs for alignment safety.
6755         * dumper.c (pdump_align_stream): New.
6756         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
6757         * dumper.c (PDUMP_READ_ALIGNED): New.
6758         * dumper.c (PDUMP_WRITE_ALIGNED): New.
6759         * dumper.c (pdump_static_Lisp_Object): New struct.
6760         * dumper.c (pdump_static_pointer): New struct.
6761         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
6762         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
6763         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
6764         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
6765
6766         * dumper.c (pdump_backtrace):
6767         * dumper.c (pdump_get_indirect_count):
6768         * dumper.c (pdump_register_object):
6769         * dumper.c (pdump_register_struct):
6770         * dumper.c (pdump_reloc_one):
6771         * dumper.c (pdump_scan_by_alignment):
6772         * dumper.c (pdump_dump_from_root_struct_ptrs):
6773         * dumper.c (pdump_dump_opaques):
6774         * dumper.c (pdump_dump_rtables):
6775         * dumper.c (pdump_dump_from_root_objects):
6776         * dumper.c (pdump):
6777         * dumper.c (pdump_load_finish):
6778         Use aligned reading and writing.
6779
6780         * dumper.c (pdump_free): Make static.
6781         * dumper.c (pdump_hFile): Likewise.
6782         * dumper.c (pdump_hMap): Likewise.
6783
6784 2001-01-26  Martin Buchholz <martin@xemacs.org>
6785
6786         * XEmacs 21.2.43 "Terspichore" is released.
6787
6788 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6789
6790         Type fiddling for window_config.saved_windows_count
6791         * window.c (struct window_config): 
6792         Make saved_windows_count member unsigned.
6793         * window.c (sizeof_window_config_for_n_windows): 
6794         Make parameter unsigned.
6795         * window.c (mark_window_config):
6796         * window.c (window_config_equal):
6797         * window.c (free_window_configuration):
6798         * window.c (Fset_window_configuration):
6799         * window.c (count_windows):
6800         * window.c (Fcurrent_window_configuration):
6801         * window.c (reinit_vars_of_window):
6802         Update all callers and users.
6803
6804 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6805
6806         Alignment correctness for flexible arrays.
6807         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
6808         Make alignment-correct. Add interesting comments.
6809         * alloc.c (size_vector):
6810         * alloc.c (make_vector_internal):
6811         * alloc.c (make_bit_vector_internal):
6812         * alloc.c (sweep_bit_vectors_1):
6813         * fns.c (size_bit_vector):
6814         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
6815         * window.c (sizeof_window_config_for_n_windows): 
6816         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
6817
6818 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6819
6820         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
6821
6822 2001-01-23  Andy Piper  <andy@xemacs.org>
6823
6824         * select.c (Fown_selection_internal): pass owned_p
6825
6826         * select-msw.c (mswindows_own_selection): New Signature.
6827
6828         * console.h (struct console_methods): add owned_p to
6829         _own_selection.
6830
6831         * select-x.c (x_own_selection): pass owned_p
6832         (hack_motif_clipboard_selection): use owned_p
6833         (vars_of_select_x): new variable -
6834         x_selection_strict_motif_ownership.
6835
6836 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6837
6838         * specifier.h (specifier_data_offset): Remove pointless parens.
6839         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
6840
6841 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6842
6843         Make Lisp_Object sizeof methods be alignment-correct.
6844         pdump must restore objects to the same alignment as the C compiler
6845         assumes.  It really matters on SGIs.
6846         * lstream.c (aligned_sizeof_lstream): New.
6847         (sizeof_lstream): Use aligned_sizeof_lstream.
6848         (Lstream_new): Likewise.
6849         * opaque.c (aligned_sizeof_opaque): New.
6850         (sizeof_opaque): Use aligned_sizeof_opaque.
6851         (make_opaque): Likewise.
6852         * specifier.c (aligned_sizeof_specifier): New.
6853         (sizeof_specifier): Use aligned_sizeof_specifier.
6854         (make_specifier_internal): Likewise.
6855
6856 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6857
6858         * lstream.h (struct lstream): Use max_align_t for trailing data.
6859         * specifier.h (struct Lisp_Specifier): Likewise.
6860
6861 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6862
6863         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
6864         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
6865         (CCL_SUSPEND): Likewise.
6866         (CCL_INVALID_CMD): Likewise.
6867         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
6868         (ccl_driver): Likewise.
6869         (CCL_WRITE_CHAR): Macro hygiene.
6870         (CCL_WRITE_STRING): Macro hygiene.
6871
6872 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6873
6874         Port "portable" dumper to SunOS 4 and HP-UX.
6875         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
6876         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
6877         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
6878
6879 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6880
6881         * lisp.h (ALIGNOF): A better definition for C++.
6882
6883 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6884
6885         Macro hygiene.
6886         Fix printf warnings: int format, long int arg.
6887         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
6888         (PUSH_FAILURE_POINT): Use correct printf formats.
6889         (POP_FAILURE_POINT): Use correct printf formats.  
6890         Use do {...} while (0)
6891
6892 2001-01-20  Martin Buchholz <martin@xemacs.org>
6893
6894         * XEmacs 21.2.42 "Poseidon" is released.
6895
6896 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6897
6898         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
6899
6900 2001-01-19  Martin Buchholz  <martin@xemacs.org>
6901
6902         De-kludgify FIXED_TYPE free list frobbing.
6903         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
6904         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
6905         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
6906         * alloc.c (Lisp_Free): New pseudo lisp object definition.
6907         * alloc.c (LRECORD_FREE_P): New.
6908         * alloc.c (MARK_LRECORD_AS_FREE): New.
6909         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
6910         * alloc.c (STRUCT_FREE_P): Deleted.
6911         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
6912         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
6913         * alloc.c (STRING_CHARS_FREE_P): New.
6914         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
6915         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
6916         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
6917         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
6918         * alloc.c (resize_string): Use new definitions.
6919         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
6920         * alloc.c (verify_string_chars_integrity): Use new definitions.
6921         * alloc.c (compact_string_chars): Use new definitions.
6922         * alloc.c: Update monster comments.
6923         * lrecord.h (lrecord_type): Add some new lrecord types for
6924         alloc.c's use.
6925
6926 2001-01-18  Martin Buchholz  <martin@xemacs.org>
6927
6928         Improve alignment hackery.
6929         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
6930         (max_align_t): Moved from opaque.h - general purpose.
6931         (ALIGN_PTR): Use size_t, not long.
6932         * opaque.h (max_align_t): Move to lisp.h.
6933
6934 2001-01-18  Norbert Koch  <nk@LF.net>
6935
6936         * gui.h: Fix and add prototypes to fix build problems.
6937
6938 2001-01-18  Martin Buchholz  <martin@xemacs.org>
6939
6940         temacs is going away, so `dump-temacs' is now a bad name.
6941         * .dbxrc (dump-temacs): Rename to `dmp'.
6942         * .gdbinit (dump-temacs): Rename to `dmp'.
6943
6944 2001-01-17  Andy Piper  <andy@xemacs.org>
6945
6946         * glyphs.c (print_image_instance): comment to make martin happy.
6947
6948         * glyphs-x.c (x_redisplay_widget): update faces after a frame
6949         change.
6950
6951         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
6952         activation.
6953         (mswindows_tab_control_redisplay): warning suppression.
6954
6955         * glyphs-widget.c (widget_update): re-write to cope with updated
6956         items.
6957         (widget_instantiate): use new gui_item functions.
6958         (tab_control_update): deleted.
6959         (progress_gauge_update): deleted.
6960         (image_instantiator_progress_guage): take out update reference.
6961         (image_instantiator_tree_view): ditto.
6962         (image_instantiator_tab_control): ditto.
6963
6964         * gui.c (widget_gui_parse_item_keywords): new function. Do things
6965         Right the new way.
6966         (gui_item_add_keyval_pair): re-write to cope with descriptors and
6967         return whether anything was changed.
6968         (update_gui_item_keywords): as it sounds.
6969
6970         * gui.h: declare widget_gui_parse_item_keywords.
6971
6972         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
6973         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
6974
6975 2001-01-17  Martin Buchholz <martin@xemacs.org>
6976
6977         * XEmacs 21.2.41 "Polyhymnia" is released.
6978
6979 2001-01-16  Didier Verna  <didier@xemacs.org>
6980
6981         * glyphs.c (image_instantiate): don't use fallbacks when
6982         instantiating a face's background pixmap by inheritance.
6983
6984 2001-01-14  Mike Sperber <mike@xemacs.org>
6985
6986         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
6987         Conditionalize accordingly.
6988
6989 2001-01-16  Martin Buchholz  <martin@xemacs.org>
6990
6991         * dumper.c (pdump_file_get): Fix a compiler warning.
6992
6993 2001-01-15  Martin Buchholz  <martin@xemacs.org>
6994
6995         Make Purify happy when pdumping.
6996         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
6997         iniitalizing all bits of new lisp object memory.
6998         * symbols.c (Fmake_local_variable): Likewise.
6999         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7000         * symbols.c (Fdefvaralias): Likewise.
7001         * mule-charset.c (vars_of_mule_charset): Likewise.
7002
7003 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7004         Add the `-nd' flag when running pre-dump operations under the debugger.
7005         * .dbxrc (run-temacs): Add `-nd'.
7006         * .dbxrc (update-elc): Likewise.
7007         * .dbxrc (dump-temacs): Likewise.
7008         * .gdbinit (run-temacs): Likewise.
7009         * .gdbinit (check-temacs): Likewise.
7010         * .gdbinit (update-elc): Likewise.
7011         * .gdbinit (dump-temacs): Likewise.
7012
7013 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7014
7015         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7016         export OBJECT_MODE=64
7017         configure --pdump --use-union-type=no
7018         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7019         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7020
7021         * miscplay.c (sndcnv8U_2mono):
7022         Avoid two uses of `++' in the same expression.
7023         Suppresses a GCC warning.
7024
7025 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7026
7027         Make sure future compilers don't miscompile alloc.c.
7028         * alloc.c:
7029         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7030         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7031
7032 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7033
7034         * dumper.c: A little post-pdump-rename comment fixup.
7035
7036 2001-01-09  Jerry James  <james@eecs.ku.edu>
7037
7038         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7039
7040 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7041
7042         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7043         script:
7044         #!/bin/sh
7045         replace_symbol () {
7046           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7047         }
7048
7049         replace_symbol pdump_wire_lists pdump_weak_object_chains
7050         replace_symbol pdump_wire_list dump_add_weak_object_chain
7051
7052         replace_symbol pdump_wires pdump_root_objects
7053         replace_symbol pdump_wire dump_add_root_object
7054
7055         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7056         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7057
7058         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7059         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7060         replace_symbol dumpstructinfo pdump_root_struct_ptr
7061         replace_symbol dumpstruct dump_add_root_struct_ptr
7062
7063         replace_symbol dumpopaque dump_add_opaque
7064         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7065         replace_symbol dumpopaqueinfos pdump_opaques
7066         replace_symbol dumpopaqueinfo pdump_opaque
7067
7068         replace_symbol nb_structdump nb_root_struct_ptrs
7069         replace_symbol nb_opaquedump nb_opaques
7070
7071         replace_symbol align_table pdump_align_table
7072         replace_symbol dump_header pdump_header
7073
7074         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7075         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7076
7077
7078 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7079
7080         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7081         optimizing bytecount_to_charcount().
7082
7083 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7084
7085         * config.h.in:
7086         (HAVE_DLFCN_H): Removed.
7087         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7088
7089 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7090
7091         Portable dumper maintainability improvements.
7092         * alloc.c (staticpro):
7093         * alloc.c (staticpro_nodump):
7094         * alloc.c (garbage_collect_1):
7095         * alloc.c (reinit_alloc_once_early):
7096         * alloc.c (init_alloc_once_early):
7097         * alloc.c: Move dumper functions to alloc.c.
7098         * dumper.c (pdump_backtrace):
7099         * dumper.c (pdump_dump_structs):
7100         * dumper.c (pdump_dump_opaques):
7101         * dumper.c (pdump_dump_rtables):
7102         * dumper.c (pdump_dump_wired):
7103         * dumper.c (pdump):
7104         * dumper.c (pdump_load_check):
7105         * dumper.c (pdump_load_finish):
7106         * dumper.c (pdump_file_unmap):
7107         * dumper.c (pdump_file_get):
7108         * dumper.c (pdump_resource_free):
7109         * dumper.c (pdump_resource_get):
7110         * dumper.c (pdump_file_free):
7111         * dumper.c (pdump_file_try):
7112         * dumper.c (pdump_load):
7113         Remove fixed size limits on staticpro(), staticpro_nodump(),
7114         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7115         Remove custom code for dumping lrecord_implementations_table - use
7116         dumpopaque instead.
7117         Remove (most of the) custom code for dumping staticpros - dump it
7118         like any other dynarr.
7119
7120         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7121         * dumper.c: Moved functions from alloc.c.
7122         * alloc.c (dumpstruct): Moved to dumper.c.
7123         * alloc.c (dumpopaque): Likewise.
7124         * alloc.c (pdump_wire): Likewise.
7125         * alloc.c (pdump_wire_list): Likewise.
7126
7127         * lisp.h (Dynarr_sizeof): New.
7128         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7129         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7130         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7131
7132         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7133         * lisp.h (dumpopaque): ditto.
7134         * lisp.h (pdump_wire): ditto.
7135         * lisp.h (pdump_wire_list): ditto.
7136
7137 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7138
7139         * make-src-depend (PrintPatternDeps):
7140         Use `sort' to make output independent of perl version.
7141
7142 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7143
7144         Port to Netbsd 1.5.
7145         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7146         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7147
7148 2001-01-03  Didier Verna  <didier@xemacs.org>
7149
7150         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7151         that `focus_frame' is alive before thinking of calling
7152         `redisplay_redraw_cursor' on it.
7153
7154 2001-01-08  Martin Buchholz <martin@xemacs.org>
7155
7156         * XEmacs 21.2.40 is released.
7157
7158 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7159
7160         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7161
7162 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7163
7164         * alloc.c (dbg_valmask): Make const.
7165         * alloc.c (dbg_typemask): Make const.
7166         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7167         * alloc.c (dbg_valbits): Make const.
7168         * alloc.c (dbg_gctypebits): Make const.
7169
7170 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
7171
7172         * redisplay-x.c (x_bevel_area):
7173         redisplay.h (struct rune):
7174         Typo fixes in comments.
7175
7176 2001-01-05  Andy Piper  <andy@xemacs.org>
7177
7178         * glyphs-x.c (x_redisplay_widget): use size changed for offset
7179         adjustment.
7180
7181         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
7182
7183 2001-01-05  Martin Buchholz  <martin@xemacs.org>
7184
7185         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
7186
7187         * mule-ccl.c (stack_idx_of_map_multiple):
7188         Non const global data must not be initialized!
7189         Found by MIYASHITA Hisashi.
7190
7191 2001-01-02  Andy Piper  <andy@xemacs.org>
7192
7193         * frame.c (change_frame_size): make sure frame size is always
7194         marked as changed.
7195
7196         * glyphs.c (image_instance_layout): minor code reuse.
7197
7198         * window.c (Fcurrent_window_configuration): revert previous
7199         change.
7200
7201 2001-01-02  Martin Buchholz  <martin@xemacs.org>
7202
7203         * glyphs.h:
7204         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
7205
7206 2000-12-31  Andy Piper  <andy@xemacs.org>
7207
7208         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
7209         when widget gets unmapped.
7210
7211         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
7212         function. Make sure widgets losing focus don't just drop it.
7213         (handle_focus_event_1): record the widget with focus.
7214
7215 2000-12-31  Andy Piper  <andy@xemacs.org>
7216
7217         * window.c (allocate_window): use
7218         make_image_instance_cache_hash_table.
7219         (make_dummy_parent): ditto.
7220         (Fset_window_configuration): ditto.
7221
7222         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
7223
7224         * glyphs.c (process_image_string_instantiator): use
7225         INSTANTIATOR_TYPE.
7226         (get_image_instantiator_governing_domain): ditto.
7227         (normalize_image_instantiator): ditto.
7228         (instantiate_image_instantiator): ditto.
7229         (make_image_instance_1): ditto.
7230         (image_instantiate): ditto. Key on glyph *and* instantiator type.
7231         (instantiator_eq_equal): new function for use with instance hash
7232         tables.
7233         (instantiator_eq_hash): ditto.
7234         (make_image_instance_cache_hash_table): create a suitable hash
7235         table for storing image instances.
7236
7237         * elhash.h (hash_table_weakness): new internal weakness type
7238         HASH_TABLE_KEY_CAR_VALUE_WEAK.
7239         declare new functions.
7240
7241         * elhash.c (finish_marking_weak_hash_tables): introduce yet
7242         another weakness type for glyphs.
7243         (make_standard_lisp_hash_table): new function split out from
7244         make_general_lisp_hash_table.
7245         (make_lisp_hash_table): call make_standard_lisp_hash_table.
7246         (hash_table_instantiate): ditto.
7247         (Fmake_hash_table): ditto.
7248
7249 2000-12-31  Martin Buchholz <martin@xemacs.org>
7250
7251         * XEmacs 21.2.39 is released.
7252
7253 2000-12-29  Andy Piper  <andy@xemacs.org>
7254
7255         * menubar.c (menubar_visible_p_changed): signal the frame changed.
7256
7257         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
7258         the frame has changed so that we pick up geometry changes such as
7259         menubar visibility.
7260
7261 2000-12-28  Andy Piper  <andy@xemacs.org>
7262
7263         * lastfile.c (my_ebss): make a char array so we can pad the
7264         bss. Fixes cygwin unexec.
7265
7266         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
7267
7268 2000-12-26  Andy Piper  <andy@xemacs.org>
7269
7270         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
7271         comments and try and be more precise about a non-/SIGIO world.
7272         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
7273         SIGIO.
7274
7275         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
7276         we don't normalize to zero width or height.
7277
7278 2000-12-24  Andy Piper  <andy@xemacs.org>
7279
7280         * Makefile.in.in (ldflags): add -mwindows when appropriate.
7281
7282 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
7283
7284         * s/sco5.h: SCO 5 has pty support.
7285
7286 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
7287
7288         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
7289         input-method-xlib.c contains whole contents of input-method-xfs.c,
7290         so we can use input-method-xlib.c's code for USE_XFONTSET
7291         using #ifdefs.
7292         * input-method-xfs.c: removed.
7293
7294 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
7295
7296         * file-coding.h (enum coding_category_type): reorder enumerators to
7297         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
7298         (now one greater than largest real coding_category_type enumerator).
7299         * file-coding.c (coding_category_symbol, coding_category_by_priority,
7300         coding_category_system, fcd_descriptihon_1, decode_coding_category,
7301         Fcoding_category_list, Fset_coding_priority_list,
7302         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
7303         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
7304
7305 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7306
7307         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
7308         * redisplay-output.c (redisplay_output_window): Clear top of window
7309         when face is changed.
7310         * redisplay-x.c (x_redraw_exposed_window): Call
7311         redisplay_clear_top_of_window.
7312         * redisplay.h: Publish redisplay_clear_top_of_window.
7313
7314 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7315
7316         * buffer.c (Fkill_buffer): Map over all devices.
7317         * window.c (window_loop): Remove UNSHOW_BUFFER code.
7318         (list_windows): New function.
7319         (list_all_windows): Ditto.
7320         (Freplace_buffer_in_windows): Use them.
7321
7322 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
7323
7324         * database.c (berkdb_subtype): Recognize new subtype `queue'.
7325         (Fopen_database): Use `db_create' instead of `db_open'.
7326         (syms_of_database): Initialize Qqueue.
7327
7328 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7329
7330         * buffer.c (common_init_complex_vars_of_buffer): Initialize
7331         buffer_local_face_property.
7332         * buffer.h (struct buffer): New member buffer_local_face_property.
7333         * window.c (Fset_window_buffer):  Mark window's face as changed
7334         when buffer has buffer local face.
7335         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
7336         * objects.c (color_after_change): Set buffer_local_face_property
7337         when locale of face specifier is buffer.
7338         * objects.c (font_after_change): Ditto.
7339         * objects.c (face_boolean_after_change): Ditto.
7340         * glyphs.c (image_after_change): Ditto.
7341
7342 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7343
7344         * nt.c (mswindows_fstat): Report file permissions, volume serial
7345         number, etc. Code adapted from FSF Emacs 20.7.
7346
7347 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7348
7349         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
7350         of stat when we don't have symbolic links, to make sure
7351         mswindows_stat is called on mswindows.
7352
7353 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7354
7355         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
7356
7357 2000-12-12  Martin Buchholz  <martin@xemacs.org>
7358
7359         * doprnt.c (emacs_doprnt_1): More printing fixes.
7360         Make printing of numbers compatible with libc and FSF Emacs.
7361         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
7362         Use the system printf to do most of the hard work of formatting,
7363         instead of doprnt_1().
7364         Calculate memory to allocate for format string.
7365         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
7366         (doprnt_1): Cleaner code and documentation.
7367
7368 2000-12-01  Jerry James  <james@eecs.ukans.edu>
7369
7370         * Makefile.in.in: Use the loop variable to install headers.
7371
7372 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7373
7374         * window.c (Fsplit_window): Don't invalidate face cache.
7375
7376 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7377
7378         * minibuf.c (Fall_completions): Undo the previous change
7379         which removed checking elements start with space.
7380
7381 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7382
7383         * mule-canna.c: Didier suppression.
7384
7385 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7386
7387         * mule-canna.c: rename static unsigned char buf[] to key_buffer
7388         (warning suppression).  Add English comment translations.
7389
7390 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7391
7392         * unexelfsgi.c (unexec): Better test for mmap failure.
7393
7394 2000-12-05  Martin Buchholz <martin@xemacs.org>
7395
7396         * XEmacs 21.2.38 is released.
7397
7398 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7399
7400         * redisplay.c (bar-cursor): Make a user variable.
7401
7402         * symsinit.h: Add init_postgresql_from_environment.
7403
7404 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7405
7406         * regex.c: Convert to clean C.
7407
7408 2000-12-05  Dan Holmsand  <dan@eyebee.com>
7409
7410         * realpath.c:
7411         Don't #include sysfile.h. Revert to duplicating PATH_MAX
7412         initialization.
7413         (sys_readlink): renamed to system_readlink to avoid conflict with
7414         the other sys_readlink.
7415
7416 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
7417
7418         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
7419
7420 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
7421
7422         * postgresql.c (init_postgresql_from_environment): new function.
7423         (vars_of_postgresql): Move code initializing Lisp variables out and
7424         into init_postgresql_from_environment.
7425         emacs.c (main_1): Call init_postgresql_from_environment if and only
7426         if running a dumped XEmacs.
7427
7428 2000-08-31  Dan Holmsand  <dan@eyebee.com>
7429
7430         * buffer.c: Make find-file-compare-truenames default to true on
7431         windows.
7432
7433         * realpath.c (win32_abs_start):
7434         (cygwin_readlink):
7435         (win32_readlink): New functions.
7436         (xrealpath): Return really real filenames on windows.
7437
7438         * fileio.c (Ffile_truename): Make file-truename work on windows.
7439
7440 2000-11-29  Didier Verna  <didier@xemacs.org>
7441
7442         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
7443         * faces.c (update_face_cachel_data): use it.
7444         * faces.c (add_face_cachel): use it. Complete background pixmap
7445         frobbing in face cache if `update_face_cachel_data' has not done so.
7446
7447 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
7448
7449         * search.c (string_match_1): Don't set last_thing_searched
7450         when search failed.
7451
7452 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
7453
7454         * buffer.c: Include casetab.h
7455         (common_init_complex_vars_of_buffer): Use new case-table object.
7456         * buffer.h: Include casetab.h
7457         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
7458         (DOWNCASE_TABLE_OF): Ditto.
7459         * bufslots.h: Remove char-tables and add case-table.
7460         * casetab.c: Include casetab.h
7461         (CASE_TABLE_P): Removed.
7462         (mark_case_table): New function.
7463         (allocate_case_table): New function.
7464         (Fcase_table_p): Use new case-table.
7465         (case_table_char): New function.
7466         (Fget_case_table): Ditto.
7467         (Fput_case_table): Ditto.
7468         (Fput_case_table_pair): Ditto.
7469         (Fcopy_case_table): Ditto.
7470         (Fcurrent_case_table): Return case-table.
7471         (Fstandard_case_table): Return case-table.
7472         (Fset_case_table): Fix doc-string.
7473         (set_case_table): Use case-table
7474         (syms_of_casetab): DEFSUBR new functions.
7475         (complex_vars_of_casetab): Set up standard case-table.
7476         * casetab.h: New file.
7477         * editfns.c: Include casetab.h
7478         (Fcompare_buffer_substrings): Use case-table.
7479         * inline.c: Include casetab.h
7480         * lisp.h: Remove bogus extern.
7481         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
7482         * search.c: Include casetab.h
7483         (TRANSLATE_ASCII): Removed.
7484         (TRANSLATE): Unconditionally translate character.
7485         (looking_at_1): Use case-table.
7486         (string_match_1): Ditto.
7487         (fast_string_match): Ditto.
7488         (search_command): Ditto.
7489         (search_buffer): Separate boyer_moore.  Check whether
7490         boyer_moore is possible.
7491         (simple_search): New function.
7492         (boyer_moore): Separated from search_buffer. Translate char.
7493
7494 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7495
7496         * regex.c (RE_TR_ASCII): Removed.
7497         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
7498         (PATFETCH): Call PATFETCH_RAW.
7499         (PATFETCH_RAW): Fetch Emchar.
7500         (PATUNFETCH): Decrement charptr.
7501         (GET_BUFFER_SPACE): Rename b to buf_end.
7502         (BUF_PUSH): Ditto.
7503         (BUF_PUSH_2): Ditto.
7504         (BUF_PUSH_3): Ditto.
7505         (EXTEND_BUFFER): Ditto.
7506         (SET_LIST_BIT): Ditto.
7507         (regex_compile): Ditto.  Translate non ASCII char.
7508         (compile_range): Ditto.
7509         (re_search_2): Ditto.
7510         (re_match_2_internal): Compare Emchar.
7511         (bcmp_translate): Ditto.
7512
7513 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
7514
7515         * lisp.h (basic char/int typedefs):  comment improvement.
7516
7517 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
7518
7519         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
7520         unstomp inhibit_site_lisp.  Improve comments.
7521
7522 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
7523
7524         * mule-charset.c (Fcharset_property):  improve type checking, comments.
7525
7526 2000-11-28  Andy Piper  <andy@xemacs.org>
7527
7528         * redisplay-output.c (redisplay_output_subwindow): make sure we do
7529         clipped display for windows in the gutter also.
7530         (redisplay_display_boxes_in_window_p): change semantics of return
7531         codes to be more intuitive.
7532
7533         * gutter.h: declare display_boxes_in_gutter_p.
7534
7535         * gutter.c (display_boxes_in_gutter_p): new function for
7536         redisplay.
7537
7538 2000-11-22  Andy Piper  <andy@xemacs.org>
7539
7540         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
7541         autodetect domain.
7542
7543 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
7544
7545         * callproc.c (Fold_call_process_internal):
7546         * gpm.c (Freceive_gpm_event):
7547         (tty_get_foreign_selection): Might be just warning supression.
7548         * fileio.c (Fwrite_region_internal):
7549         (Fset_visited_file_modtime):
7550         * keymap.c (event_matches_key_specifier_p):
7551         Initialize GCPROed variable.
7552
7553         * menubar-x.c (command_builder_find_menu_accelerator):
7554         Initialize before use.
7555
7556 2000-11-23  Andy Piper  <andy@xemacs.org>
7557
7558         * unexcw.c (unexec): make the resulting executable executable.
7559
7560 2000-11-21  Martin Buchholz  <martin@xemacs.org>
7561
7562         * doc.c (get_doc_string):
7563         Use size_t, not int, for result of XSTRING_LENGTH.
7564
7565         * cmds.c (Fdelete_char):
7566         * cmds.c (Fpoint_at_eol):
7567         * cmds.c (Fself_insert_command):
7568         Use EMACS_INT, not int, for result of XINT.
7569         Someday, someone will want to insert more than 2**31 identical characters.
7570
7571         * cmds.c (Fdelete_char):
7572         * cmds.c (Fdelete_backward_char):
7573         * syntax.c (Fforward_word):
7574         * syntax.c (Fforward_comment):
7575         Make COUNT argument optional, for consistency with forward-char et al.
7576
7577 2000-11-22  Martin Buchholz  <martin@xemacs.org>
7578
7579         * lisp.h:
7580         * print.c (long_to_string):
7581         Return a useful value: the pointer at end of data written.
7582
7583         * doprnt.c:
7584         Use `static const char * const' for constant strings.
7585         (union printf_arg): Delete `i', `ui' members.
7586         (get_doprnt_args):
7587         (emacs_doprnt_1):
7588         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
7589         Do all printf-ing via the `l' specifier.
7590         Use EMACS_INT instead of int.
7591         Optimize.
7592
7593 2000-11-20  Didier Verna  <didier@xemacs.org>
7594
7595         * faces.c (update_face_cachel_data): don't frob the background
7596         pixmap when the window is being created. The face is needed but
7597         does not exist yet.
7598
7599 2000-11-20  Andy Piper  <andy@xemacs.org>
7600
7601         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
7602         messing with a debug environment.
7603
7604 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7605
7606         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
7607
7608 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7609
7610         * casetab.c (Fcase_table_p): Fix compile error and crash.
7611
7612 2000-11-18  Philip Aston  <philipa@mail.com>
7613
7614         * s/cygwin32.h: Cygwin has SVR4-like pty support.
7615
7616 2000-11-18  Martin Buchholz  <martin@xemacs.org>
7617
7618         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
7619         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
7620
7621 2000-11-17  Martin Buchholz  <martin@xemacs.org>
7622
7623         * config.h.in: Define HAVE_ELF_H if elf.h exists.
7624         * unexelf.c: Use HAVE_ELF_H.
7625         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
7626         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
7627         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
7628         Greg Harrington <greg_harrington@hotmail.com> provided a machine
7629         for testing.
7630         So this is an unexelfsgi.c from a different line of development.
7631
7632 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7633
7634         * regex.c (RE_TR_ASCII): New function.
7635         (RE_TRANSLATE): Call it.
7636
7637 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7638
7639         * buffer.h (TRT_TABLE_OF): Remove assert.
7640         (IN_TRT_TABLE_DOMAIN): Removed.
7641
7642 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7643
7644         * free-hook.c (log_gcpro):
7645         (show_gcprohist): Add support for GCPRO5.
7646
7647 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
7648
7649         * emacs.c (main_1): Improve -sd error message when --pdump=no.
7650
7651 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
7652
7653         * symeval.h: Declare flush_all_buffer_local_cache.
7654
7655         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
7656         (flush_buffer_local_cache): Added.
7657         (flush_all_buffer_local_cache): Added.
7658
7659         * lrecord.h: Remove unused XD_LO_RESET_NIL.
7660
7661         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
7662         (pdump_dump_data): Ditto.
7663         (pdump_reloc_one): Ditto.
7664         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
7665         before dumping.
7666
7667
7668 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7669
7670         * buffer.c: Remove if 0'ed entry.
7671         * buffer.h: Rewrite TRT to use char-table.
7672         * bufslots.h: Remove mirror tables.
7673         * casetab.c: Remove mirror tables.
7674         (CASE_TABLE_P): New macro.
7675         (Fcase_table_p): Element of a case table is string or char-table.
7676         (make_mirror_trt_table): Removed.
7677         (set_case_table): Setup char-table from strings for backward
7678         compatibility.
7679         * dired.c (Fdirectory_files):
7680         * dired-msw.c: (mswindows_get_files):
7681         * lisp.h: Change prototype of re_pattern_buffer.
7682         * regex.c: (RE_TRANSLATE): New macro.
7683         (TRANSLATE_P): Ditto.
7684         Change translate to type RE_TRANSLATE_TYPE.
7685         * regex.h: Define RE_TRANSLATE_TYPE
7686         * search.c (TRANSLATE): New macro.
7687         (TRANSLATE_ASCII): New macro.
7688         Translate table is changed to Lisp_Object.
7689         (signal_failure): Inhibit return.
7690
7691 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7692
7693         * device-msw.c:
7694         * eldap.c:
7695         * event-Xt.c:
7696         * event-stream.c:
7697         * print.c:
7698         Do UNGCPRO before return.
7699
7700 2000-11-14  Martin Buchholz <martin@xemacs.org>
7701
7702         * XEmacs 21.2.37 is released.
7703
7704 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7705
7706         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
7707         Add comments about discarded return value.
7708
7709 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
7710
7711         * callint.c:
7712         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
7713
7714 2000-10-27  Andy Piper  <andy@xemacs.org>
7715
7716         * gutter.c (Fset_default_gutter_position): default left and right
7717         gutters to visible.
7718         (calculate_gutter_size): calculate resonable heuristic for left
7719         and right gutter sizes.
7720         (specifier_vars_of_gutter): change left and right gutter sizes to
7721         autodetect.
7722         (calculate_gutter_size_from_display_lines): new function.
7723         (output_gutter): check for resizing on left and right gutters.
7724         (clear_gutter): don't special case top and left gutters.
7725         (specifier_vars_of_gutter): use new signature for
7726         set_specifier_caching.
7727
7728         * glyphs-x.c (x_redisplay_widget): spelling fix.
7729         * glyphs.c (specifier_vars_of_glyphs):
7730         * menubar.c (specifier_vars_of_menubar):
7731         * redisplay.c (specifier_vars_of_redisplay):
7732         * toolbar.c (specifier_vars_of_toolbar):
7733         * window.c (specifier_vars_of_window):
7734         * scrollbar.c (specifier_vars_of_scrollbar):
7735         (complex_vars_of_scrollbar): use new signature for
7736         set_specifier_caching.
7737
7738         * specifier.c (set_specifier_caching): include recompute flag.
7739         (recompute_one_cached_specifier_in_window): always recompute if
7740         flag set.
7741         (recompute_one_cached_specifier_in_frame): ditto.
7742
7743         * specifier.h (struct specifier_caching): add recompute flag.
7744
7745 2000-10-24  Andy Piper  <andy@xemacs.org>
7746
7747         * unexcw.c (copy_executable_and_dump_data_section): add new
7748         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
7749         5.0 happy.
7750
7751 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7752
7753         * console-x.h (x_device): New member modifier_release_time.
7754         * event-Xt.c (x_handle_sticky_modifiers):
7755         Bound interval modifier keys are sticky.
7756         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
7757         * events.h: extern it.
7758
7759 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7760
7761         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
7762
7763 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7764
7765         * event-stream.c (execute_command_event): Preserve current_events
7766         and the like when event is misc-user-event.
7767         Inhibit quit during the call to maybe_echo_keys.
7768
7769 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
7770
7771         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
7772         symlink when buffer is killed.
7773         (inhibit_clash_detection): New variable.
7774
7775 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7776
7777         * console.c (Fset_input_method): Trigger redisplay on tty.
7778
7779 2000-11-07  Martin Buchholz  <martin@xemacs.org>
7780
7781         * process.c (Fprocess_status): Revert to previous behavior:
7782         (process-status "nosuchprocess") ==> nil
7783
7784 2000-11-06  Martin Buchholz  <martin@xemacs.org>
7785
7786         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
7787         Work around another GCC 2.95.2 optimizer bug.
7788
7789 2000-11-02  Martin Buchholz  <martin@xemacs.org>
7790
7791         * process.c (Fget_process): Use LIST_LOOP_2.
7792         (kill_buffer_processes): Use LIST_LOOP_2.
7793
7794         * minibuf.c (Fall_completions):
7795         Delete old non-functional code for FSF fourth argument.
7796
7797         * frame.c (frame_matches_frame_spec):
7798         Renamed from `frame_matches_frametype'.  Update all callers.
7799         (device_matches_device_spec):
7800         Renamed from 'device_matches_console_spec'.  Update all callers.
7801
7802         * doc.c (Fsubstitute_command_keys):
7803         Remove buffer overflow crash.  Small code cleanups.
7804
7805         * casetab.c (check_case_table): Simpler code.
7806
7807         * window.c (Freplace_buffer_in_windows):
7808         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
7809         (and similar implementation) as Fdelete_windows_on.
7810         Update all callers.
7811
7812         * alloc.c (Fmake_list):
7813         * alloc.c (make_vector):
7814         * alloc.c (Fmake_vector):
7815         * alloc.c (make_bit_vector):
7816         * alloc.c (Fmake_bit_vector):
7817         * alloc.c (Fbit_vector):
7818         * alloc.c (Fmake_string):
7819         * alloc.c (Fpurecopy):
7820         * alloc.c (Fmemory_limit):
7821         * buffer.c:
7822         * buffer.c (Fget_buffer):
7823         * buffer.c (Fkill_buffer):
7824         * buffer.c (complex_vars_of_buffer):
7825         * bytecode.c (Fcompiled_function_stack_depth):
7826         * callint.c (Fprefix_numeric_value):
7827         * event-stream.c:
7828         * event-stream.c (Fread_key_sequence):
7829         * casetab.c:
7830         * casetab.c (Fcase_table_p):
7831         * casetab.c (check_case_table):
7832         * casetab.c (Fset_case_table):
7833         * casetab.c (Fset_standard_case_table):
7834         * chartab.c:
7835         * chartab.c (Fchar_table_type):
7836         * chartab.c (Freset_char_table):
7837         * chartab.c (Fget_char_table):
7838         * chartab.c (Fget_range_char_table):
7839         * chartab.c (Fput_char_table):
7840         * chartab.c (Fmap_char_table):
7841         * chartab.c (Fcategory_table_p):
7842         * chartab.c (Fcheck_category_at):
7843         * chartab.c (Fchar_in_category_p):
7844         * chartab.c (Fcategory_table):
7845         * chartab.c (Fcopy_category_table):
7846         * chartab.c (Fset_category_table):
7847         * chartab.c (Fcategory_designator_p):
7848         * chartab.c (Fcategory_table_value_p):
7849         * cmds.c (Fdelete_char):
7850         * cmds.c (Fdelete_backward_char):
7851         * cmds.c (Fself_insert_command):
7852         * cmds.c (Fself_insert_internal):
7853         * console.c (Fvalid_console_type_p):
7854         * console.c (Fcdfw_console):
7855         * console.c (Fconsole_type):
7856         * console.c (Fconsole_name):
7857         * console.c (Fconsole_device_list):
7858         * console.c (Fconsole_on_window_system_p):
7859         * data.c:
7860         * data.c (Feq):
7861         * data.c (Fold_eq):
7862         * data.c (Fsubr_interactive):
7863         * data.c (Fchar_to_int):
7864         * data.c (Fint_to_char):
7865         * data.c (Fsetcar):
7866         * data.c (Fsetcdr):
7867         * data.c (Fnumber_to_string):
7868         * data.c (Fstring_to_number):
7869         * data.c (Frem):
7870         * database.c (mark_database):
7871         * database.c (finalize_database):
7872         * database.c (Fdatabase_live_p):
7873         * database.c (Fdatabasep):
7874         * device-x.c (Fx_get_resource):
7875         * device.c (Fdfw_device):
7876         * dired.c:
7877         * dired.c (Ffile_name_completion):
7878         * dired.c (Ffile_name_all_completions):
7879         * dired.c (Fuser_name_completion):
7880         * dired.c (Fuser_name_completion_1):
7881         * dired.c (Fuser_name_all_completions):
7882         * doc.c (Fdocumentation):
7883         * doc.c (Fdocumentation_property):
7884         * doc.c (Fsubstitute_command_keys):
7885         * editfns.c:
7886         * editfns.c (Fchar_to_string):
7887         * editfns.c (Fstring_to_char):
7888         * editfns.c (Ftemp_directory):
7889         * editfns.c (Finsert_char):
7890         * editfns.c (Fbuffer_substring_no_properties):
7891         * editfns.c (Fnarrow_to_region):
7892         * editfns.c (Fchar_equal):
7893         * editfns.c (Fchar_Equal):
7894         * editfns.c (Ftranspose_regions):
7895         * emacs.c (Fdump_emacs):
7896         * eval.c (Fthrow):
7897         * eval.c (Fcommand_execute):
7898         * eval.c (Fautoload):
7899         * eval.c (Fbacktrace):
7900         * eval.c (Fbacktrace_frame):
7901         * events.c:
7902         * events.c (Fcopy_event):
7903         * events.c (Fcharacter_to_event):
7904         * events.c (Fevent_button):
7905         * events.c (Fevent_process):
7906         * extents.c:
7907         * extents.c (Fnext_extent_change):
7908         * extents.c (Fextent_property):
7909         * faces.c (Ffacep):
7910         * faces.c (Fmake_face):
7911         * file-coding.c:
7912         * file-coding.c (Fencode_shift_jis_char):
7913         * file-coding.c (Fencode_big5_char):
7914         * fileio.c (Ffile_name_directory):
7915         * fileio.c (Ffile_name_nondirectory):
7916         * fileio.c (Ffile_name_as_directory):
7917         * fileio.c (Fdirectory_file_name):
7918         * fileio.c (Ffile_truename):
7919         * fileio.c (Fsubstitute_in_file_name):
7920         * fileio.c (Ffile_modes):
7921         * fileio.c (Fset_file_modes):
7922         * fileio.c (Fset_default_file_modes):
7923         * fileio.c (Fverify_visited_file_modtime):
7924         * floatfns.c (Facos):
7925         * floatfns.c (Fasin):
7926         * floatfns.c (Fatan):
7927         * floatfns.c (Fcos):
7928         * floatfns.c (Fsin):
7929         * floatfns.c (Ftan):
7930         * floatfns.c (Fbessel_j0):
7931         * floatfns.c (Fbessel_j1):
7932         * floatfns.c (Fbessel_jn):
7933         * floatfns.c (Fbessel_y0):
7934         * floatfns.c (Fbessel_y1):
7935         * floatfns.c (Fbessel_yn):
7936         * floatfns.c (Ferf):
7937         * floatfns.c (Ferfc):
7938         * floatfns.c (Flog_gamma):
7939         * floatfns.c (Fexp):
7940         * floatfns.c (Fexpt):
7941         * floatfns.c (Flog):
7942         * floatfns.c (Flog10):
7943         * floatfns.c (Fsqrt):
7944         * floatfns.c (Fcube_root):
7945         * floatfns.c (Facosh):
7946         * floatfns.c (Fasinh):
7947         * floatfns.c (Fatanh):
7948         * floatfns.c (Fcosh):
7949         * floatfns.c (Fsinh):
7950         * floatfns.c (Ftanh):
7951         * floatfns.c (Fabs):
7952         * floatfns.c (Ffloat):
7953         * floatfns.c (Flogb):
7954         * floatfns.c (Fceiling):
7955         * floatfns.c (Ffloor):
7956         * floatfns.c (Fround):
7957         * floatfns.c (Ftruncate):
7958         * floatfns.c (Ffceiling):
7959         * floatfns.c (Fffloor):
7960         * floatfns.c (Ffround):
7961         * floatfns.c (Fftruncate):
7962         * fns.c (Fstring_equal):
7963         * fns.c (Fstring_lessp):
7964         * fns.c (concat2):
7965         * fns.c (concat3):
7966         * fns.c (vconcat2):
7967         * fns.c (vconcat3):
7968         * fns.c (Fsubstring):
7969         * fns.c (Fassoc):
7970         * fns.c (Fold_assoc):
7971         * fns.c (assoc_no_quit):
7972         * fns.c (Fassq):
7973         * fns.c (Fold_assq):
7974         * fns.c (assq_no_quit):
7975         * fns.c (Frassoc):
7976         * fns.c (Fold_rassoc):
7977         * fns.c (Frassq):
7978         * fns.c (Fold_rassq):
7979         * fns.c (rassq_no_quit):
7980         * fns.c (Fremassoc):
7981         * fns.c (remassoc_no_quit):
7982         * fns.c (Fremassq):
7983         * fns.c (remassq_no_quit):
7984         * fns.c (Fremrassoc):
7985         * fns.c (Fremrassq):
7986         * fns.c (remrassq_no_quit):
7987         * fns.c (Fsort):
7988         * fns.c (Fplist_get):
7989         * fns.c (Fplist_put):
7990         * fns.c (Fplist_remprop):
7991         * fns.c (Fplist_member):
7992         * fns.c (Flax_plist_get):
7993         * fns.c (Flax_plist_put):
7994         * fns.c (Flax_plist_remprop):
7995         * fns.c (Flax_plist_member):
7996         * fns.c (Fequal):
7997         * fns.c (Fold_equal):
7998         * fns.c (Frequire):
7999         * fns.c (Fbase64_encode_region):
8000         * fns.c (Fbase64_encode_string):
8001         * fns.c (Fbase64_decode_region):
8002         * frame.c:
8003         * frame.c (frame_matches_frame_spec):
8004         * frame.c (device_matches_device_spec):
8005         * frame.c (next_frame):
8006         * frame.c (previous_frame):
8007         * frame.c (Fnext_frame):
8008         * frame.c (Fprevious_frame):
8009         * frame.c (Fframe_property):
8010         * frame.c (Fset_frame_height):
8011         * frame.c (Fset_frame_size):
8012         * frame.h:
8013         * glyphs.c:
8014         * glyphs.c (if):
8015         * glyphs.c (decode_error_behavior_flag):
8016         * glyphs.c (Fmake_image_instance):
8017         * indent.c (Findent_to):
8018         * intl.c (Fignore_defer_gettext):
8019         * keymap.c (Fkeymapp):
8020         * keymap.c (Flookup_key):
8021         * lread.c:
8022         * lread.c (Fload_internal):
8023         * lread.c (Feval_buffer):
8024         * lread.c (Feval_region):
8025         * macros.c (Fexecute_kbd_macro):
8026         * marker.c (set_marker_internal):
8027         * marker.c (Fset_marker):
8028         * marker.c (set_marker_restricted):
8029         * marker.c (Fcopy_marker):
8030         * marker.c (noseeum_copy_marker):
8031         * menubar.c:
8032         * menubar.c (Fpopup_menu):
8033         * minibuf.c:
8034         * mule-charset.c (Fcharset_name):
8035         * mule-charset.c (Fchar_charset):
8036         * mule-charset.c (Fchar_octet):
8037         * mule-charset.c (Fsplit_char):
8038         * mule-wnnfns.c (Fwnn_open):
8039         * mule-wnnfns.c (Fwnn_dict_comment):
8040         * mule-wnnfns.c (Fwnn_quit_henkan):
8041         * mule-wnnfns.c (Fwnn_word_toroku):
8042         * mule-wnnfns.c (Fwnn_word_sakujo):
8043         * mule-wnnfns.c (Fwnn_word_use):
8044         * mule-wnnfns.c (Fwnn_hindo_set):
8045         * objects.c:
8046         * objects.c (Fmake_color_instance):
8047         * objects.c (Fmake_font_instance):
8048         * print.c (Fwrite_char):
8049         * process.c:
8050         * process.c (mark_process):
8051         * process.c (print_process):
8052         * process.c (get_process_from_usid):
8053         * process.c (Fprocessp):
8054         * process.c (Fprocess_live_p):
8055         * process.c (Fget_process):
8056         * process.c (Fget_buffer_process):
8057         * process.c (get_process):
8058         * process.c (Fprocess_id):
8059         * process.c (Fprocess_name):
8060         * process.c (Fprocess_command):
8061         * process.c (init_process_io_handles):
8062         * process.c (start_process_unwind):
8063         * process.c (Fstart_process_internal):
8064         * process.c (Fopen_multicast_group_internal):
8065         * process.c (Fset_process_window_size):
8066         * process.c (read_process_output):
8067         * process.c (send_process):
8068         * process.c (Fprocess_tty_name):
8069         * process.c (Fset_process_buffer):
8070         * process.c (Fprocess_buffer):
8071         * process.c (Fprocess_mark):
8072         * process.c (set_process_filter):
8073         * process.c (Fset_process_filter):
8074         * process.c (Fprocess_filter):
8075         * process.c (Fprocess_send_region):
8076         * process.c (Fprocess_send_string):
8077         * process.c (exec_sentinel):
8078         * process.c (Fset_process_sentinel):
8079         * process.c (Fprocess_sentinel):
8080         * process.c (status_notify):
8081         * process.c (Fprocess_status):
8082         * process.c (Fprocess_exit_status):
8083         * process.c (process_send_signal):
8084         * process.c (Fprocess_send_eof):
8085         * process.c (deactivate_process):
8086         * process.c (remove_process):
8087         * process.c (Fdelete_process):
8088         * process.c (kill_buffer_processes):
8089         * process.c (Fprocess_kill_without_query):
8090         * process.c (Fprocess_kill_without_query_p):
8091         * rangetab.c:
8092         * rangetab.c (Fget_range_table):
8093         * rangetab.c (Fput_range_table):
8094         * rangetab.c (Fremove_range_table):
8095         * rangetab.c (Fclear_range_table):
8096         * search.c:
8097         * search.c (Fskip_chars_forward):
8098         * search.c (Fskip_chars_backward):
8099         * search.c (Fskip_syntax_forward):
8100         * search.c (Fskip_syntax_backward):
8101         * search.c (search_command):
8102         * search.c (Freplace_match):
8103         * search.c (Fregexp_quote):
8104         * select.c (Fown_selection_internal):
8105         * select.c (Fselection_owner_p):
8106         * select.c (Fselection_exists_p):
8107         * select.c (Fget_selection_internal):
8108         * specifier.c:
8109         * symbols.c:
8110         * symbols.c (Fintern):
8111         * symbols.c (Fintern_soft):
8112         * symbols.c (Funintern):
8113         * symbols.c (Fapropos_internal):
8114         * symbols.c (Fset_default):
8115         * syntax.c:
8116         * syntax.c (Fsyntax_table_p):
8117         * syntax.c (Fcopy_syntax_table):
8118         * syntax.c (Fset_syntax_table):
8119         * syntax.c (Fchar_syntax):
8120         * syntax.c (syntax_match):
8121         * syntax.c (Fmatching_paren):
8122         * syntax.c (Fforward_word):
8123         * syntax.c (scan_lists):
8124         * syntax.c (Fscan_lists):
8125         * syntax.c (Fscan_sexps):
8126         * syntax.c (Fparse_partial_sexp):
8127         * toolbar.c (Fcheck_toolbar_button_syntax):
8128         * tooltalk.doc:
8129         * window.c:
8130         * window.c (Fwindowp):
8131         * window.c (Fwindow_live_p):
8132         * window.c (Fwindow_point):
8133         * window.c (Fdelete_window):
8134         * window.c (Fnext_window):
8135         * window.c (Fprevious_window):
8136         * window.c (Fother_window):
8137         * window.c (window_loop):
8138         * window.c (Fget_lru_window):
8139         * window.c (Fsplit_window):
8140         * window.c (Fenlarge_window):
8141         * window.c (Fenlarge_window_pixels):
8142         * window.c (Fshrink_window):
8143         * window.c (Fshrink_window_pixels):
8144         * window.c (change_window_height):
8145         * window.c (Fwindow_configuration_p):
8146         * window.c (Fcurrent_window_configuration):
8147         * window.h:
8148         * casefiddle.c (casify_object):
8149         * casefiddle.c (Fupcase):
8150         * casefiddle.c (Fdowncase):
8151         * casefiddle.c (Fcapitalize):
8152         * casefiddle.c (Fupcase_initials):
8153         * casefiddle.c (casify_region_internal):
8154         * casefiddle.c (casify_region):
8155         * casefiddle.c (Fupcase_region):
8156         * casefiddle.c (Fdowncase_region):
8157         * casefiddle.c (Fcapitalize_region):
8158         * casefiddle.c (Fupcase_initials_region):
8159         * casefiddle.c (Fupcase_word):
8160         * casefiddle.c (Fdowncase_word):
8161         * casefiddle.c (Fcapitalize_word):
8162         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8163         Replace 0 with '\0' when working with bytes.
8164         Replace initial "(" with "\(" in docstrings.
8165
8166 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8167
8168         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8169
8170         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
8171
8172 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8173
8174         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
8175
8176 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8177
8178         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
8179         correctly.
8180
8181 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8182
8183         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
8184         (inhibit_auto_save_session): New variable.
8185         (vars_of_fileio): Declare and initialize them.
8186         * fileio.c (Fdo_auto_save): Don't create session file if
8187         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
8188
8189 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8190
8191         * sgiplay.c (play_internal): C++ compilability.
8192         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
8193         * callproc.c (Fold_call_process_internal):
8194         Remove unused vars `env', `first'.
8195         * scrollbar.c (update_scrollbar_instance):
8196         #### unused var `current_window'.
8197         * redisplay-tty.c: Put currently unused vars insert_mode_on,
8198         etc. within #ifdef NOT_YET.
8199         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
8200         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
8201         * specifier.c (specifier_instance):
8202         #### unused var `tag'.
8203         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
8204
8205 2000-10-27  Martin Buchholz  <martin@xemacs.org>
8206
8207         * fns.c (Fbutlast):
8208         * fns.c (list_sort):
8209         * fns.c (Ffillarray):
8210         * fns.c (bytecode_nconc2):
8211         * fns.c (Fnconc):
8212         * fns.c (mapcar1):
8213         * fns.c (Fmapconcat):
8214         Be pedantically 64-bit correct.  For the time when someone will
8215         want to have a list with length > 2**32.
8216
8217         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8218         Work around MIPSpro compiler bug.
8219
8220         * process-unix.c (unix_kill_child_process): Add snarky comment.
8221         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
8222
8223         * config.h.in: Oops, _getpt ==> _getpty
8224
8225 2000-10-26  Martin Buchholz  <martin@xemacs.org>
8226
8227         * config.h.in:
8228         * regex.c:
8229         Use void*, not char*, as return type of alloca().
8230
8231         * alloc.c (free_marker): Side effect inside assert expression!
8232
8233 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
8234
8235         * mule-charset.c (Fset_charset_ccl_program): To check
8236         if the given ccl program is valid, use setup_ccl_program()
8237         instead of CHECK_VECTOR().
8238         (Fmake_charset): Likewise.
8239
8240 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
8241
8242         * faces.c (get_extent_fragment_face_cache_index):
8243         Fix cachel.merged_faces memory leak.
8244
8245 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
8246
8247         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
8248         Reset MSB of octets obtained by DECODE_SJIS
8249         because of the incompatibility with Emacs.
8250         (ccl_driver)<CCL_ENCODE_SJIS>:
8251         Set MSB of octets before passing them to
8252         ENCODE_SJIS because of the incompatibility
8253         with Emacs.
8254
8255 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
8256
8257         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
8258         (DECLARE_LRECORD): Undo the last change.
8259         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
8260
8261 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
8262
8263         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
8264         the implementation to lrecord_implementations_table.
8265
8266 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
8267
8268         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
8269         initial value of `lrecord_type_##c_name' and
8270         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
8271         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
8272         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
8273         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
8274         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
8275
8276 2000-10-17  Martin Buchholz  <martin@xemacs.org>
8277
8278         * miscplay.c (sndcnv8S_2mono):
8279         (sndcnv2monounsigned):
8280         (sndcnvULaw_2linear):
8281         (sndcnv16swap):
8282         Remove implementation-defined behavior.
8283
8284 2000-10-12  Martin Buchholz  <martin@xemacs.org>
8285
8286         * input-method-xlib.c: Warning suppression.
8287
8288 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
8289
8290         * mule-ccl.c: Sync up with Emacs 21.0.90.
8291         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
8292         Do nothing.
8293         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
8294         Likewise.
8295         (ccl_driver[WriteMultibyteChar2]): Bug fix.
8296         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
8297         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
8298         leading char belongs to official 2-dimensional charset.
8299         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
8300         write the given character as is.  Otherwise,
8301         if it is a multibyte char, convert it by
8302         non_ascii_set_charptr_emchar, then write it.
8303         (CCL_WRITE_STRING): Likewise.
8304         (ccl_get_compiled_code): New function.
8305         (setup_ccl_program): When ccl_prog is invalid,
8306         return -1.
8307         (Fregister_code_conversion_map): New function.
8308         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
8309
8310         * mule-ccl.h: Sync up with Emacs 21.0.90.
8311         (Fregister_ccl_program): export it.
8312
8313         * redisplay-msw.c (separate_textual_runs):
8314         If ccl program is not valid, don't do ccl conversion.
8315
8316         * redisplay-x.c (separate_textual_runs): Ditto.
8317
8318         * file-coding.c (Fmake_coding_system):
8319         When type is ccl and value is vector, register it
8320         with a proper symbol.  And checks whether the
8321         given ccl program is valid.
8322         (mule_decode): When calling ccl_driver, if src indicates
8323         NULL pointer, set an empty string instead.
8324         (mule_encode): Likewise.
8325
8326 2000-10-11  Martin Buchholz  <martin@xemacs.org>
8327
8328         The following large batch of changes gets us back to a state of
8329         C++ compilability.  Extbyte is now a char, which means that
8330         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
8331
8332         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
8333
8334         * sound.c (Fplay_sound): Type correctness.
8335
8336         * select-x.c (hack_motif_clipboard_selection): Type correctness.
8337         (x_get_window_property): Type correctness.
8338         (receive_incremental_selection): unsigned char ==> Extbyte
8339         (selection_data_to_lisp_data): unsigned char ==> Extbyte
8340         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
8341         (Fx_store_cutbuffer_internal): Type correctness.
8342
8343         * process-unix.c (try_to_initialize_subtty): Type correctness.
8344
8345         * objects-x.c (x_print_color_instance): Type correctness.
8346         (x_print_font_instance): Type correctness.
8347         (x_list_fonts): SExtbyte ==> Extbyte.
8348         (valid_x_font_name_p): SExtbyte ==> Extbyte.
8349         (x_find_charset_font): SExtbyte ==> Extbyte.
8350         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
8351         (truename_via_XListFonts): SExtbyte ==> Extbyte.
8352         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
8353         Use bufbyte_strcmp.
8354
8355         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
8356         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
8357         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
8358         (BYTE_C0_P): Use bit ops for char-signedness safety.
8359         (BYTE_C1_P): Use bit ops for char-signedness safety.
8360         (CHARSET_BY_LEADING_BYTE):
8361         (CHARSET_BY_ATTRIBUTES):
8362         Always use inline function.
8363         Use type_checking_assert.
8364         Hide chlook.
8365
8366         * mule-charset.c (non_ascii_charptr_copy_char):
8367         Modify to work with both ASCII and non-ASCII characters.
8368         Improve docs and variable names.
8369         Replace over-clever fall-through switch with a simple loop.
8370         (Lstream_get_emchar_1):
8371         Replace over-clever fall-through switch with a simple loop.
8372
8373         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8374         Warning suppression.
8375
8376         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
8377         the return value of Lstream_getc, which could be EOF as well.
8378
8379         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
8380
8381         * lisp.h: Make Extbyte a char, not unsigned char, so that external
8382         APIs can be used on Extbytes without casts.  Risky!
8383         (SExtbyte): Remove.
8384         (UExtbyte): Remove.
8385
8386         * input-method-xlib.c (XIM_init_device):
8387         Use Xlib.h instead of IntrinsicP.h.
8388         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
8389         which will break in X11R7.
8390         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
8391         to call XRegisterIMInstantiateCallback with correct types.
8392
8393         * gui-x.c (button_item_to_widget_value): Type correctness.
8394
8395         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
8396
8397         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
8398         (xbm_instantiate_1): Type correctness.
8399         (BUILD_GLYPH_INST):  Type correctness.
8400
8401         * fileio.c (Fsubstitute_in_file_name): Type correctness.
8402
8403         * file-coding.c:
8404         (decode_coding_sjis):
8405         (decode_coding_big5):
8406         (decode_coding_ucs4):
8407         (decode_coding_utf8):
8408         (decode_coding_iso2022):
8409         (decode_coding_no_conversion):
8410         Make all decoding functions take an Extbyte * arg.
8411         (encode_coding_sjis):
8412         (encode_coding_big5):
8413         (encode_coding_ucs4):
8414         (encode_coding_utf8):
8415         (encode_coding_iso2022):
8416         (encode_coding_no_conversion):
8417         Make all encoding functions take a Bufbyte * arg.
8418         Use size_t instead of unsigned int for memory sizes.
8419         Only cast to unsigned char whenever dereferencing Extbyte *.
8420
8421         * doc.c (unparesseuxify_doc_string): Type correctness.
8422
8423         * console-x.c (split_up_display_spec):
8424         Rewrite without using details of internal string representation.
8425         (x_semi_canonicalize_device_connection): Type correctness.
8426
8427         * config.h.in:
8428         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
8429         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
8430         (HAVE_XFREE386): Removed.
8431
8432         * buffer.h (DEC_CHARPTR): `const' correctness.
8433         (bufbyte_strcmp): New.
8434         (bufbyte_memcmp): New.
8435
8436         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
8437
8438         * buffer.h (XCHAR_OR_CHAR_INT):
8439         Always use inline function.
8440         Remove redundant type checking assert() - XINT will abort quite nicely.
8441
8442 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8443
8444         * search.c (Freplace_match): Set newtext to an empty string.
8445
8446 2000-10-10  Martin Buchholz  <martin@xemacs.org>
8447
8448         * s/decosf1-3.h: Remove #include of stropts.h
8449         * s/ptx.h: Remove #include of stropts.h
8450         * s/usg5-4.h: Remove #include of stropts.h
8451         * sysproc.h:
8452         * config.h.in:
8453         Use stropts.h, not sys/stropts.h.
8454         Use strtio.h, not sys/strtio.h.
8455
8456 2000-10-04  Martin Buchholz <martin@xemacs.org>
8457
8458         * XEmacs 21.2.36 is released.
8459
8460 2000-09-21  Andy Piper  <andy@xemacs.org>
8461
8462         * glyphs-x.c (x_redisplay_widget): make sure non-structural
8463         changes still involve copying the widget tree.
8464         (update_widget_face): make sure a change is register in the widget
8465         tree. Call update_tab_widget_face appropriately.
8466         (update_tab_widget_face): ditto.
8467         (x_tab_control_redisplay): make sure non-structural changes still
8468         involve copying the widget tree.
8469
8470 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
8471
8472         * lread.c (locate_file): Check the path element is non-nil.
8473
8474 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8475
8476         * lisp.h: Warning suppression for SCO compilers.
8477
8478         * redisplay-tty.c (reset_tty_modes): Fix crash.
8479         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
8480
8481 2000-09-27  Martin Buchholz  <martin@xemacs.org>
8482
8483         Big signal/process handling overhaul.  Bugs fixed:
8484         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
8485         M-x comint-kill-subjob should work for both values nil and t of
8486         process-connection-type. It was broken on most platforms.
8487         Testing on Irix and Cygwin still needed.  Other plaforms tested.
8488         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
8489         * process-unix.c: Signal/Process handling overhaul.
8490         (pty_name): make 64 bytes, as `expect' does, for paranoia.
8491         (allocate_pty): Use all available modern methods of allocating
8492         ptys, falling back to old style BSD allocation as a last resort.
8493         Use allegedly more secure Unix98 pty allocation by default.
8494         (allocate_pty_the_old_fashioned_way): New. the last resort.
8495         (unix_create_process): Push ptem, ldterm, ttcompat where
8496         available.  Autoconfiscate.
8497         (try_to_initialize_subtty): New.
8498         (unix_kill_child_process): Proper signal handling for ptys on most
8499         platforms, using special knowledge of AIX, BSD, etc...
8500         (unix_create_process): Always disconnect_controlling_terminal() for
8501         subprocesses, whether using ptys or not.
8502         * process.h: Remove old getpt-dependent PTY code.
8503         * process.c (Fprocess_send_signal): New, obvious generic function.
8504         (decode_signal): New.
8505         (Finterrupt_process):
8506         (Fkill_process):
8507         (Fquit_process):
8508         (Fstop_process):
8509         (Fcontinue_process):
8510         (Fsignal_process): Use decode_signal.
8511         (process_send_signal):
8512         Many docstring corrections.
8513         Allow any signal to be sent to a process object.
8514         * config.h.in: Add symbols for big signal/process overhaul.
8515         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
8516         * sysproc.h: Include process-related headers, where available:
8517         sys/stropts.h sys/strtio.h pty.h libutil.h
8518         * s/irix4-0.h:
8519         * s/irix5-0.h:
8520         * s/cygwin32.h:
8521         * s/gnu.h:
8522         * s/linux.h:
8523         * s/hpux.h:
8524         * s/aix3-1.h:
8525         Remove old S&M pty stuff.
8526         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
8527         * systty.h: Simplify cpp hackery, improve comments.
8528         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
8529
8530         * editfns.c (Fformat_time_string):
8531         Be a little more paranoid with the return value of ctime.
8532
8533         * fileio.c (check_executable):
8534         (check_writable):
8535         Use symbolic constants X_OK, W_OK.
8536
8537         * console-x.c (split_up_display_spec): Fix a warning.
8538
8539 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8540
8541         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
8542         * ntproc.c (sys_spawnve): make_string ==> build_string
8543         Small clarity improvements.
8544
8545 2000-09-30  Martin Buchholz  <martin@xemacs.org>
8546
8547         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
8548
8549         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
8550
8551         * config.h.in (HAVE_STRCASECMP): Remove.
8552
8553 2000-09-29  Martin Buchholz  <martin@xemacs.org>
8554
8555         * redisplay-output.c (redisplay_output_pixmap):
8556         Cleaner and possibly more 64-bit correct code.
8557
8558 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
8559
8560         * dumper.c (pdump_load_finish): move restoration of
8561         `noninteractive1' to emacs.c (main_1).
8562         * emacs.c (main_1): protect LISP-visible command-line flags
8563         from pdump_load().
8564
8565 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
8566
8567         * Makefile.in.in (versionclean):  Use EXE_TARGET and
8568         DUMP_TARGET instead of literal program names.
8569
8570 2000-09-20  Martin Buchholz  <martin@xemacs.org>
8571
8572         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
8573
8574 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8575
8576         * *: Spelling mega-patch
8577
8578 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8579
8580         * fns.c (bad_bad_turtle):
8581         Delete "Eek!" comment, since we fixed the bug to which it refers.
8582
8583 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8584
8585         * alloca.c: Replace REGISTER with register.
8586
8587 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
8588
8589         * file-coding.c (ucs_to_char): Use countof.
8590
8591 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8592
8593         * file-coding.c: (ucs_to_char):
8594         (complex_vars_of_file_coding):
8595         Use countof instead of sizeof.
8596         Use CHECK_NATNUM instead of CHECK_INT.
8597
8598         * sysdep.c (strcasecmp): Remove.
8599         * device-x.c (ascii_strcasecmp): New.
8600         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
8601         Avoid using non-standard non-portable strcasecmp.
8602
8603 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8604
8605         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
8606         * font-lock.c: remove reference to emacsfns.h.
8607         * search.c: small doc improvement.
8608         * event-Xt.c: correct file names in comments.
8609         * console-x.h Correct file names in comments.
8610         * frame.c: Correct file names in comments.
8611         * event-stream.c: remove Energize from comments.
8612
8613 2000-09-15  Martin Buchholz  <martin@xemacs.org>
8614
8615         * symeval.h (DEFERROR_STANDARD):
8616         (DEFERROR):
8617         (DEFSYMBOL):
8618         (DEFSYMBOL_NO_DUMP):
8619         (DEFSYMBOL_MULTIWORD_PREDICATE):
8620         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
8621         (DEFKEYWORD):
8622         The construct &##name is not sensible C.
8623         Fixes compilation errors with Unixware native compiler.
8624
8625 2000-09-14  Martin Buchholz  <martin@xemacs.org>
8626
8627         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
8628         (next_frame_internal): Removed.  We now just have next_frame.
8629         (next_frame):
8630         Write a simpler and cleaner one-pass algorithm.
8631         Remove called_from_delete_device arg and #ifdefed-out code.
8632         (previous_frame):
8633         Renamed from prev_frame.  Update callers.
8634         Cleaned up to have an analogous implementation to next_frame.
8635         (other_visible_frames_internal): Remove the
8636         called_from_delete_device bogus arg, and hence, remove this
8637         function.  Just use other_visible_frames().
8638
8639         * window.c (Fnext_window):
8640         Prettify docstring.
8641         Since next_frame() is guaranteed to return a frame, remove check
8642         for nil inserted in previous patch.
8643         (Fprevious_window):
8644         Prettify docstring.
8645         Make code look more like Fnext_window.
8646         (window_loop):
8647         Respect the `console' arg when iterating through windows.
8648         Fixes bug: (get-buffer-window buffer t device) not respecting
8649         the `device' arg.
8650         This function needs more work, as others have pointed out.
8651
8652         * frame.h: Rename prev_frame to previous_frame.
8653         device_matches_console_spec no longer takes a `frame' arg.
8654
8655         * s/gnu.h:
8656         * s/linux.h:
8657         * s/hpux.h:
8658         Use EMACS_BLOCK_SIGNAL instead of sigblock.
8659         From "Golubev I. N." <gin@mo.msk.ru>.
8660
8661         * make-src-depend: Fix typo.
8662
8663 2000-09-13  Martin Buchholz  <martin@xemacs.org>
8664
8665         * window.c (Fnext_window):
8666         next_frame() might return nil, not a frame.
8667         Fixes this crash:
8668         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8669
8670         * frame.c (next_frame_internal):
8671         We've passed a frame if we've passed its device.
8672         Fixes this crash:
8673         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8674 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
8675
8676 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8677
8678         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8679         Allow option to suppress accelerators in menu/dialog items.
8680         (populate_or_checksum_helper): Pass dialog title through above.
8681
8682 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8683
8684         * event-msw.c (mswindows_key_to_emacs_keysym):
8685         Add "pause" key, fix "menu" key.
8686
8687 2000-09-09  Martin Buchholz  <martin@xemacs.org>
8688
8689         * eval.c (reinit_vars_of_eval):
8690         Increase max_lisp_eval_depth to 1000,
8691         required for thai-xtis.el to byte-compile under some circumstances.
8692
8693 2000-09-04  Martin Buchholz  <martin@xemacs.org>
8694
8695         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
8696         From Kenichi Handa.
8697
8698 2000-09-01  Martin Buchholz  <martin@xemacs.org>
8699
8700         * make-src-depend: Make the generated Makefiles smaller.
8701
8702         * s/hpux.h (SETUP_SLAVE_PTY):
8703         Provide a %d in the format string for the errno argument.
8704
8705         * editfns.c (Ftemp_directory):
8706         Warning fix.
8707         Avoid buffer overrun on very long file name.
8708
8709         * input-method-xlib.c (XIM_init_device):
8710         6th parameter of XRegisterIMInstantiateCallback has different
8711         pointer types on different OSes, so simply cast to (void *).
8712
8713         * unexhp9k800.c: Warning fixes.  Fiddly changes.
8714
8715         * sysdll.c (dll_open):
8716         shl_load will hang hard if passed a NULL filename.
8717         Simply return NULL for compatibility with dlopen.
8718         * sysdll.c: Conform to XEmacs coding standards.
8719
8720         * sysdep.c (get_pty_max_bytes):
8721         Support pty input lines longer than 512 bytes on HP-UX 10.20.
8722
8723 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8724
8725         * tooltalk.c: Add #include <syssignal.h>
8726
8727 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
8728
8729         * s/hpux.h: Don't use undefined function sigunblock().
8730
8731 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8732
8733         * config.h.in: Add HAVE_BALLOON_HELP.
8734         * emacs.c: Use HAVE_BALLOON_HELP.
8735         * Makefile.in.in (x_objs):
8736         Make Balloon Help conditional on finding shape.h.
8737
8738 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
8739
8740         * syntax.c (regex_emacs_buffer_p): New variable.
8741         * syntax.h (regex_emacs_buffer_p): extern.
8742         * search.c (looking_at_1):
8743         (string_match_1):
8744         (fast_string_match):
8745         (search_buffer): Set regex_emacs_buffer_p.
8746         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
8747         when before_dot, at_dot, after_dot.
8748
8749 2000-08-23  Andy Piper  <andy@xemacs.org>
8750
8751         * gui-x.c (popup_selection_callback): Only set action_occurred
8752         when we really have an image instance.
8753         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8754
8755 2000-08-23  Andy Piper  <andy@xemacs.org>
8756
8757         * gui-msw.c (mswindows_handle_gui_wm_command): set
8758         action_occurred.
8759         * gui-x.c (popup_selection_callback): ditto.
8760
8761         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
8762         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
8763         (struct Lisp_Image_Instance): add action_occurred flag.
8764
8765         * glyphs.c (redisplay_subwindow): use action_occurred flag.
8766         (image_instance_changed): ditto.
8767         (reset_frame_subwindow_instance_cache): only unmap windows - do
8768         not remove them from the cache also.
8769
8770         * glyphs-widget.c (tab_control_update): better debug.
8771         (progress_gauge_update): ditto.
8772         (layout_update): ditto.
8773         (layout_instantiate): ditto.
8774         (tab_control_order_only_changed): cope with null pending items.
8775
8776         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
8777         debug. Force selection of an item when an action occurred. Cope
8778         with null pending_items.
8779         (mswindows_progress_gauge_redisplay): better debug.
8780         * glyphs-x.c (x_tab_control_redisplay): ditto.
8781
8782         * redisplay.c (redisplay_frame): reset the frame cache if the
8783         frame is garbaged.
8784
8785         * window.c (Fset_window_configuration): potentially re-enable
8786         frame cache reset.
8787         (window_unmap_subwindows): need to finalize instances here since
8788         it is only used in mark_window_as_deleted.
8789
8790 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
8791
8792         * nas.c (SndOpenDataForReading):
8793         nas.c (WaveOpenDataForReading):
8794         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
8795         Somehow escaped from the 2000-08-14 patch.
8796
8797 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
8798
8799         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
8800         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
8801
8802 2000-08-21  Andy Piper  <andy@xemacs.org>
8803
8804         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
8805         window if it is not already displayed.
8806
8807         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
8808         it is not already displayed.
8809
8810         * window.c (Fset_window_configuration): don't reset the frame
8811         cache.
8812
8813         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
8814         instances from the frame cache if we are actually finalizing them.
8815         (reset_frame_subwindow_instance_cache): reset frame cache only
8816         after unmapping everything.
8817         (map_subwindow): set displayed flag after mapping.
8818
8819 2000-08-21  Martin Buchholz  <martin@xemacs.org>
8820
8821         * data.c (indirect_function):
8822         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
8823
8824         * eval.c (function_argcount):
8825         Use original function when signaling errors.
8826
8827 2000-08-18  Andy Piper  <andy@xemacs.org>
8828
8829         * frame.c (delete_frame_internal): use new
8830         free_frame_subwindow_instances name.
8831
8832         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
8833         (add_tab_item): make return type correct.
8834         (mswindows_tab_control_instantiate): assert index of tab.
8835         (mswindows_tab_control_redisplay): Re-code to use
8836         gui_item_equal_sans_selected and gui_item_list_find_selected.
8837
8838         * glyphs-widget.c (tab_control_update): Correct comment.
8839
8840         * window.c (window_unmap_subwindows): use new
8841         unmap_subwindow_instance_cache_mapper.
8842         (window_unmap_subwindows_cache_mapper): deleted.
8843         (Fset_window_configuration): comparisons should now be with
8844         EQ. Preserve the subwindow instance cache across configuration
8845         changes.
8846         (allocate_window): ditto.
8847         (make_dummy_parent): ditto.
8848
8849         * glyphs.c (free_frame_subwindow_instances): rename from
8850         free_frame_subwindow_instance_cache. finalize all instances rather
8851         than just those in the display cache.
8852         (finalize_all_subwindow_instances): walk windows unmapping and
8853         finalizing subwindows.
8854         (unmap_subwindow_instance_cache_mapper): moved from
8855         window.c. Allow finalization as well as unmapping.
8856
8857         * gui.c (gui_item_list_find_selected): new function.
8858
8859         * gui.h (gui_item_list_find_selected): declare.
8860
8861         * glyphs-x.c (x_tab_control_redisplay): pick tab
8862         explicitly. Re-code to use gui_item_equal_sans_selected and
8863         gui_item_list_find_selected.
8864
8865         * glyphs-x.h: add lwlib-utils.h
8866
8867         * buffer.c (Frecord_buffer): undo previous change.
8868
8869 2000-08-09  Vin Shelton  <acs@xemacs.org>
8870
8871         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
8872         possible.  Create temporary files more securely.  The patch was
8873         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
8874         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
8875         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
8876         for details.
8877
8878 2000-08-07  Ben Wing  <ben@xemacs.org>
8879
8880         * getloadavg.c: remove duplicate (and windows-breaking)
8881         includes of fcntl.h and sys/file.h.
8882
8883         * nt.c: remove duplicate getloadavg() definition.
8884
8885         * sysdll.h (Qdll_filename_encoding): add missing stand-in
8886         encodings.
8887
8888 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8889
8890         * eval.c (function_argcount): If function needs to be autoloaded
8891         actually use the loaded definition.
8892         GCPRO function.
8893
8894 2000-08-05  Ben Wing  <ben@xemacs.org>
8895
8896         * getloadavg.c: add prototype for getloadavg().  remove
8897         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
8898         of the code).  remove duplicate header includes.
8899
8900         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
8901
8902         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
8903         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
8904         useful load average.
8905
8906         * alloc.c (reinit_alloc_once_early): removed references to
8907         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
8908         the lisp vars are the only things referencing the malloc_sbrk_*
8909         vars, and they were already if 0'd out.  these vars only exist
8910         in the older malloc.c, which is basically unused, and they're
8911         only for informational purposes.
8912
8913         * m\*.h: removed useless VIRT_ADDR_VARIES.
8914
8915         * m\powerpc.h: removed stray NO_ARG_ARRAY.
8916
8917 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8918
8919         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
8920         color if the image is a mono pixmap.
8921
8922 2000-07-30  Ben Wing  <ben@xemacs.org>
8923
8924         * Makefile.in.in (release):
8925         Remove stray @.
8926
8927         * buffer.c (directory_is_current_directory):
8928         * dired-msw.c (mswindows_get_files):
8929         * dired.c:
8930         * dired.c (Fdirectory_files):
8931         * dired.c (file_name_completion_stat):
8932         * dired.c (Ffile_attributes):
8933         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
8934         preprocessor tricks, to avoid problems on some machines
8935         (e.g. SCO).
8936
8937         * callproc.c (egetenv): GC docs.
8938
8939         * console-msw.h:
8940         * console-msw.h (struct mswindows_dialog_id):
8941         * lrecord.h (lrecord_type):
8942         New object for use with MSW dialogs.
8943
8944         * console.h (struct console_methods):
8945         New enable/disable frame methods, for proper modal dialogs.
8946
8947         * device-msw.c (msprinter_default_printer): Fix to follow
8948         proper Mule conventions.
8949
8950         * device-msw.c:
8951         * device-msw.c (signal_open_printer_error):
8952         * device-msw.c (msprinter_init_device):
8953         * device-msw.c (ensure_not_printing):
8954         * device-msw.c (plist_get_margin):
8955         * device-msw.c (Fmsprinter_select_settings):
8956         * device-msw.c (finalize_devmode):
8957         * device-msw.c (Fmsprinter_settings_despecialize):
8958         * device-msw.c (signal_enum_priner_error):
8959         * extents.c (decode_extent):
8960         * extents.c (decode_map_extents_flags):
8961         * extents.c (decode_extent_at_flag):
8962         * extents.c (Fextent_at):
8963         * extents.c (Fextents_at):
8964         * extents.c (symbol_to_glyph_layout):
8965         [[[[2]]]] Use structured errors.
8966
8967         * dialog-msw.c:
8968         * dialog-msw.c (mswindows_is_dialog_msg):
8969         * dialog-msw.c (mark_mswindows_dialog_id):
8970         * dialog-msw.c (dialog_proc):
8971         * dialog-msw.c (handle_question_dialog_box):
8972         * dialog-msw.c (syms_of_dialog_mswindows):
8973         Define new object to clean up marking; use it as a dialog identifier.
8974         Call new delete-dialog-box-hook.
8975
8976         * dialog-x.c (dbox_selection_callback):
8977         * dialog-x.c (dbox_descriptor_to_widget_value):
8978         * dialog-x.c (x_make_dialog_box_internal):
8979         Call new delete-dialog-box-hook.
8980         Return an id.
8981
8982         * dialog.c:
8983         * dialog.c (syms_of_dialog):
8984         * dialog.c (vars_of_dialog):
8985         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
8986
8987         * eval.c:
8988         * eval.c (signal_call_debugger):
8989         when noninteractive, output stack traces on the console instead
8990         of in a (never-seen) buffer.
8991
8992         * eval.c (signal_type_error):
8993         * eval.c (invalid_argument_2):
8994         * lisp.h:
8995         new funs for use w/structured errors.
8996
8997         * event-Xt.c:
8998         * event-Xt.c (x_to_emacs_keysym):
8999         * event-Xt.c (describe_event):
9000         * event-Xt.c (emacs_Xt_event_handler):
9001         * event-Xt.c (vars_of_event_Xt):
9002         * event-msw.c:
9003         * event-msw.c (mswindows_wnd_proc):
9004         * event-msw.c (vars_of_event_mswindows):
9005         rename {x,mswindows}-debug-events to debug-{}-events for
9006         consistency with other debug-foo variables.
9007
9008         * event-stream.c:
9009         document next-event more clearly.
9010
9011         * fileio.c (Ffile_name_directory):
9012         * fileio.c (Ffile_name_nondirectory):
9013         * fileio.c (Funhandled_file_name_directory):
9014         * fileio.c (file_name_as_directory):
9015         * fileio.c (Ffile_name_as_directory):
9016         * fileio.c (directory_file_name):
9017         * fileio.c (Fdirectory_file_name):
9018         * fileio.c (Fmake_temp_name):
9019         * fileio.c (Ffile_truename):
9020         * fileio.c (Fsubstitute_in_file_name):
9021         * fileio.c (expand_and_dir_to_file):
9022         * fileio.c (barf_or_query_if_file_exists):
9023         * fileio.c (check_executable):
9024         * fileio.c (Ffile_exists_p):
9025         * fileio.c (Ffile_writable_p):
9026         * fileio.c (Ffile_directory_p):
9027         * fileio.c (Ffile_regular_p):
9028         * fileio.c (Ffile_modes):
9029         * fileio.c (Ffile_newer_than_file_p):
9030         * fileio.c (Fverify_visited_file_modtime):
9031         * fileio.c (Fset_visited_file_modtime):
9032         * fileio.c (auto_save_1):
9033         (1). (2).
9034         fix up gcpro's.
9035
9036         * frame-msw.c:
9037         * frame-msw.c (mswindows_init_frame_1):
9038         * frame-msw.c (mswindows_enable_frame):
9039         * frame-msw.c (error_frame_unsizable):
9040         * frame-msw.c (msprinter_init_frame_1):
9041         * frame-msw.c (msprinter_init_frame_3):
9042         * frame-msw.c (console_type_create_frame_mswindows):
9043         (2).
9044         implement new enable/disable frame methods.
9045
9046         * frame-x.c:
9047         * frame-x.c (x_enable_frame):
9048         * frame-x.c (console_type_create_frame_x):
9049         implement new enable/disable frame methods.
9050
9051         * frame.c:
9052         * frame.c (Fdisable_frame):
9053         * frame.c (syms_of_frame):
9054         * frame.h (struct frame):
9055         implement new enable/disable frame methods/functions.
9056
9057         * general-slots.h:
9058         add initial-focus.
9059
9060         * glyphs-msw.c (mswindows_widget_instantiate):
9061         comment that initial-focus should be implemented.
9062
9063         * glyphs-widget.c:
9064         * glyphs-widget.c (check_valid_instantiator):
9065         * glyphs-widget.c (check_valid_orientation):
9066         * glyphs-widget.c (check_valid_tab_orientation):
9067         * glyphs-widget.c (check_valid_justification):
9068         * glyphs-widget.c (check_valid_border):
9069         * glyphs-widget.c (check_valid_callback):
9070         * glyphs-widget.c (check_valid_int_or_function):
9071         * glyphs-widget.c (check_valid_string_or_vector):
9072         * glyphs-widget.c (check_valid_item_list_1):
9073         * glyphs-widget.c (widget_validate):
9074         * glyphs-widget.c (combo_box_validate):
9075         * glyphs-widget.c (widget_instantiate):
9076         * glyphs-widget.c (syms_of_glyphs_widget):
9077         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9078         * glyphs-widget.c (image_instantiator_combo_box):
9079         * glyphs-widget.c (image_instantiator_scrollbar):
9080         * glyphs-widget.c (image_instantiator_tab_control):
9081         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9082         (2).
9083         support (unimplemented) keyword initial-focus.
9084         reindent long macros.
9085
9086         * glyphs-x.c (x_redisplay_widget):
9087         * glyphs-x.c (x_button_instantiate):
9088         * glyphs-x.c (x_button_redisplay):
9089         * glyphs-x.c (x_progress_gauge_instantiate):
9090         * glyphs-x.c (x_edit_field_instantiate):
9091         * glyphs-x.c (x_combo_box_instantiate):
9092         * glyphs-x.c (x_tab_control_instantiate):
9093         * glyphs-x.c (x_label_instantiate):
9094         * gui-x.c:
9095         * gui-x.c (button_item_to_widget_value):
9096         * gui-x.c (gui_items_to_widget_values_1):
9097         * gui-x.c (gui_item_children_to_widget_values):
9098         * gui-x.c (gui_items_to_widget_values):
9099         * gui-x.h:
9100         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9101         add new flag to gui-parsing routines to indicate whether
9102         accelerator specs should be supported.
9103
9104         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9105
9106         * glyphs.h (struct Lisp_Image_Instance):
9107         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9108         add initial-focus flag.
9109
9110         * gui.c:
9111         * gui.c (syms_of_gui):
9112         * gui.c (vars_of_gui):
9113         clean up menu-no-selection-hook.
9114
9115         * gui.h:
9116         support delete-dialog-box-hook.
9117
9118         * lread.c (Fload_internal):
9119         * lread.c (locate_file_in_directory_mapper):
9120         (1).
9121
9122         * lrecord.h:
9123         * lrecord.h (struct toolbar_button):
9124         * lrecord.h (syms_of_toolbar):
9125         document how to create a new object.
9126
9127         * menubar-msw.c (mswindows_char_is_accelerator):
9128         may be called on frames w/o menus.
9129
9130         * menubar.c (vars_of_menubar):
9131         clean up :filter docs.
9132
9133         * nt.c (readdir):
9134         * ntproc.c:
9135         (1).
9136
9137         * process-nt.c:
9138         * process-nt.c (validate_signal_number):
9139         * process-nt.c (signal_cannot_launch):
9140         * process-nt.c (nt_create_process):
9141         * process-nt.c (nt_send_process):
9142         * process-nt.c (nt_kill_child_process):
9143         * process-nt.c (nt_open_network_stream):
9144         * process-nt.c (syms_of_process_nt):
9145         (2).
9146         delete quote-handling.  call new lisp code that does it better.
9147
9148         * process-unix.c (connect_to_file_descriptor):
9149         * process-unix.c (allocate_pty):
9150         * process-unix.c (unix_send_process):
9151         * process-unix.c (unix_kill_child_process):
9152         * process-unix.c (unix_open_network_stream):
9153         * process-unix.c (unix_open_multicast_group):
9154         (1). (2).
9155
9156         * process.c:
9157         * process.c (Fstart_process_internal):
9158         (2).  need to canonicalize process path even if absolute.
9159
9160         * select-msw.c (symbol_to_ms_cf):
9161         * select-msw.c (ms_cf_to_symbol):
9162         * select-msw.c (cf_is_autofreed):
9163         * select-msw.c (mswindows_destroy_selection):
9164         * select.c:
9165         * select.c (syms_of_select):
9166         * select.h:
9167         support dibv5, fix bugs. (from Mike Alexander)
9168
9169         * select.c (Fget_selection_internal):
9170         * select.c (select_convert_out):
9171
9172         * sysdep.c:
9173         * sysdep.c (xemacs_stat):
9174         renamed.
9175
9176         * sysdep.c (mkdir):
9177         * sysdep.c (rmdir):
9178         but keep original stat() here because we provide encapsulation
9179         around these funs.
9180
9181         * sysfile.h:
9182         * sysfile.h (fstat):
9183         remove stat garbage.
9184
9185         * syswindows.h:
9186         fix X/MSW conflict.
9187         don't include tchar.h.  it's inappropriate because it makes
9188         compile-time distinctions when we want runtime distinctions.
9189         (we provide our own tchar replacements)
9190
9191         * toolbar.c:
9192         use default object printer for toolbar-button.
9193
9194         * unexcw.c:
9195         make sure we don't encapsulate.
9196
9197         * window.c (vars_of_window):
9198         emphasize that temp-buffer-show-hook is obsolete.
9199
9200 2000-08-05  Martin Buchholz  <martin@xemacs.org>
9201
9202         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
9203         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
9204
9205         * events.c (Fevent_timestamp_lessp):
9206         Not 64-bit clean.  Use EMACS_INT, not int.
9207
9208 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
9209
9210         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
9211         unsigned int and changed the last enum to
9212         lrecord_type_last_built_in_type.
9213         (lrecord_implementations_table): changed prototype to know how
9214         long the array is supposed to be.
9215         (lrecord_type_count): new unsigned int to keep track of the
9216         current number of lisp lrecord types.
9217         (DEFINE_EXTERNAL_LRECORD):
9218         (DECLARE_EXTERNAL_LRECORD): Added these two for external
9219         dynamic-modules to declare new lisp types. They are the same
9220         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
9221         int for each new type, and increment lrecord_type_count by 1.
9222
9223         * alloc.c (lrecord_implementations_table): Changed to reference
9224         lrecord_type_last_built_in_type for the size of the array.
9225         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
9226
9227 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9228
9229         * glyphs.h (check_valid_item_list): Renamed from
9230         check_valid_item_list_1.
9231
9232 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
9233
9234         * select.c (Qselect_coerce): New.
9235         * select.c (Vselection_coercion_alist): New.
9236         * select.c (syms_of_select): Declare.
9237         * select.c (get-selection-internal): Use it.
9238         Use the new select-coerce functionality.
9239
9240         * select.c (select_coerce): New.
9241         * select.h (select_coerce): Declare.
9242         New function to coerce one type of data into another.
9243
9244 2000-08-03  Martin Buchholz  <martin@xemacs.org>
9245
9246         * callproc.c (Fcall_process_internal):
9247         (Fcall_process_internal):
9248         * process-unix.c (unix_create_process):
9249         Save and restore the value of errno, so that error messages are accurate.
9250
9251 2000-08-01  Martin Buchholz  <martin@xemacs.org>
9252
9253         * elhash.c (print_hash_table):
9254         Fix printing of hash tables to also use `key-and-value' instead of `t'.
9255         Prettify docstrings and indentation.
9256
9257 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9258
9259         * window.c (Fwindow_pixel_edges): Subtract frame border and
9260         gutter size.
9261
9262 2000-07-31  Andy Piper  <andy@xemacs.org>
9263
9264         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
9265         will acknowledge the change.
9266
9267         * glyphs.h: declare tab_control_order_only_changed.
9268
9269         * glyphs-x.c (x_tab_control_redisplay): use
9270         tab_control_order_only_changed.
9271
9272         * glyphs-widget.c (tab_control_order_only_changed): new function.
9273
9274         * glyphs-msw.c (mswindows_tab_control_redisplay): use
9275         tab_control_order_only_changed.
9276
9277         * gui.c (gui_item_equal_sans_selected): new function.
9278         (gui_item_equal): use it.
9279
9280         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
9281         :properties in favor of :items..
9282
9283         * glyphs-widget.c (check_valid_item_list): rename from
9284         check_valid_item_list_1.
9285         (check_valid_item_list_1): renamed.
9286         (combo_box_validate): deprecate :properties in favor of :items.
9287         (widget_instantiate): ditto.
9288         (tab_control_update): ditto.
9289         (image_instantiator_combo_box): ditto.
9290         (image_instantiator_tree_view): ditto.
9291         (image_instantiator_tab_control): ditto.
9292         (layout_post_instantiate): remove dead code.
9293
9294         * print.c (debug_print_no_newline): only write to debugger if in
9295         WIN32_NATIVE.
9296
9297         * elhash.c (Fmake_hash_table): update doc string.
9298
9299         * event-msw.c (mswindows_wnd_proc): don't allow processing of
9300         messages whilst in GC. This at least stops XEmacs crashing but has
9301         the potential for wierd behaviour.
9302
9303 2000-07-31  Martin Buchholz  <martin@xemacs.org>
9304
9305         * config.h.in:
9306         Make existence of s&m files optional.
9307
9308         * s/bsd386.h: Remove HAVE_GETLOADAVG.
9309         * s/freebsd.h: Remove HAVE_GETLOADAVG.
9310         * s/gnu.h: Remove HAVE_GETLOADAVG.
9311         * s/netbsd.h: Remove HAVE_GETLOADAVG.
9312         * s/sol2.h: Remove HAVE_GETLOADAVG.
9313         * lisp.h: Remove getloadavg() declaration.
9314         * fns.c:
9315         Include <sys/loadavg.h> if available.
9316         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
9317         * config.h.in:  Group together getloadavg()-related macros.
9318         Use only configure-time tests to detect getloadavg().
9319
9320 2000-07-30  Martin Buchholz  <martin@xemacs.org>
9321
9322         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
9323
9324 2000-07-25  Andy Piper  <andy@xemacs.org>
9325
9326         * syswindows.h: add tchar.h for native builds.
9327
9328         * frame.c (syms_of_frame): remove set-glyph-image.
9329
9330         * general-slots.h: add Qset_glyph_image.
9331
9332         * glyphs-widget.c (layout_update): add domain arg to
9333         set-glyph-image.
9334         (syms_of_glyphs_widget): remove set-glyph-image.
9335
9336 2000-07-23  Ben Wing  <ben@xemacs.org>
9337
9338         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
9339         Vpopup_frame_list.
9340
9341 2000-07-22  Andy Piper  <andy@xemacs.org>
9342
9343         * symsinit.h: add syms_of_win32().
9344
9345         * gui-msw.c (syms_of_gui_mswindows): remove
9346         Fmswindows_shell_execute.
9347         (Fmswindows_shell_execute): moved to win32.c.
9348
9349         * emacs.c (main_1): add syms_of_win32 ().
9350
9351         * win32.c (init_potentially_nonexistent_functions): rewrite in
9352         compiler-friendly terms.
9353         (Fmswindows_shell_execute): move here from gui-msw.c.
9354         (syms_of_win32): new.
9355
9356         * device-msw.c (Fmswindows_printer_list): clean up args to
9357         EnumPrinters.
9358         Don't include tchar under cygwin or mingw.
9359         (msprinter_default_printer): make cygwin-friendly.
9360
9361 2000-07-21  Andy Piper  <andy@xemacs.org>
9362
9363         * glyphs-widget.c (image_instantiator_tree_view): use tab
9364         control's update function.
9365         (layout_property): new function. Retrieve items.
9366
9367         * glyphs-msw.c (mswindows_tree_view_redisplay): new
9368         function. Re-populate the tree view from the pending items.
9369
9370         * glyphs.c (instantiate_image_instantiator): Make sure the domain
9371         is designated the parent if the domain is an image instance. This
9372         is needed so that dirtiness can be cascade up the hierarchy and
9373         thus for layout children to be redisplayed correctly.
9374         (allocate_image_instance): rename glyph -> parent.
9375
9376         * redisplay.h: change redisplay_output_layout signature.
9377
9378         * redisplay-msw.c (mswindows_output_display_block): use domain
9379         arg.
9380
9381         * redisplay-x.c (x_output_display_block): use domain arg.
9382
9383 2000-07-10  Andy Piper  <andy@xemacs.org>
9384
9385         * window.c (Fset_window_configuration): add comment.
9386
9387         * redisplay-output.c (compare_runes):
9388         (redisplay_output_subwindow): redisplay rather than update subwindow.
9389         (redisplay_output_layout): ditto.
9390
9391         * redisplay-msw.c (mswindows_frame_output_end):
9392         (mswindows_frame_output_end): make defer window pos optional.
9393
9394         * lisp.h: add Flast.
9395
9396         * glyphs.h (struct image_instantiator_methods): add dest_mask top
9397         normalize method. Change update method to be for changed
9398         instantiators. Add redisplay method. Change signature of layout
9399         method.
9400         (struct Lisp_Image_Instance): add instantiator.
9401         (IMAGE_INSTANCE_INSTANTIATOR): new.
9402         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
9403         (XIMAGE_INSTANCE_INSTANTIATOR): new.
9404         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
9405
9406         * glyphs.c:
9407         (find_instantiator_differences): new function.
9408         (Fset_instantiator_property): new convenience function.
9409         (check_image_instance_structure): strictly check for vector
9410         instantiators.
9411         (normalize_image_instantiator): make non-static.
9412         (instantiate_image_instantiator): pass on dest_mask and use new
9413         signatures for image_instance_layout and friends.
9414         (mark_image_instance): mark the instantiator. Mark the subwindow
9415         face not the widget face.
9416         (image_instance_equal): add instantiator.
9417         (image_instance_hash): ditto.
9418         (allocate_image_instance): ditto.
9419         (Fset_image_instance_property): removed.
9420         (Fimage_instance_file_name): ditto.
9421         (Fcolorize_image_instance): ditto.
9422         (image_instance_layout): add offsets to be set.
9423         (update_image_instance): new function. update an image instance
9424         from its changed instantiator.
9425         (inherit_normalize): add dest_mask.
9426         (xbm_normalize): ditto.
9427         (xface_normalize): ditto.
9428         (xpm_normalize): ditto.
9429         (text_update): set_property -> update.
9430         (image_instantiate): use the glyph identity as a hash key, not the
9431         instantiator.
9432         (glyph_width): use new image_instance_layout signature.
9433         (glyph_ascent): ditto.
9434         (glyph_descent): ditto.
9435         (glyph_height): ditto.
9436         (glyph_query_geometry): ressurrect.
9437         (glyph_layout): ditto.
9438         (redisplay_subwindow): update -> redisplay.
9439         (syms_of_glyphs): add Fset_instantiator_property.
9440         (image_instantiator_format_create): set_property -> update.
9441
9442         * glyphs-x.c:
9443         (autodetect_normalize): add dest_maks to signature.
9444         (x_redisplay_subwindow): update -> redisplay.
9445         (x_redisplay_widget): ditto.
9446         (x_button_redisplay): ditto.
9447         (x_progress_gauge_redisplay): ditto.
9448         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
9449         stacking order.
9450         (console_type_create_glyphs_x): update -> redisplay.
9451         (image_instantiator_format_create_glyphs_x): ditto.
9452
9453         * glyphs-widget.c:
9454         (check_valid_instantiator): disallow glyphs in the instantiator,
9455         they must now be vectors.
9456         (check_valid_instantiator_list): ditto.
9457         (glyph_instantiator_to_glyph): use internal symbol rather than
9458         intern.
9459         (widget_update): renamed from widget_set_property. Call cascaded
9460         update methods.
9461         (redisplay_widget): renamed from update_widget.
9462         (widget_layout): image_instance_layout now takes position as well
9463         as size.
9464         (widget_normalize): ditto.
9465         (widget_instantiate): ditto.
9466         (tab_control_query_geometry) ditto.:
9467         (tab_control_update): renamed from tab_control_set_property.
9468         (progress_gauge_update): set_property -> update.
9469         (layout_normalize): rewrite so that child instantiators are
9470         normalized also.
9471         (layout_update): new function. Create glyphs from the normalized
9472         children and cope with any other layout keywords. We do not
9473         instantiate children here that will be take care of by
9474         redisplay_output_layout.
9475         (layout_instantiate): call layout_update and not much else.
9476         (layout_post_instantiate): not sure whether this is needed
9477         anymore.
9478         (layout_query_geometry): query glyph geometry rather than
9479         image_instance geometry.
9480         (layout_layout): set offsets from pass in parameters. Use glyph
9481         geometry and layout functions rather than image instance ones.
9482         (native_layout_layout): ditto.
9483         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
9484         (image_instantiator_widget): set_property -> update.
9485         (image_instantiator_buttons): ditto.
9486         (image_instantiator_progress_guage): ditto.
9487         (image_instantiator_tab_control): ditto.
9488         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
9489         (image_instantiator_layout): add update method.
9490
9491         * glyphs-msw.c (bmp_normalize):
9492         (mswindows_resource_normalize): add dest_mask so that it can be
9493         proprogated by layout_normalize.
9494         (begin_defer_window_pos): make optional because it may not be the
9495         right thing to do and it introduces differences with X.
9496         (mswindows_unmap_subwindow): ditto.
9497         (mswindows_map_subwindow): ditto.
9498         (mswindows_redisplay_subwindow): renamed from
9499         mswindows_update_subwindow.
9500         (mswindows_redisplay_widget): ditto.
9501         (mswindows_button_redisplay): renamed from
9502         mswindows_button_update. Update is now what the instantiation
9503         function does for a changed instantiator.
9504         (mswindows_progress_gauge_instantiate): set the progress value
9505         here if appropriate.
9506         (mswindows_tab_control_redisplay): cope with re-ordering of the
9507         members of the tab widget by simply selecting the new top
9508         widget. This makes things appear ok if you click on a tab.
9509         (mswindows_combo_box_instantiate): image_instance_layout now takes
9510         position as well as size.
9511         (mswindows_progress_gauge_redisplay): renamed from
9512         mswindows_progress_gauge_update.
9513         (console_type_create_glyphs_mswindows): fix update -> redisplay.
9514         (image_instantiator_format_create_glyphs_mswindows): ditto.
9515
9516         * glyphs-eimage.c (jpeg_normalize):
9517         (gif_normalize):
9518         (png_normalize):
9519         (tiff_normalize): add dest_mask so that it can be proprogated by
9520         layout_normalize.
9521
9522         * elhash.c:
9523         (print_hash_table):
9524         (hash_table_weakness_validate):
9525         (decode_hash_table_weakness):
9526         (Fhash_table_weakness):
9527         (Fhash_table_type):
9528         (syms_of_elhash): use Ben's naming scheme for hashtable types..
9529
9530         * console.h (struct console_methods): move update_* to
9531         redisplay_*.
9532
9533 2000-07-20  Ben Wing  <ben@xemacs.org>
9534
9535         * *.[ch] (XSETOBJ): remove unused middle argument.
9536         lisp-disunion.h: correct wrap_object() to one argument.
9537
9538 2000-07-15  Ben Wing  <ben@xemacs.org>
9539
9540         * s/cygwin32.h:
9541         * s/cygwin32.h (CYGWIN_CONV_PATH):
9542         Add missing logb prototype for v1.1.
9543         Use post-b20 names and alias to pre-b20 names when pre-b20.
9544
9545         * s/windowsnt.h: [5].
9546
9547 2000-07-15  Ben Wing  <ben@xemacs.org>
9548
9549         * Makefile.in.in (x_objs):
9550         * Makefile.in.in (sheap_objs):
9551         * Makefile.in.in (objs):
9552         added win32.o, cosmetic cleanups.
9553
9554         * alloc.c (Fmake_byte_code):
9555         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
9556         etc. macros which declare their own args now.
9557
9558         * alloc.c (syms_of_alloc):
9559         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
9560
9561         * buffer.c:
9562         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
9563
9564         * buffer.c (Fget_file_buffer):
9565         Fixed GCPRO problem.
9566
9567         * buffer.c (get_truename_buffer):
9568         Fixed comment about GC checking.
9569
9570         * buffer.c (syms_of_buffer):
9571         Undeclared those dedicated frame funs.
9572         [2].
9573
9574         * buffer.h:
9575         Define convenience macros for internal/external conversions.
9576         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
9577         and Qenvironment_variable_encoding for cleaner code.
9578
9579         * bufslots.h:
9580         Remove dedicated-frame; in lisp.
9581
9582         * bytecode.c (funcall_compiled_function):
9583         [1].
9584
9585         * bytecode.c (syms_of_bytecode):
9586         [2].
9587
9588         * console-msw.c:
9589         * console-msw.c (mswindows_show_console): Rewrote.
9590
9591         * console-msw.c (Fmswindows_debugging_output): New.
9592         Sends to OutputDebugString (special MSWin debugger interface).
9593
9594         * console-msw.c (Fmswindows_message_box):
9595         Fixed stupid bugs so it works when called from kill-emacs.
9596
9597         * console-msw.c (syms_of_console_mswindows):
9598         Declare Fmswindows_debugging_output.
9599
9600         * console-msw.h:
9601         New MSWin prototypes.
9602
9603         * console-msw.h (struct mswindows_frame):
9604         New entry last-click-mods for improved button-modifier support.
9605
9606         * console-msw.h (FRAME_MSWINDOWS_POPUP):
9607         New struct entry `popup' with corresponding accessor.
9608
9609         * console-x.c:
9610         * console-x.c (split_up_display_spec):
9611         * console-x.c (get_display_arg_connection):
9612         * console-x.c (x_semi_canonicalize_console_connection):
9613         * console-x.c (x_canonicalize_device_connection):
9614         [[[6]]]: Change char to more specific type.
9615         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
9616
9617         * console-x.c (x_semi_canonicalize_console_connection):
9618         * console-x.c (x_canonicalize_device_connection):
9619         [[[9]]]: Fix up error signalling to use new structured error system.
9620
9621         * console-x.h:
9622         [[[4]]]: Define codesys aliases:
9623         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
9624         Qx_color_name_encoding, Qx_display_name_encoding.
9625
9626         * console.h (struct console_methods):
9627         New method make_dialog_box_internal supersedes older
9628         popup_dialog_box method.
9629
9630         * data.c:
9631         Define many new errors, part of new structured errors.
9632
9633         * data.c (init_errors_once_early):
9634         * data.c (syms_of_data):
9635         [2].
9636
9637         * device-msw.c (mswindows_init_device):
9638         [[[5]]]: Cleanup to support NT 3.51.
9639
9640         * device-msw.c (decode_devmode): Cleanup.
9641
9642         * device-msw.c (mswindows_handle_print_setup_dialog_box):
9643         * device-msw.c (mswindows_handle_print_dialog_box):
9644         * device-msw.c (mswindows_handle_page_setup_dialog_box):
9645         * device-msw.c (syms_of_device_mswindows):
9646         Delete the dialog box primitives recently introduced by Kirill and
9647         instead interface to general dialog box interface.
9648
9649         * device-x.c:
9650         * device-x.c (compute_x_app_name):
9651         * device-x.c (x_init_device):
9652         * device-x.c (Fx_valid_keysym_name_p):
9653         * device-x.c (Fx_set_font_path):
9654         [6].
9655         [7].
9656
9657         * device.h (wrap_device): New.
9658         First of its kind; meant to replace XSETDEVICE.
9659
9660         * dialog-msw.c: Many file-dialog symbols.
9661
9662         * dialog-msw.c (mswindows_register_popup_frame): New.
9663         * dialog-msw.c (mswindows_is_dialog_msg): New.
9664         For supporting kbd traversal in dialog boxes.
9665
9666         * dialog-msw.c (dialog_proc):
9667         Support hitting ESC in dialogs.
9668
9669         * dialog-msw.c (struct):
9670         Common dialog box errors.
9671
9672         * dialog-msw.c (handle_file_dialog_box): New.
9673         Add file dialog code.
9674
9675         * dialog-msw.c (handle_question_dialog_box):
9676         Redo existing code to support new question dialog syntax.
9677
9678         * dialog-msw.c (console_type_create_dialog_mswindows):
9679         We support new dialog console method.
9680
9681         * dialog-msw.c (syms_of_dialog_mswindows):
9682         * dialog-msw.c (vars_of_dialog_mswindows):
9683         New file dialog symbols, vars.
9684
9685         * dialog-x.c:
9686         * dialog-x.c (maybe_run_dbox_text_callback):
9687         * dialog-x.c (dbox_descriptor_to_widget_value):
9688         * dialog-x.c (x_make_dialog_box_internal):
9689         * dialog-x.c (console_type_create_dialog_x):
9690         Mule-ize entire file.
9691         Redo to support question dialog syntax.
9692         [6].
9693
9694         * dialog.c:
9695         * dialog.c (Fmake_dialog_box_internal):
9696         * dialog.c (syms_of_dialog):
9697         Kill old popup-dialog-box, replace with new primitive.
9698         Just call device method or signal error.
9699
9700         * eldap.c (Fldap_open):
9701         * eldap.c (Fldap_search_basic):
9702         * eldap.c (Fldap_add):
9703         * eldap.c (Fldap_modify):
9704         [1].
9705         [7].
9706
9707         * emacs.c:
9708         * emacs.c (make_arg_list_1):
9709         * emacs.c (make_arg_list):
9710         Mule-ize call to dll_init().
9711         [6].
9712         [8].
9713
9714         * emacs.c (make_argc_argv):
9715         * emacs.c (free_argc_argv):
9716         * emacs.c (init_cmdargs):
9717         * emacs.c (main_1):
9718         * emacs.c (Fkill_emacs):
9719         * emacs.c (Fdump_emacs):
9720         Update comments about what can be used in syms_* etc.
9721         Call init_win32() when necessary.
9722         Fix up MS Win dialog box in kill-buffer to actually work right.
9723         [7].
9724
9725         * eval.c:
9726         * eval.c (For):
9727         * eval.c (Fand):
9728         * eval.c (Fprogn):
9729         * eval.c (Fprog1):
9730         * eval.c (Fprog2):
9731         * eval.c (FletX):
9732         * eval.c (Flet):
9733         * eval.c (condition_case_3):
9734         * eval.c (Feval):
9735         * eval.c (function_argcount):
9736         * eval.c (funcall_lambda):
9737         [1].
9738
9739         * eval.c (type_error): New.
9740         * eval.c (maybe_type_error): New.
9741         * eval.c (continuable_type_error): New.
9742         * eval.c (maybe_continuable_type_error): New.
9743         * eval.c (type_error_with_frob): New.
9744         * eval.c (maybe_type_error_with_frob): New.
9745         * eval.c (continuable_type_error_with_frob): New.
9746         * eval.c (maybe_continuable_type_error_with_frob): New.
9747         New functions for use with structured errors.
9748
9749         * event-Xt.c:
9750         * event-Xt.c (x_event_to_emacs_event):
9751         Buttons are now modifiers too.
9752
9753         * event-Xt.c (emacs_Xt_current_event_timestamp):
9754         Implement new event method.
9755         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
9756
9757         * event-msw.c:
9758         * event-msw.c (ntpipe_shove_writer): [5].
9759         * event-msw.c (mswindows_enqueue_mouse_button_event):
9760         * event-msw.c (mswindows_drain_windows_queue):
9761         * event-msw.c (mswindows_wnd_proc): [7].
9762         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
9763         * event-msw.c (mswindows_modifier_state):
9764         Throughout: support new button modifiers.
9765
9766         * event-msw.c (emacs_mswindows_current_event_timestamp):
9767         Implement new event method.
9768         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
9769
9770         * event-stream.c:
9771         * event-stream.c (event_stream_current_event_timestamp): New.
9772         * event-stream.c (maybe_kbd_translate): New functionality.
9773         * event-stream.c (vars_of_event_stream):
9774         Document new kbd-translate-table functionality.
9775
9776         * event-stream.c (Fcurrent_event_timestamp): New.
9777         New primitive for use in fabricated events.
9778         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
9779
9780         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
9781
9782         * events.c:
9783         * events.c (Fmake_event):
9784         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
9785         [1].
9786         [9].
9787
9788         * events.c (format_event_object): fix gcc warnings.
9789
9790         * events.c (Fevent_timestamp): Document new primitives.
9791
9792         * events.c (TIMESTAMP_HALFSPACE): New.
9793
9794         * events.c (Fevent_timestamp_lessp): New.  New primitive for
9795         comparing timestamps correctly (half-space algorithm).
9796
9797         * events.c (Fevent_modifier_bits): Doc fix.
9798
9799         * events.c (Fevent_modifiers): Major doc addition.
9800         * events.c (event_x_y_pixel_internal): Typo fix.
9801         * events.c (syms_of_events): Declare new primitives.
9802
9803         * events.h:
9804         Update long comment for button modifiers, timestamps.
9805
9806         * events.h (struct event_stream):
9807         New current_event_timestamp method.
9808
9809         * extents.c:
9810         * extents.c (extent_in_region_p):
9811         * extents.c (decode_extent):
9812         * extents.c (Fset_extent_parent):
9813         * extents.c (decode_map_extents_flags):
9814         Fix gcc warnings.
9815         [9].
9816
9817         * extents.c (struct extent_at_arg):
9818         * extents.c (decode_extent_at_flag):
9819         * extents.c (extent_at_mapper):
9820         * extents.c (extent_at_bytind):
9821         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
9822         * extents.c (Fextents_at): New primitive. [9].
9823         * extents.c (symbol_to_glyph_layout): [9].
9824         Support new primitive `extents-at'.
9825
9826
9827         * extents.c (get_text_property_bytind):
9828         extent_at_bytind has another arg.
9829         [9].
9830
9831         * extents.c (syms_of_extents): New primitive.
9832
9833         * file-coding.c (Fmake_coding_system): [1].
9834         * file-coding.c (subsidiary_coding_system): fix gcc warning
9835         * file-coding.c (syms_of_file_coding): [2].
9836
9837         * fileio.c (Fexpand_file_name):
9838         * fileio.c (Fsysnetunam):
9839         * fileio.c (Ffile_exists_p):
9840         * fileio.c (Ffile_executable_p):
9841         * fileio.c (Fverify_visited_file_modtime):
9842         Clean up GCPROing.
9843
9844         * fileio.c (syms_of_fileio): [2].
9845
9846         * filelock.c (lock_file_1):
9847         * filelock.c (current_lock_owner):
9848         * filelock.c (lock_if_free):
9849         * filelock.c (lock_file):
9850         * filelock.c (unlock_file):
9851         Clean up GCPROing.
9852
9853         * fns.c (concat): Fix gcc warning.
9854
9855         * fns.c (Fmember):
9856         * fns.c (Fold_member):
9857         * fns.c (Fmemq):
9858         * fns.c (Fold_memq):
9859         * fns.c (memq_no_quit):
9860         * fns.c (Fassoc):
9861         * fns.c (Fold_assoc):
9862         * fns.c (Fassq):
9863         * fns.c (Fold_assq):
9864         * fns.c (assq_no_quit):
9865         * fns.c (Frassoc):
9866         * fns.c (Fold_rassoc):
9867         * fns.c (Frassq):
9868         * fns.c (Fold_rassq):
9869         * fns.c (rassq_no_quit):
9870         * fns.c (Fdelete):
9871         * fns.c (Fold_delete):
9872         * fns.c (Fdelq):
9873         * fns.c (Fold_delq):
9874         * fns.c (delq_no_quit):
9875         * fns.c (Fremassoc):
9876         * fns.c (Fremassq):
9877         * fns.c (remassq_no_quit):
9878         * fns.c (Fremrassoc):
9879         * fns.c (Fremrassq):
9880         * fns.c (remrassq_no_quit):
9881         * fns.c (Freverse):
9882         * fns.c (mapcar1):
9883         [1].
9884
9885         * frame-msw.c (mswindows_init_frame_1):
9886         * frame-msw.c (mswindows_delete_frame):
9887         Register popups with dialog code so keyboard traversing works.
9888
9889         * frame-tty.c (tty_raise_frame_no_select): [1].
9890
9891         * frame-x.c:
9892         * frame-x.c (x_set_frame_text_value):
9893         * frame-x.c (x_set_frame_properties):
9894         * frame-x.c (x_create_widgets):
9895         [7].
9896
9897         * frame.c:
9898         * frame.c (Fmouse_pixel_position): Minor doc fixes.
9899
9900         * frame.h (wrap_frame): New.
9901         Macro like wrap_device.
9902
9903         * general.c:
9904         * general.c (SYMBOL):
9905         * general.c (syms_of_general):
9906         Major reorg.  This is now just a wrapper and symbols themselves
9907         are listed in general-slots.h.
9908
9909         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
9910         * glyphs-msw.c (mswindows_resource_instantiate): [5].
9911
9912         * glyphs-msw.c (mswindows_native_layout_instantiate):
9913         Add DS_CONTROL so keyboard traversal will work.
9914
9915         * glyphs-widget.c:
9916         * glyphs-widget.c (syms_of_glyphs_widget):
9917         Move some symbols to general-slots.h.
9918
9919         * glyphs-x.c:
9920         * glyphs-x.c (xbm_instantiate_1):
9921         * glyphs-x.c (x_xbm_instantiate):
9922         * glyphs-x.c (x_xface_instantiate):
9923         * glyphs-x.c (autodetect_instantiate):
9924         * glyphs-x.c (cursor_font_instantiate):
9925         * glyphs-x.c (x_update_widget):
9926         * glyphs-x.c (x_widget_instantiate):
9927         * glyphs.c (bitmap_to_lisp_data):
9928         * glyphs.c (pixmap_to_lisp_data):
9929         [7].
9930
9931         * glyphs.c (syms_of_glyphs):
9932         [2].
9933
9934         * gui-x.c:
9935         * gui-x.c (print_widget_value):
9936         * gui-x.c (menu_separator_style_and_to_external):
9937         * gui-x.c (add_accel_and_to_external):
9938         * gui-x.c (button_item_to_widget_value):
9939         * gui-x.c (gui_items_to_widget_values_1):
9940         * gui-x.c (gui_items_to_widget_values):
9941         * gui-x.c (syms_of_gui_x):
9942         * gui-x.c (vars_of_gui_x):
9943         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
9944         [9].
9945
9946         * gui-x.h:
9947         Muleize, prototype changes matching gui-x.c.
9948
9949         * gui.c:
9950         * gui.c (separator_string_p):
9951         * gui.c (gui_item_add_keyval_pair):
9952         * gui.c (make_gui_item_from_keywords_internal):
9953         * gui.c (signal_too_long_error):
9954         * gui.c (parse_gui_item_tree_item):
9955         * gui.c (syms_of_gui):
9956         * gui.c (vars_of_gui):
9957         * gui.h:
9958         menu-no-selection-hook moved here (used by MSWin).
9959         Move some symbols to general-slots.h.
9960         [6].
9961         [9].
9962
9963         * insdel.c (get_buffer_pos_char):
9964         * insdel.c (get_buffer_range_char):
9965         Add GC comments.
9966
9967         * keymap.c (keymap_lookup_directly):
9968         * keymap.c (keymap_store):
9969         * keymap.c (ensure_meta_prefix_char_keymapp):
9970         * keymap.c (describe_map):
9971         * keymap.h:
9972         Support new button modifiers.
9973
9974         * lisp-disunion.h (wrap_object):
9975         * lisp-disunion.h (XSETOBJ):
9976         Rename make_obj to wrap_object.
9977
9978         * lisp-union.h:
9979         * lisp-union.h (make_int):
9980         * lisp-union.h (make_char):
9981         Support wrap_object.
9982
9983         * lisp.h:
9984         * lisp.h (LIST_LOOP):
9985         * lisp.h (EXTERNAL_LIST_LOOP):
9986         * lisp.h (LIST_LOOP_2):
9987         * lisp.h (EXTERNAL_LIST_LOOP_1):
9988         * lisp.h (EXTERNAL_LIST_LOOP_2):
9989         * lisp.h (EXTERNAL_LIST_LOOP_3):
9990         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
9991         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9992         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
9993         * lisp.h (EXTERNAL_ALIST_LOOP_5):
9994         * lisp.h (EXTERNAL_ALIST_LOOP_6):
9995         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
9996         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
9997         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
9998         * lisp.h (struct Lisp_Symbol):
9999         * lisp.h (maybe_continuable_error_with_frob):
10000         Fix up section comments.
10001         Add new types for char to indicate usage.
10002         Delete symbols auto-generated from general-slots.h.
10003         Add prototypes for structured error functions.
10004         Add long comments describing looping macros and change interface
10005         so that lvalues are automatically declared.
10006         Add NO_DECLARE macro in case callers want to declare lvalues
10007         themselves.
10008
10009         * lread.c (read_syntax_error):
10010         * lread.c (continuable_read_syntax_error):
10011         * lread.c (read_structure):
10012         * lread.c (sequence_reader):
10013         * lread.c (read_list_conser):
10014         * lread.c (read_compiled_function):
10015         Rename syntax_error and continuable_syntax_error to avoid clash
10016         with same-named structured error functions.
10017
10018         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10019         * menubar-msw.c (populate_menu_add_item):
10020         * menubar-msw.c (populate_or_checksum_helper):
10021         [5].
10022         [9].
10023
10024         * menubar-x.c:
10025         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10026         Mule-ize whole file.
10027
10028         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10029
10030         * mule-charset.c (Fmake_charset):
10031         * mule-wnnfns.c (Fwnn_set_param):
10032         [1].
10033
10034         * ntproc.c (create_child):
10035         * ntproc.c (Fwin32_set_current_locale):
10036         Add comments portending doom.
10037
10038         * objects-msw.c:
10039         * objects-msw.c (old_font_enum_callback_2):
10040         * objects-msw.c (font_enum_callback_1):
10041         * objects-msw.c (mswindows_enumerate_fonts):
10042         [5].
10043
10044         * objects-x.c:
10045         * objects-x.c (allocate_nearest_color):
10046         * objects-x.c (x_parse_nearest_color):
10047         * objects-x.c (x_initialize_color_instance):
10048         * objects-x.c (x_print_color_instance):
10049         * objects-x.c (x_finalize_color_instance):
10050         * objects-x.c (x_valid_color_name_p):
10051         * objects-x.c (x_initialize_font_instance):
10052         * objects-x.c (x_print_font_instance):
10053         * objects-x.c (valid_x_font_name_p):
10054         * objects-x.c (truename_via_FONT_prop):
10055         * objects-x.c (truename_via_random_props):
10056         * objects-x.c (truename_via_XListFonts):
10057         * objects-x.c (x_font_truename):
10058         * objects-x.c (x_font_instance_truename):
10059         * objects-x.c (x_font_instance_properties):
10060         * objects-x.c (x_list_fonts):
10061         * objects-x.c (x_find_charset_font):
10062         Mule-ize entire file.
10063         [7].
10064
10065         * objects-x.h:
10066         Mule-verify.
10067
10068         * print.c:
10069         * print.c (std_handle_out_external):
10070         * print.c (debug_print_no_newline):
10071         * print.c (syms_of_print):
10072         Output to all debugger kinds in debug-print.
10073         Fix console-output code under MSWin to actually work.
10074
10075         * process-nt.c (send_signal):
10076         * process-nt.c (nt_create_process):
10077         Use newer Unicode macros.
10078
10079         * process-unix.c (unix_create_process):
10080         * process-unix.c (unix_canonicalize_host_name):
10081         * process-unix.c (unix_open_network_stream):
10082         [7].
10083
10084         * scrollbar-x.c:
10085         Mule-verify.
10086
10087         * search.c (syms_of_search):
10088         [2].
10089
10090         * select-msw.c (mswindows_destroy_selection):
10091         Use LIST_LOOP_2.
10092
10093         * select-x.c (symbol_to_x_atom):
10094         [7].
10095
10096         * select.c (syms_of_select):
10097         [2].
10098
10099         * sound.c (Fplay_sound_file):
10100         [7].
10101
10102         * specifier.c:
10103         * specifier.c (decode_specifier_type):
10104         * specifier.c (Fvalid_specifier_locale_type_p):
10105         * specifier.c (check_valid_locale_or_locale_type):
10106         * specifier.c (decode_locale):
10107         * specifier.c (decode_locale_type):
10108         * specifier.c (decode_locale_list):
10109         * specifier.c (check_valid_domain):
10110         * specifier.c (decode_specifier_tag_set):
10111         * specifier.c (Fcanonicalize_tag_set):
10112         * specifier.c (Fdefine_specifier_tag):
10113         * specifier.c (Fspecifier_tag_predicate):
10114         * specifier.c (check_valid_inst_list):
10115         * specifier.c (check_valid_spec_list):
10116         * specifier.c (decode_how_to_add_specification):
10117         * specifier.c (check_modifiable_specifier):
10118         * specifier.c (specifier_add_spec):
10119         * specifier.c (boolean_validate):
10120         * specifier.c (display_table_validate):
10121         [9].
10122
10123         * specifier.c (syms_of_specifier):
10124         Move some symbols to general-slots.h.
10125         [2].
10126
10127         * symbols.c:
10128         * symbols.c (Fmapatoms):
10129         * symbols.c (Fapropos_internal):
10130         Add GCPROs.
10131
10132         * symbols.c (set_default_buffer_slot_variable):
10133         * symbols.c (set_default_console_slot_variable):
10134         [1].
10135
10136         * symbols.c (defsymbol_massage_name_1):
10137         * symbols.c (defkeyword_massage_name):
10138         * symbols.c (deferror_1):
10139         * symbols.c (deferror):
10140         * symbols.c (deferror_massage_name_and_message):
10141         * symeval.h:
10142         * symeval.h (DEFSYMBOL):
10143         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10144
10145         * symbols.c (syms_of_symbols):
10146         [2].
10147
10148         * symsinit.h:
10149         * symsinit.h (init_win32): New.
10150         Also new is syms_of_dialog_mswindows.
10151
10152         * syswindows.h:
10153         Add new Unicode macros, missing Cygwin wide-char functions,
10154         convenience conversion macros for Qmswindows_tstr, macros for
10155         encapsulating required MSWin <-> Cygwin filename conversions,
10156         prototype for dynamically-extracted (not in NT 3.51) functions.
10157
10158         * toolbar-x.c:
10159         Mule-verify.
10160
10161         * tooltalk.c (Fadd_tooltalk_message_arg):
10162         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10163         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10164         [7].
10165
10166         * tooltalk.c (syms_of_tooltalk):
10167         [2].
10168
10169         * unexnt.c:
10170         * unexnt.c (unexec):
10171         Fix up headers, declaration of unexec() to be more standard.
10172
10173 2000-07-20  Martin Buchholz  <martin@xemacs.org>
10174
10175         * offix.h: Revert change to guard macros - they're used in offix.c!
10176
10177 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10178
10179         * lisp.h: Defsubred Fdelete.
10180
10181         * console-msw.h:  (msprinter_default_printer): Added.
10182
10183         * console-msw.c (msprinter_canonicalize_console_connection):
10184         (msprinter_canonicalize_device_connection): Added.
10185
10186         * device-msw.c (msprinter_default_printer):
10187         (Fmswingows_get_default_printer):
10188         (signal_enum_priner_error):
10189         (Fmswingows_printer_list): Added.
10190
10191 2000-07-19  Martin Buchholz <martin@xemacs.org>
10192
10193         * XEmacs 21.2.35 is released.
10194
10195 2000-07-19  Martin Buchholz  <martin@xemacs.org>
10196
10197         * select-x.c (x_handle_selection_request):
10198         Text selected in xemacs and pasted into xterm failed to appear.
10199         Spelling fixes and cosmetic changes.
10200
10201 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10202
10203         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
10204         XEmacs frame (fix for doubling chars in dialog boxes).
10205
10206 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10207
10208         * select.c (select_convert_in, select_convert_out):
10209         Don't call intern() every time.
10210
10211         * select.c (Qselect_convert_in, Qselect_convert_out): New.
10212         * select.c (vars_of_select): Initialise them.
10213
10214 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10215
10216         * select.c (selection-coercible-types): New.
10217
10218         * select.c (own-selection-internal):
10219         * select.c (get-selection-internal):
10220         MULE bug fix - these should default to COMPOUND_TEXT and not
10221         STRING for MULE. I think.
10222
10223         * select.c (select_convert_out): Use selection-coercible-types
10224         to find types that we can attempt to perform coercions on.
10225
10226 2000-07-18  Martin Buchholz  <martin@xemacs.org>
10227
10228         * mule-wnnfns.c:
10229         * mule-canna.c:
10230         Add coding: cookie to identify encoding.
10231
10232         * mule-canna.c (CANNA_mode_keys): make static.
10233         Use proper prototypes, even for functions of no arguments.
10234         Remove external prototype for Fding().
10235
10236         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
10237
10238         * select.c (syms_of_select): Add missing DEFSUBR.
10239
10240 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10241
10242         * select.c (get_selection_internal, own_selection_internal):
10243         Make the type default to STRING, rather than placing a nil type
10244         into Vselection_alist.
10245
10246 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10247
10248         * gpmevent.c (tty_selection_exists_p):
10249         * gpmevent.c (tty_own_selection):
10250         Updated parameter lists.
10251
10252 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
10253
10254         * select.h (selection-alist): Removed declaration.
10255
10256         * select.h (get_local_selection):
10257         * select.c (get_local_selection):
10258         Made static.
10259
10260         * select.h (convert_selection): Removed declaration.
10261         * select.c (convert_selection): Removed.
10262         This function belongs in Lisp.
10263
10264         * select.h (select_convert_in): Declare.
10265         * select.h (select_convert_out): Declare.
10266         * select.c (select_convert_in): New.
10267         * select.c (select_convert_out): New.
10268         New conversion functions for other files to call.
10269
10270         * select.h (select_notify_buffer_kill): Declare.
10271         * select.c (select_notify_buffer_kill): New.
10272         New functions that get called from kill-buffer.
10273
10274         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
10275         X-specific lisp code.
10276
10277         * select.h: Declare some of the lisp-visible functions for
10278         external use.
10279
10280         * select.c (clean_local_selection_data): Removed. This was
10281         a disgusting function, and previously should have been in
10282         select-x.c in any case. The functionality is now provided
10283         in select-convert-from-integer (select.el).
10284
10285         * select.c (available-selection-types): Fixed stupidity where
10286         INTEGER and ATOM got added twice. Also add STRING when we see an
10287         extent.
10288
10289         * select.c (get-selection-internal): Removed symbol stripping. No
10290         longer causes conversion when data comes from the internal cache.
10291
10292         * select.c (syms_of_select): Added new functions.
10293
10294         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
10295         error checking - previously this called abort!
10296
10297         * select-x.c (x_own_selection): Changed comment.
10298
10299         * select-x.c (x_handle_selection_request): Use select_convert_out.
10300         Don't mess with selection-alist; it's an internal variable of select.c.
10301
10302         * select-x.c (x_get_foreign_selection): Use select_convert_in.
10303
10304         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
10305         rather than messing with selection-alist.
10306
10307         * select-msw.c (mswindows_get_foreign_selection):
10308         Use TO_INTERNAL_FORMAT rather than hacking.
10309
10310 2000-07-14  Martin Buchholz  <martin@xemacs.org>
10311
10312         * process-unix.c (unix_open_multicast_group):
10313         (unix_open_multicast_group): Remove useless casts.
10314
10315 2000-07-13  Martin Buchholz  <martin@xemacs.org>
10316
10317         * sound.c (Fplay_sound): Fix `unused variable' warning.
10318
10319         * emacs.c (main): Use correct type for _environ on SCO5.
10320
10321 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
10322
10323         * console.h (own_selection_method):
10324         * console.h (selection_exists_p_method):
10325         * console.h (available_selection_types_method): New.
10326         * console.h (register_selection_data_type_method): New.
10327         * console.h (selection_data_type_name): New.
10328
10329         * console-msw.h (mswindows_destroy_selection): Declare it.  New
10330         function & alist to track GlobalAlloc()'d handles that need
10331         releasing when the clipboard data gets replaced or emptied.
10332
10333         * event-msw.c (mswindows_wnd_proc): Call it.
10334
10335         * lisp.h, general.c (Qappend): New symbol representing a
10336         `how-to-add' mode.
10337
10338         * select.c (own-selection-internal):
10339         * select.c (selection-exists-p):
10340         * select.c (available-selection-types): New.
10341         * select.c (register-selection-data-type): New.
10342         * select.c (selection-data-type-name): New.  New functions to deal
10343         with device-specific selection data formats.
10344         * select.c (selection-converter-out-alist): Renamed.
10345         * select.c (selection-converter-in-alist): New.
10346         * select.c (selection-appender-alist): New.  Added new alists.
10347         * select.c (syms_of_select, vars_of_select): Added new symbols &
10348         variables.
10349         * select.c (get_local_selection): Split.
10350         * select.c: Removed spurious type checking - selections may now be
10351         of any type, not just strings.
10352         * select.c (own-selection-internal):
10353
10354         * select.h, select.c (convert_selection): New. Created
10355         convert_selection() function based on get_local_selection().
10356         * select.h, select.c (QCF_*): New symbols representing mswindows
10357         clipboard formats.
10358         * select.h, select.c (Qreplace_all, Qreplace_existing): New
10359         symbols representing `how-to-add' modes.
10360
10361         * select-msw.c (x_sym_p): New.
10362         * select-msw.c (symbol_to_ms_cf): New.
10363         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
10364         symbols & clipboard formats. Can also handle string names.
10365         * select-msw.c (mswindows_own_selection):
10366         * select-msw.c (mswindows_selection_exists_p):
10367         Added `data-type' parameter. Use it.
10368         * select-msw.c (mswindows_available_selection_types): New.
10369         * select-msw.c (mswindows_register_selection_data_type): New.
10370         * select-msw.c (mswindows_selection_data_type_name): New.
10371         * select-msw.c (mswindows_own_selection):
10372         * select-msw.c (mswindows_get_foreign_selection):
10373         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
10374         * select-msw.c (console_create_select_mswindows): Added new methods.
10375         * select-msw.c (mswindows_destroy_selection): New.
10376         * select-msw.c (Vhandle_alist): New list.
10377         * select-msw.c (mswindows_own_selection):
10378
10379         * select-x.c (x_own_selection):
10380         * select-x.c (x_selection_exists_p):
10381         * select-x.c: Added some comments about maybe using new
10382         functionality.
10383         * select-x.c (x_own_selection):
10384
10385         * specifier.c: Remove definition of Qappend (now in general.c)
10386         * specifier.c (syms_of_specifier): Remove Qappend.
10387
10388 2000-07-12  Martin Buchholz  <martin@xemacs.org>
10389
10390         * config.h.in: Add socklen_t.
10391
10392         * s/decosf4-0.h: No special compiler flags needed or desired.
10393         In particular, undefine _BSD for DEC OSF 4.0.
10394
10395 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10396
10397         * redisplay-msw.c (msprinter_frame_output_end): Added.
10398         (console_type_create_redisplay_mswindows): Referred the above.
10399
10400         * frame.c (setup_frame_without_minibuffer): Do not create a
10401         default minibuffer frame on a printer device.
10402
10403         * frame-msw.c (apply_dc_geometry): Added.
10404         (msprinter_start_page):
10405         (msprinter_init_frame_3):
10406         (msprinter_eject_page): Use it.
10407
10408         * console-msw.h (struct msprinter_frame): Added pix_left and top,
10409         and removed residual duplex and orientation properties.
10410
10411 2000-07-11  Martin Buchholz  <martin@xemacs.org>
10412
10413         * eval.c (function_argcount): Work around a DEC CC compiler bug.
10414
10415         * unexalpha.c: Remove system prototypes from C sources!
10416
10417 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
10418
10419         * eval.c: Remove references to M-x edit-options in DEFUNs for
10420         `defvar' and `defconst'.
10421
10422 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10423
10424         * config.h.in: Remove SMART_INCLUDE hackery.
10425
10426         PostgreSQL hacking:
10427         * config.h.in: Don't use SMART_INCLUDE.
10428
10429         * postgresql.h: Include libpq-fe.h here.  Fix typo.
10430         * inline.c: Simply #include "postgresql.h"
10431         * postgresql.c:
10432         - Don't use SMART_INCLUDE
10433         - Use simply "const".
10434         - Use standard doc string conventions.
10435         - Use correct type for result of PQstatus.
10436
10437 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10438
10439         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
10440
10441         C++ compilation changes.
10442         * config.h.in (EXTERN_C): Define.
10443         * config.h.in (not): This is also a C++ keyword.
10444         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
10445         * cm.c: Use EXTERN_C.
10446         * redisplay-tty.c: Use EXTERN_C.
10447         * sysdep.c: Use EXTERN_C.  Remove Gould support.
10448
10449 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10450
10451         * general.c: Remove duplicate definition for Qfunction.
10452
10453 2000-07-08  Ben Wing  <ben@xemacs.org>
10454
10455         * device-msw.c (msprinter_init_device):
10456         * device-msw.c (sync_printer_with_devmode):
10457         * device-msw.c (handle_devmode_changes):
10458         * device-msw.c (print_dialog_worker):
10459         * device-msw.c (Fmsprinter_apply_settings):
10460         * device-msw.c (hash_devmode):
10461         * device-msw.c (Fmsprinter_settings_despecialize):
10462         use Qmswindows_tstr, not Qctext.
10463
10464         * vm-limit.c (check_memory_limits):
10465         avoid infinite loop printing warning messages.
10466
10467 2000-07-05  Craig Lanning  <lanning@scra.org>
10468
10469         * Makefile.in.in: Add support for including the Windows resources
10470         when building with the cygwin and mingw targets.
10471
10472         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
10473         not set or not correct.
10474         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
10475         (init_initial_directory): Don't try to use $PWD on the
10476         WIN32_NATIVE target.
10477
10478         * s\cygwin32.h:
10479         [[Add -mwindows to eliminate console window.]] not required --ben
10480         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10481         (MAIL_USE_POP): removed; now handled by configure.
10482
10483         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
10484         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
10485         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10486         (MAIL_USE_POP): removed; now handled by configure.
10487         (ENCAPSULATE_STAT): from Dan Holmsand, added.
10488         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
10489         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
10490         constant string.
10491         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
10492         up from <winsock.h> via systime.h.
10493         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
10494         (getpagesize): from Dan Holmsand, added.
10495         Added #endif which was left dangling by Ben's mega patch; added
10496         comment to help prevent this in the future.
10497
10498         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
10499
10500 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10501
10502         * console-msw.h (struct mswindows_device): Removed unnecessary
10503         cached device geometry values.
10504         Added update_tick and an accessor macro.
10505         (Lisp_Devmode): Added lrecord declaration.
10506         (struct msprinter_device): Contain devmode as a Lisp object.
10507         Added mswindows_get_selected_frame_hwnd();
10508
10509         * console.h (struct console_methods): Indentation nitpicking.
10510
10511         * device-msw.c (mswindows_init_device): Do not initialize geometry
10512         cache. Initialize update tick.
10513         (mswindows_device_system_metrics): Ask the device for its geometry.
10514         (global_free_2_maybe):
10515         (devmode_to_hglobal):
10516         (handle_printer_changes):
10517         (ensure_not_printing):
10518         (print_dialog_worker):
10519         (Fmsprinter_print_setup_dialog):
10520         (Fmsprinter_print_dialog):
10521         (plist_get_margin):
10522         (plist_set_margin):
10523         (Fmsprinter_page_setup_dialog): Added functions.
10524         (sync_printer_with_devmode):
10525         (handle_devmode_changes):
10526         (Fmsprinter_get_settings):
10527         (Fmsprinter_select_settings):
10528         (Fmsprinter_apply_settings):
10529         (allocate_devmode):
10530         (Fmsprinter_settings_copy):
10531         (Fmsprinter_settings_despecialize):
10532         (print_devmode):
10533         (finalize_devmode):
10534         (equal_devmode):
10535         (hash_devmode): Added functions
10536         (syms_of_device_mswindows): Init devmode lrecord class.
10537
10538         * device.h: Added an exfun for find-device.
10539
10540         * event-msw.c (mswindows_wnd_proc): Do not update the cached
10541         geometry; although, recreate the device compatible DC.
10542
10543         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
10544         (msprinter_init_frame_3):
10545         (msprinter_frame_property):
10546         (msprinter_internal_frame_property_p):
10547         (msprinter_frame_properties):
10548         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
10549         print job properties (will move to device settings).
10550
10551         * lisp.h: Added symbols.
10552
10553         * general.c (syms_of_general): Declared them.
10554
10555         * hash.c (string_hash): Added.
10556
10557         * lrecord.h (lrecord_type): Added devmode lrecord type.
10558
10559 2000-07-02  Mike Sperber <mike@xemacs.org>
10560
10561         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
10562         FreeBSD 4.0.
10563
10564 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
10565
10566         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
10567         integer.
10568
10569 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
10570
10571         * data.c (Fstring_to_number): Don't recognize floating point if
10572         base is not 10.
10573
10574 2000-06-22  Martin Buchholz  <martin@xemacs.org>
10575
10576         * glyphs-widget.c (tab_control_query_geometry):
10577         (widget_query_geometry):
10578         (button_query_geometry):
10579         * glyphs.c (text_query_geometry):
10580         Enforce type correctness.
10581
10582 2000-06-18  Martin Buchholz  <martin@xemacs.org>
10583
10584         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
10585         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
10586
10587 2000-06-17  Martin Buchholz  <martin@xemacs.org>
10588
10589         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
10590         conflicts with gcc's fixincluded version of FOO.h.
10591
10592         * glyphs.h (image_instance_geometry): Remove trailing `,'
10593
10594 2000-06-08  Mike Alexander  <mta@arbortext.com>
10595
10596         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
10597         (shove_thread): Don't write the same output twice
10598         (make_ntpipe_output_stream): Increase priority of shove thread
10599         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
10600         chance to run
10601         (ntpipe_shove_closer): Don't delete the pipe until we're done with
10602         it.
10603
10604 2000-06-12  Ben Wing  <ben@xemacs.org>
10605
10606         * s\mingw32.h (sigset):
10607         * s\windowsnt.h (sigset):
10608         rename msw_ to mswindows_ for consistency with general convention.
10609
10610 2000-06-12  Ben Wing  <ben@xemacs.org>
10611
10612         * console-msw.c:
10613         * console-msw.c (mswindows_get_console_hwnd):
10614         * console-msw.c (mswindows_ensure_console_allocated):
10615         * console-msw.c (mswindows_hide_console):
10616         * console-msw.c (mswindows_show_console):
10617         * console-msw.c (mswindows_ensure_console_buffered):
10618         * console-msw.c (mswindows_output_console_string):
10619         * console-msw.c (mswindows_windows9x_p):
10620         * console-msw.h:
10621         * device-msw.c (mswindows_get_workspace_coords):
10622         * device-msw.c (mswindows_device_system_metrics):
10623         * dialog-msw.c (mswindows_popup_dialog_box):
10624         * event-msw.c (mswindows_wnd_proc):
10625         * frame-msw.c (mswindows_size_frame_internal):
10626         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10627         * menubar-msw.c (displayable_menu_item):
10628         * menubar-msw.c (mswindows_char_is_accelerator):
10629         * nt.c:
10630         * nt.c (mswindows_sigset):
10631         * nt.c (mswindows_sigrelse):
10632         * nt.c (mswindows_sigpause):
10633         * nt.c (mswindows_raise):
10634         * nt.c (timer_proc):
10635         * ntproc.c:
10636         * ntproc.c (find_child_console):
10637         * ntproc.c (sys_kill):
10638         * print.c:
10639         * print.c (std_handle_out_external):
10640         * process-nt.c (find_child_console):
10641         * process-nt.c (send_signal_the_95_way):
10642         * process-nt.c (ensure_console_window_exists):
10643         * process-nt.c (nt_create_process):
10644         * syssignal.h:
10645         rename msw_ to mswindows_ for consistency with general convention.
10646
10647         * emacs.c:
10648         * dumper.c:
10649         include nt.h, not syswindows.h.
10650
10651         * nt.c (mswindows_fstat):
10652         * nt.c (mswindows_stat):
10653         prefix mswindows_ instead of attempting to directly override the
10654         library functions.  fix declarations.
10655
10656         * nt.h:
10657         include syswindows.h.  move some sysdep.h stuff here.
10658
10659         * ntheap.h:
10660         include syswindows.h, not <windows.h>.
10661
10662         * ntplay.c:
10663         clean up headers.
10664
10665         * sysdep.c:
10666         clean up headers.
10667
10668         * sysdep.c (sys_fstat):
10669         * sysdep.c (sys_stat):
10670         call mswindows versions when appropriate.
10671
10672         * sysdep.h:
10673         move mswin decls to nt.h.
10674
10675         * syswindows.h:
10676         add long comment describing appropriate use of the various windows
10677         headers.
10678
10679 2000-06-11  Ben Wing  <ben@xemacs.org>
10680
10681         * device-x.c: Correct doc string for sixth arg of x-get-resource.
10682
10683 2000-06-10  Ben Wing  <ben@xemacs.org>
10684
10685         * Makefile.in.in (release):
10686         Correction to make sure xemacs.exe always dumped when correct.
10687
10688         * alloca.c:
10689         * balloon_help.c:
10690         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
10691
10692         * buffer.c (set_buffer_internal):
10693         [[[[2]]]]: Remove HAVE_FEP code.
10694
10695         * buffer.c (init_initial_directory):
10696         [3].
10697
10698         * bytecode.c:
10699         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
10700         individual files.
10701
10702         * callproc.c:
10703         * callproc.c (call_process_cleanup):
10704         * callproc.c (Fold_call_process_internal):
10705         * callproc.c (child_setup):
10706         * callproc.c (getenv_internal):
10707         * callproc.c (init_callproc):
10708         * callproc.c (vars_of_callproc):
10709         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
10710         __CYGWIN32__ -> CYGWIN.
10711         DOS_NT -> WIN32_NATIVE.
10712         Remove MSDOS support/references, converting to WIN32_NATIVE
10713           where correct.
10714         __MINGW32__ -> MINGW.
10715         Fix windows.h includes.
10716         Remove bogus HAVE_NTGUI.
10717
10718         * config.h.in:
10719         [2].
10720
10721         * console-msw.c:
10722         mswindows_message_outputted added for use in allowing startup
10723         errors on the console to be seen.
10724
10725         * console-msw.c (msw_ensure_console_allocated):
10726         * console-msw.c (msw_output_console_string):
10727         * console-msw.c (DHEADER):
10728         * console-msw.c (DOPAQUE_DATA):
10729         * console-msw.c (DEVENT):
10730         * console-msw.c (DCONS):
10731         * console-msw.c (DCONSCDR):
10732         * console-msw.c (DSTRING):
10733         * console-msw.c (DVECTOR):
10734         * console-msw.c (DSYMBOL):
10735         * console-msw.c (DSYMNAME):
10736         Fix warnings.
10737
10738         * console-stream.c (stream_init_console):
10739         Fix text/binary problems.
10740
10741         * device-msw.c:
10742         * device-msw.c (mswindows_finish_init_device):
10743         * device-msw.c (mswindows_delete_device):
10744         [1].
10745
10746         * device.c (handle_asynch_device_change):
10747         [3].
10748
10749         * dgif_lib.c:
10750         * dgif_lib.c (DGifOpenFileName):
10751         * dgif_lib.c (DGifOpenFileHandle):
10752         * dgif_lib.c (DGifGetLine):
10753         * dgif_lib.c (DGifGetPixel):
10754         Added config.h/lisp.h, fix up includes.
10755         [1].
10756
10757         * dired-msw.c:
10758         [4].
10759
10760         * dired.c:
10761         * dired.c (file_name_completion):
10762         * dired.c (Ffile_attributes):
10763         * dired.c (syms_of_dired):
10764         [1].
10765
10766         * dumper.c:
10767         * dumper.c (pdump_file_unmap):
10768         * dumper.c (pdump_load):
10769         [1].
10770
10771         * editfns.c:
10772         * editfns.c (Ftemp_directory):
10773         * editfns.c (user_login_name):
10774         * editfns.c (Fuser_real_login_name):
10775         * editfns.c (get_home_directory):
10776         [1].
10777
10778         * elhash.c (finish_marking_weak_hash_tables):
10779         [[[[5]]]]: Fix GCC warnings.
10780
10781         * emacs.c:
10782         * emacs.c (mswindows_handle_hardware_exceptions):
10783         * emacs.c (make_arg_list_1):
10784         * emacs.c (main_1):
10785         * emacs.c (Fkill_emacs):
10786         * emacs.c (Fdump_emacs):
10787         [1].
10788         Fix problems with nested crashes, add long comment.
10789
10790         * event-Xt.c (init_event_Xt_late):
10791         [1].
10792
10793         * event-msw.c:
10794         * event-msw.c (mswindows_dde_callback):
10795         * event-msw.c (mswindows_handle_sticky_modifiers):
10796         * event-msw.c (mswindows_wnd_proc):
10797         [1].
10798         [5].
10799
10800         * events.c (character_to_event):
10801         [1].
10802
10803         * fileio.c:
10804         * fileio.c (Ffile_name_directory):
10805         * fileio.c (Ffile_name_nondirectory):
10806         * fileio.c (directory_file_name):
10807         * fileio.c (Fexpand_file_name):
10808         * fileio.c (Fsubstitute_in_file_name):
10809         * fileio.c (Ffile_name_absolute_p):
10810         * fileio.c (check_executable):
10811         * fileio.c (Ffile_readable_p):
10812         * fileio.c (Ffile_accessible_directory_p):
10813         * fileio.c (Ffile_modes):
10814         * fileio.c (Funix_sync):
10815         * fileio.c (vars_of_fileio):
10816         [1]. [4].
10817
10818         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
10819
10820         Expand getdefdir defn.
10821         Fix bogus rename() comment.
10822
10823         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
10824         to use standard XEmacs include files, e.g. sysfile.h, rather
10825         than system-specific includes.
10826
10827         * fns.c:
10828         * fns.c (Fsubseq):
10829         [5]. [6].
10830
10831         * frame.c (vars_of_frame):
10832         [1].
10833
10834         * getloadavg.c:
10835         * getloadavg.c (getloadavg):
10836         [1]. [6].
10837         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
10838         (We don't use it elsewhere in the code; just add a comment.)
10839
10840         * gif_io.c:
10841         [6].
10842         Add config.h.
10843
10844         * glyphs-msw.c:
10845         * glyphs-msw.c (mswindows_resource_instantiate):
10846         [1].
10847
10848         * glyphs-x.c (x_native_layout_instantiate):
10849         [5].
10850
10851         * gui-msw.c (Fmswindows_shell_execute):
10852         [1].
10853
10854         * insdel.c:
10855         [4].
10856
10857         * lisp.h:
10858         [4]. [5].
10859
10860         * lread.c (locate_file_in_directory_mapper):
10861         [1].
10862
10863         * lstream.c:
10864         [4].
10865
10866         * mem-limits.h:
10867         * mem-limits.h (get_lim_data):
10868         [1].
10869
10870         * menubar-msw.c:
10871         [4].
10872
10873         * ndir.h:
10874         [1].
10875
10876         * nt.c:
10877         * nt.c (getwd):
10878         * nt.c (closedir):
10879         * nt.c (rva_to_section):
10880         * nt.c (mswindows_executable_type):
10881         [1]. [6].
10882         Fix closedir() defn.
10883
10884         * nt.h:
10885         [[[[8]]]]: *_OK defs moved to sysfile.h.
10886
10887         * ntproc.c:
10888         [6]. [7].
10889
10890         * objects-x.c:
10891         [4].
10892
10893         * print.c:
10894         * print.c (std_handle_out_external):
10895         [1]. [4].
10896
10897         * process-nt.c:
10898         * process-nt.c (nt_create_process):
10899         [6].
10900         try to fix process quoting somewhat.
10901
10902         * process-unix.c (unix_create_process):
10903         [1].
10904
10905         * process.c:
10906         * process.c (vars_of_process):
10907         Add Vnull_device.
10908
10909         * process.h:
10910         [1].
10911
10912         * realpath.c:
10913         * realpath.c (xrealpath):
10914         [1].
10915
10916         * redisplay-tty.c (init_tty_for_redisplay):
10917         [3].
10918
10919         * redisplay.c:
10920         [4]. [6].
10921
10922         * scrollbar-msw.c:
10923         [4].
10924
10925         * sheap.c:
10926         * sheap.c (more_static_core):
10927         * sheap.c (report_sheap_usage):
10928         [5]. [6].
10929
10930         * signal.c:
10931         * signal.c (alarm_signal):
10932         [1]. [6].
10933
10934         * sound.c:
10935         [6].
10936
10937         * strftime.c:
10938         * strftime.c (zone_name):
10939         [1]. [5].
10940
10941         * symsinit.h (init_sunpro):
10942         [1].
10943
10944         * syscommctrl.h:
10945         commctrl.h not in Cygwin b20.1.
10946
10947         * sysdep.c:
10948         * sysdep.c (endif):
10949         * sysdep.c (sys_subshell):
10950         * sysdep.c (init_baud_rate):
10951         * sysdep.c (emacs_get_tty):
10952         * sysdep.c (emacs_set_tty):
10953         * sysdep.c (tty_init_sys_modes_on_device):
10954         * sysdep.c (init_system_name):
10955         * sysdep.c (sys_open):
10956         * sysdep.c (interruptible_open):
10957         * sysdep.c (sys_fopen):
10958         * sysdep.c (sys_mkdir):
10959         * sysdep.c (sys_rename):
10960         * sysdep.c (get_process_times_1):
10961         [1]. [6].
10962
10963         * sysdep.h:
10964         [1].
10965
10966         * sysdir.h:
10967         * sysdir.h (DIRENTRY_NONEMPTY):
10968         [1]. [6].
10969
10970         * sysdll.c (dll_init):
10971         * sysdll.h:
10972         [1].
10973
10974         * sysfile.h:
10975         [1]. [6]. [8].
10976         added text/binary defs.
10977
10978         * sysfloat.h:
10979         [1].
10980
10981         * sysproc.h:
10982         * sysproc.h (EDESTADDRREQ):
10983         * sysproc.h (poll_fds_for_input):
10984         [1]. [6].
10985
10986         * syspwd.h:
10987         [6].
10988
10989         * syssignal.h:
10990         [1].
10991
10992         * systime.h:
10993         [1]. [6].
10994
10995         * systty.h:
10996         [1].
10997
10998         * syswindows.h:
10999         [1].
11000         Always define WIN32_LEAN_AND_MEAN.
11001
11002         * unexcw.c (unexec):
11003         [5].
11004
11005         * unexec.c:
11006         * unexec.c (copy_text_and_data):
11007         * unexec.c (adjust_lnnoptrs):
11008         [1].
11009
11010         * unexnt.c:
11011         * unexnt.c (_start):
11012         [1].
11013
11014 2000-06-07  Ben Wing  <ben@xemacs.org>
11015
11016         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11017         was used only as a model.  We've long since extracted any useful
11018         logic or code out of this. (I just did an exhaustive search.)
11019
11020         * s\msdos.h: Removed.
11021
11022         * s\windows95.h: Removed.
11023
11024 2000-06-10  Ben Wing  <ben@xemacs.org>
11025
11026         * s\cygwin32.h:
11027         [1]. [5].
11028         Don't use extern with fun defs.
11029
11030         * s\mingw32.h:
11031         [1]. [7].
11032         Remove nt\inc include.
11033         Remove getdisk, getdefdir. (The former is unused, the latter
11034         expanded in fileio.h.)
11035
11036         * s\windowsnt.h:
11037         * s\windowsnt.h (WIN32_NATIVE):
11038         * s\windowsnt.h (HAVE_STRCASECMP):
11039         [1]. [7].
11040         Add long comment about preprocessor changes.
11041         Remove getdisk, getdefdir. (The former is unused, the latter
11042         expanded in fileio.h.)
11043
11044 2000-06-10  Ben Wing  <ben@xemacs.org>
11045
11046         * m\arm.h:
11047         * m\delta.h:
11048         * m\intel386.h:
11049         * m\sequent.h:
11050         * m\template.h:
11051         * m\windowsnt.h:
11052         [1].
11053         Remove bogus/unused NO_SOCK_SIGIO.
11054
11055 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11056
11057         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11058         not an Emchar.
11059
11060 2000-06-04  Mike Sperber <mike@xemacs.org>
11061
11062         * casetab.c (set_case_table): For `set-standard-case-table',
11063         actually deposit the new case tables where the rest of XEmacs can
11064         see them.
11065
11066 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11067
11068         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11069
11070 2000-06-05  Ben Wing  <ben@xemacs.org>
11071
11072         * callproc.c (child_setup): Don't do close_load_descs() under
11073         MS Windows.  Put in a comment explaining why.
11074
11075 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11076
11077         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11078         Toolkit shell" which breaks `kill-compilation' on Windows NT
11079         native, retaining STDERR handling improvements.
11080
11081 2000-06-01  Andreas Jaeger  <aj@suse.de>
11082
11083         * s/s390.h: Support for S390, based on a patch by Martin
11084         Schwidefsky <schwidefsky@de.ibm.com>.
11085
11086 2000-05-30  Andy Piper  <andy@xemacs.org>
11087
11088         * window.c (allocate_window):
11089         (make_dummy_parent):
11090         (Fset_window_configuration): use new hashtable type.
11091
11092         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11093         (struct image_instantiator_methods):
11094         (struct Lisp_Image_Instance): make instance geometry signed.
11095
11096         * glyphs.c (instantiate_image_instantiator):
11097         (image_instance_query_geometry):
11098         (image_instance_layout):
11099         (image_instance_layout):
11100         (query_string_geometry):
11101         (text_query_geometry):
11102         (image_instantiate):
11103         (image_instantiate):
11104         (cache_subwindow_instance_in_frame_maybe):
11105         (subwindow_query_geometry): make instance geometry signed.
11106
11107         * glyphs-widget.c (widget_query_geometry):
11108         (widget_layout):
11109         (button_query_geometry):
11110         (tree_view_query_geometry):
11111         (tab_control_query_geometry):
11112         (layout_query_geometry):
11113         (layout_layout):
11114         (native_layout_layout): make instance geometry signed.
11115
11116 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11117
11118         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11119         constant.
11120
11121         * general.c (syms_of_general): Add Qfull_assoc symbol.
11122
11123         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11124         correctly.
11125         (decode_weak_list_type): Decode full-assoc type.
11126         (encode_weak_list_type): Encode full-assoc type.
11127         (Fmake_weak_list): Update doc string.
11128
11129 2000-05-30  Andy Piper  <andy@xemacs.org>
11130
11131         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11132
11133         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11134         (decode_hash_table_weakness): ditto.
11135         (Fhash_table_weakness): ditto.
11136         (Fhash_table_type): ditto.
11137         (finish_marking_weak_hash_tables): ditto.
11138         (hash_table_weakness_validate): ditto.
11139         (syms_of_elhash): ditto.
11140
11141 2000-05-28  Martin Buchholz <martin@xemacs.org>
11142
11143         * XEmacs 21.2.34 is released.
11144
11145 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11146
11147         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11148         start cache.
11149         (updating_line_start_cache): Gone.
11150         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11151         generic code to force a minimum of 1 line laid out in the
11152         CMOTION_DISP case.
11153
11154 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11155
11156         * glyphs.c (instantiate_image_instantiator): Check for initialized
11157         height & width no longer special cases IMAGE_NOTHING.
11158         (nothing_instantiate): Set height and width of instance.
11159
11160 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11161
11162         * unexelf.c (unexec): Search for ".data" section.
11163         Initialize new_data2_offset from old_data_index.
11164         Remove redundant check for ElfW.
11165
11166 2000-05-23  Andy Piper  <andy@xemacs.org>
11167
11168         * glyphs.c (get_image_instantiator_governing_domain): allow more
11169         specific domains as the governing domain rather than expecting an
11170         exact match. This fixes problems with layouts.
11171
11172 2000-05-22  Andy Piper  <andy@xemacs.org>
11173
11174         * redisplay-output.c (compare_runes): check for non-images
11175
11176         * glyphs.c (set_glyph_dirty_p): ditto.
11177         (update_glyph_cachel_data): ditto.
11178
11179         * glyphs-widget.c (layout_post_instantiate): ditto.
11180         (layout_post_instantiate): ditto.
11181
11182         * event-msw.c (mswindows_wnd_proc): warning removal.
11183
11184 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
11185
11186         * s\mingw32.h: Added #undef for CLASH_DETECTION.
11187
11188         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
11189
11190         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
11191
11192         * nt.c (rva_to_section): mingw32 needs rva_to_section.
11193         (mswindows_executable_type): mingw32 now has enough headers for
11194         this to work.
11195
11196 2000-05-20  Andy Piper  <andy@xemacs.org>
11197
11198         * console-msw.c (mswindows_output_last_error): ; -> ,
11199
11200 2000-05-12  Andy Piper  <andy@xemacs.org>
11201
11202         * console-msw.c (FROB): compare ints with ints.
11203
11204 2000-05-11  Andy Piper  <andy@xemacs.org>
11205
11206         * glyphs-x.c (x_finalize_image_instance): make minimal build
11207         happy.
11208
11209 2000-05-20  Ben Wing  <ben@xemacs.org>
11210
11211         * event-Xt.c:
11212         * event-Xt.c (vars_of_event_Xt):
11213         move modifier-keys-are-sticky to event-stream.c.
11214
11215         * event-msw.c:
11216         * event-msw.c (mswindows_enqueue_mouse_button_event):
11217         * event-msw.c (key_needs_default_processing_p):
11218         * event-msw.c (XEMSW_LCONTROL):
11219         * event-msw.c (mswindows_handle_sticky_modifiers):
11220         * event-msw.c (FROB):
11221         * event-msw.c (clear_sticky_modifiers):
11222         * event-msw.c (output_modifier_keyboard_state):
11223         * event-msw.c (output_alt_keyboard_state):
11224         * event-msw.c (mswindows_wnd_proc):
11225         * event-msw.c (mswindows_modifier_state):
11226         * event-msw.c (emacs_mswindows_handle_magic_event):
11227         implement sticky modifiers.
11228
11229         * event-stream.c:
11230         * event-stream.c (vars_of_event_stream):
11231         move modifier-keys-are-sticky here.
11232
11233         * lisp.h:
11234         add CHECK_FUNCTION.
11235
11236         * rangetab.c:
11237         implement map-range-table.
11238
11239
11240 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
11241
11242         * redisplay-tty.c (reset_tty_modes):
11243         (tty_redisplay_shutdown): Adjust argument type to
11244         tty_frame_output_end.
11245
11246 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11247
11248         * eval.c (Fbacktrace): Don't output a line with only right
11249         parenthesis.
11250
11251 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
11252
11253         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
11254         (Fpq_reset_poll): Ditto.
11255
11256 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
11257
11258         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
11259
11260 2000-05-16  Ben Wing  <ben@xemacs.org>
11261
11262         * buffer.c:
11263         * buffer.c (dfc_convert_to/from_internal_format):
11264         * buffer.c (reinit_vars_of_buffer):
11265         Fix conversion functions to allow reentrancy.
11266
11267         * console-msw.c:
11268         * console-msw.c (mswindows_output_last_error):
11269         New fun, generally useful -- output a human-readable
11270         version of GetLastError() on the console.
11271
11272         * console-msw.h:
11273         * console-msw.h (struct mswindows_frame):
11274         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
11275
11276         * console-stream.c (stream_output_begin):
11277         * console-stream.c (stream_output_end):
11278         * console-stream.c (stream_output_vertical_divider):
11279         * console-stream.c (stream_clear_region):
11280         * console-stream.c (stream_flash):
11281         * console-stream.c (console_type_create_stream):
11282         Delete blank stream methods, not needed.
11283
11284         * console.h (struct console_methods):
11285         Split begin/end methods into window and frame.
11286
11287         * event-msw.c:
11288         * event-msw.c (mswindows_handle_paint):
11289         * event-msw.c (output_alt_keyboard_state):
11290         * event-msw.c (mswindows_wnd_proc):
11291         * event-msw.c (vars_of_event_mswindows):
11292         Comment about problems with ignored-expose.
11293         Define mswindows-debug-events; not really implemented.
11294
11295         * frame-msw.c (mswindows_init_frame_1):
11296         random cleanups.
11297
11298         * glyphs-msw.c:
11299         * glyphs-msw.c (begin_defer_window_pos):
11300         * glyphs-msw.c (mswindows_unmap_subwindow):
11301         * glyphs-msw.c (mswindows_map_subwindow):
11302         * glyphs-msw.c (mswindows_resize_subwindow):
11303         Use DeferWindowPos to reduce flashing when mapping/unmapping.
11304
11305         * glyphs.c (make_image_instance_1):
11306         Fix crash.
11307
11308         * gutter.c (Fredisplay_gutter_area):
11309         Use new begin/end methods.
11310
11311         * lisp.h (Dynarr_new2):
11312         New creation fun.
11313
11314         * redisplay-msw.c:
11315         * redisplay-msw.c (mswindows_frame_output_begin):
11316         * redisplay-msw.c (mswindows_frame_output_end):
11317         * redisplay-msw.c (console_type_create_redisplay_mswindows):
11318         New begin/end methods -- handle DeferWindowPos.
11319
11320         * redisplay-output.c (redisplay_move_cursor):
11321         * redisplay-output.c (redraw_cursor_in_window):
11322         * redisplay-output.c (redisplay_update_line):
11323         * redisplay-output.c (redisplay_output_window):
11324         New begin/end methods.
11325
11326         * redisplay-tty.c:
11327         * redisplay-tty.c (tty_frame_output_begin):
11328         * redisplay-tty.c (tty_frame_output_end):
11329         * redisplay-tty.c (console_type_create_redisplay_tty):
11330         New begin/end methods.
11331
11332         * redisplay-x.c:
11333         * redisplay-x.c (x_window_output_begin):
11334         * redisplay-x.c (x_window_output_end):
11335         * redisplay-x.c (console_type_create_redisplay_x):
11336         New begin/end methods.
11337
11338         * redisplay.c (redisplay_frame):
11339         * redisplay.c (Fredisplay_echo_area):
11340         New begin/end methods.
11341         use MAYBE_DEVMETH for clear_frame; it may not exist.
11342
11343         * window.h (WINDOW_XFRAME):
11344         WINDOW_XFOO macros -- get locale and decode struct pointer.
11345
11346
11347 2000-05-12  Ben Wing  <ben@xemacs.org>
11348
11349         * emacs.c:
11350         * emacs.c (ensure_no_quitting_from_now_on):
11351         * emacs.c (fatal_error_signal):
11352         * emacs.c (mswindows_handle_hardware_exceptions):
11353         * emacs.c (main):
11354         * emacs.c (Fkill_emacs):
11355         * emacs.c (shut_down_emacs):
11356         * emacs.c (assert_failed):
11357         various improvements in fatal error handling.
11358
11359         * eval.c:
11360         move preparing_for_armageddon to emacs.c.
11361
11362         * lisp.h:
11363         declare fatal_error_in_progress.
11364
11365         * print.c:
11366         * print.c (std_handle_out_external):
11367         * print.c (std_handle_out_va):
11368         * print.c (stderr_out):
11369         * print.c (stdout_out):
11370         use console under mswin when no standard output.
11371         don't do code conversion during fatal error.
11372
11373         * scrollbar.c (Fscrollbar_page_up):
11374         * scrollbar.c (Fscrollbar_page_down):
11375         fix missing else.  reindent.
11376
11377 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
11378
11379         Emergency fix.
11380
11381         * glyphs.h (GLYPH_CACHEL_DESCENT):
11382         (GLYPH_CACHEL_DESCENT):
11383         (GLYPH_CACHEL_DESCENT):
11384         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
11385         used in case these are inline functions.
11386         Use more absurd values to error check.
11387
11388         include window.h for error check functions.
11389
11390 2000-05-11  Ben Wing  <ben@xemacs.org>
11391
11392         * cmdloop.c (Freally_early_error_handler):
11393         Display message box under windows; otherwise, message will disappear
11394         before it can be viewed.
11395
11396         * console-msw.c:
11397         * console-msw.c (Fmswindows_message_box):
11398         * console-msw.c (FROB):
11399         * console-msw.c (syms_of_console_mswindows):
11400         Define new fun `mswindows-message-box'.
11401         #### I will merge this into `popup-dialog-box'; just give me
11402         a bit of time.
11403
11404         * general.c:
11405         * general.c (syms_of_general):
11406         Some new symbols used in `mswindows-message-box'.
11407
11408         * glyphs.c:
11409         * glyphs.c (Fset_image_instance_property):
11410         put warning in this fun.
11411
11412         * glyphs.h:
11413         * glyphs.h (GLYPH_CACHEL_WIDTH):
11414         * glyphs.h (GLYPH_CACHEL_ASCENT):
11415         * glyphs.h (GLYPH_CACHEL):
11416         * glyphs.h (GLYPH_CACHEL_GLYPH):
11417         define error-checking versions to try to catch a bug i've seen --
11418         redisplay gets in an infinite loop because the glyph width of the
11419         continuation glyph is 65535.
11420
11421         * lisp.h:
11422         Extern message-box stuff.
11423
11424         * window.c (allocate_window):
11425         * window.c (make_dummy_parent):
11426         * window.c (Fset_window_configuration):
11427         Use EQUAL not EQ for subwindow caches to make them work a bit
11428         better. (Something is still very broken.)
11429
11430
11431 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11432
11433         * glyphs.c (image_instantiate): Suppress gcc warnings.
11434         (Fmake_image_instance): Fix doc string.
11435         * specifier.c (Fmake_specifier): Ditto.
11436
11437 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
11438
11439         * paths.h.in (PATH_LOCK): Removed.
11440         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
11441         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
11442
11443 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
11444
11445         * fns.c (Ffeaturep): Update e-mail address in doc-string.
11446         Document (featurep '(and xemacs 21.02)).
11447
11448 2000-05-09  Ben Wing  <ben@xemacs.org>
11449
11450         * buffer.c (complex_vars_of_buffer):
11451         update modeline-format doc.
11452
11453         * device.h:
11454         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
11455
11456         * emacs.c:
11457         timeline of all released versions of Emacs, for use in creating
11458         authorship comments and in synching up.
11459
11460         * glyphs-widget.c (image_instantiator_buttons):
11461         * glyphs-widget.c (image_instantiator_edit_fields):
11462         * glyphs-widget.c (image_instantiator_combo_box):
11463         * glyphs-widget.c (image_instantiator_scrollbar):
11464         * glyphs-widget.c (image_instantiator_progress_guage):
11465         * glyphs-widget.c (image_instantiator_tree_view):
11466         * glyphs-widget.c (image_instantiator_tab_control):
11467         * glyphs-widget.c (image_instantiator_labels):
11468         * glyphs-widget.c (image_instantiator_layout):
11469         * glyphs-widget.c (image_instantiator_native_layout):
11470         rename decode_domain method to governing_domain.
11471
11472         * glyphs.c:
11473         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
11474         * glyphs.c (add_entry_to_device_ii_format_list):
11475         make sure we don't put an entry more than once into the list.
11476         * glyphs.c (check_instance_cache_mapper):
11477         *************************************************************
11478         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11479         HAVE BEEN GETTING.
11480         *************************************************************
11481         * glyphs.c (get_image_instantiator_governing_domain):
11482         clean up, expand on new concept of governing domain.
11483         * glyphs.c (instantiate_image_instantiator):
11484         * glyphs.c (allocate_image_instance):
11485         use governing_domain instead of cache_domain in naming.
11486         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
11487         * glyphs.c (make_image_instance_1):
11488         * glyphs.c (Fmake_image_instance):
11489         allow for any domain (not just device), and process the
11490         governing domain correctly.  very big doc fix.
11491         * glyphs.c (Fimage_instance_domain):
11492         new primitive, to retrieve the governing domain of an image instance.
11493         * glyphs.c (image_instantiate):
11494         use new governing_domain stuff.  this fixes a crash you could get
11495         by instantiating certain widget glyphs in frame locales. (should
11496         signal an error instead of crashing.)
11497         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
11498         * glyphs.c (Fglyphp): clean up doc.
11499         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
11500         * glyphs.c (syms_of_glyphs):
11501         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
11502         * glyphs.c (image_instantiator_format_create): add some comments about
11503         bogus code.
11504         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
11505         for current-display-table. (Apparently Hrjove implemented in 1998 a
11506         design I wrote up in 1996, but didn't update the doc string.)
11507
11508         * glyphs.h: clean up a doc string.
11509         * glyphs.h (governing_domain):
11510         * glyphs.h (struct image_instantiator_methods):
11511         changes for governing_domain stuff.
11512
11513         * gutter.c:
11514         * gutter.c (Fgutter_specifier_p):
11515         * gutter.c (Fgutter_size_specifier_p):
11516         * gutter.c (Fgutter_visible_specifier_p):
11517         * objects.c:
11518         * objects.c (Fcolor_specifier_p):
11519         * objects.c (Ffont_specifier_p):
11520         * objects.c (Fface_boolean_specifier_p):
11521         doc strings moved to make-*-specifier.
11522
11523         * redisplay.c (add_disp_table_entry_runes_1):
11524         * redisplay.c (generate_fstring_runes):
11525         * redisplay.c (screen):
11526         add random comments and doc strings.
11527
11528         * specifier.c:
11529         * specifier.c (Fmake_specifier):
11530         major overhaul of this doc string.
11531
11532         * specifier.c (Fvalid_specifier_domain_p):
11533         comment about the bogosity of image instances being domains.
11534         * specifier.c (decode_domain):
11535         now non-static, used in glyphs.c.
11536         * specifier.c (specifier_instance):
11537         comment about the bogosity of image instances being domains.
11538         * specifier.c (Fgeneric_specifier_p):
11539         move doc string to make-generic-specifier.
11540         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
11541         rebackslashify.
11542
11543         * specifier.h:
11544         * specifier.h (DOMAIN_FRAME):
11545         * specifier.h (DOMAIN_LIVE_P):
11546         * specifier.h (DOMAIN_XDEVICE):
11547         rebackslashify.
11548         add comments about problems with these macros.
11549         prototype for decode_domain.
11550
11551         * toolbar.c:
11552         * toolbar.c (Ftoolbar_specifier_p):
11553         move doc string to `make-toolbar-specifier'.
11554
11555         * window.c (window_unmap_subwindows_cache_mapper):
11556         *************************************************************
11557         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11558         HAVE BEEN GETTING.
11559         *************************************************************
11560
11561 2000-05-09  Andy Piper  <andy@xemacs.org>
11562
11563         * glyphs.h: declare reset_frame_subwindow_instance_cache.
11564
11565         * window.c (Fset_window_configuration): reset the frame subwindow
11566         cache and re-initialize the window subwindow caches.
11567
11568         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
11569
11570 2000-05-09  Ben Wing  <ben@xemacs.org>
11571
11572         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
11573         DWORD.
11574
11575 2000-04-26  Mike Woolley  <mike@bulsara.com>
11576
11577         * ntheap.c: Changed recreate_heap to limit the amount reserved
11578         for the heap to that which is actually available. Also now
11579         displays a message box (with some dignostics) in the event that
11580         it still can't start.
11581
11582 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11583
11584         * callproc.c (Fold_call_process_internal): GCPRO path
11585
11586 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
11587
11588         Patch by Bill Perry.
11589
11590         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
11591         back data instead of #ifdef.
11592         (Fscrollbar_page_down): ditto.
11593
11594 2000-05-07  Ben Wing  <ben@xemacs.org>
11595
11596         * buffer.h:
11597         Kludge for defining Qmswindows_tstr.
11598
11599         * nt.c:
11600         * nt.c (open_input_file):
11601         * nt.c (open_output_file):
11602         * nt.c (rva_to_section):
11603         * nt.c (mswindows_executable_type):
11604         Move all memory-mapped-file routines here (some were in unexnt.c,
11605         which is bad because they are used by process-nt.c, and unexnt
11606         won't be around when portable dumping).  Synched the above routines
11607         with FSF 20.6.
11608
11609         * nt.h:
11610         Removed ifdef'd out bogus code.
11611         Fixed some prototypes.
11612
11613         * nt.h (file_data):
11614         * nt.h (OFFSET_TO_RVA):
11615         * nt.h (RVA_TO_OFFSET):
11616         * nt.h (RVA_TO_PTR):
11617         Moved the memory-mapped-file structures, macros and prototypes
11618         here, to parallel nt.c.  ntheap.h should really be removed
11619         entirely, and it's a non-portable-dumper specific file.
11620
11621         * ntheap.h (round_to_next):
11622         Moved the memory-mapped-file structures, macros and prototypes
11623         to nt.h.
11624
11625         * ntproc.c (compare_env):
11626         Moved rva_to_section and mswindows_executable_type to nt.c.
11627         Moved compare_env to process-nt.c.
11628         ntproc.c will die, one day.
11629
11630         * ntproc.c (sys_spawnve):
11631         Account for win32_ -> mswindows_.
11632
11633         * process-nt.c:
11634         * process-nt.c (struct nt_process_data):
11635         * process-nt.c (ensure_console_window_exists):
11636         * process-nt.c (compare_env):
11637         * process-nt.c (nt_create_process):
11638         * process-nt.c (nt_kill_process_by_pid):
11639         * process-nt.c (syms_of_process_nt):
11640         * process-nt.c (vars_of_process_nt):
11641         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
11642         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
11643         changes).  Eliminate our old `nt-quote-process-args' mechanism.
11644         Synch up nt_create_process with FSF 20.6 sys_spawnve.
11645         Move compare_env here from ntproc.c.
11646
11647         * process.c (Fprocess_send_region):
11648         Takes an optional fourth argument, BUFFER, which should fix some
11649         problems with call-process.
11650
11651         * syscommctrl.h:
11652         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
11653
11654         * syswindows.h:
11655         Move ICC_BAR_CLASSES to syscommctrl.h.
11656         Add preliminary macros for MSWindows/Mule.  More to come.
11657
11658         * unexnt.c:
11659         * unexnt.c (unexec):
11660         open_output_file moved to nt.c.
11661
11662
11663 2000-05-05  Andy Piper  <andy@xemacs.org>
11664
11665         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
11666         instance from the frame cache also since GC may catch up too late
11667         to make frame deletion sane.
11668
11669 2000-05-04  Andy Piper  <andy@xemacs.org>
11670
11671         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
11672         (x_finalize_image_instance): ungcpro on deletion.
11673
11674         * glyphs.c (image_instantiator_format_create): give pointers a
11675         query geometry method so that the geometry is at least set.
11676
11677         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
11678         initialize layouts if using widgets.
11679
11680 2000-05-03  Andy Piper  <andy@xemacs.org>
11681
11682         * nt.c: remove bogus reference to sysmmsystem.h
11683
11684         * gui-x.c (popup_selection_callback): fix no selection abort.
11685
11686 2000-05-02  Andy Piper  <andy@xemacs.org>
11687
11688         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
11689         (mswindows_widget_instantiate): ditto.
11690
11691         * glyphs-widget.c (initialize_widget_image_instance): initialize
11692         children correctly.
11693         (widget_instantiate): cope with children and items in the same
11694         instance.
11695
11696         * glyphs.c (mark_image_instance): cope with children as a first
11697         class member.
11698         (image_instance_equal): ditto.
11699         (image_instance_hash): ditto.
11700         (image_instance_changed): ditto.
11701
11702 2000-04-30  Andy Piper  <andy@xemacs.org>
11703
11704         * glyphs.c (subwindow_query_geometry): new function. Return some
11705         defaults.
11706         (subwindow_instantiate): don't assign dimensions if none have been
11707         given.
11708         (image_instantiator_format_create): add subwindow_query_geometry.
11709         (print_image_instance): cope with layouts as widgets.
11710
11711 2000-04-29  Andy Piper  <andy@xemacs.org>
11712
11713         * frame.c (delete_frame_internal): call
11714         free_frame_subwindow_instance_cache so that all subwindows are
11715         finalized before their parent.
11716         (mark_frame): remove subwindow_cachels.
11717         (Fmake_frame): remove subwindow_cachel manipulation.
11718         (allocate_frame_core): subwindow_instance_cache is a weak list.
11719         (delete_frame_internal): set subwindow_instance_cache to nil.
11720
11721         * glyphs-msw.c (mswindows_finalize_image_instance): make double
11722         finalization safe.
11723         (mswindows_finalize_image_instance): use the device
11724         not the domain as the domain may have died already.
11725
11726         * glyphs-x.c (x_finalize_image_instance): ditto.
11727         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
11728         HEIGHT.
11729
11730         * redisplay-output.c (redisplay_unmap_subwindows): update for
11731         subwindow instance cache as a weak list.
11732         (redisplay_unmap_subwindows_maybe): ditto.
11733         (redisplay_unmap_subwindows_except_us): ditto.
11734
11735         * glyphs.c (unmap_subwindow): error checking will check the domain
11736         so don't deal with it here. Don't use cachels anymore.
11737         (map_subwindow): ditto.
11738         (update_subwindow_cachel_data): remove old accessor names.
11739         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
11740         (Fresize_subwindow): don't update cachel.
11741         (mark_subwindow_cachels):
11742         (update_subwindow_cachel_data):
11743         (add_subwindow_cachel):
11744         (get_subwindow_cachel_index):
11745         (update_subwindow_cachel):
11746         (reset_subwindow_cachels):
11747         (mark_subwindow_cachels_as_not_updated): deleted.
11748         (cache_subwindow_instance_in_frame_maybe): new function. Add a
11749         subwindow instance to the frame cache.
11750         (find_matching_subwindow): update for subwindow instance cache as
11751         a weak list.
11752         (update_widget_instances): ditto.
11753         (image_instance_type_to_mask):inlined.
11754         (free_frame_subwindow_instance_cache): new function. finalize all
11755         subwindows that are instantiated.
11756
11757         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
11758         of cachel information.
11759         (IMAGE_INSTANCE_DISPLAY_X):
11760         (IMAGE_INSTANCE_DISPLAY_Y):
11761         (IMAGE_INSTANCE_DISPLAY_WIDTH):
11762         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
11763         (XIMAGE_INSTANCE_DISPLAY_X):
11764         (XIMAGE_INSTANCE_DISPLAY_Y):
11765         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
11766         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
11767         remove subwindow_cachel structure and function references.
11768         (image_instance_type_to_mask): inline from glyphs.c
11769
11770         * redisplay.c (redisplay_frame): remove subwindow_cachel
11771         references.
11772
11773         * frame.h (struct frame): remove subwindow_cachels.
11774         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
11775
11776         * frameslots.h: add subwindow_instance_cache.
11777
11778         * window.c (replace_window): check subwindow cache of replacement.
11779         (window_unmap_subwindows_cache_mapper):
11780         (window_unmap_subwindows): new functions. Unmap all subwindows
11781         cached on this window.
11782         (mark_window_as_deleted): unmap all subwindows.
11783
11784 2000-04-27  Andy Piper  <andy@xemacs.org>
11785
11786         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
11787
11788         * glyphs-widget.c (widget_layout): return something.
11789         (layout_layout): return something. Fail if not initialized.
11790         (layout_query_geometry): ditto.
11791         (image_instantiator_native_layout): new function. Initialized the
11792         native layout type.
11793         (widget_instantiate): don't do layout stuff here.
11794
11795         * glyphs.c (instantiate_image_instantiator): reorded calling or
11796         instantiate and post_instantiate with layout in between.
11797         (image_instance_layout): be more selective about deciding whether
11798         the layout has been done or not.
11799
11800         * glyphs.h (struct image_instantiator_methods): return a value
11801         from layout_method.
11802
11803 2000-04-26  Andy Piper  <andy@xemacs.org>
11804
11805         * glyphs.c (allocate_image_instance): make initial width and
11806         height unspecified. Set initialized to 0.
11807
11808         * syscommctrl.h new file. Encapsulates commctrl.h.
11809
11810         * syswindows.h new file. Encapsulates windows.h.
11811
11812         * ntplay.c: use new syswindows.h and syscommctrl.h header.
11813         * nt.c: ditto.
11814         * console-msw.h: ditto.
11815
11816         * redisplay-tty.c (tty_output_display_block): remove layout references.
11817
11818         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
11819         window handle rather than just the frame.
11820
11821         * glyphs.c (mark_image_instance): remove layout references.
11822         (print_image_instance): ditto.
11823         (image_instance_equal): ditto.
11824         (image_instance_hash): ditto.
11825         (decode_image_instance_type): ditto.
11826         (encode_image_instance_type): ditto.
11827         (image_instantiate): ditto.
11828         (allocate_glyph): ditto.
11829         (Fimage_instance_height): ditto.
11830         (Fimage_instance_width): ditto.
11831         (update_subwindow): ditto.
11832
11833         * redisplay-x.c (x_output_display_block): recode for layouts as
11834         widgets.
11835
11836         * redisplay-output.c (redisplay_output_layout): recode for layouts
11837         as widgets.
11838         (compare_runes): remove layout references.
11839
11840         * redisplay-msw.c (mswindows_output_display_block): recode for
11841         layouts as widgets.
11842
11843         * glyphs-widget.c (image_instantiator_layout): remove
11844         layout_possible_dest_types.
11845         (layout_possible_dest_types): deleted.
11846
11847         * glyphs.h (image_instance_type): remove layout references.
11848         (struct Lisp_Image_Instance): ditto. Add initialized flag.
11849         (IMAGE_INSTANCE_INITIALIZED): new accessor.
11850         (XIMAGE_INSTANCE_INITIALIZED): ditto.
11851
11852 2000-04-25  Andy Piper  <andy@xemacs.org>
11853
11854         * glyphs-widget.c (image_instantiator_buttons):
11855         (image_instantiator_edit_fields):
11856         (image_instantiator_combo_box):
11857         (image_instantiator_scrollbar):
11858         (image_instantiator_progress_guage):
11859         (image_instantiator_tree_view):
11860         (image_instantiator_tab_control):
11861         (image_instantiator_labels):
11862         (image_instantiator_layout): call default post_instantiate method.
11863         (widget_post_instantiate): new function. Simply lays out the
11864         widgets.
11865
11866         * glyphs.h (struct image_instantiator_methods): add
11867         post_instantiate method.
11868
11869         * glyphs.c (instantiate_image_instantiator): add post_instantiate
11870         method calls.
11871
11872 2000-04-23  Andy Piper  <andy@xemacs.org>
11873
11874         * glyphs.h (struct image_instantiator_methods): add
11875         decode_domain_method.
11876         (struct Lisp_Image_Instance): remove subwindow frame - it can be
11877         derived from the domain.
11878         (IMAGE_INSTANCE_FRAME): new accessor.
11879         (XIMAGE_INSTANCE_FRAME): ditto.
11880
11881         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
11882         instead of _SUBWINDOW_FRAME.
11883         (finalize_image_instance): ditto.
11884         (Fimage_instance_foreground): ditto.
11885         (Fimage_instance_background): ditto.
11886         (image_instantiate): ditto.
11887         (update_subwindow_cachel): ditto.
11888         (update_subwindow): ditto.
11889         (unmap_subwindow): ditto.
11890         (map_subwindow): ditto
11891         (subwindow_instantiate): ditto.
11892         * glyphs-msw.c (mswindows_update_widget): ditto.
11893         (mswindows_progress_gauge_instantiate): ditto.
11894         (mswindows_tab_control_update): ditto.
11895         * glyphs-x.c (x_update_widget): ditto.
11896         (x_widget_instantiate): ditto.
11897         (x_tab_control_instantiate): ditto.
11898         (x_tab_control_update): ditto.
11899         * event-msw.c (mswindows_wnd_proc): ditto
11900
11901         * glyphs-widget.c (image_instantiator_layout): use
11902         subwindow_decode_domain.
11903         (image_instantiator_buttons): ditto.
11904         (image_instantiator_edit_fields): ditto.
11905         (image_instantiator_combo_box): ditto.
11906         (image_instantiator_scrollbar): ditto.
11907         (image_instantiator_progress_guage): ditto.
11908         (image_instantiator_tree_view): ditto.
11909         (image_instantiator_tab_control): ditto.
11910         (image_instantiator_labels): ditto.
11911         (image_instantiator_layout): ditto.
11912
11913         * glyphs.c: add instance error checking to many functions.
11914         (instantiate_image_instantiator): decode device from cache_domain.
11915         (image_instantiate): partially rewrite by using
11916         decode_image_instantiator_domain to determine what domain the
11917         instance needs to be cached in.
11918         (decode_image_instantiator_domain): new function. Determine what
11919         domain the image needs to be cached in.
11920         (check_window_subwindow_cache): new error checking function.
11921         (check_instance_cache_mapper): ditto.
11922         (check_image_instance_structure): ditto.
11923         (subwindow_decode_domain): new function. Encodes a window as a
11924         subwindow's cache domain.
11925         (image_instantiator_format_create): use it for text and
11926         subwindows.
11927
11928 2000-04-21  Andy Piper  <andy@xemacs.org>
11929
11930         * glyphs.c (image_instance_device): new function.
11931         (image_instance_frame): new function.
11932         (image_instance_window): new function.
11933         (image_instance_live_p): new function.
11934
11935         * window.c (mark_window_as_deleted): reset the subwindow_instance_
11936         cache to nil.
11937
11938         * glyphs.h (struct Lisp_Image_Instance): device->domain.
11939         (IMAGE_INSTANCE_DOMAIN): new accessor.
11940         (XIMAGE_INSTANCE_DOMAIN): ditto.
11941
11942         * glyphs-x.c (x_finalize_image_instance): device->domain.
11943
11944         * glyphs-msw.c (init_image_instance_geometry): device->domain.
11945         (mswindows_finalize_image_instance): ditto.
11946
11947         * glyphs-eimage.c (jpeg_instantiate): device->domain.
11948         (gif_instantiate): ditto.
11949         (png_instantiate): ditto.
11950         (tiff_instantiate): ditto.
11951
11952         * glyphs.c (instantiate_image_instantiator): use domain rather
11953         than device.
11954         (mark_image_instance): device -> domain.
11955         (print_image_instance): ditto.
11956         (finalize_image_instance): ditto.
11957         (image_instance_equal): ditto.
11958         (allocate_image_instance): ditto.
11959         (Fcolorize_image_instance): ditto.
11960         (query_string_geometry): ditto.
11961         (image_instantiate): ditto
11962         (query_string_font): ditto.
11963         (image_instantiate): ditto.
11964         (update_subwindow): ditto.
11965         (unmap_subwindow): ditto.
11966         (map_subwindow): ditto.
11967         (subwindow_instantiate): ditto.
11968
11969         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
11970         (DOMAIN_FRAME): ditto.
11971         (DOMAIN_WINDOW): ditto.
11972         (DOMAIN_LIVE_P): ditto.
11973         (XDOMAIN_DEVICE): ditto.
11974         (XDOMAIN_FRAME): ditto.
11975         (XDOMAIN_WINDOW): ditto.
11976
11977         * specifier.c (Fvalid_specifier_domain_p): add image instances as
11978         a valid specifier domain.
11979
11980 2000-04-19  Andy Piper  <andy@xemacs.org>
11981
11982         * glyphs-widget.c (syms_of_glyphs_widget): remove
11983         widget-callback-current-channel.
11984         (vars_of_glyphs_widget): ditto.
11985         * glyphs.h: ditto
11986
11987         * gui.c (get_gui_callback): revert to previous behaviour.
11988
11989 2000-04-18  Andy Piper  <andy@xemacs.org>
11990
11991         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
11992         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
11993         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
11994
11995         * glyphs.c (image_instance_equal): add margin_width.
11996         (image_instance_hash): ditto.
11997
11998         * glyphs-widget.c (widget_instantiate): deal with margin-width.
11999         (layout_query_geometry): ditto.
12000         (layout_layout): ditto.
12001         (syms_of_glyphs_widget): add margin-width.
12002         (image_instantiator_layout): allow margin-width.
12003
12004         * glyphs.c (update_widget_instances): make a normal function.
12005         (syms_of_glyphs): remove Qupdate_widget_instances.
12006         * glyphs.h: ditto.
12007
12008         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12009         so that we don't corrupt ideas about the last event or
12010         command. Remove widget-callback-current-channel fiddling.
12011         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12012
12013 2000-05-01  Martin Buchholz <martin@xemacs.org>
12014
12015         * XEmacs 21.2.33 is released.
12016
12017 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12018
12019         * make-src-depend: Allow dots in header file name.
12020
12021 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12022
12023         * mule-charset.h (struct charset_lookup): Add
12024         next_allocated_1_byte_leading_byte and
12025         next_allocated_2_byte_leading_byte.
12026         * mule-charset.c: Move above two variables so that those values
12027         will be dumped.
12028
12029 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12030
12031         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12032         when string length is zero.
12033         (find_charsets_in_emchar_string): Ditto.
12034
12035 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12036
12037         * lisp.h: extern Qdialog and Qmenubar.
12038
12039         * gui-x.c: added events.h.
12040                 also fixed typo which made the file uncompilable.
12041
12042         * general.c: Added Qmenubar and Qdialog
12043
12044 2000-04-28  Ben Wing  <ben@xemacs.org>
12045
12046         * frame-msw.c (mswindows_init_frame_1):
12047         * frame-msw.c (mswindows_mark_frame):
12048         * event-msw.c (mswindows_enqueue_dispatch_event):
12049         * console-msw.h:
12050         * console-msw.h (struct mswindows_frame):
12051         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12052         there are now three hash tables for callbacks.
12053         mswindows_enqueue_dispatch_event is no longer static.
12054
12055         * dialog-x.c (maybe_run_dbox_text_callback):
12056         * dialog-x.c (dbox_descriptor_to_widget_value):
12057         switch to new cons3 form for callbacks.
12058
12059         * glyphs-msw.c (mswindows_register_gui_item):
12060         * glyphs-msw.c (mswindows_widget_instantiate):
12061         * glyphs-msw.c (add_tree_item):
12062         * glyphs-msw.c (add_tab_item):
12063         new image instance parameter, so it can be passed to callback-ex.
12064         respect :callback-ex as well as :callback.
12065
12066         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12067         add :callback-ex.
12068
12069         * glyphs.c (print_image_instance):
12070         prettify, e.g. now prints widget type.
12071
12072         * gui-x.h:
12073         certain funs have new image instance parameter.
12074
12075         * gui.c:
12076         * gui.c (get_gui_callback):
12077         * gui.c (gui_item_add_keyval_pair):
12078         * gui.c (gui_item_init):
12079         * gui.c (gui_add_item_keywords_to_plist):
12080         * gui.c (mark_gui_item):
12081         * gui.c (gui_item_hash):
12082         * gui.c (gui_item_equal):
12083         * gui.c (copy_gui_item):
12084         * gui.c (syms_of_gui):
12085         recognize callback-ex in a number of places.
12086         also, fix the annoying "can't get out of yes-no dialog" bug.
12087
12088         * gui.h:
12089         * gui.h (struct Lisp_Gui_Item):
12090         recognize callback-ex in a number of places.
12091
12092         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12093         new parameter in button_item_to_widget_value.
12094
12095         * glyphs-x.c (x_update_widget):
12096         * glyphs-x.c (x_button_instantiate):
12097         * glyphs-x.c (x_button_update):
12098         * glyphs-x.c (x_progress_gauge_instantiate):
12099         * glyphs-x.c (x_edit_field_instantiate):
12100         * glyphs-x.c (x_combo_box_instantiate):
12101         * glyphs-x.c (x_tab_control_instantiate):
12102         * glyphs-x.c (x_label_instantiate):
12103         new image instance parameter in various places.
12104
12105         * event-Xt.c:
12106         * event-Xt.c (enqueue_Xt_dispatch_event):
12107         this fun gets exported.
12108
12109         * gui-msw.c:
12110         * gui-msw.c (mswindows_handle_gui_wm_command):
12111         handle both :callback and :callback-ex, and generate our own
12112         event because it's one of the callback-ex arguments.
12113
12114         * gui-x.c:
12115         * gui-x.c (popup_selection_callback):
12116         handle both :callback and :callback-ex, and generate our own
12117         event because it's one of the callback-ex arguments.
12118         * gui-x.c (button_item_to_widget_value):
12119         * gui-x.c (gui_items_to_widget_values_1):
12120         * gui-x.c (gui_item_children_to_widget_values):
12121         * gui-x.c (gui_items_to_widget_values):
12122         new image instance parameter in various places.
12123
12124         * fns.c (Freplace_list):
12125         fix small typo in doc string.
12126
12127         * lisp.h:
12128         declare enqueue_Xt_dispatch_event.
12129
12130 2000-04-28  Ben Wing  <ben@xemacs.org>
12131
12132         * buffer.c:
12133         * buffer.c (Frecord_buffer):
12134         * buffer.c (syms_of_buffer):
12135         delete record-buffer-hook.
12136
12137         * fns.c:
12138         * fns.c (Freplace_list):
12139         * fns.c (syms_of_fns):
12140         new primitive replace-list.
12141
12142         * frameslots.h:
12143         slot for old buffer-alist.
12144
12145         * lisp.h:
12146         exfun replace-list.
12147
12148         * redisplay.c:
12149         * redisplay.c (redisplay_frame):
12150         * redisplay.c (syms_of_redisplay):
12151         * redisplay.c (vars_of_redisplay):
12152         new hook buffer-list-changed-hook.
12153         call it.
12154
12155 2000-04-27  Ben Wing  <ben@xemacs.org>
12156
12157         * extents.h: extern in_modeline_generation.
12158
12159         * redisplay.c (generate_formatted_string_db): set
12160         in_modeline_generation.
12161
12162         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12163         flags if in modeline generation.  otherwise frame-modified-tick
12164         is ticked far too often.
12165         Declare in_modeline_generation.
12166
12167 2000-04-26  Ben Wing  <ben@xemacs.org>
12168
12169         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12170         option.
12171         (vars_of_emacs): add quick-build as an error-checking option.
12172         A bit kludgy, but there doesn't seem much point in creating
12173         a real var for this.
12174
12175         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
12176
12177 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12178
12179         * redisplay.h (struct display_line): Add a new variable,
12180         line_continuation.
12181
12182         * redisplay.c (create_text_block): Set dl->line_continuation if
12183         the line continues.
12184         (create_string_text_block): Ditto.
12185         (regenerate_window_incrementally): Use line_continuation instead
12186         of searching continuation glyph.
12187         (add_margin_runes): Call add_glyph_rune.
12188         (add_glyph_rune): Handle margin glyph.
12189
12190 2000-04-20  Martin Buchholz  <martin@xemacs.org>
12191
12192         * filelock.c (fill_in_lock_file_name):
12193         ANSIfy.
12194         Check for IS_ANY_SEP instead of '/'.
12195         (lock_file_1):
12196         Avoid generating gratuitous garbage.  Call user_login_name() directly.
12197         Never check errno without first seeing that system call failed.
12198         (unlock_file): Add GCPRO.
12199         (Flock_buffer): Fix docstring.
12200         (Ffile_locked_p): Fix docstring.  Add GCPRO.
12201
12202 2000-04-19  Martin Buchholz  <martin@xemacs.org>
12203
12204         * sysdep.c (get_pty_max_bytes):
12205         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
12206         strings longer than 252 bytes.
12207
12208         * md5.c: Unconditionally include ANSI header <limits.h>
12209
12210         * glyphs-x.c (convert_EImage_to_XImage):
12211         * lisp-union.h (union Lisp_Object):
12212         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
12213
12214 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
12215
12216         * filelock.c (current_lock_owner): Remove unused variable o, p.
12217
12218 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
12219
12220         * callint.c: Remove multiply defined symbol Qlet
12221         (syms_of_callint): ditto.
12222
12223 2000-04-14  Andy Piper  <andy@xemacs.org>
12224
12225         * general.c (syms_of_general): add last-command, this-command, let
12226         and funcall.
12227
12228         * lisp.h: declare various symbols.
12229
12230         * glyphs.h: declare Qwidget_callback_current_channel;
12231
12232         * glyphs-widget.c (syms_of_glyphs_widget): add
12233         Qgui_callback_current_channel.
12234         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
12235
12236         * gui-msw.c (mswindows_handle_gui_wm_command): bind
12237         widget-callback-current-channel when invoking the interactive
12238         arg. Also bind last-command and next-command when invoking the
12239         widget updates.
12240         * gui-x.c (popup_selection_callback): ditto.
12241
12242         * gui.c (get_gui_callback): massage args so that we are always
12243         calling eval. This allows us to add our own variable bindings
12244         outside.
12245
12246         * glyphs-x.c (x_button_instantiate): use
12247         gui_items_to_widget_values since this is GC safe.
12248         (x_progress_gauge_instantiate): ditto.
12249         (x_edit_field_instantiate): ditto.
12250         (x_label_instantiate): ditto.
12251
12252         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
12253         (emacs_Xt_event_widget_focus_out): new function
12254         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
12255         focus.
12256         (emacs_Xt_event_add_widget_actions): new function. add focus
12257         functions as actions.
12258         (init_event_Xt_late): use it.
12259
12260 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
12261
12262         * event-stream.c (Fdispatch_event): Doc fix.
12263
12264 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
12265
12266         * postgresql.c: Remove all references to PQsetenv*.
12267
12268         * postgresql.h: Remove references to PGsetenvHandler object.
12269         * lrecord.h (lrecord_type): Ditto.
12270
12271 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12272
12273         * glyphs-msw.h (struct mswindows_image_instance_data): Added
12274         real_heigh and real_width members, and accessor macros for these.
12275
12276         * glyphs-msw.c (init_image_instance_geometry): New function.
12277         (init_image_instance_from_dibitmap): Use it.
12278         (mswindows_resource_instantiate): Use it.
12279         (init_image_instance_from_xbm_inline): Use it.
12280         (mswindows_initialize_image_instance_mask): Use real bitmap
12281         geometry.
12282         (mswindows_create_resized_bitmap): Ditto.
12283         (mswindows_create_resized_mask): Ditto.
12284
12285         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
12286         and bitmap to their surface size.
12287
12288 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
12289
12290         * process-unix.c (unix_send_process): Guard against process MIA
12291         after Faccept_process_output.
12292
12293 2000-04-11  Ben Wing  <ben@xemacs.org>
12294
12295         * eval.c (unbind_to_hairy): fix brokenness introduced by
12296         nanosecond speed improvements.
12297
12298 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
12299
12300         * sunplay.c (init_device): To play sounds correctly, the device
12301         apparently needs to be initialized at least once by XEmacs.  Make
12302         it so.
12303
12304 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12305
12306         * redisplay.c (add_margin_runes): Add text image glyph
12307           handling.
12308
12309 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
12310
12311         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
12312         gcc is newer than 2.5.
12313
12314 2000-04-06  Colin Rafferty  <colin@xemacs.org>
12315
12316         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
12317
12318         * fns.c (size_bit_vector):
12319         * alloc.c (size_vector):
12320         (make_vector_internal):
12321         (make_bit_vector_internal):
12322         (sweep_bit_vectors_1):
12323         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
12324
12325 2000-04-06  Andy Piper  <andy@xemacs.org>
12326
12327         * gmalloc.c (malloc): undo previous change.
12328         (malloc): ditto.
12329         (free): ditto.
12330         (realloc): ditto.
12331
12332 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
12333
12334         * line-number.c (buffer_line_number): Revert to former version.
12335
12336 2000-04-06  Andy Piper  <andy@xemacs.org>
12337
12338         * gmalloc.c (malloc): add error checking.
12339         (malloc): ditto.
12340         (free): ditto.
12341         (realloc): ditto.
12342
12343         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
12344         button_item_to_widget_value arg.
12345
12346         * glyphs-x.c (x_button_instantiate): add extra
12347         button_item_to_widget_value arg.
12348         (x_progress_gauge_instantiate): ditto.
12349         (x_edit_field_instantiate): ditto.
12350         (x_label_instantiate): ditto.
12351
12352         * gui-x.c (gui_items_to_widget_values_1): add extra
12353         button_item_to_widget_value arg.
12354         (button_item_to_widget_value): add extra menu_item_p arg.
12355
12356         * gui-x.h: change signature of button_item_to_widget_value.
12357
12358         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
12359         button_item_to_widget_value arg.
12360
12361 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
12362
12363         * buffer.h (struct buffer): auto_save_modified should be long.
12364
12365 2000-04-05  Andy Piper  <andy@xemacs.org>
12366
12367         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
12368         type.
12369         (button_query_geometry): give a little more room so that athena
12370         buttons fit.
12371
12372 2000-04-05  Andy Piper  <andy@xemacs.org>
12373
12374         * faces.c (complex_vars_of_faces): The widget face should inherit
12375         the font of the gui-element face.
12376
12377 2000-04-04  Andy Piper  <andy@xemacs.org>
12378
12379         * glyphs-x.c (x_button_update): new function. unconditionally
12380         update a button's state when the instance is dirty.
12381         (image_instantiator_format_create_glyphs_x): add x_button_update.
12382         (x_widget_instantiate): remove old resize cruft.
12383
12384 2000-04-02  Andy Piper  <andy@xemacs.org>
12385
12386         * frame.c (change_frame_size_1): The introduction of gutters means
12387         that we need to allow 0 as a potential frame dimension.
12388
12389 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12390
12391         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
12392         image glyph if allow_cursor.
12393         (add_hscroll_rune): Don't allow cursor to border glyph.
12394         (create_text_block): Ditto.
12395
12396         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
12397         text not in buffer.
12398         (redisplay_output_layout): Call ensure_face_cachel_complete for
12399         text image glyph.
12400
12401
12402 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12403
12404         * redisplay.c (add_glyph_rune): Adding text image as text runes.
12405
12406         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
12407         not in buffer
12408
12409         * redisplay-tty.c (tty_output_display_block): Delete the routine
12410         for text image glyph
12411         * redisplay-x.c (x_output_display_block): ditto
12412         * redisplay-msw.c (mswindows_output_display_block): ditto
12413
12414 2000-02-02  Mike Alexander  <mta@arbortext.com>
12415
12416         Note: Some of these were committed by accident as part of other
12417         patches.
12418
12419         * regex.c (regex_compile): Avoid compiler warnings.
12420
12421         * ntproc.c (sys_spawnve): Avoid compiler warnings.
12422
12423         * nt.h: Declare term_ntproc correctly.
12424
12425         * nt.c: Remove incorrect declaration of get_home_directory which
12426         is declared correctly in lisp.h.
12427
12428         * keymap.c (get_keyelt): Avoid compiler warnings.
12429         (raw_lookup_key_mapper): Avoid compiler warnings.
12430
12431         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
12432
12433         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
12434
12435         * filemode.c (mode_string): Avoid compiler warnings.
12436
12437         * file-coding.c (Fcoding_system_aliasee): Add return statement to
12438         avoid warning.
12439
12440         * events-mod.h: Undef some things that winuser.h defines differently.
12441
12442         * data.c (Faset): Avoid compiler warnings.
12443
12444         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
12445
12446 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12447
12448         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
12449         Fall through to simple beep on error.
12450         Replace "extern" by real header file.
12451
12452         * linuxplay.c: Use nativesound.h
12453         (play_sound_data): Return error code. Be less verbose on error.
12454
12455         * sunplay.c: Use nativesound.h
12456         (play_sound_data): Return error code. Be less verbose on error.
12457
12458         * ntplay.c: Use nativesound.h
12459         (play_sound_data): Return fake error code
12460
12461         * sgiplay.c: Use nativesound.h
12462         (play_sound_data): Return error code
12463
12464         * hpplay.c: Use nativesound.h, partially implement
12465         new error code. Break compilation until finished.
12466         (play_sound_data): error code.
12467
12468         * nativesound.h (play_sound_file):
12469           (play_sound_data): Prototype in new header.
12470
12471 2000-03-31  Andy Piper  <andy@xemacs.org>
12472
12473         * glyphs-widget.c: (button_query_geometry): new function. Adjust
12474         for toggle and radio buttons.
12475         (image_instantiator_buttons): use it.
12476
12477 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12478
12479         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
12480         (x_update_horizontal_scrollbar_callback): Return if no mirror was
12481         found. Scrollbar event probably belonged to some old config.
12482
12483 2000-03-31  Andy Piper  <andy@xemacs.org>
12484
12485         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
12486         than 1.
12487         (initialize_widget_image_instance): default layout to
12488         LAYOUT_HORIZONTAL rather than 0.
12489         (widget_instantiate): reverse the item list at the end rather than
12490         every iteration.
12491         (layout_layout): re-code for the border text at the front of the
12492         item list rather than at the end.
12493         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
12494         provided by the user.
12495         (widget_query_geometry): comment.
12496
12497 2000-03-30  Andy Piper  <andy@xemacs.org>
12498
12499         * glyphs-widget.c (image_instantiator_layout): allow standard
12500         widget keywords in layouts.
12501
12502         * gutter.c (output_gutter): cope with nil gutter contents.
12503
12504         * frame.c (Fset_frame_properties): add gutter docs.
12505
12506 2000-03-29  Andy Piper  <andy@xemacs.org>
12507
12508         * toolbar-msw.c (TBSTYLE_FLAT): add.
12509         (mswindows_output_toolbar): minor fiddling.
12510
12511 2000-03-29  Andy Piper  <andy@xemacs.org>
12512
12513         * gutter.c (output_gutter): force gutter size recalculation if
12514         what we are trying to display won't fit.
12515         (update_gutter_geometry): new function. A per-gutter version of
12516         update_frame_gutter_geometry.
12517         (update_frame_gutter_geometry): use it.
12518         (redraw_exposed_gutter): add extra debugging output.
12519
12520 2000-03-28  Mike Alexander  <mta@arbortext.com>
12521
12522         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
12523         (pdump_file_unmap): Implement it on Windows
12524         (pdump_file_get): Save alocated handles for pdump_file_unmap
12525
12526 2000-03-28  Andy Piper  <andy@xemacs.org>
12527
12528         * gui.c (get_gui_callback): treat Quit specially.
12529
12530 2000-03-27  Andy Piper  <andy@xemacs.org>
12531
12532         * glyphs.c (image_instantiate): be careful to check in the same
12533         way we assigned.
12534
12535 2000-03-27  Didier Verna  <didier@xemacs.org>
12536
12537         * config.h.in: define the proper SMART_INCLUDE macro.
12538         handle renaming of `foo_h_path' to `foo_h_file'.
12539
12540         * database.c: ditto.
12541
12542         * emacs.c: ditto.
12543
12544         * linuxplay.c: ditto.
12545
12546         * terminfo.c: ditto.
12547
12548         * tooltalk.h: ditto.
12549
12550 2000-03-27  Andy Piper  <andy@xemacs.org>
12551
12552         * glyphs-msw.c (mswindows_update_widget): make sure the widget
12553         gets updated whenever the face might have changed.
12554
12555 2000-03-26  Mike Alexander  <mta@arbortext.com>
12556
12557         * dumper.c (pdump_resource_free): Fix the comment.
12558
12559 2000-03-21  Olivier Galibert  <galibert@pobox.com>
12560
12561         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
12562
12563 2000-03-22  Mike Alexander  <mta@arbortext.com>
12564
12565         * dumper.c: Include Windows headers on Windows
12566         (pdump_resource_free): Add a body to the function
12567         (pdump_load): exe_name -> exe_path and add some comments.
12568
12569 2000-03-25  Mike Alexander  <mta@arbortext.com>
12570
12571         * gui.c (copy_gui_item_tree): Return a value in all cases
12572
12573 2000-03-21  Didier Verna  <didier@xemacs.org>
12574
12575         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
12576         lwlib/config.h.in.
12577         (SMART_INCLUDE): new macro.
12578         (POSTGRES_INCLUDE): new macro to include postgresql headers from
12579         the proper location.
12580
12581         * postgresql.c: use it.
12582
12583         * inline.c: ditto.
12584
12585 2000-03-24  Andy Piper  <andy@xemacs.org>
12586
12587         * gutter.c (redraw_exposed_gutters): must be "in display" when we
12588         do this.
12589
12590 2000-03-24  Andy Piper  <andy@xemacs.org>
12591
12592         * redisplay-output.c (compare_runes): use image_instance_changed
12593         to detect changes. Do not depend on glyphs_changed, only depend on
12594         dirtiness.
12595          (redisplay_output_layout): add debug messages.
12596         (compare_runes): ditto.
12597
12598         * glyphs.h: declare new functions.
12599         (struct Lisp_Image_Instance): remove percent and associated
12600         accessors.
12601
12602         * gui.h: declare new copying functions.
12603
12604         * gui.c (copy_gui_item_tree): new function.
12605         (copy_gui_item): new function.
12606         (gui_item_id_hash): revert to standard hash.
12607         (gui_item_hash): ditto.
12608         (gui_item_hash_internal): deleted.
12609         (mark_gui_item): mark value.
12610         (gui_item_add_keyval_pair): add value.
12611         (gui_item_init): ditto.
12612         (gui_add_item_keywords_to_plist): ditto.
12613         (gui_item_equal): ditto.
12614         (syms_of_gui): add Q_value.
12615
12616         * glyphs-x.c (x_progress_gauge_update): use pending items and
12617         value for setting the state.
12618         (x_update_widget): don't set items from pending here.
12619
12620         * glyphs-widget.c (update_widget): update items here.
12621         (progress_gauge_set_property): use items for storing value. Put
12622         new value in pending items.
12623
12624         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
12625         items for new value. Convert percent -> value.
12626         (mswindows_tab_control_update): don't update items here.
12627
12628         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
12629         (update_subwindow): ditto.
12630         (image_instance_changed): new function. Compare hash values and
12631         past and present widget items.
12632         (image_instantiate): We more careful about where we instantiate
12633         things.
12634         (image_instantiate): add error checking.
12635
12636         * gutter.c (syms_of_gutter): use -hook.
12637
12638 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
12639
12640         * console-tty.c (Fset_console_tty_input_coding_system): Use
12641         Qkeyboard.
12642         (Fset_console_tty_output_coding_system): Use Qterminal.
12643         (tty_init_console): Use Qkeyboard and Qterminal.
12644
12645 2000-03-21  Ben Wing  <ben@xemacs.org>
12646
12647         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
12648         From Mike Alexander <mta@arbortext.com>.
12649
12650 2000-03-21  Ben Wing  <ben@xemacs.org>
12651
12652         * event-msw.c (mswindows_need_event): Horrible kludge to fix
12653         process brokenness.  Proper implementation to come.
12654         * callproc.c:
12655         Rename call-process-internal to old-call-process-internal.
12656         New impl. in process.el.
12657
12658 2000-03-21  Martin Buchholz  <martin@xemacs.org>
12659
12660         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
12661
12662 2000-03-20  Andy Piper  <andy@xemacs.org>
12663
12664         * glyphs.c (full_list_hash): make hashes of the same elements in
12665         different orders return different values.
12666
12667 2000-03-20  Martin Buchholz <martin@xemacs.org>
12668
12669         * XEmacs 21.2.32 is released.
12670
12671 2000-03-20  Martin Buchholz  <martin@xemacs.org>
12672
12673         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
12674         (DFC_MALLOC_USE_CONVERTED_DATA):
12675         Add aliasing-safe casts to allow use with char* or unsigned char*
12676         lvalues.
12677
12678         * eldap.c (Fldap_open):
12679         (Fldap_search_basic):
12680         (Fldap_add):
12681         (Fldap_modify):
12682         Make C++-compilable.
12683         Make sure GCPRO'ed variables are initialized.
12684         Use temp variables to avoid repeated calls to Flength.
12685
12686 2000-03-16  Martin Buchholz  <martin@xemacs.org>
12687
12688         * sysfile.h:
12689         Make sure PATH_MAX is always defined.
12690         Include limits.h for PATH_MAX.
12691         Deprecate use of MAXPATHLEN.
12692
12693 2000-03-10  Martin Buchholz  <martin@xemacs.org>
12694
12695         * emacs.c: Add reinit_vars_of_fileio.
12696         * symsinit.h: Add reinit_vars_of_fileio.
12697         * fileio.c (reinit_vars_of_fileio): New.
12698         * fileio.c (Fmake_temp_name):
12699         Initialize temp_name random number from microseconds to make
12700         collisions even less likely.  Initialize always at process startup
12701         time.  (make-temp-name) used to return the same file name twice in
12702         a row when PDUMP.
12703         Random stylistic fiddling.
12704         Comment fixes.
12705
12706 2000-03-20  Andy Piper  <andy@xemacs.org>
12707
12708         * glyphs.c (image_instantiate): allow text glyphs to be
12709         instantiated in the minibuffer window.
12710
12711 2000-03-19  Andy Piper  <andy@xemacs.org>
12712
12713         * glyphs.c (image_instance_hash): be careful about which items we
12714         hash on.
12715
12716         * glyphs-widget.c (tab_control_set_property): record into pending
12717         items rather than the actual items.
12718
12719         * glyphs-x.c (x_update_widget): use pending items to update with.
12720
12721         * glyphs-msw.c (mswindows_tab_control_update): use pending items
12722         to update with.
12723
12724         * glyphs.c (mark_image_instance): mark pending items.
12725
12726         * window.c (Fset_window_configuration): record the buffer.
12727         (Fselect_window): totally revert previous change which breaks many
12728         things.
12729
12730 2000-03-18  Andy Piper  <andy@xemacs.org>
12731
12732         * glyphs-msw.c (mswindows_tab_control_update): force selected
12733         item.
12734
12735         * glyphs.c (image_instantiate): don't allow the minibuffer as a
12736         window domain cache, otherwise we get inconsistencies at
12737         startup. There is something fishy at startup which can lead to the
12738         minibuffer being the selected window when the gutter content is
12739         instantiated.
12740
12741         * gui.c (parse_gui_item_tree_list): add probably unnecessary
12742         gcpros.
12743         (parse_gui_item_tree_children): ditto.
12744         (parse_gui_item_tree_item): ditto.
12745
12746         * glyphs.c (Fupdate_widget_instances): return something.
12747
12748 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
12749
12750         * window.c (Fselect_window): Undo 2000-03-17 change.
12751
12752 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
12753
12754         * postgresql.c (Fpq_setenv): Remove this turkey when linking
12755         against v7.0 libraries.  Insta-coredump city until the postgres
12756         folks fix it.
12757
12758 2000-03-17  Andy Piper  <andy@xemacs.org>
12759
12760         * faces.c (complex_vars_of_faces): don't give the widget face an
12761         inherited background pixmap.
12762
12763         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
12764         selected item.
12765
12766         * event-stream.c (Fdispatch_non_command_events): return something.
12767
12768         * gutter.c (output_gutter): use widget face.
12769         (clear_gutter): ditto.
12770
12771         * NEWS: adjust again.
12772
12773         * window.c (Fselect_window): make sure this runs to completion to
12774         avoid oddities with Fset_window_configuration.
12775         (Fcurrent_window_configuration): in general do not save the
12776         minibuffer as the selected window.
12777
12778         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
12779
12780 2000-03-16  Olivier Galibert  <galibert@pobox.com>
12781
12782         * emacs.c (Frunning_temacs_p): Revert previous patch.
12783         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
12784
12785 2000-03-16  Andy Piper  <andy@xemacs.org>
12786
12787         * glyphs-x.c (x_tab_control_update): if no widget values then
12788         return.
12789
12790         * NEWS: update for new features.
12791
12792         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
12793         synthetic event to the native system.
12794         (reinit_vars_of_event_Xt): set force_event_pending to
12795         emacs_Xt_force_event_pending.
12796
12797         * events.h (struct event_stream): add force_event_pending.
12798
12799         * specifier.c (recompute_one_cached_specifier_in_window): add
12800         comment.
12801
12802         * redisplay.c (redisplay_frame): don't call
12803         update_frame_subwindows. Reset subwindow cachels when
12804         subwindows_changed, removing this was an optimization too far.
12805
12806         * redisplay-output.c (compare_runes): reorganize so that we catch
12807         glyph changes when we want them. Set optimize_output when this
12808         would help layouts.
12809         (redisplay_output_layout): remove frame_really_changed, use
12810         optimize_output instead.
12811
12812         * redisplay-msw.c (mswindows_output_display_block): reset
12813         optimize_output after outputting a glyph.
12814         * redisplay-x.c (x_output_display_block): ditto.
12815         * redisplay-tty.c (tty_output_display_block): ditto.
12816
12817         * gutter.c: (specifier_vars_of_gutter): use new spec changed
12818         functions.
12819         (gutter_specs_changed): do specific gutter positions.
12820         (top_gutter_specs_changed): new function. Only update the
12821         specified gutter specs.
12822         (bottom_gutter_specs_changed): ditto.
12823         (left_gutter_specs_changed): ditto.
12824         (right_gutter_specs_changed): ditto.
12825
12826         * gui.c (gui_item_hash_internal): new function, does a real hash.
12827         (gui_item_id_hash): use it.
12828         (gui_item_hash): hash the eval'ed gui_item.
12829
12830         * gui-x.c (popup_selection_callback): send an eval event to call
12831         Fupdate_widget_instances.
12832
12833         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
12834         to call Fupdate_widget_instances.
12835
12836         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
12837         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
12838
12839         * glyphs.c: (update_frame_subwindows): deleted.
12840         (Fupdate_widget_instances): new function for updating the dirty
12841         state of widgets that might have changed.
12842         (syms_of_glyphs): add Qupdate_widget_instances.
12843         (full_list_hash): hash a list completely.
12844         (image_instance_hash): use it for items and properties.
12845
12846         * frame-msw.c (mswindows_size_frame_internal): remove unused
12847         variable.
12848
12849         * faces.h (struct face_cachel): fix comment.
12850
12851         * event-stream.c (Fdispatch_non_command_events): new
12852         function. Process non-command events, forcing an event cycle
12853         beforehand.
12854         (syms_of_event_stream): declare.
12855         (event_stream_force_event_pending): new function. Force an event
12856         on the native event queue so that an event cycle will occur next
12857         time we check.
12858
12859         * event-msw.c:
12860         (struct ntpipe_shove_stream):
12861         (mswindows_enqueue_dispatch_event):
12862         (mswindows_dequeue_dispatch_event):
12863         (mswindows_cancel_dispatch_event):
12864         (mswindows_pump_outstanding_events):
12865         (mswindows_drain_windows_queue):
12866         (mswindows_handle_paint):
12867         (mswindows_wnd_proc):
12868         (mswindows_key_to_emacs_keysym):
12869         (get_process_input_waitable):
12870         (emacs_mswindows_delete_stream_pair): re-indent file.
12871         (mswindows_need_event): do not process further fds if the windows
12872         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
12873         fixes the 100% cpu problem.
12874         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
12875
12876 2000-03-15  Olivier Galibert  <galibert@pobox.com>
12877
12878         * alloc.h: New.
12879         * dumper.h: New.
12880         * dumper.c: New.
12881
12882         * emacs.c: Moved dump file searching to dumper.c.
12883         (Frunning_temacs_p): Fixed.
12884
12885         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
12886         last_lrecord_type_index_assigned.
12887
12888 2000-02-20  Olivier Galibert  <galibert@pobox.com>
12889
12890         * symsinit.h: Added reinit parameter to init_console_stream
12891         declaration.
12892
12893         * lisp.h: Added file parameter to pdump_load declaration.
12894
12895         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
12896         support.  Added dump file searching.
12897
12898         * config.h.in: Added EMACS_PROGNAME.
12899
12900         * console-stream.c (init_console_stream): Fix reinitialisation
12901         when running from temacs.
12902
12903         * alloc.c (pdump): Add id support.
12904         (pdump_load): Add file parameter and signature/id support.
12905
12906         * Makefile.in.in: Add full pdump support.
12907
12908 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
12909
12910         * postgresql.c: Update documentation to reflect latest code
12911         status.
12912         (print_result): Show tuple counts in printed representation when
12913         appropriate.
12914         (Fpq_put_nbytes): MULE-ize.
12915         (Fpq_get_line_async): Ditto.
12916
12917 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
12918
12919         * postgresql.c (Fpq_lo_import): Fix return value.
12920         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
12921
12922 2000-03-13  Ben Wing  <ben@xemacs.org>
12923
12924         * alloc.c (pdump_load):
12925         Fix compile warning under mswin.
12926
12927 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
12928
12929         * postgresql.c: Mule-ization, bug fixes.
12930         Use PG_CODING to encapsulate coding system name changes.
12931         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
12932         (pg-coding-system): Create.
12933
12934         (Fpq_conn_defaults): Mule-ize.
12935         (Fpq_connectdb): Mule-ize & bug fix.
12936         (Fpq_connect_start): Mule-ize.
12937         (Fpq_set_client_encoding): Mule-ize.
12938         (Fpq_finish): Document `DEAD' connection status.
12939         (Fpq_clear): Ditto.
12940         (Fpq_pgconn): Mule-ize.
12941         (Fpq_exec): Mule-ize & bug fix.
12942         (Fpq_send_query): Ditto.
12943         (Fpq_get_result): Ditto.
12944         (Fpq_res_status): Mule-ize.
12945         (Fpq_result_error_message): Mule-ize.
12946         (Fpq_ntuples): fix comments.
12947         (Fpq_fname): Mule-ize.
12948         (Fpq_fnumber): Mule-ize.
12949         (Fpq_ftype): fix comments.
12950         (Fpq_get_value): Mule-ize.
12951         (Fpq_cmd_status): Ditto.
12952         (Fpq_cmd_tuples): Ditto.
12953         (Fpq_oid_value): Ditto.
12954         (Fpq_notifies): Ditto.
12955         (Fpq_lo_import): Ditto.
12956         (Fpq_lo_export): Ditto.
12957         (Fpq_get_line): Ditto.
12958         (Fpq_put_line): Mule-ize and bug fix.
12959         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
12960
12961 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
12962
12963         * postgresql.c (vars_of_postgresql): Mule-ize.
12964         (Fpq_conn_defaults): Ditto.
12965
12966 2000-03-12  Ben Wing  <ben@xemacs.org>
12967
12968         * alloc.c (Fmake_byte_code):
12969         * alloc.c (debug_string_purity_print):
12970         * alloc.c (pdump_backtrace):
12971         * alloc.c (pdump_get_indirect_count):
12972         * alloc.c (pdump_register_sub):
12973         * alloc.c (pdump_register_object):
12974         * alloc.c (pdump_register_struct):
12975         * alloc.c (pdump_dump_data):
12976         * alloc.c (pdump_reloc_one):
12977         Minor cleanups.
12978
12979         * console-msw.c:
12980         * console-msw.c (GetConsoleHwnd):
12981         * console-msw.c (msw_hide_console):
12982         * console-msw.c (msw_show_console):
12983         * console-msw.c (msw_ensure_console_buffered):
12984         * console-msw.c (msw_output_console_string):
12985         * console-msw.c (console_type_create_mswindows):
12986
12987         a) Added functions to manipulate the console window for use with
12988         shell support.
12989
12990         b) Added support for writing text to the console, which is now
12991         used under Windows when xemacs is not being run non-interactively,
12992         to write text that would otherwise be destined for stdout because
12993         under these circumstances, text written to stdout tends to
12994         disappear and not be seen.
12995
12996         * console-msw.h:
12997         * event-Xt.c:
12998         * event-Xt.c (x_event_to_emacs_event):
12999         * event-Xt.c (describe_event_window):
13000         * events-mod.h (XEMACS_MOD_CONTROL):
13001         * events.c:
13002         * events.c (Fmake_event):
13003         * events.c (character_to_event):
13004         * events.c (event_to_character):
13005         * events.c (format_event_object):
13006         * events.c (Fevent_modifiers):
13007         * events.h:
13008         * events.h (struct key_data):
13009         * events.h (struct button_data):
13010         * events.h (struct misc_user_data):
13011         * frame-x.c (Fcde_start_drag_internal):
13012         * frame-x.c (Foffix_start_drag_internal):
13013         * gpmevent.c (Freceive_gpm_event):
13014         * keymap.c:
13015         * keymap.c (bucky_sym_to_bucky_bit):
13016         * keymap.c (control_meta_superify):
13017         * keymap.c (make_key_description):
13018         * keymap.c (keymap_lookup_directly):
13019         * keymap.c (create_bucky_submap):
13020         * keymap.c (keymap_store):
13021         * keymap.c (define_key_check_and_coerce_keysym):
13022         * keymap.c (define_key_parser):
13023         * keymap.c (define_key_alternate_name):
13024         * keymap.c (Fdefine_key):
13025         * keymap.c (raw_lookup_key_mapper):
13026         * keymap.c (struct map_keymap_unsorted_closure):
13027         * keymap.c (map_keymap_unsorted_mapper):
13028         * keymap.c (map_keymap_sort_predicate):
13029         * keymap.c (map_keymap_sorted):
13030         * keymap.c (accessible_keymaps_mapper_1):
13031         * keymap.c (where_is_recursive_mapper):
13032         * keymap.c (describe_map_mapper):
13033         * keymap.c (describe_map_sort_predicate):
13034         * keymap.c (describe_map):
13035         * keymap.c (complex_vars_of_keymap):
13036         And a number of other files, the key modifier preprocessor
13037         constants that xemacs uses have names that conflict with constants
13038         defined under MS Windows for other purposes, so they were renamed
13039         to begin with the prefix XEMACS_. The variables that hold such
13040         modifiers were changed to consistently be of type int to fix
13041         various compile warnings.
13042
13043         * console.c (complex_vars_of_console):
13044         * device.c:
13045         * device-msw.c:
13046         * device-msw.c (mswindows_finish_init_device):
13047         * device-msw.c (msw_get_workspace_coords):
13048         * device-msw.c (mswindows_device_system_metrics):
13049         and various other files, added support for a new
13050         device property called offset-workspace which returns the position
13051         of the upper left corner of the workspace area and goes along with
13052         the existing size-workspace property.
13053
13054         * dialog-msw.c:
13055         * dialog-msw.c (push_bufbyte_string_as_unicode):
13056         * dialog-msw.c (mswindows_popup_dialog_box):
13057         Added support for XEmacs-style accelerator specifications in
13058         button text.  Note: I didn't add support for this under X Windows,
13059         and somebody needs to do this.
13060
13061         * dialog.c:
13062         * dialog.c (Fpopup_dialog_box):
13063         Documented the support for accelerators that was just mentioned.
13064
13065         editfns.c (get_home_directory): Changed behavior under Windows
13066         when HOME not defined; former behavior was irretrievably broken.
13067
13068         * emacs.c:
13069         * emacs.c (main_1):
13070         * emacs.c (main):
13071         * minibuf.c (clear_echo_area_internal):
13072         * minibuf.c (echo_area_append):
13073         * print.c:
13074         * print.c (std_handle_out_external):
13075         * print.c (std_handle_out_va):
13076         * print.c (fatal):
13077         * print.c (write_string_to_stdio_stream):
13078         * print.c (output_string):
13079         * print.c (debug_print):
13080         * print.c (debug_backtrace):
13081         * print.c (debug_short_backtrace):
13082         Cleaned up the code that prints text to stdout so that this can be
13083         changed to output into a console window instead under MS Windows,
13084         as described above.
13085
13086         * eval.c:
13087         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13088         * eval.c (internal_catch):
13089         * eval.c (unwind_to_catch):
13090         * eval.c (throw_or_bomb_out):
13091         * eval.c (condition_case_1):
13092         * eval.c (signal_1):
13093         * eval.c (check_error_state_sanity):
13094         * eval.c (call_with_suspended_errors_1):
13095         * eval.c (call_with_suspended_errors):
13096         * eval.c (reinit_vars_of_eval):
13097         Added code to catch throw loops and check for a pesky bug that may
13098         be gone now.
13099
13100         * event-msw.c:
13101         * event-msw.c (key_needs_default_processing_p):
13102         * event-msw.c (mswindows_wnd_proc):
13103         * event-msw.c (mswindows_modifier_state):
13104         * event-msw.c (emacs_mswindows_quit_p):
13105         * event-msw.c (vars_of_event_mswindows):
13106         a) Added support for using the alt key to select menu items as is
13107         standard under MS Windows.  This is controlled using the variable
13108         menu-accelerator-enabled, just like under X Windows.  There is an
13109         option on the options menu to turn this support on.  I really
13110         think that it should be on by default under Windows, but I'm not
13111         going to make this change yet.
13112
13113         b)  Added support for dynamic display size changes under Windows.
13114
13115         * event-stream.c:
13116         * event-stream.c (maybe_echo_keys):
13117         * event-stream.c (Fnext_event):
13118         * event-stream.c (command_builder_find_leaf):
13119         * event-stream.c (lookup_command_event):
13120         * event-stream.c (execute_command_event):
13121         * event-stream.c (pre_command_hook):
13122         * event-stream.c (post_command_hook):
13123         * event-stream.c (syms_of_event_stream):
13124         * event-stream.c (vars_of_event_stream):
13125         * event-stream.c (complex_vars_of_event_stream):
13126         * events.h (struct command_builder):
13127
13128         a) Tried to clean up a little bit the horribly written x-specific
13129         accelerator code that crept into this file.  I moved this code
13130         into menubar-x.c where it belongs. I also needed to move the
13131         command builder structure into the file events.h because it is
13132         accessed directly by this accelerator code.  What I didn't do, but
13133         which should be done at some point, is to properly abstract this
13134         code using device methods instead of the kludgy way that it
13135         currently hooks into the event code.
13136
13137         b) Added the lisp variables this-command-properties and
13138         last-command- properties, which should be used to synchronize two
13139         adjacent commands in preference to playing games with the variable
13140         this-command, which is typically what happens.
13141
13142         c) Added some slightly nasty code to hook into the lisp support
13143         for shifted- motion-key selection.  This is actually necessary for
13144         somewhat complicated reasons, which are described in
13145         simple.el. (NB: I think the proper thing would be to have the code
13146         that calls the pre and post command hooks also call out to generic
13147         lisp functions in simple.el, where all built-in stuff could be
13148         added.  I will think about this more.)
13149
13150         * event-unixoid.c (poll_fds_for_input):
13151         * lread.c (readchar):
13152         * redisplay-tty.c (tty_clear_frame):
13153         * redisplay-x.c (x_get_gc):
13154         * signal.c (interrupt_signal):
13155         And a whole bunch of other files: fixed up places that printed
13156         directly to stderr to instead call the function stderr_out so that
13157         the changes I made under Windows work correctly.
13158
13159         * filemode.c (mode_string):
13160         Warning fixes.
13161
13162         * frame-msw.c:
13163         * frame-msw.c (mswindows_size_frame_internal):
13164         Fixed the computation of frame size and position to keep the frame
13165         within the workspace area, rather than within the physical
13166         dimensions of the screen, so that the frame doesn't overlap window
13167         manager decorations, such as the start menu and toolbar, typically
13168         at the bottom of the screen.
13169
13170         * frame.c (vars_of_frame):
13171         Changed the default frame title format under MS Windows to consist
13172         of buffername-XEmacs, which is standard under MS Windows.  I think
13173         it might be a good idea to change this everywhere because I think
13174         it is superior to the current frame title format, but this is the
13175         kind of change that is likely to cause some people to get annoyed,
13176         so I'm not making it.
13177
13178         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
13179
13180         * gui-msw.c (mswindows_handle_gui_wm_command):
13181         Fixed compile warnings.
13182
13183         * gui-x.c:
13184         * gui-x.c (strdup_and_add_accel):
13185         * gui-x.c (button_item_to_widget_value):
13186         * gui-x.h:
13187         Added code to automatically put an accelerator onto the beginning
13188         of menu items that don't have one as is now the standard, and is
13189         described more later.  Also fixed things so that the menu item
13190         name can be an evaluated expression, again a new standard.
13191
13192         * gui.c:
13193         * gui.c (gui_item_add_keyval_pair):
13194         * gui.c (make_gui_item_from_keywords_internal):
13195         * gui.c (gui_add_item_keywords_to_plist):
13196         * gui.c (gui_item_accelerator):
13197         * gui.c (gui_name_accelerator):
13198         * gui.c (gui_item_included_p):
13199         * gui.c (gui_item_display_flush_left):
13200         * gui.c (gui_item_display_flush_right):
13201         * gui.c (parse_gui_item_tree_item):
13202         * gui.c (parse_gui_item_tree_children):
13203         * gui.c (parse_gui_item_tree_list):
13204         Mule-ized.  Cleanup.  GCPRO addition.
13205
13206         * line-number.c (buffer_line_number):
13207         * lisp.h:
13208         * lisp.h (EMACS_INT_MAX):
13209         Added the manifest constant EMACS_INT_MIN corresponding to the
13210         existing constant EMACS_INT_MAX.  This is partially to fix compile
13211         warnings under Windows, and partly for cleanliness.
13212
13213         * menubar-msw.c:
13214         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
13215         * menubar-msw.c (msw_translate_menu_or_dialog_item):
13216         * menubar-msw.c (displayable_menu_item):
13217         * menubar-msw.c (populate_menu_add_item):
13218         * menubar-msw.c (populate_or_checksum_helper):
13219         * menubar-msw.c (populate_menu):
13220         * menubar-msw.c (update_frame_menubar_maybe):
13221         * menubar-msw.c (prune_menubar):
13222         * menubar-msw.c (msw_char_is_accelerator):
13223         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
13224         * menubar-msw.c (mswindows_handle_wm_command):
13225         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
13226         * menubar-msw.c (mswindows_handle_wm_initmenu):
13227         * menubar-msw.c (mswindows_update_frame_menubars):
13228         * menubar-msw.c (mswindows_free_frame_menubars):
13229         * menubar-msw.c (mswindows_popup_menu):
13230         Fixed a bug in handling accelerators where an extra character
13231         would be displayed in the menu item.  Also generalized the
13232         function displayable_menu_item because it is now used by the
13233         dialog box code as well.  And finally, added code in the functions
13234         that create the menubar to extract a list of accelerators for the
13235         top level menubar, which is used in the event code to determine
13236         whether a particular alt-key combination should be used to invoke
13237         a menu item, or should be passed through to access the standard
13238         XEmacs keymap binding for this key combination.
13239
13240         Much needed GCPROing.
13241
13242         * menubar-x.c:
13243         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13244         * menubar-x.c (menu_item_descriptor_to_widget_value):
13245         * menubar-x.c (restore_in_menu_callback):
13246         * menubar-x.c (x_popup_menu):
13247         * menubar-x.c (menu_move_up):
13248         * menubar-x.c (menu_move_down):
13249         * menubar-x.c (menu_move_left):
13250         * menubar-x.c (menu_move_right):
13251         * menubar-x.c (menu_select_item):
13252         * menubar-x.c (command_builder_operate_menu_accelerator):
13253         * menubar-x.c (menu_accelerator_junk_on_error):
13254         * menubar-x.c (command_builder_find_menu_accelerator):
13255         * menubar-x.c (Faccelerate_menu):
13256         * menubar.h:
13257         Moved a whole bunch of code here that was previously in
13258         event-stream.c as described above.  There is also code connected
13259         to the new standard of adding an accelerator to the beginning of
13260         menu items that don't have one as described above and below.
13261
13262         * menubar.c:
13263         * menubar.c (menu_parse_submenu_keywords):
13264         * menubar.c (Fmenu_find_real_submenu):
13265         * menubar.c (Fnormalize_menu_item_name):
13266         * menubar.c (syms_of_menubar):
13267         * menubar.c (vars_of_menubar):
13268         * menubar.c (complex_vars_of_menubar):
13269
13270         a) Cleaned up a bunch of documentation and improved it.
13271
13272         b) XEmacs now automatically adds an accelerator onto the beginning
13273         of any menu items that don't have one.  I did this because there
13274         will inevitably be some menu items on the main menubar that don't
13275         have accelerators on them because the package that adds that
13276         particular menu item hasn't yet been fixed up to have accelerators
13277         in them and it looked rather strange to have some items with and
13278         some items without accelerators, especially since even in items
13279         without accelerators, you can, at least under windows, still
13280         access the item through an accelerator corresponding to the first
13281         character in the item's name.  If people don't like this behavior,
13282         I can add a variable to turn it off optionally, but I'm not sure
13283         this is a good idea because we really do need to have accelerators
13284         on all of the menu items, and if a package doesn't like the
13285         accelerators being put on the first character, then it should put
13286         the accelerators where they belong.
13287
13288         c) I made a behavior change, which is that the descriptor that
13289         specifies the text of the menu item, which formerly was just a
13290         string, can now also be an evaluated expression.  This makes this
13291         descriptor parallel with all of the others, which could also be
13292         evaluated expressions.  This also obviates the need for the
13293         keyword :label, which was previously listed in the documentation
13294         as unimplemented, and which was for the same purpose.
13295
13296         d) GCPROing.
13297
13298         * ntproc.c:
13299         * ntproc.c (new_child):
13300         * ntproc.c (sys_spawnve):
13301         * ntproc.c (find_child_console):
13302         * ntproc.c (sys_kill):
13303         Fixed compile warnings.  By the way, this file should really go
13304         away entirely, and this will happen as soon as Kirill makes his
13305         final round of process cleanups, which affect the function
13306         call-process.
13307
13308         * process-nt.c:
13309         * process-nt.c (struct nt_process_data):
13310         * process-nt.c (find_process_from_pid):
13311         * process-nt.c (send_signal_the_nt_way):
13312         * process-nt.c (enable_child_signals):
13313         * process-nt.c (find_child_console):
13314         * process-nt.c (send_signal_the_95_way):
13315         * process-nt.c (nt_finalize_process_data):
13316         * process-nt.c (ensure_console_window_exists):
13317         * process-nt.c (nt_create_process):
13318         * process-nt.c (nt_kill_child_process):
13319         * process-nt.c (nt_kill_process_by_pid):
13320         * process-nt.c (nt_open_network_stream):
13321         * process-nt.c (vars_of_process_nt):
13322         Copied over code from Emacs 20.5 to correctly send signals to sub-
13323         processes under Windows 95.  Also added code to automatically
13324         create and hide console window when a sub-process is created under
13325         Windows 95, which obviates the need for the separate runemacs.exe
13326         executable, and finally implemented some variables that were
13327         implemented in Emacs 20.5, but previously not in XEmacs.  These
13328         include mswindows- start-process-share-console and
13329         mswindows-start-process-inherit-error-mode. (Both of these only
13330         apply to Windows 95.)
13331
13332         * regex.c (regex_compile): Fixed a compile warning.
13333
13334         * select-msw.c:
13335         * select-msw.c (mswindows_own_selection):
13336         * select-msw.c (mswindows_get_foreign_selection):
13337         * select-msw.c (mswindows_disown_selection):
13338         * select-msw.c (console_type_create_select_mswindows):
13339         * select-msw.c (syms_of_select_mswindows):
13340         Cleaned up the file and implemented the device method
13341         selection_exists_p, which had accidentally been left out.  Also
13342         removed four lisp functions that were remnants from before the
13343         time when the selection code was properly device abstracted.
13344         These functions are no longer needed because there are generic
13345         equivalents, and because they were added recently and don't exist
13346         in FSF Emacs, I don't think there's any problem with just deleting
13347         them.
13348
13349         * sysdep.c:
13350         * sysdep.c (sys_subshell):
13351         Fixed a compile warning, although in this case there's probably
13352         something wrong with this code, and it ought to be looked into
13353         more thoroughly by somebody who understands it.
13354
13355         * window.c:
13356         * window.c (Fwindow_text_area_height):
13357         * window.c (Fwindow_width):
13358         * window.c (Fwindow_full_width):
13359         * window.c (Fwindow_pixel_width):
13360         * window.c (debug_print_window):
13361         * window.c (syms_of_window):
13362         Added functions window-text-area-height and window-full-width,
13363         which are functions for returning various width and height
13364         characteristics of a window. (One of these functions is necessary
13365         for making the file dialog box work correctly, and the other one
13366         was added for completeness.)  Also added a table to the
13367         documentation for window-height which describes the entire scheme
13368         for accessing width and height characteristics of a window.
13369
13370 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13371
13372         * nt.c (fstat): Added a comment for another problem with
13373         non-encapsulated [f]stat(), reported by Adrian Aichner
13374         <aichner@ecf.teradyne.com>.
13375
13376 2000-03-11  Andy Piper  <andy@xemacs.org>
13377
13378         * window.c (make_dummy_parent): initialize subwindow instance
13379         cache.
13380         (Fset_window_configuration): zero extent_modiff.
13381
13382 2000-03-10  Andy Piper  <andy@xemacs.org>
13383
13384         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
13385         more changes can be triggered.
13386         (Fredisplay_frame): ditto.
13387         (Fredraw_device): ditto.
13388         (Fredisplay_device): ditto.
13389         (redisplay_frame): make non-static.
13390         (redisplay_frame): call update_frame_gutter_geometry outside of
13391         display proper.
13392
13393         * gutter.h: declare update_frame_gutter_geometry.
13394
13395         * redisplay.h: declare redisplay_frame.
13396
13397         * gutter.c (update_frame_gutter_geometry): move geometry changes
13398         in update_frame_gutters here. Geometry changes can only occur
13399         outside of redisplay.
13400         (update_frame_gutters): remove geometry change code.
13401         (Fredisplay_gutter_area): make sure that we are in display when we
13402         update and that we have flushed any size changes.
13403
13404 2000-03-11  Andy Piper  <andy@xemacs.org>
13405
13406         * alloc.c (pdump_dump_data): remove i & count shadows.
13407
13408 2000-02-27  Mike Alexander  <mta@arbortext.com>
13409
13410         * sysdep.h: Declare pdump_read_file
13411
13412         * sysdep.c (pdump_read_file): New function
13413
13414         * alloc.c (pdump_load): Call pdump_read_file to get the portable
13415         dump data
13416
13417 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13418
13419         * lrecord.h: add `lrecord_type_pgsetenv'.
13420
13421 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
13422
13423         * symsinit.h: declare (vars|syms)_of* functions.
13424         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
13425
13426 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
13427
13428         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
13429
13430         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
13431         GCCs.
13432
13433         * emacs.c (main_1): Call postgres initialization code.
13434
13435         * postgresql.h: New file.  PostgreSQL RDBMS support.
13436         * postgresql.c: New file.
13437
13438 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13439
13440         * redisplay-output.c (redisplay_output_display_block): Disable
13441         redundant code.
13442
13443 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13444
13445         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
13446         (Fcanna_henkan_next): Ditto.
13447         (Fcanna_bunsetu_henkou): Ditto.
13448         (Fcanna_henkan_kakutei): Ditto.
13449         (Fcanna_henkan_end): Ditto.
13450         (Fcanna_henkan_quit): Ditto.
13451         (Fcanna_henkan_next): Set retun value correctly.
13452         (c2mu): Use unsigned char instead of signed char.
13453
13454 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13455
13456         * emacs.c (main_1): Always call syms_of_gui.
13457         * inline.c: include gui.h
13458
13459 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13460
13461         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
13462         converted to Lisp_Object.
13463         (Qtop_bottom): New variable.
13464         (syms_of_redisplay): Initialize it.
13465         * redisplay.h (Vvisible_bell): Ditto.
13466         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
13467         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
13468         only flash top and bottom.
13469
13470 2000-03-08  Andy Piper  <andy@xemacs.org>
13471
13472         * buffer.c (Frename_buffer): record new buffer name the right way.
13473
13474 2000-03-08  Andy Piper  <andy@xemacs.org>
13475
13476         * glyphs.c (update_subwindow): increase hash depth so that widget
13477         items get picked up properly.
13478
13479         * redisplay-output.c (compare_runes): increase hash depth so that
13480         widget items get picked up properly.
13481
13482 2000-03-08  Andy Piper  <andy@xemacs.org>
13483
13484         * gutter.c (output_gutter): add some debug.
13485
13486         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
13487         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
13488         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
13489
13490         * redisplay-output.c (compare_runes): use display_hash to
13491         determine if glyphs really are not the same.
13492
13493         * glyphs.c (update_subwindow): check display_hash to see if
13494         anything really needs to be updated. If not then do
13495         nothing. Record the display_hash after updating.
13496         (image_instance_equal): compare the image_instance face also.
13497
13498 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
13499
13500         * redisplay.h: Fix comment style.
13501
13502 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13503
13504         * consle-msw.h (struct mswindows_frame):
13505         Added new member paint_pending to indicate whether a WM_PAINT
13506         magic event has been queued for this frame.
13507
13508         * event-msw.c (mswindows_drain_windows_queue):
13509         Don't queue a WM_PAINT magic event if one is already queued.
13510         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
13511
13512         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
13513
13514 2000-03-07  Didier Verna  <didier@xemacs.org>
13515
13516         * dired.c: #include `regex.h' after `sysfile.h'.
13517
13518 2000-03-06  Martin Buchholz  <martin@xemacs.org>
13519
13520         * sound.c (init_nas_sound): Fix compiler warning.
13521
13522         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
13523         (FREE_STRUCT_P):
13524         (MARK_STRUCT_AS_FREE):
13525         (MARK_STRUCT_AS_NOT_FREE):
13526         Make `gcc -fstrict-aliasing' work properly.
13527
13528 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13529
13530         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
13531         (mswindows_delete_device): Call CoUnnitialize().
13532
13533         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
13534
13535 2000-02-25    <CraigL@DyCon.com>
13536
13537         * process-nt.c: MinGW now has <shellapi.h>, but still needs
13538         <errno.h>.
13539
13540         * sysdep.c: This extern declaration for environ prevents MinGW
13541         from finding the variable in CRTDLL.DLL.
13542
13543         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
13544         windows headers.
13545         (SHGFI_EXETYPE): ..
13546         (WM_MOUSEWHEEL): ..
13547         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
13548         definitions.
13549         (MMRESULT): Removed, now defined in cygwin's windows headers.
13550         (TIMECAPS): ..
13551         (uid_t,gid_t,pid_t,ssize_t): ..
13552         (_timeb): Removed, MinGW defines both _timeb and timeb.
13553         (HAVE_H_ERRNO): Added.
13554         (HAVE_TZNAME): Added, configure is not detecting this.
13555
13556 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
13557
13558         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
13559         * syntax.c (syntax_match): Use it.
13560
13561         * cmds.c: Import auto-fill-chars from FSF Emacs.
13562         (Vauto_fill_chars): New variables.
13563         (internal_self_insert): Check Vauto_fill_chars.
13564         (vars_of_cmds):
13565         Declare auto-fill-chars as a Lisp variable and initialize it.
13566
13567 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13568
13569         * fileio.c (Fmake_symbolic_link):
13570         (Ffile_symlink_p):
13571         Run handlers even if local machine doesn't have symlinks.
13572
13573 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13574
13575         * event-msw.c (mswindows_drain_windows_queue):
13576         Don't generate paint magic events for non-XEmacs frames.
13577
13578 2000-03-05  Andy Piper  <andy@xemacs.org>
13579
13580         * redisplay.c (redisplay_frame): generate_displayable_area and
13581         friends assumes that we are not in GC, we therefore have to make
13582         sure that this doesn't happen.
13583
13584         * gutter.c (calculate_gutter_size): generate_displayable_area
13585         assumes that we are not in GC, we therefore have to make sure that
13586         this doesn't happen.
13587
13588 2000-03-05  Martin Buchholz  <martin@xemacs.org>
13589
13590         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
13591
13592 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13593
13594         * redisplay.c (regenerate_window): Make sure we set a sane value
13595         for end_pos even if we jump out of the loop.
13596         (regenerate_window): Answer Ben's question :-).
13597         (start_end_of_last_line): Add may_error argument.
13598         (start_of_last_line):
13599         (end_of_last_line): Pass may_error = 0.
13600         (end_of_last_line_may_error): New function.
13601         (pixel_to_glyph_translation): Use it, so we don't crash in
13602         event_to_glyph.
13603
13604 2000-03-04  Andy Piper  <andy@xemacs.org>
13605
13606         * window.h (struct window): add gutter_extent_modiff.
13607
13608         * window.c (allocate_window): zero out gutter_extent_modiff.
13609
13610         * redisplay.h: declare sync_display_line_structs.
13611
13612         * redisplay.c (add_glyph_rune): add a better comment.
13613
13614         * redisplay-output.c (sync_display_line_structs): made non-static.
13615         (compare_runes): remove unneccesary glyph cachel access.
13616
13617         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
13618
13619         * gutter.c (output_gutter): don't output the gutter if extent
13620         changes only involve extents in buffers. use 4 sets of display
13621         lines.
13622         (gutter_extent_signal_changed_region_maybe): new function. Mark
13623         extents in gutters as changed.
13624         (update_frame_gutters): use 4 sets of display lines.
13625         (reset_gutter_display_lines): ditto.
13626         (free_frame_gutters): ditto.
13627         (redraw_exposed_gutter): force output of gutters.
13628
13629         * frame.h (struct frame): add 4 sets of gutter display lines.
13630
13631         * extents.c: (extent_changed_for_redisplay): signal changes to
13632         extents in strings in the gutter as well as extents in buffers.
13633
13634 2000-03-02  Andy Piper  <andy@xemacs.org>
13635
13636         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
13637
13638         * frame.c (Fmake_frame): make sure the gutters get initialized
13639         after the frame is visible.
13640         (set_frame_selected_window): re-arrange compilation macros a
13641         little.
13642         (change_frame_size_1): mark gutters changed.
13643
13644         * device.c (Fset_device_class): mark gutters changed.
13645
13646 2000-03-01  Andy Piper  <andy@xemacs.org>
13647
13648         * window.c (window_top_frame_gutter_height): deleted.
13649         (window_bottom_frame_gutter_height): ditto.
13650         (window_left_frame_gutter_height): ditto.
13651         (window_right_frame_gutter_height): ditto.
13652         (window_top_gutter_height): don't use them.
13653         (window_bottom_gutter_height): ditto.
13654         (window_left_gutter_width): ditto.
13655         (window_right_gutter_width): ditto.
13656         (Fsplit_window): ditto.
13657         (Fwindow_pixel_edges): don't use border dimensions here.
13658
13659         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
13660         (update_scrollbar_instance): ditto.
13661
13662         * redisplay.c (generate_modeline): don't take gutters into account.
13663         (generate_modeline): ditto.
13664         (redisplay_frame): small gutter display optimization.
13665
13666         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
13667
13668         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
13669         gutters into account.
13670
13671         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
13672         for window position and type.
13673
13674         * gutter.c (get_gutter_coords): fix for frame gutters.
13675         (update_frame_gutters): update frame geometry if the gutters have
13676         changed.
13677         (init_frame_gutters): record current gutter geometries.
13678
13679         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
13680         var.
13681         (mswindows_widget_instantiate): ditto.
13682
13683         * frame.h (struct frame): add current_gutter_bounds.
13684
13685         * frame.c (change_frame_size_1): position window and minibuffer
13686         appropriately taking into account the frame gutters.
13687
13688         * frame-x.c: (x_initialize_frame_size): take into account the
13689         frame gutters.
13690
13691 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13692
13693         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
13694
13695 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13696
13697         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
13698
13699 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13700
13701         * file-coding.c (reset_decoding_stream): Clear previous
13702         detection state when autodetect.
13703
13704 2000-02-29  Didier Verna  <didier@xemacs.org>
13705
13706         * extents.c (set_extent_glyph_1): don't require extents to be
13707         attached.
13708
13709 2000-02-27  Andy Piper  <andy@xemacs.org>
13710
13711         * gutter.c (Fset_default_gutter_position): don't default left and
13712         right gutter visibility to t.
13713         (Fset_default_gutter_position): run
13714         default-gutter-position-changed-hook.
13715         (syms_of_gutter): add default-gutter-position-changed-hook.
13716
13717 2000-02-26  Andy Piper  <andy@xemacs.org>
13718
13719         * specifier.c (Fmake_specifier): add gutter references.
13720
13721         * gutter.h (RAW_WINDOW_GUTTER): new macro.
13722
13723         * lisp.h: declare Fvalid_plist_p.
13724
13725         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
13726         as changed.
13727         (default_gutter_visible_p_changed_in_window): invalidate gutter as
13728         well as its visibility so that it gets reconstructed.
13729         (construct_window_gutter_spec): new function. Construct a string
13730         to be displayed in the gutter from a plist of strings. Take care
13731         to only use elements that are declared as visible.
13732         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
13733         WINDOW_GUTTER.
13734         (gutter_validate): allow plists of strings in the specifier.
13735         (gutter_specs_changed): construct the real_gutter from the gutter
13736         specs using construct_window_gutter_spec.
13737         (gutter_visible_validate): gutter-visible is a new specifier type.
13738         (Fgutter_visible_specifier_p): new function for the new specifier.
13739         (syms_of_gutter): declare gutter-visible and
13740         Fgutter_visible_specifier_p.
13741         (specifier_type_create_gutter): intitalize new gutter-visible
13742         specifier.
13743         (reinit_specifier_type_create_gutter): ditto.
13744         (specifier_vars_of_gutter): use new specifier type for gutter
13745         visibility.
13746         (init_frame_gutters): construct real_gutter correctly.
13747         (Fgutter_specifier_p): beef up documentation.
13748         (Fgutter_size_specifier_p): ditto.
13749
13750         * winslots.h: add real_gutter slots.
13751
13752 2000-02-25  Andy Piper  <andy@xemacs.org>
13753
13754         * device-msw.c: Be kind to older cygwin versions. From Raymond
13755         Toy <toy@rtp.ericsson.se>.
13756
13757         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
13758         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
13759
13760 2000-02-25  Martin Buchholz  <martin@xemacs.org>
13761
13762         * elhash.c (MARK_OBJ): Practice macro hygiene.
13763
13764 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13765
13766         * miscplay.c: s/__inline__/inline/g;
13767         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
13768         (get_device_compdc): INLINE ==> static inline
13769         * *.[ch]: Change INLINE to INLINE_HEADER globally.
13770         find -name '*.h' | \
13771         xargs global-replace \
13772         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
13773
13774 2000-02-25  Andy Piper  <andy@xemacs.org>
13775
13776         * window.c (window_top_frame_gutter_height): new function.
13777         (window_top_window_gutter_height): ditto.
13778         (window_top_gutter_height): use them.
13779         (window_bottom_frame_gutter_height): new function.
13780         (window_bottom_window_gutter_height): ditto.
13781         (window_bottom_gutter_height): use them.
13782         (window_left_window_gutter_width): new function.
13783         (window_left_frame_gutter_width): ditto.
13784         (window_left_gutter_width): use them.
13785         (window_right_window_gutter_width): new function.
13786         (window_right_frame_gutter_width): ditto.
13787         (window_right_gutter_width): use them.
13788         (window_pixel_height): new function. calulate window pixel height
13789         with frame gutter involvement.
13790         (Fsplit_window): calculate new sizes taking frame gutters into
13791         account.
13792         (window_char_height_to_pixel_height): don't include frame gutters.
13793         (window_char_height): use window_pixel_height.
13794         (window_pixheight): rename from window_pixel_height.
13795         (change_window_height): use it.
13796         (window_pixel_height_to_char_height): don't include frame gutters.
13797         (window_char_width_to_pixel_width): ditto.
13798
13799 2000-02-25  Andy Piper  <andy@xemacs.org>
13800
13801         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
13802         if it is.
13803
13804 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13805
13806         * alloc.c (staticpro):
13807         (staticpro_nodump):
13808         (dumpstruct):
13809         (dumpopaque):
13810         (pdump_wire):
13811         (pdump_wire_list):
13812         (compact_string_chars):
13813         (pdump_dump_wired):
13814         Convert:  if (foo) abort();  ==>  assert (! foo);
13815
13816         * eldap.c (Fldap_search_basic):
13817         (Fldap_add):
13818         (Fldap_modify):
13819         (Fldap_delete):
13820         Fix compiler warnings, and possible crashes if (random) return
13821         value were to be used.
13822
13823 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13824
13825         * device-msw.c: Workaround ResetDC failure.
13826
13827         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
13828         applying a devmode.
13829
13830         * redisplay-msw.c (get_frame_dc): Added start_page_p.
13831         (mswindows_text_width): Do not start printer page.
13832
13833         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
13834
13835         * glyphs-msw.c: Added image methods to msprinter console and
13836         msprinter-specific image instantiation.
13837
13838 2000-02-20  Mike Alexander  <mta@arbortext.com>
13839
13840         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
13841         to avoid crashes when selection-sets-clipboard is on
13842         (mswindows_own_selection): ditto
13843
13844 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13845
13846         * glyphs-msw.c:
13847         * redisplay-msw.c (get_frame_dc):
13848         (get_frame_compdc):
13849         * console-msw.h:
13850         * device-msw.c (mswindows_init_device):
13851         (mswindows_delete_device):
13852         (msprinter_init_device):
13853         (msprinter_delete_device):
13854         * frame-msw.c (mswindows_init_frame_1):
13855         (mswindows_delete_frame):
13856         (msprinter_init_frame_3):
13857         (msprinter_delete_frame): Move compatible DC to device object from
13858         frame object, for both mswindows and msprinter. Only one at a time
13859         is needed, it is a real waste to have one per frame!
13860
13861 2000-02-23  Andy Piper  <andy@xemacs.org>
13862
13863         * glyphs.c: add dynamic width and height elements.
13864         (image_instance_equal): ditto.
13865
13866         * glyphs-widget.c (widget_query_geometry): calculate width and
13867         height dynamically if required.
13868         (initialize_widget_image_instance): initialize dynamic dimensions.
13869         (widget_instantiate): pick-up dynamic dimensions.
13870
13871         * glyphs.h (struct Lisp_Image_Instance): add width and height for
13872         dynamic determination. Add appropriate macros.
13873
13874         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
13875         dimensions safe.
13876         (WINDOW_GUTTER_SIZE): ditto.
13877         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
13878
13879         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
13880         inline.
13881         (get_frame_dc): ditto.
13882
13883         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
13884         here.
13885
13886 2000-02-23  Martin Buchholz <martin@xemacs.org>
13887
13888         * XEmacs 21.2.31 is released.
13889
13890 2000-02-22  Ben Wing <ben@xemacs.org>
13891
13892         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
13893
13894 2000-02-22  Andy Piper  <andy@xemacs.org>
13895
13896         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
13897
13898 2000-02-21  Mike Sperber <mike@xemacs.org>
13899
13900         * .dbxrc:
13901         * .gdbinit:
13902         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
13903         variables.
13904
13905 2000-02-21  Mike Sperber <mike@xemacs.org>
13906
13907         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
13908
13909 2000-02-21  Martin Buchholz <martin@xemacs.org>
13910
13911         * XEmacs 21.2.30 is released.
13912
13913 2000-02-20  Martin Buchholz  <martin@xemacs.org>
13914
13915         Performance hacking.
13916         * *.c (syms_of_*):
13917         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
13918         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
13919         * emacs.c (main_1):
13920         * lisp.h (DEFUN):
13921         * console.c (DEFVAR_CONSOLE_LOCAL_1):
13922         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
13923         * symeval.h (DEFVAR_SYMVAL_FWD):
13924         * symbols.c (guts_of_unbound_marker):
13925         Make all c_readonly objects also lisp_readonly and marked for life.
13926         * lrecord.h (struct lrecord_implementation):
13927         Document flags better.
13928         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
13929         * lrecord.h (DECLARE_LRECORD):
13930         * lrecord.h (XSETRECORD):
13931         * lrecord.h (RECORDP):
13932         * lrecord.h (RECORD_TYPEP):
13933         * lrecord.h (RECORD_MARKER): New.
13934         * lrecord.h (error_check_*):
13935         * lrecord.h (CONCHECK_NONRECORD):
13936         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
13937         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
13938         * lrecord.h (set_lheader_implementation):
13939         * lrecord.h (enum lrecord_type): New.
13940         * symeval.h (SYMBOL_VALUE_MAGIC_P):
13941         * alloc.c (disksave_object_finalization_1):
13942         * alloc.c (mark_object):
13943         * alloc.c (lrecord_type_index):
13944         * alloc.c (tick_lcrecord_stats):
13945         * alloc.c (Fgarbage_collect):
13946         * alloc.c (init_alloc_once_early):
13947         * alloc.c (pdump_load):
13948         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
13949         * alloc.c (lrecord_type_index): Delete.
13950         Make lisp object type indexes be constant.
13951           Makes (byte-compile) 5% faster.
13952         Put all marker functions into their own array.
13953           Makes (garbage-collect) 5% faster.
13954         Optimize SYMBOL_VALUE_MAGIC_P.
13955           Makes (byte-compile) 2-3% faster.
13956         * config.h.in (gc_checking_assert): New.
13957         * alloc.c: Use gc_checking_assert().
13958         * .dbxrc: Make compatible with new object type implementation.
13959         * .gdbinit: Make compatible with new object type implementation.
13960         * alloc.c: Delete all symbols defined only for debugging, such as
13961         Lisp_Type_Vector and lrecord_charset.
13962
13963 2000-02-21  Andy Piper  <andy@xemacs.org>
13964
13965         * gui-msw.c (Fmswindows_shell_execute): fix file location
13966         problems.
13967
13968         * buffer.c (Fkill_buffer): remove buffer from alist buffer
13969         unshowing so that set_window_buffer doesn't undo
13970         kill_buffer_hook's hard work.
13971
13972         * glyphs-widget.c (tab_control_query_geometry): don't count the
13973         first item when calculating geometry.
13974
13975         * glyphs.c (map_subwindow): remove redundant code.
13976         (update_frame_subwindows): be more circumspect about when to
13977         update subwindows.
13978
13979         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
13980         when items haven't changed. Update faces if faces have changed as
13981         well as just the widget face.
13982         (x_tab_control_update): Update faces if faces have changed as well
13983         as just the widget face.
13984
13985 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13986
13987         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
13988         registration.
13989         (build_syscolor_string): Use mswindows_color_to_string to try to
13990         get a named color.
13991         (mswindows_device_system_metrics): Reverse the foreground and
13992         background colors so that they match the documentation.
13993
13994         * objects-msw.c: (mswindows_X_color_map): tweak some values so
13995         they match the default Windows palette.
13996         (mswindows_color_to_string): New function.
13997
13998 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13999
14000         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14001
14002 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14003
14004         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14005         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14006
14007         * symbols.c (init_symbols_once_early): Removed obsolete
14008         DATA_SEG_BITS related kludge.
14009         (defvar_magic): Ditto.
14010
14011         * malloc.c: Removed obsolete DATA_SEG_BITS
14012         * ralloc.c: Ditto.
14013         * mem-limits.h: Ditto.
14014
14015         * Makefile.in.in: Removed obsolete HAVE_SHM
14016         * emacs.c: Ditto.
14017
14018 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14019
14020         *  device-msw.c (mswindows_delete_device): Free DDE string
14021         handles.
14022
14023 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14024
14025         * keymap.c (get_keyelt):
14026         * unexnt.c (unexec):
14027         * vm-limit.c (memory_warnings):
14028         * ntheap.c (recreate_heap):
14029         * ntheap.h (UNINIT_PTR):
14030         * select-msw.c (Fmswindows_get_clipboard):
14031         (Fmswindows_set_clipboard):
14032         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14033         * objects-msw.c:
14034         * menubar-msw.c (displayable_menu_item):
14035         * glyphs-msw.c:
14036         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14037         * sysdep.c (sys_subshell):
14038         * process-nt.c (nt_create_process):
14039         * nt.c (normalize_filename):
14040         (dostounix_filename):
14041         (unixtodos_filename):
14042         * ntproc.c (win32_executable_type):
14043         * ntplay.c (play_sound_data_1):
14044         (play_sound_file):
14045         * editfns.c (get_home_directory):
14046         * event-msw.c (struct winsock_stream):
14047         (mswindows_dde_callback):
14048         * device-msw.c (msprinter_init_device):
14049         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14050
14051         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14052         mswindows_clear_toolbar were swapped!
14053
14054         * objects-msw.c:(colormap_t):
14055         (fontmap_t):
14056         * emacs.c (struct standard_args): Fixed const jumble.
14057
14058         * glyphs-widget.c (update_widget): Fixed comparison notation.
14059
14060         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14061
14062         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14063         __declspec(noreturn) syntax.
14064
14065 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14066
14067         * eldap.c (Fldap_open):
14068         (Fldap_search_basic):
14069         (Fldap_add):
14070         (Fldap_modify):
14071         Use new coding system conversion macros.
14072
14073 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14074
14075         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14076
14077 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14078
14079         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14080         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14081
14082         * eldap.c (Qadd, Qreplace): New constant symbols
14083         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14084         interruptions by XEmacs signals
14085         Remove unnecessary calls to slow_down_interrupts and
14086         speed_up_interrupts
14087         (Fldap_search_basic): Renamed from Fldap_search_internal
14088         Added new optional parameter VERBOSE that triggers the
14089         display of progress messages
14090         Remove unnecessary calls to slow_down_interrupts and
14091         speed_up_interrupts
14092         LDAP result code analysis rewritten
14093         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14094         (syms_of_eldap): Define the new symbols and functions
14095
14096
14097 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14098
14099         * realpath.c: Determine PATH_MAX maximally portably.
14100
14101         * insdel.c (bytecount_to_charcount): Optimize.
14102         The function used to be optimized for entirely ASCII sequences.
14103         Now it is optimized for successive characters from the same
14104         charset.  This also wins big for _mostly_ ASCII sequences.
14105
14106         * fileio.c (Ffile_truename): convert return from realpath() using
14107         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14108         - Rewrite GCPROing slightly.
14109
14110         * sysdep.c (sys_open): Do filename conversion, like all other
14111         sys_* functions.  Fixes bug:
14112         (let ((file-name-coding-system 'iso-8859-2))
14113            (write-region x y latin2-name))
14114         ==> writes filename using internal encoding.
14115
14116 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14117
14118         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14119         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14120         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14121         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14122         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14123         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14124         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14125         (CONST_IF_NOT_DEBUG): Delete.
14126         * alloc.c (this_one_is_unmarkable): Delete.
14127         (mark_object): Don't check for this_one_is_unmarkable. Use the
14128         c_readonly flag instead.
14129         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14130
14131 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14132
14133         * event-msw.c (mswindows_drain_windows_queue):
14134         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14135         away redundant repaint events.
14136
14137 2000-02-17  Andy Piper  <andy@xemacs.org>
14138
14139         * redisplay.h: declare mark_redisplay_structs.
14140
14141         * redisplay.c (redisplay_window):
14142         (redisplay_frame): don't check subwindows_state_changed.
14143         (mark_redisplay): mark gutters here.
14144
14145         * glyphs.c: (instantiate_image_instantiator): always layout if we
14146         haven't done so already.
14147         (allocate_image_instance): don't mark as dirty.
14148         (update_subwindow): bind inhibit_quit.
14149
14150         * gutter.c (mark_gutters): new function.
14151
14152         * glyphs-x.c (x_update_widget): Always resize to get round a
14153         widget bug.
14154
14155         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14156         breaking absolutely everything.
14157
14158         * gutter.h: declare mark_gutters.
14159
14160 2000-02-16  Martin Buchholz <martin@xemacs.org>
14161
14162         * XEmacs 21.2.29 is released.
14163
14164 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14165
14166         * fns.c (size_bit_vector): Fix computation of the size.
14167
14168 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14169
14170         * *.[ch]: Change CONST to const globally.
14171         find -name '*.[ch]' | \
14172         xargs global-replace \
14173         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
14174         - Remove vestigial references to CONST_IS_LOSING
14175
14176 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14177
14178         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
14179         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
14180         events instead of dispatching them directly.
14181         (mswindows_handle_paint): New function to do repainting.
14182         (mswindows_wnd_proc):
14183         (emacs_mswindows_handle_magic_event): Call above function.
14184
14185 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14186
14187         * objects-msw.c (mswindows_create_font_variant): Return the new
14188         font handle.
14189         (initialize_font_instance): Get font metrics from the underlined
14190         variant of the font to cope with the case where the underlined
14191         font has a bigger descent.
14192
14193 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14194
14195         * gui.c (gui_item_accelerator): Return the first underlined
14196         character in item name.
14197
14198 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14199
14200         * lisp.h: Added Qprinter.
14201
14202         * general.c (syms_of_general): Initialized it.
14203
14204         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
14205         (get_frame_dc):
14206         (get_frame_compdc): Made inline.
14207
14208         * console.h (struct console_methods): Added eject_page method.
14209
14210         * frame.h: Added FRAME_DISPLAY_P and friends.
14211         Aligned backslahes in many macros in more readable fashion.
14212         Added page_number to struct frame, and an accessor macro
14213         for it.
14214
14215         * defice.h: Added DEVICE_DISPLAY_P and friends.
14216
14217         * device.c (Fdevice_printer_p): Used these.
14218
14219         * frame.c (allocate_frame_core): Initialize page number.
14220         (Fprint_job_page_number):
14221         (Fprint_job_eject_page): Implemented.
14222
14223         * frame-msw.c (msprinter_eject_page): Added method.
14224         (msprinter_start_page): Added.
14225
14226         * window.c (Fwindow_truncated_p): Fixed docstring.
14227         (Fwindow_last_line_visible_height): Implemented.
14228
14229 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14230
14231         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
14232
14233 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14234
14235         * syntax.c (scan_words): Always advance at least one character.
14236
14237 2000-02-13  Andy Piper  <andy@xemacs.org>
14238
14239         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
14240         to make sure the glyph is in the cachels.
14241
14242         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
14243         global image instance flag.
14244         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
14245         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
14246
14247         * glyphs.c (allocate_image_instance): set dirty bits correctly.
14248         (Fset_image_instance_property): mark layout as changed.
14249         (invalidate_glyph_geometry_maybe): mark layout as changed.
14250         (glyph_width): use new NEEDS_LAYOUT macro.
14251         (glyph_ascent): ditto.
14252         (glyph_descent): ditto.
14253         (glyph_height): ditto.
14254         (image_instance_layout): mark layout as clean after laying out.
14255         (update_subwindow): don't mark layout as clean here.
14256
14257         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
14258         should no longer be needed.
14259
14260         * glyphs-x.c (x_update_widget): sanitize asserts.
14261         (x_finalize_image_instance): sanitize assignment to widgets.
14262
14263         * glyphs-widget.c (widget_instantiate): don't need to clear the
14264         layout flag here.
14265
14266 2000-02-13  Martin Buchholz  <martin@xemacs.org>
14267
14268         * sysdep.c (getcwd): Use standard prototype.
14269         * sysdep.h (getcwd): Use standard prototype.
14270
14271         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
14272         (sequence, start, end).
14273         Remove redundant type checking.
14274         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
14275         view of `caller-protects') to avoid a crash where the real fix was
14276         found elsewhere.
14277
14278 2000-02-12  Martin Buchholz  <martin@xemacs.org>
14279
14280         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
14281
14282         * s/sol2.h: Remove feature macro initialization.
14283
14284         * alloc.c (alloc_lcrecord): Add more type checking assertions.
14285         (vector_hash): New.  Code from internal_hash.
14286         * lrecord.h:
14287         Fix up allocation subsystem comments.
14288
14289         * config.h.in: Add __EXTENSIONS__ for Solaris.
14290
14291         * systime.h (EMACS_GETTIMEOFDAY): New.
14292         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
14293         Remove Solaris-specific code.
14294         Use void* for the (ignored) second arg for gettimeofday().
14295
14296         * elhash.c (hash_table_hash): Implement it, finally.
14297         * elhash.c:  Use hashcode_t.
14298
14299         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
14300         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
14301
14302         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
14303         * fns.c (size_bit_vector):
14304         * alloc.c (size_vector):
14305         (make_vector_internal):
14306         (make_bit_vector_internal):
14307         (sweep_bit_vectors_1):
14308         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
14309
14310 2000-02-10  Martin Buchholz  <martin@xemacs.org>
14311
14312         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
14313         Include strings.h to avoid warnings for bzero and strcasecmp.
14314
14315 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14316
14317         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
14318         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
14319
14320         * fns.c (size_bit_vector): New.  Declare bit vectors as a
14321         sequence.
14322
14323 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14324
14325         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
14326         use a value field instead.
14327         (symbol_value_forward_forward): Use value field.
14328         (DEFVAR_SYMVAL_FWD): Use value field.
14329         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
14330         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
14331         (DEFVAR_CONST_INT): Ditto.
14332         (DEFVAR_BOOL): Ditto.
14333         (DEFVAR_CONST_BOOL): Ditto.
14334         (DEFVAR_INT_MAGIC): Ditto.
14335         (DEFVAR_BOOL_MAGIC): Ditto.
14336
14337         * symbols.c (guts_of_unbound_marker): Use value field.
14338         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
14339         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
14340
14341         * lisp.h: Declare dumpopaque and noninteractive1.
14342
14343         * alloc.c (dumpopaque): Added.
14344         (pdump_dump_opaquevec): Added.
14345         (pdump): Call pdump_dump_opaquevec to dump opaque data.
14346         (pdump_load): Reload opaque data.  Sync noninteractive1 with
14347         noninteractive.
14348
14349 2000-02-10  Andy Piper  <andy@xemacs.org>
14350
14351         * glyphs.c (image_instance_layout): if the size changes, mark it
14352         as such.
14353
14354         * redisplay-output.c (redisplay_output_layout): Update the
14355         subwindow here.
14356         (redisplay_output_subwindow): ditto.
14357
14358         * glyphs.c (update_subwindow): make sure we reset flags for
14359         layouts as well as everything else.
14360
14361         * glyphs-widget.c (layout_layout): don't need to set the instances
14362         dimensions here.
14363
14364 2000-02-09  Martin Buchholz  <martin@xemacs.org>
14365
14366         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
14367         not HAVE_DLOPEN, which is a lower-level thing.
14368
14369         * .cvsignore: Ignore gmon.out
14370
14371 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
14372
14373         * .cvsignore: Ignore portable dumper xemacs.dmp file
14374
14375 2000-02-09  Andy Piper  <andy@xemacs.org>
14376
14377         * redisplay-output.c (redisplay_output_layout): be more clever
14378         about when we output based on the changed flags.
14379
14380         * glyphs.h (struct image_instantiator_methods): add update_method.
14381         (struct Lisp_Image_Instance): add changed flags. Declare new
14382         macros for manipulating them.
14383
14384         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
14385         (image_instance_parent_glyph): find an image_instance's parent
14386         glyph or image_instance.
14387         (image_instance_layout): mark the size as changed.
14388         (set_image_instance_dirty_p): new function. mark an image
14389         instance, plus all of its parents, as dirty.
14390         (Fset_image_instance_property): use it.
14391         (Fglyph_animated_timeout_handler): use it.
14392         (update_subwindow): call update_widget and device methods for
14393         update_subwindow. Mark all changed flags as clean.
14394         (Fresize_subwindow): mark size as changed.
14395
14396         * glyphs-x.c (x_finalize_image_instance): try and detect gc
14397         failures.
14398         (x_update_subwindow): only resize subwindows here.
14399         (x_update_widget): new function. Update all changed properties of
14400         a widget.
14401         (x_resize_subwindow): deleted.
14402         (x_widget_set_property): deleted.
14403         (x_progress_gauge_set_property): deleted.
14404         (x_progress_gauge_update): new function. Implement recorded
14405         changes.
14406         (x_tab_control_update): ditto.
14407         (x_tab_control_set_property): deleted.
14408         (console_type_create_glyphs_x): declare new functions.
14409         (image_instantiator_format_create_glyphs_x): ditto.
14410
14411         * glyphs-widget.c (widget_set_property): mark text changed.
14412         (update_widget): new function. Update properties of a widget.
14413         (widget_instantiate): for layouts make sure we set their
14414         children's parent correctly.
14415         (tab_control_set_property): new function. Record changes that will
14416         take place under redisplay's control.
14417         (progress_gauge_set_property): ditto.
14418         (image_instantiator_progress_guage): declare new functions.
14419         (image_instantiator_tab_control): ditto.
14420
14421         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
14422         now.
14423         (mswindows_update_widget): new function. Update all properties on
14424         a widget that have changed.
14425         (mswindows_button_update): new function. Update a button's set
14426         state.
14427         (mswindows_tab_control_update): new function. Update the items in
14428         a tab.
14429         (mswindows_tab_control_set_property): deleted.
14430         (mswindows_progress_gauge_update): new function. Update the
14431         progress gauge's progress.
14432         (mswindows_widget_set_property): deleted. This is all done
14433         asynchronously now.
14434         (mswindows_progress_gauge_set_property): ditto.
14435         (console_type_create_glyphs_mswindows): declare new methods.
14436         (image_instantiator_format_create_glyphs_mswindows): ditto.
14437
14438         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
14439         (msprinter_set_frame_properties): ditto.
14440
14441         * console.h (struct console_methods): Add update_widget_method.
14442
14443 2000-02-09  Andy Piper  <andy@xemacs.org>
14444
14445         * gui-msw.c (Fmswindows_shell_execute): Make
14446         mswindows-shell-execute industrial strength.
14447
14448 2000-02-08  Martin Buchholz  <martin@xemacs.org>
14449
14450         * lrecord.h: Make macro argument `props' match member function `plist'.
14451         * fns.c (Fget):
14452         * fns.c (Fput):
14453         * fns.c (Fremprop):
14454         * fns.c (Fobject_plist):
14455         * alloc.c:
14456         * symbols.c:
14457         Object property list frobbing cleanup.
14458         - Allow any lisp object (compared with `eq'), not just symbols, as
14459           keys in object plists.
14460         - Move symbol plist frobbing into symbols.c, where it belongs.
14461         - Move string plist frobbing into alloc.c, where it belongs.
14462         - Everything's an lrecord now, so no need to test for symbolp, etc.
14463         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
14464
14465         * extents.c: Reorder code to remove declarations.
14466
14467         * frame.h (store_in_alist): Remove useless declaration.
14468
14469 2000-02-07  Martin Buchholz  <martin@xemacs.org>
14470
14471         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
14472         * config.h.in: Add HAVE_XCONVERTCASE.
14473
14474 2000-02-07  Andy Piper  <andy@xemacs.org>
14475
14476         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
14477         it breaks many things.
14478
14479 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14480
14481         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
14482         actually can start a common comment type.
14483         * src/syntax.h (SYNTAX_END_P): ditto for end.
14484
14485 2000-02-07  Martin Buchholz <martin@xemacs.org>
14486
14487         * XEmacs 21.2.28 is released.
14488
14489 2000-02-06  Martin Buchholz  <martin@xemacs.org>
14490
14491         * event-Xt.c (x_keysym_to_character): New.
14492         (maybe_define_x_key_as_self_inserting_character): New.
14493         (x_has_keysym): New.
14494         Auto-define all keys on the keyboard as self-insert-key.
14495
14496 2000-02-02  Martin Buchholz  <martin@xemacs.org>
14497
14498         * menubar.c (vars_of_menubar): A small code simplification.
14499
14500         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
14501
14502         * ExternalShell.c:
14503         * ExternalClient.c:
14504         * EmacsShell-sub.c:
14505         * EmacsManager.c:
14506         * EmacsFrame.c:
14507         Use consistent style for specifying X resources.
14508
14509         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
14510         This makes (dontusethis-set-symbol-value-handler) actually usable.
14511
14512         * lrecord.h (lrecord_decription_type):
14513         * alloc.c (pdump_register_sub):
14514         (pdump_dump_data):
14515         (pdump_reloc_one):
14516         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
14517         Comply with XEmacs coding style.
14518         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
14519         args, and XD_LISP_OBJECT_ARRAY with 3 args.
14520
14521         * keymap.c (Faccessible_keymaps):
14522         Make (accessible-keymaps map "\C-h") do the Right Thing.
14523         Make (accessible-keymaps map []) do the Right Thing.
14524         Make (accessible-keymaps map "") do the Right Thing.
14525         (check_keymap_definition_loop): New function.
14526         (keymap_store_internal): Keep luser from shooting self in foot,
14527           via (define-key ctl-x-4-map "p" global-map).
14528         Remove fullness slot from struct Lisp_Keymap, since hash tables
14529         are now reliable.
14530         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
14531
14532 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14533
14534         * redisplay.c (init_redisplay): Fix small memory leak.
14535         * elhash.h:
14536         * elhash.c (pdump_reorganize_hash_table):
14537         Rename from reorganize_hash_table. Change prototype.
14538         Reuse the original memory for hentries.  Save 100k.
14539         * alloc.c (PDUMP_READ): new macro.
14540         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
14541         * alloc.c: No need to #ifndef before #undef.
14542
14543         * print.c: Allow debug_print() to print readably by modifying
14544         debug_print_readably.  Use consistent variable names.
14545
14546         * .dbxrc: Try to get things to work even if stopped in a function
14547         without source available by explicitly specifying source files.
14548 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14549
14550         * unexnt.c (_start): Removed bogus code which caused loading heap
14551         from differrent executable file.
14552         Removed bogus assignment to _fmode, which caused inconsistencies.
14553
14554 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14555
14556         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
14557         Have spawnve encapsulation regard DONT_ENCAPSULATE.
14558         Do not preliminary `#define signal sigset'.
14559
14560         * systime.h: Do not prototype environ on windows nt and cygwin,
14561         this conflicts with system header.
14562
14563         * syssignal.h: Use correct define for WINDOWSNT
14564
14565         * sysdep.h: Do not prototype environ on windows nt, this conflicts
14566         with system header.
14567
14568         * sysdep.c (near start of file): Fixed commentary and rearranged
14569         ifdefs in readable order.
14570         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
14571         (start_of_text):
14572         (end_of_text):
14573         (end_of_data): Do not compile in if using PDUMP.
14574
14575         * symsinit.h: Prototyped vars_of_nt().
14576
14577         * ntproc.c (windows9x_p): Added, instead of os_subtype.
14578         (find_child_console): Use it.
14579         (sys_kill): Use it.
14580
14581         * ntheap.h: Do not extern os_subtype.
14582
14583         * ntheap.c (cache_system_info): Do not cache unneeded:
14584         nt_major_version, nt_minor_version and os_subtype.
14585         (recreate_heap): Do not compile in when PDUMPing.
14586
14587         * nt.c (geteuid and friends): Use the new varibale
14588         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
14589         (init_user_info): Removed the above mentioned hackery.
14590         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
14591         stat has been fixed in the C runtime.
14592         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
14593
14594         * file-coding.c (struct file_coding_dump): Do not define
14595         ucs_to_mule_table in the struct if not MULE.
14596         (struct struct lrecord_description fcd_description_1): Do not dump
14597         the above.
14598
14599         * emacs.c (main_1): Call vars_of_nt().
14600         (right before Fdump_emacs_data): Don't need lastfile if using both
14601         portabe dumper and system malloc.
14602
14603         * alloc.c (Fmemory_limit): Conditionalized out.
14604         (pdump): Use OPEN_BINARY for the portable dump file.
14605         (pdump_load): Ditto.
14606
14607 2000-02-02  Mike Alexander  <mta@arbortext.com>
14608
14609         * nt.c (convert_time): Set tm_isdst before calling mktime and
14610         avoid calling it at all if the compiler supports 64 bit integers.
14611         Also initialize utc_base_ft before using it.
14612
14613 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14614
14615         * frame.c (change_frame_size_1): Take f->internal_border_width
14616         into consideration when calculating the width of the frame.
14617
14618 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14619
14620         * window.c (frame_min_height):
14621         (frame_size_valid_p):
14622         (frame_pixsize_valid_p): Added.
14623         (check_frame_size): Generalized.
14624
14625         * window.h: Prototyped the above.
14626
14627         * lisp.h:
14628         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
14629         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
14630         Deleted Vwin32_* and Vbinary_process_* unused variables.
14631
14632         * device-msw.c (msprinter_init_device): Do not get printer font
14633         list; Added DEVMODE functions.
14634
14635         * frame-msw.c: Added lots of printer code.
14636
14637         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
14638         general.c.
14639
14640         * console-msw.h: Added more msprinter device private slots.
14641
14642 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14643
14644         * event-msw.c (key_needs_default_processing_p): Added.
14645         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
14646
14647 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14648
14649         * glyphs.c (image_instance_layout): Mark image instance as clean
14650         after layout.
14651         (glyph_dirty_p): Removed redundant function.
14652         (invalidate_glyph_geometry_maybe): Added.
14653         (update_glyph_cachel_data): Call it.
14654
14655         * glyphs.h: Prototyped it.
14656
14657         * redisplay.c (add_glyph_rune): Call it.
14658         (redisplay_window): Reset glyphs cachels when frame faces have
14659         changed, thus forcing recomputation of built-in border glyphs.
14660
14661 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14662
14663         * Makefile.in.in: Make portable dumper and purify play well together.
14664         Add imperfect, but better than nothing, support for pdump.
14665         Remove xemacs.dmp when temacs is re-generated.
14666         Don't ignore errors when dumping xemacs.
14667
14668         * symbols.c (maybe_call_magic_handler): Remove one magic number.
14669
14670 2000-01-28  Andy Piper  <andy@xemacs.org>
14671
14672         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
14673         (setup_normal_frame): ditto.
14674         (setup_frame_without_minibuffer): ditto.
14675         (setup_minibuffer_frame): ditto.
14676         (delete_frame_internal): ditto.
14677         (Fmake_frame_invisible): ditto.
14678         (Ficonify_frame): ditto.
14679
14680         * window.h: change Fset_window_buffer signature.
14681
14682         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
14683         (Fset_window_buffer): allow recording of buffer if the window is
14684         the selected window.
14685         (window_loop): Use new Fset_window signature.
14686
14687 2000-01-23  Daniel Pittman  <daniel@danann.net>
14688
14689         * config.h.in: Added template for `HAVE_ATHENA_3D'
14690
14691 2000-01-29  Andy Piper  <andy@xemacs.org>
14692
14693         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
14694
14695         * gutter.c (output_gutter): Don't output if the window isn't live.
14696
14697 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14698
14699         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
14700         of 01/12/00: Moved SetFocus back here where it belongs.
14701
14702 2000-01-23  Andy Piper  <andy@xemacs.org>
14703
14704         * s/cygwin32.h: declare printer things.
14705
14706 2000-01-26  Andy Piper  <andy@xemacs.org>
14707
14708         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
14709         Alexander.
14710
14711 2000-01-24  Andy Piper  <andy@xemacs.org>
14712
14713         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
14714         (mswindows_button_instantiate): Make sure glyph is a pixmap.
14715
14716         * glyphs-widget.c (widget_instantiate): Avoid shadows.
14717
14718         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
14719
14720         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
14721
14722         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
14723         (mswindows_output_display_block): Avoid local shadows.
14724
14725         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
14726         (mswindows_enqueue_mouse_button_event): ditto.
14727         (mswindows_handle_gui_wm_command): remove declaration.
14728
14729         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
14730         warnings.
14731
14732         * console-msw.h: Avoid shadows.
14733         (mswindows_get_toolbar_button_text):
14734         (emacs_mswindows_create_stream_pair):
14735         (emacs_mswindows_delete_stream_pair):
14736         (mswindows_handle_toolbar_wm_command): declare.
14737
14738         * device-msw.c (build_syscolor_string): Avoid shadows.
14739
14740 2000-01-23  Andy Piper  <andy@xemacs.org>
14741
14742         * glyphs-widget.c (widget_instantiate): reverse the items for
14743         layouts so that children are in the expected order.
14744
14745 2000-01-28  Martin Buchholz  <martin@xemacs.org>
14746
14747         * ralloc.c: safe_bcopy ==> memmove
14748         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
14749         * s/msdos.h: Remove BCOPY macros.
14750         * insdel.c (gap_right): Remove BCOPY conditional code.
14751         * insdel.c (gap_left): Remove BCOPY conditional code.
14752         XEmacs demands a working ANSI C compiler - hence memmove.
14753
14754         * regex.c (regex_compile): Remove accidental use of trigraphs.
14755
14756 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14757
14758         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
14759         event timestamp.
14760
14761 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14762
14763         * event-msw.c (mswindows_drain_windows_queue): Added the
14764         parameter.
14765         (mswindows_need_event): Commented the call to
14766         mswindows_drain_windows_queue().
14767         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
14768         only.
14769
14770         * console-msw.h: Moved a few function prototypes here from
14771         event-msw.c.
14772
14773         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
14774         parameter from unsigned short to unsigned long.
14775         (Fmswindows_shell_execute): Added return value.
14776
14777 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14778
14779         * sysdep.c (init_system_name):
14780           process-unix.c (unix_canonicalized_host_name):
14781         Don't call freeaddrinfo() if getaddrinfo() fails.
14782
14783         * process-unix.c (unix_open_unix_network_stream):
14784         Moved the code to get a port # into address loop.
14785
14786 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14787
14788         * buffer.c (reinit_vars_of_buffer):
14789         The right place to initialize conversion_in_dynarr and
14790         conversion_out_dynarr.
14791
14792         * alloc.c (pdump): Use the real open() till sys_open() is functional.
14793
14794         * process-unix.c (unix_canonicalize_host_name): Muleize.
14795         (unix_open_network_stream): Muleize.
14796
14797         * buffer.h: Fix up prototypes for ralloc.c functions.
14798
14799 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14800         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
14801         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
14802                 instead of gethostbyname()
14803         * process-unix.c: In unix_canonicalize_host_name() and
14804                 unix_open_network_stream(), add code to use getaddrinfo()
14805                 instead of gethostbyname().
14806
14807 2000-01-27  Daniel Pittman <daniel@danann.net>
14808
14809         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
14810         libs when built with flat Athena.
14811
14812 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14813
14814         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
14815         Use coding standards for function prototypes.
14816
14817 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14818
14819         * dialog-msw.c (push_lisp_string_as_unicode):
14820         * doc.c (unparesseuxify_doc_string):
14821         * dired.c (Fuser_name_completion_1):
14822         * dired.c (Fuser_name_all_completions):
14823         * dired.c (free_user_cache):
14824         * dired.c (user_name_completion):
14825         * console-x.c (get_display_arg_connection):
14826         * minibuf.c (clear_echo_area_internal):
14827         * minibuf.c (echo_area_append):
14828         * eldap.c (Fldap_open):
14829         * eldap.c (Fldap_search_internal):
14830         * frame-x.c (x_set_frame_text_value):
14831         * frame-x.c (x_set_frame_properties):
14832         * frame-x.c (x_create_widgets):
14833         * redisplay-tty.c (term_get_fkeys_1):
14834         * objects-x.c (x_parse_nearest_color):
14835         * objects-x.c (x_valid_color_name_p):
14836         * objects-x.c (x_initialize_font_instance):
14837         * objects-x.c (x_list_fonts):
14838         * objects-x.c (x_find_charset_font):
14839         * tooltalk.c (Fadd_tooltalk_message_arg):
14840         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
14841         * tooltalk.c (Fadd_tooltalk_pattern_arg):
14842         * process-unix.c (unix_create_process):
14843         * ntproc.c (sys_spawnve):
14844         * sound.c (Fplay_sound_file):
14845         * sound.c (Fplay_sound):
14846         * buffer.c (init_initial_directory):
14847         * buffer.c (init_buffer):
14848         * editfns.c (init_editfns):
14849         * editfns.c (Ftemp_directory):
14850         * editfns.c (Fuser_full_name):
14851         * editfns.c (uncache_home_directory):
14852         * editfns.c (get_home_directory):
14853         * editfns.c (Fuser_home_directory):
14854         * editfns.c (Fformat_time_string):
14855         * editfns.c (Fcurrent_time_string):
14856         * gui-x.c (button_item_to_widget_value):
14857         * database.c (Fopen_database):
14858         * event-Xt.c (x_to_emacs_keysym):
14859         * event-Xt.c (x_event_to_emacs_event):
14860         * event-Xt.c (describe_event_window):
14861         * event-msw.c (mswindows_wnd_proc):
14862         * glyphs-eimage.c (jpeg_instantiate):
14863         * glyphs-eimage.c (gif_instantiate):
14864         * glyphs-eimage.c (png_instantiate):
14865         * glyphs-eimage.c (tiff_instantiate):
14866         * glyphs-x.c (xbm_instantiate_1):
14867         * glyphs-x.c (x_xbm_instantiate):
14868         * glyphs-x.c (x_xface_instantiate):
14869         * glyphs-x.c (autodetect_instantiate):
14870         * glyphs-x.c (cursor_font_instantiate):
14871         * glyphs-x.c (x_widget_instantiate):
14872         * glyphs-x.c (x_widget_set_property):
14873         * glyphs-x.c (x_widget_property):
14874         * glyphs-x.c (BUILD_GLYPH_INST):
14875         * print.c (write_string_to_stdio_stream):
14876         * print.c (output_string):
14877         * print.c (Falternate_debugging_output):
14878         * print.c (Fexternal_debugging_output):
14879         * glyphs-msw.c (extract_xpm_color_names):
14880         * glyphs-msw.c (mswindows_xpm_instantiate):
14881         * glyphs-msw.c (bmp_instantiate):
14882         * glyphs-msw.c (resource_name_to_resource):
14883         * glyphs-msw.c (mswindows_resource_instantiate):
14884         * glyphs-msw.c (xbm_instantiate_1):
14885         * glyphs-msw.c (mswindows_xbm_instantiate):
14886         * glyphs-msw.c (mswindows_xface_instantiate):
14887         * glyphs-msw.c (mswindows_widget_instantiate):
14888         * glyphs-msw.c (add_tree_item):
14889         * glyphs-msw.c (add_tab_item):
14890         * glyphs-msw.c (mswindows_combo_box_instantiate):
14891         * glyphs-msw.c (mswindows_widget_property):
14892         * glyphs-msw.c (mswindows_combo_box_property):
14893         * glyphs-msw.c (mswindows_widget_set_property):
14894         * console.c (stuff_buffered_input):
14895         * objects-msw.c (mswindows_initialize_color_instance):
14896         * objects-msw.c (mswindows_valid_color_name_p):
14897         * objects-msw.c (mswindows_list_fonts):
14898         * objects-msw.c (mswindows_font_instance_truename):
14899         * bytecode.c (optimize_compiled_function):
14900         * select-x.c (symbol_to_x_atom):
14901         * select-x.c (x_atom_to_symbol):
14902         * select-x.c (hack_motif_clipboard_selection):
14903         * select-x.c (selection_data_to_lisp_data):
14904         * select-x.c (lisp_data_to_selection_data):
14905         * select-x.c (Fx_get_cutbuffer_internal):
14906         * select-x.c (Fx_store_cutbuffer_internal):
14907         * buffer.h (TO_EXTERNAL_FORMAT): New function.
14908         * buffer.h (TO_INTERNAL_FORMAT): New function.
14909         * emacs.c (make_arg_list_1):
14910         * emacs.c (make_argc_argv):
14911         * emacs.c (main_1):
14912         * emacs.c (Fdump_emacs):
14913         * emacs.c (split_string_by_emchar_1):
14914         * file-coding.h:
14915         * lisp.h:
14916         * lstream.h:
14917         * symsinit.h:
14918         * device-x.c (x_init_device):
14919         * device-x.c (Fx_valid_keysym_name_p):
14920         * device-x.c (Fx_get_font_path):
14921         * device-x.c (Fx_set_font_path):
14922         * glyphs.c (bitmap_to_lisp_data):
14923         * glyphs.c (pixmap_to_lisp_data):
14924         * alloc.c (make_ext_string): Use coding system arguments.  Update
14925         all callers.
14926         * alloc.c (build_string):
14927         * callproc.c (child_setup):
14928         * callproc.c (init_callproc):
14929         * fileio.c (lisp_strerror):
14930         * fileio.c (directory_file_name):
14931         * fileio.c (Fexpand_file_name):
14932         * fileio.c (Ffile_truename):
14933         * fileio.c (Fsysnetunam):
14934         * fileio.c (Fdo_auto_save):
14935         * sysdep.c (sys_readdir):
14936         * tests.c: New file.  Allow adding C tests.
14937         Replace GET_* macros with a more comprehensible and flexible
14938         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
14939         Modify all calls.
14940         Any coding system can be used to do format conversion.
14941         Eliminate enum external_data_format.
14942         Eliminate convert_to_external_format.
14943         Eliminate convert_to_internal_format.
14944         Make sure file-name, keyboard, terminal, and ctext are always
14945         defined as coding systems or aliases.  Make
14946         file-name-coding-system, terminal-coding-system, and
14947         keyboard-coding-system magical variables that are equivalent to
14948         defining the corresponding coding system aliases.
14949
14950         * file-coding.c (Fcoding_system_canonical_name_p): New function.
14951         * file-coding.c (Fcoding_system_alias_p): New function.
14952         * file-coding.c (Fcoding_system_aliasee): New function.
14953         * file-coding.c (append_suffix_to_symbol): New function.
14954         * file-coding.c (dangling_coding_system_alias_p): New function.
14955         * file-coding.c (Ffind_coding_system):
14956         * file-coding.c (Fcopy_coding_system):
14957         * file-coding.c (encode_coding_no_conversion):
14958         * file-coding.c (syms_of_file_coding):
14959         * file-coding.c (vars_of_file_coding):
14960         Rewrite coding system alias code.
14961         Allow nested aliases, like symbolic links.
14962         Allow redefinition of coding system aliases.
14963         Prevent existence of dangling coding system aliases.
14964
14965         * dired.c (Fuser_name_completion_1):
14966         * dired.c (Fuser_name_all_completions):
14967         A crash would happen if user did QUIT in the middle of building
14968         user_name_cache.  Remove redundant code in mainline and unwind_protect.
14969
14970         * lisp.h:
14971         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
14972
14973         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
14974         an unsigned char *.  Update all callers.
14975
14976 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14977
14978         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
14979
14980 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14981
14982         * elhash.c (hentry_description): Use more portable definition.
14983         (resize_hash_table): Initialize new hentries using
14984         xnew_array_and_zero, thereby simplifying the code.
14985
14986         * mule-charset.c (make_charset): Make sure entire object is
14987         initialized, to avoid Purify warnings.
14988
14989         * alloc.c (resize_string): Fix unlikely crash with big strings.
14990
14991 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14992
14993         * realpath.c (xrealpath):
14994         Don't call getwd().
14995
14996 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14997
14998         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
14999
15000 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15001
15002         * unexelfsgi.c (unexec): Change the way we decide which segment
15003         should be extended.
15004
15005         Assumption that .bss section should be outside the PT_LOADable
15006         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15007         it's present) is inside the 'data' segment. This would fail the
15008         test which was used to find a segment to grow and cover new
15009         heap. Instead of this assumption, I created another one - on IRIX
15010         the segment to grow should start below .bss and it's address
15011         should extent above the end of .bss. Once this segment is
15012         identified, it's grown to accommodate the new heap and new
15013         zero-length .bss section is added at the end of .data2.
15014
15015 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15016
15017         * eval.c (Feval): Wrong number of arguments should use original
15018         function, not the indirect_function version of it.
15019
15020 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15021
15022         * glyphs-x.c (x_button_instantiate): Don't add image if
15023         it is not a pixmap.
15024         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15025         is relative.
15026
15027 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15028
15029         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15030         declaration.
15031         (DEFVAR_INT_MAGIC): Ditto.
15032         (DEFVAR_BOOL_MAGIC): Ditto.
15033         * glyphs.h: Reindent backslash.
15034
15035 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15036
15037         * glyphs-widget.c (layout_query_geometry):
15038         (layout_layout): Use correct types for gheight, gwidth.
15039
15040 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15041
15042         * EmacsManager.c (QueryGeometry): Purified.
15043
15044 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15045
15046         * alloc.c (make_float): Make sure entire object is initialized, to
15047         avoid Purify warnings.
15048         (pdump_register_sub): Remove useless assignment.
15049         (pdump): Use xmalloc, not malloc.
15050         (pdump_load): Use xmalloc, not malloc.
15051
15052 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15053
15054         * callproc.c:
15055         * dired-msw.c:
15056         * fileio.c:
15057         * process-nt.c:
15058         * redisplay-msw.c:
15059         * sysdep.c: Removed redundant #include <windows.h>
15060
15061 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15062
15063         * frame.c (delete_frame_internal): Do not delete device when its
15064         implementation so declares.
15065         (delete_frame_internal): Set device selected frame to nil when
15066         last frame goes away.
15067
15068         * device-msw.c (msprinter_device_system_metrics): Implemented.
15069         (mswindows_device_system_metrics): Added 'device-dpi property.
15070
15071         * device.c: (Fdevice_printer_p): Added.
15072         Added 'offset-workspace device metric.
15073
15074         * console.h (device_metrics): Declared DM_offset_workspace.
15075
15076 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15077
15078         * fileio.c (Ffile_truename): Remove pointless and confusing
15079         initialization of elen.
15080
15081         * glyphs-widget.c: Compiler warning fixes.
15082
15083 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15084
15085         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15086         instead of a Lisp_Object as argument to make it consistent with
15087         the other LIVE_P macros.
15088         (CHECK_LIVE_PROCESS): New macro.
15089
15090         * process.c: Declare Qprocess_live_p.
15091         (Fprocess_live_p): New function.
15092         (create_process): Use PROCESS_LIVE_P.
15093         (read_process_output): Ditto.
15094         (set_process_filter): Ditto.
15095         (Fdelete_process): Ditto.
15096         (kill_buffer_processes): Ditto
15097         (process_send_signal): Use CHECK_LIVE_PROCESS.
15098         (Fprocess_input_coding_system): Check whether process is still
15099         alive (fix PR#1061).
15100         (Fprocess_output_coding_system): Ditto.
15101         (Fprocess_coding_system): Ditto.
15102         (Fset_process_input_coding_system): Ditto.
15103         (Fset_process_output_coding_system): Ditto.
15104
15105 2000-01-23  Andy Piper  <andy@xemacs.org>
15106
15107         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15108         layout and widget.
15109
15110         * glyphs.c (mark_image_instance): take into account changed
15111         image_instance format.
15112         (image_instance_equal): ditto.
15113         (image_instance_hash): ditto.
15114
15115         * glyphs-widget.c (widget_instantiate): Incorporate layout
15116         instantiation here. Delay layout of the layout until later.
15117         (layout_instantiate): deleted.
15118         (layout_query_geometry): new function. get the geometry of a
15119         layout.
15120         (layout_layout): layout a layout dynamically.
15121         (image_instantiator_widget): New function - splitting up
15122         image_instantiator_format_create_glyphs_widget for netwinder
15123         compilation.
15124         (image_instantiator_buttons):
15125         (image_instantiator_edit_fields):
15126         (image_instantiator_combo_box):
15127         (image_instantiator_scrollbar):
15128         (image_instantiator_progress_guage):
15129         (image_instantiator_tree_view):
15130         (image_instantiator_tab_control):
15131         (image_instantiator_labels):
15132         (image_instantiator_layout): ditto.
15133         (image_instantiator_format_create_glyphs_widget): Call preceding
15134         functions.
15135
15136 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15137
15138         * process.c (Fset_process_coding_system):
15139         * device-x.c (Fx_keysym_hash_table):
15140         Docstring fixes.
15141
15142         * lstream.c (Lstream_write): Return documented value, not 0.
15143
15144         * fileio.c (directory_file_name):
15145         (Fsubstitute_in_file_name):
15146         (Fsubstitute_insert_file_contents_internal):
15147         (Fwrite_region_internal):
15148         * emacs.c:
15149         * sysdep.c:
15150         * getloadavg.c:
15151         * systty.h:
15152         Remove vestigial APOLLO-conditional code.
15153
15154 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15155
15156         * getpagesize.h: Add guard macros.
15157         * libsst.h: Add guard macros.
15158         * libst.h: Add guard macros.
15159         * line-number.h: Add guard macros.
15160         * ndir.h: Add guard macros.
15161         * sysfloat.h: Add guard macros.
15162         * sysfile.h: Add guard macros.
15163         * sysproc.h: Add guard macros.
15164         * syswait.h: Add guard macros.
15165         * xintrinsic.h: Add guard macros.
15166         * xintrinsicp.h: Add guard macros.
15167         * xmmanager.h: Add guard macros.
15168         * xmmanagerp.h: Add guard macros.
15169         * xmprimitive.h: Add guard macros.
15170         * xmu.h: Add guard macros.
15171         * gpmevent.h: Add copyright statement. Add guard macros.
15172         * miscplay.h: Add guard macros.
15173         * *.h: Use consistent C-standards-approved guard macro names.
15174
15175         * opaque.c (make_opaque): Switch parameter order.
15176         * opaque.h (make_opaque): Switch parameter order.
15177         Update all callers.
15178         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
15179
15180         * config.h.in (type_checking_assert): Added.
15181         (bufpos_checking_assert): Added.
15182
15183 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15184
15185         * alloc.c: Harmless pdump changes.
15186         - Use countof().
15187         - spell alignment correctly.
15188         * sysdep.c: Use countof()
15189
15190 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15191
15192         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
15193         initially_selected_for_input() console method, default to 0.
15194         (semi_canonicalize_console_connection): Try to delegate to
15195         canonicalize_console_connection if no such console method.
15196         (canonicalize_console_connection): Vice versa.
15197         (print_console): Do not print nil connection.
15198
15199         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
15200         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
15201         (XDEVIMPF_FRAMELESS_OK): Added.
15202         (CONSOLE_INHERITS_METHOD): Added.
15203
15204         * console-msw.c (mswindows_canonicalize_console_connection):
15205         Added.
15206         (mswindows_canonicalize_device_connection): Added.
15207
15208         * console-msw.h (struct msprinter_device): Added this struct and
15209         accessor macros.
15210         (mswindows_device): Made fontlist a lisp object.
15211
15212         * device.c (semi_canonicalize_device_connection):  Try to delegate
15213         to canonicalize_device_connection if no such console method.
15214         (canonicalize_device_connection): Vice versa.
15215         (print_device): Do not print nil connection.
15216
15217         * device-msw.c (mswindows_init_device): Call InitCommonControls
15218         when have widgets.
15219         (mswindows_delete_device): Removed fontlist deallocation.
15220         (mswindows_mark_device): Added.
15221
15222         * events.c (event_equal): Added abort() at unreached code.
15223         (event_hash): Ditto.
15224
15225         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
15226         fallback tags of Windows devices.
15227
15228         * general.c (syms_of_general): Initialized Qmsprinter.
15229
15230         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
15231         of fallback tags of Windows devices.
15232
15233         * lisp.h: Declared Qmsprinter.
15234
15235         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
15236         of strings.
15237         (mswindows_list_fonts): Ditto.
15238         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
15239         that it can be used by both mswindows and msprinter devices.
15240         (initialize_font_instance): Added.
15241         (mswindows_initialize_font_instance): Use it.
15242         (msprinter_initialize_font_instance): Added.
15243
15244         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
15245         and implementation flags check.
15246         (redisplay_without_hooks): Changed the call to the above.
15247         (Fredraw_device): Ditto.
15248         (Fredisplay_device): Ditto.
15249
15250         * redisplay-msw.c (get_frame_dc): Implemented.
15251         (get_frame_compdc): Implemented.
15252         (many functions): Use the two functions above to get device
15253         contexts, ether for a window or a printer.
15254
15255 2000-01-21  Olivier Galibert  <galibert@pobox.com>
15256
15257         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
15258         initialization here.
15259         (init_symbols_once_early): Call it.
15260         * emacs.c (main_1): Call it.
15261         * symsinit.h: Declare it.
15262
15263 2000-01-19  Olivier Galibert  <galibert@pobox.com>
15264
15265         * alloc.c: Use a lrecord_header * in the backtrace instead of a
15266         Lisp_Object.
15267         (pdump_backtrace): Ditto.
15268         (pdump_register_object): Ditto.  Cleanup use of the pointers.
15269         (pdump_get_entry): Abort if trying to register a null pointer.
15270         (pdump_dump_data): Cleanup types when relocating.
15271         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
15272         (pdump_dump_rtables): Remove bad casts.
15273         (pdump_load): Cleanup relocation w.r.t union type.  Use a
15274         Lisp_Object instead of a EMACS_INT for the hashtable
15275         reorganization.
15276
15277 2000-01-20  Martin Buchholz  <martin@xemacs.org>
15278
15279         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
15280
15281         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
15282
15283         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
15284
15285         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
15286
15287 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15288
15289         * faces.h (FACE_STRIKETHRU_P): Added.
15290
15291         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
15292         of font variants.
15293
15294         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
15295         (mswindows_set_dc_font): New function, aware of font variants,
15296         separated from mswindows_update_dc.
15297
15298         * objects-msw.h (struct mswindows_font_instance_data): Added
15299         definition.
15300
15301         * objects-msw.c (mswindows_finalize_font_instance): Delete all
15302         cached fonts and the data structure.
15303         (mswindows_initialize_font_instance): Added creation of font data
15304         structure.
15305         (mswindows_print_font_instance): Print at least something.
15306         (mswindows_create_font_variant): Implemented.
15307         (mswindows_get_hfont): Implemented.
15308
15309 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
15310
15311         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
15312         prototyping problem with msvc.
15313
15314         * emacs.c (main_1): added syms_of_gui_mswindows() call
15315
15316         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
15317         syms_of_gui_mswindows() function
15318
15319         * symsinit.h: added the prototype for syms_of_gui_mswindows()
15320
15321 2000-01-18  Martin Buchholz <martin@xemacs.org>
15322
15323         * XEmacs 21.2.27 is released.
15324
15325 2000-01-18  Martin Buchholz  <martin@xemacs.org>
15326
15327         * glyphs-eimage.c (struct tiff_error_struct):
15328         (tiff_error_func):
15329         (tiff_warning_func):
15330         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
15331
15332         * unexmips.c:
15333         * unexhp9k3.c:
15334         * unexfreebsd.c:
15335         * unexec.c: Remove vestigial Lucid C code.
15336         * unexalpha.c:
15337         * unexaix.c:
15338         * termcap.c:
15339         * libsst.c: Ansify.
15340         Remove declarations of errno and strerror().
15341
15342         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
15343
15344         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
15345
15346 2000-01-16  Martin Buchholz  <martin@xemacs.org>
15347
15348         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
15349         Optimize.
15350
15351 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15352
15353         * md5.c:
15354         * file-coding.c:
15355         * file-coding.h:
15356         Change enum eol_type to eol_type_t.
15357
15358 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15359
15360         * gui.c (get_gui_callback): Check cons before accessing car.
15361
15362 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15363
15364         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
15365         (XSETSPECIFIER_TYPE): Ditto.
15366
15367 2000-01-17  Didier Verna  <didier@xemacs.org>
15368
15369         * redisplay.c (generate_fstring_runes): compute string size in
15370         characters, not bytes.
15371
15372 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15373
15374         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
15375
15376 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
15377
15378         * print.c (print_error_message): Call print_prepare().
15379
15380 2000-01-14  Martin Buchholz  <martin@xemacs.org>
15381
15382         * .dbxrc: Renamed from dbxrc.
15383
15384         * events.c (event_to_character):
15385         Use `assert (foo)' instead of `if (!foo) abort()'
15386
15387         * .gdbinit (xtype): Add documentation.
15388         * .gdbinit (check-temacs): New function.
15389         * .gdbinit (check-xemacs): New function.
15390         * dbxrc (check-xemacs): New function.
15391         * dbxrc (check-xemacs): New function.
15392
15393 2000-01-14  Andy Piper  <andy@xemacs.org>
15394
15395         * glyphs-widget.c (widget_query_geometry): Make sure that we
15396         calculate default dimensions correctly.
15397
15398 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15399
15400         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
15401
15402         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
15403         pdump_wire'd variable.
15404
15405         * emacs.c: (main_1): Conditionalized calls to
15406         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
15407
15408 2000-01-13  Martin Buchholz  <martin@xemacs.org>
15409
15410         * window.c (Fset_window_configuration):
15411         * sysdep.c (_start):
15412         * input-method-motif.c (res):
15413         * event-Xt.c (Xt_process_to_emacs_event):
15414         Simple compiler warning fixes.
15415
15416         * bytecode.c (funcall_compiled_function): Use the original
15417         function symbol on the backtrace list in preference to the
15418         compiled_function object in error messages.
15419
15420 2000-01-13  Andy Piper  <andy@xemacs.org>
15421
15422         * glyphs-x.c (update_widget_face): Make sure we update the widget
15423         background as well as foreground.
15424
15425 2000-01-13  Andy Piper  <andy@xemacs.org>
15426
15427         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
15428         fields to subwindow.
15429         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
15430         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
15431         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15432         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15433
15434         * glyphs-widget.c (check_valid_tab_orientation): new function.
15435         (initialize_widget_image_instance): zero orientation and
15436         justification.
15437         (widget_instantiate): pick up orientation.
15438         (tab_control_query_geometry): return appropriate values for
15439         vertical tabs.
15440
15441         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
15442         appropriate creation flags for left, right and bottom tabs.
15443
15444         * s/cygwin32.h: add tab definitions.
15445
15446 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15447
15448         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
15449         frame upon hiding a subwindow.
15450         (mswindows_button_instantiate): Changed the push button style to
15451         BS_PUSHBUTTON.
15452         (mswindows_button_instantiate): Removed button BS_NOTIFY
15453         style.
15454         (mswindows_button_instantiate): Removed redundant check for
15455         a disabled gui item.
15456         (mswindows_button_instantiate): Made use of WS_TABSTOP
15457         consistent: "operable" controls (edit, button, tree, scroll) have
15458         this style, "display-only" ones (static, progress gauge) do
15459         not. This style is currently ignored by XEmacs though. Also,
15460         removed the WS_EX_CONTROLPARENT style - it is not for children,
15461         it is for their parents!
15462         (mswindows_edit_field_instantiate): Ditto.
15463         (mswindows_progress_gauge_instantiate): Ditto.
15464         (mswindows_tree_view_instantiate): Ditto.
15465         (mswindows_tab_control_instantiate): Ditto.
15466         (mswindows_scrollbar_instantiate): Ditto.
15467         (mswindows_combo_box_instantiate): Ditto.
15468         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
15469         style to the "clip" window.
15470         (mswindows_button_instantiate): Removed compilation warning by
15471         equally typing terms of the ?: operator.
15472
15473 2000-01-12  Didier Verna  <didier@xemacs.org>
15474
15475         * redisplay.c (generate_fstring_runes): new parameter holding the
15476         last modeline-format extent.
15477         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
15478         extent, fill the glyph block with it.
15479         (generate_fstring_runes): handle these parameters.
15480         (generate_formatted_string_db): ditto.
15481
15482         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
15483         glyphs'extents in the modeline.
15484
15485 1999-01-11  Mike Woolley  <mike@bulsara.com>
15486
15487         * ntheap.c: Reduced the reserved heap space from 1Gb down to
15488         256Mb, as a workaround for the non-starting problem many people
15489         have experienced.
15490
15491 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15492
15493         * console-tty.c (Fset_console_tty_output_coding_system):
15494         Force redrawing tty frame.
15495
15496 2000-01-10  Didier Verna  <didier@xemacs.org>
15497
15498         * redisplay.c (generate_fstring_runes): fix size computation bug.
15499
15500 2000-01-09  William M. Perry <wmperry@aventail.com>
15501
15502         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
15503
15504 2000-01-09  Andy Piper  <andy@xemacs.org>
15505
15506         * glyphs-msw.c: index -> i to avoid shadows.
15507         (xbm_create_bitmap_from_data): make static.
15508         (check_valid_string_or_int): deleted.
15509         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
15510
15511         * glyphs-x.c (x_update_subwindow): remove unused args.
15512
15513         * glyphs.c (glyph_image_instance): return the thing. Don't set the
15514         back pointer - this is done in allocate_image_instance.
15515         (query_string_font): return Qnil to make the compiler happy.
15516         (unmap_subwindow): set to ~0 to make the compiler happy.
15517         (glyph_query_geometry): comment out until used.
15518         (glyph_layout): ditto.
15519
15520 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15521
15522         * insdel.c (signal_after_change): Remove extraneous unbind_to().