Merge r21-4-11-chise-0_20-=ucs.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
4         of `ucs'.
5         (Qmap_ucs): New variable.
6         (syms_of_mule_charset): Add new symbol `=ucs'.
7         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
8
9         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
10         (simplify_char_spec): Likewise.
11
12         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
13
14         * char-ucs.h (Qmap_ucs): New extern variable.
15
16 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
17
18         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
19         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
20         don't define it when UTF2000 is not defined.
21         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
22         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
23         when UTF2000 is not defined.
24         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
25         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
26
27 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
28
29         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
30
31         * mule-charset.c (Vcharset_ucs_gb): Deleted.
32         (Qucs_gb): Deleted.
33         (syms_of_mule_charset): Delete `ucs-gb'.
34         (complex_vars_of_mule_charset): Likewise.
35
36 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
37
38         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
39
40         * mule-charset.c (Vcharset_ucs_cns): Deleted.
41         (Qucs_cns): Deleted.
42         (syms_of_mule_charset): Delete `ucs-cns'.
43         (complex_vars_of_mule_charset): Likewise.
44
45 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
46
47         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
48
49         * mule-charset.c (Vcharset_ucs_jis): Deleted.
50         (Qucs_jis): Deleted.
51         (syms_of_mule_charset): Delete `ucs-jis'.
52         (complex_vars_of_mule_charset): Likewise.
53
54 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
55
56         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
57
58         * mule-charset.c (Vcharset_ucs_ks): Deleted.
59         (Qucs_ks): Deleted.
60         (syms_of_mule_charset): Delete `ucs-ks'.
61         (complex_vars_of_mule_charset): Likewise.
62
63 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
64
65         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
66         (Qideograph_daikanwa_2): Deleted.
67         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
68         (complex_vars_of_mule_charset): Likewise.
69
70         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
71         (LEADING_BYTE_DAIKANWA_1): Deleted.
72         (LEADING_BYTE_DAIKANWA_2): Deleted.
73         (MIN_CHAR_DAIKANWA): Deleted.
74         (MAX_CHAR_DAIKANWA): Deleted.
75
76 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
77
78         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
79         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
80         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
81
82         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
83         (Vcharset_ideograph_daikanwa): Deleted.
84         (Qideograph_hanziku_{1..12}): Deleted.
85         (Qideograph_daikanwa): Deleted.
86         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
87         Vcharset_ideograph_daikanwa.
88         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
89         `ideograph-hanziku-{1..12}'.
90         (complex_vars_of_mule_charset): Likewise.
91
92 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
93
94         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
95
96         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
97         (Qideograph_gt_pj_{1..11}): Deleted.
98         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
99         (complex_vars_of_mule_charset): Likewise.
100
101 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
102
103         * mule-charset.c (Vcharset_ucs_big5): Deleted.
104         (Vcharset_ideograph_gt): Deleted.
105         (Qucs_big5): Deleted.
106         (Qideograph_gt): Deleted.
107         (syms_of_mule_charset): Delete symbol `ucs-big5' and
108         `ideograph-gt'.
109         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
110         and `ideograph-gt'.
111
112         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
113         (LEADING_BYTE_GT): Deleted.
114         (MIN_CHAR_GT): Deleted.
115         (MAX_CHAR_GT): Deleted.
116
117 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
118
119         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
120
121 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
122
123         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
124         (save_uint16_byte_table): Likewise.
125         (save_byte_table): Likewise; convert values by it.
126         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
127         for `ideographic-structure'.
128         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
129         as the filter for `ideographic-structure'.
130
131 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
132
133         * chartab.c (put_char_composition): New function.
134         (Fput_char_attribute): Use `put_char_composition'; use
135         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
136
137         * fns.c (simplify_char_spec): New function.
138         (char_ref_simplify_spec): New function.
139         (Fchar_refs_simplify_char_specs): New function.
140         (syms_of_fns): Add new builtin function
141         `char-refs-simplify-char-specs'.
142
143 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
144
145         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
146         (Qideograph_cbeta): Deleted.
147         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
148         (complex_vars_of_mule_charset): Likewise.
149
150         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
151         (MIN_CHAR_CBETA): Comment out.
152         (MAX_CHAR_CBETA): Likewise.
153
154 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
155
156         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
157         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
158         CHISE client feature.
159
160 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
161
162         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
163
164 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
165
166         * mule-charset.c (charset_lookup_description_1): Use
167         `NUM_LEADING_BYTES' in UTF-2000.
168
169 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
170
171         * char-ucs.h (GC_CHARSETP): Deleted.
172
173 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
174
175         * char-ucs.h (MAX_CHAR_GT): Updated.
176
177 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
178
179         * text-coding.c: Sync with XEmacs 21.4.10.
180
181 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
182
183         * mule-charset.c (Vcharset_china3_jef): Deleted.
184         (Qchina3_jef): Deleted.
185         (syms_of_mule_charset): Don't define `china3-jef'.
186         (complex_vars_of_mule_charset): Likewise.
187
188         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
189         (MIN_CHAR_CHINA3_JEF): Comment out.
190         (MAX_CHAR_CHINA3_JEF): Comment out.
191
192 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
193
194         * mule-charset.c (Vcharset_ucs_gb): New variable.
195         (Qucs_gb): New variable.
196         (syms_of_mule_charset): Add new symbol `ucs-gb'.
197         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
198
199         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
200
201 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
202
203         * mule-charset.c (charset_code_point): if a coded-charset has a
204         final-byte, don't inherit the builtin range of the mother CCS.
205
206 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
207
208         * mule-charset.c (charset_code_point): Fix problem about
209         inheritance.
210
211 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
212
213         * mule-charset.c (decode_builtin_char): Reorganized.
214
215 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
216
217         * text-coding.c (char_encode_as_entity_reference): Modify for
218         `charset_code_point'.
219         (char_encode_shift_jis): Likewise.
220         (char_encode_big5): Likewise.
221         (char_encode_utf8): Likewise.
222         (char_encode_iso2022): Likewise.
223
224         * mule-charset.c (charset_code_point): Add new argument
225         `defined_only'.
226         (Fencode_char): Add new optional argument `defined_only'.
227
228         * chartab.c (put_char_table): Modify for `charset_code_point'.
229
230         * char-ucs.h (charset_code_point): Add new argument
231         `defined_only'.
232         (encode_char_1): Modify for `charset_code_point'.
233
234 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
235
236         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
237         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
238
239 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
240
241         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
242         (Qjis_x0208): Likewise.
243         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
244         XCHARSET_FINAL(charset).
245         (charset_code_point): Modify condition for final-byte based
246         builtin-chars.
247         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
248         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
249         in UTF-2000; specify `=jis-x0208' as the mother of
250         `japanese-jisx0208-1978', `japanese-jisx0208' and
251         `japanese-jisx0208-1990' in UTF-2000.
252
253 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
254
255         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
256
257 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
258
259         * text-coding.c (decode_coding_utf16): Support UTF-16.
260         (char_encode_utf16): Fixed.
261
262 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
263
264         * text-coding.c (Qutf16): New variable in MULE.
265         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
266         (Fcoding_system_type): Add `utf-16' in MULE.
267         (struct detection_state): Add a structure for utf16 in MULE.
268         (detect_coding_type): Setup st->utf16.mask in MULE.
269         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
270         MULE.
271         (reset_encoding_stream): Use `char_encode_utf16' and
272         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
273         (detect_coding_utf16): New function [incomplete].
274         (decode_coding_utf16): New function [support only UCS-2].
275         (char_encode_utf16): New function.
276         (char_finish_utf16): New function.
277         (syms_of_file_coding): Add new symbol `utf-16'; setup
278         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
279
280         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
281         UTF-2000.
282         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
283         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
284
285 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
286
287         * chartab.c (put_char_table): When a charset is specified as a
288         range in UTF-2000, don't support builtin characters.
289
290 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
291
292         * mule-charset.c (decode_defined_char): Don't refer external
293         database if Qunbound or Qnil are found.
294         (Fsave_charset_mapping_table): Don't define it if
295         HAVE_CHISE_CLIENT is not defined.
296         (Freset_charset_mapping_table): New function.
297         (load_char_decoding_entry_maybe): Store Qnil if a character is not
298         found in external database.
299         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
300         if HAVE_CHISE_CLIENT is not defined; add new builtin function
301         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
302
303 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
304
305         * text-coding.c (decode_coding_utf8): Check CCS is specified or
306         not.
307
308 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
309
310         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
311         Q_lowercase, Q_uppercase in UTF-2000.
312
313         * chartab.c (get_char_table): Add special code for the standard
314         case table to use character attribute `->downcase' and
315         `->uppercase' for case operations in UTF-2000.
316
317         * casetab.c (Qflippedcase): New variable in UTF-2000.
318         (Q_lowercase): Likewise.
319         (Q_uppercase): Likewise.
320         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
321         and `->uppercase' in UTF-2000.
322         (complex_vars_of_casetab): Assign attribute name `downcase' to
323         downcase and CANON table of Vstandard_case_table in UTF-2000;
324         assign attribute name `flippedcase' to upcase and EQV table of
325         Vstandard_case_table in UTF-2000.
326
327 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
328
329         * text-coding.c (decode_add_er_char): Support isolated-chars.
330         (char_encode_as_entity_reference): Likewise.
331
332 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
333
334         * emacs.c (Vutf_2000_lisp_directory): New variable.
335         (Vconfigure_utf_2000_lisp_directory): Likewise.
336         (complex_vars_of_emacs): Add new variable
337         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
338
339 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
340
341         * char-ucs.h (DECODE_CHAR): Delete special code for
342         `chinese-big5-1' and `chinese-big5-2'.
343
344         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
345         (Qbig5_2): Likewise.
346         (decode_defined_char): Support CONVERSION_BIG5_1 and
347         CONVERSION_BIG5_2.
348         (decode_builtin_char): Likewise.
349         (charset_code_point): Likewise.
350         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
351         'conversion in UTF-2000.
352         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
353         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
354         `chinese-big5-2' as children of `chinese-big5'.
355
356         * char-ucs.h (CONVERSION_BIG5_1): New macro.
357         (CONVERSION_BIG5_2): New macro.
358
359 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
360
361         * text-coding.c (char_encode_big5): Support entity-reference.
362
363 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
364
365         * text-coding.c (char_encode_as_entity_reference): New function.
366         (char_encode_utf8): Use `char_encode_as_entity_reference'.
367
368 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
369
370         * text-coding.c (decode_coding_big5): Support entity-reference
371         decoding feature.
372
373 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
374
375         * text-coding.c (allocate_coding_system): Initialize initial
376         charsets for CODESYS_UTF8.
377         (Fmake_coding_system): Accept charset-g0, charset-g1 and
378         charset-g2 for CODESYS_UTF8.
379         (decode_coding_utf8): Use charset-g0.
380         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
381         to force variants to map to UCS.
382
383 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
384
385         * text-coding.c (Qutf_8_mcs): New variable.
386         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
387         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
388         instead of `utf-8' in UTF-2000.
389
390 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
391
392         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
393         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
394         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
395         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
396         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
397         CONVERSION_96x96x96x96 are introduced.
398         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
399         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
400         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
401
402         * char-ucs.h (CONVERSION_94): New macro.
403         (CONVERSION_96): New macro.
404         (CONVERSION_94x94): New macro.
405         (CONVERSION_96x96): New macro.
406         (CONVERSION_94x94x94): New macro.
407         (CONVERSION_96x96x96): New macro.
408         (CONVERSION_94x94x94x60): New macro.
409         (CONVERSION_94x94x94x94): New macro.
410         (CONVERSION_96x96x96x96): New macro.
411
412 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
413
414         * chartab.c (Vcharacter_variant_table): Deleted.
415         (Fchar_variants): Use character-attribute `->ucs-variants' instead
416         of `Vcharacter_variant_table'.
417         (Fput_char_attribute): Likewise.
418         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
419         (complex_vars_of_chartab): Likewise.
420
421 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
422
423         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
424
425         * fns.c (Qideographic_structure): New variable.
426         (Qkeyword_char): New variable.
427         (ids_format_unit): New function.
428         (Fideographic_structure_to_ids): New function.
429         (syms_of_fns): Add new symbols `ideographic-structure' and
430         `:char'; add new builtin function `ideographic-structure-to-ids'.
431
432         * data.c (Fchar_ref_p): New function.
433         (syms_of_data): Add new builtin function `char-ref-p'.
434
435         * chartab.h: Add an EXFUN for `Ffind_char'.
436
437 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
438
439         * text-coding.c (Vcharacter_composition_table): Deleted.
440         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
441         in every UTF-2000.
442
443         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
444         UTF-2000.
445         (Vcharacter_composition_table): Deleted.
446         (Fget_composite_char): Use the implementation for external-DB
447         support in every UTF-2000.
448         (Fput_char_attribute): Likewise.
449         (char_attribute_system_db_file): Don't define if external-DB
450         feature is not available.
451         (Fsave_char_attribute_table): Likewise.
452         (Fmount_char_attribute_table): Likewise.
453         (Fclose_char_attribute_table): Likewise.
454         (Freset_char_attribute_table): Likewise.
455         (Fload_char_attribute_table): Likewise.
456         (syms_of_chartab): Don't define `save-char-attribute-table',
457         `mount-char-attribute-table', `reset-char-attribute-table',
458         `close-char-attribute-table' and `load-char-attribute-table' if
459         external-DB feature is not available.
460         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
461
462 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
463
464         * text-coding.c (Qcomposition): Add extern if external-DB feature
465         is supported.
466         (Vcharacter_composition_table): Don't add extern if external-DB
467         feature is supported.
468         (COMPOSE_ADD_CHAR): Modify for new data-representation of
469         character composition rule if external-DB feature is supported.
470
471         * chartab.c (Vcharacter_composition_table): Don't define if
472         external-DB feature is supported.
473         (Qcomposition): New variable.
474         (Fget_composite_char): New implementation for external-DB support.
475         (Fput_char_attribute): Use `composition' property of each
476         character instead of `Vcharacter_composition_table' to store
477         character-composition rules if external-DB feature is supported.
478         (syms_of_chartab): Add new symbol `composition'.
479         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
480         external-DB feature is supported.
481
482 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
483
484         * chartab.c (Vchar_db_stingy_mode): New variable.
485         (load_char_attribute_maybe): Close database if
486         Vchar_db_stingy_mode is not NIL.
487         (Fload_char_attribute_table_map_function): Use
488         `get_char_id_table_0' instead of `get_char_id_table'.
489         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
490
491         * chartab.h (get_char_id_table_0): New inline function.
492         (get_char_id_table): Use `get_char_id_table_0'.
493
494 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
495
496         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
497         and `COMPOSE_ADD_CHAR'.
498         (decode_coding_iso2022): Use `decode_flush_er_chars'.
499
500 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
501
502         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
503         instead of `DECODE_ADD_UCS_CHAR'.
504         (COMPOSE_ADD_CHAR): Likewise.
505
506 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
507
508         * text-coding.c (decode_flush_er_chars): New inline function.
509         (decode_add_er_char): New function.
510         (decode_coding_utf8): Use `decode_flush_er_chars' and
511         `decode_add_er_char'.
512
513 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
514
515         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
516         done before `decode_output_utf8_partial_char'.
517
518         * mule-charset.c (complex_vars_of_mule_charset): Specify
519         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
520         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
521
522 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
523
524         * mule-charset.c (decode_defined_char): New function; search
525         mother.
526         (decode_builtin_char): Don't search mother if
527         XCHARSET_MAX_CODE(charset) == 0.
528         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
529         == 0 even if code >= XCHARSET_MAX_CODE(charset).
530         (Fdecode_char): Use `decode_defined_char' instead of
531         `DECODE_DEFINED_CHAR'.
532         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
533         mother of `Vcharset_ucs_jis'.
534
535         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
536         instead of `DECODE_DEFINED_CHAR'.
537
538         * char-ucs.h (decode_defined_char): Renamed from
539         `DECODE_DEFINED_CHAR'; changed to normal function.
540         (DECODE_CHAR): Use `decode_defined_char' instead of
541         `DECODE_DEFINED_CHAR'.
542
543         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
544
545 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
546
547         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
548
549         * text-coding.c (Vcoded_charset_entity_reference_alist): New
550         variable.
551         (Quse_entity_reference): New variable.
552         (Qd): New variable.
553         (Qx): New variable.
554         (QX): New variable.
555         (coding_system_description): Add description for
556         `ccs_priority_list'.
557         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
558         (allocate_coding_system): Initialize `ccs_priority_list' in
559         UTF-2000.
560         (Fmake_coding_system): Add description about
561         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
562         (codesys).
563         (Fcoding_system_property): Accept `disable-composition' and
564         `use-entity-reference' in UTF-2000.
565         (struct decoding_stream): Add new member `er_counter' and `er_buf'
566         in UTF-2000.
567         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
568         (decode_coding_utf8): Decode entity-reference if
569         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
570         (char_encode_utf8): Encode non-Unicode characters as
571         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
572         (str->codesys).
573         (syms_of_file_coding): Add new symbols `use-entity-reference',
574         `d', `x', `X'.
575         (vars_of_file_coding): Add new variable
576         `coded-charset-entity-reference-alist'.
577         (complex_vars_of_file_coding): Declare `disable-composition' and
578         `use-entity-reference' to be coding-system-properties in UTF-2000.
579
580         * file-coding.h (struct Lisp_Coding_System): Add new member
581         `use_entity_reference' and `ccs_priority_list'.
582         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
583         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
584         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
585
586 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
587
588         * chartab.c (save_uint8_byte_table): Don't clear the table.
589         (save_uint16_byte_table): Likewise.
590         (save_byte_table): Likewise.
591         (Fmount_char_attribute_table): New function.
592         (syms_of_chartab): Add new builtin function
593         `mount-char-attribute-table'.
594
595 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
596
597         * mule-charset.c (Fsave_charset_mapping_table): Open database as
598         "w+" mode.
599         (load_char_decoding_entry_maybe): Open database as read-only mode.
600
601         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
602         open database as "w+" mode.
603         (load_char_attribute_maybe): Open database as read-only mode.
604         (Fload_char_attribute_table): Likewise.
605
606 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
607
608         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
609         (char_table_description): Delete member `db_file'.
610         (Fmake_char_table): Don't refer `ct->db_file'.
611         (Fcopy_char_table): Likewise.
612         (Fsave_char_attribute_table): Likewise.
613         (Fclose_char_attribute_table): Likewise.
614         (Freset_char_attribute_table): Likewise.
615         (load_char_attribute_maybe): Likewise.
616         (Fload_char_attribute_table): Likewise.
617
618         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
619
620 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
621
622         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
623         (Fsave_char_attribute_table): Don't check `ct->db_file' if
624         `ct->db' is living.
625         (load_char_attribute_maybe): Likewise.
626         (Fload_char_attribute_table): Likewise.
627
628 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
629
630         * chartab.c (Fclose_char_attribute_table): Set Qnil on
631         `ct->db_file' unconditionally.
632
633 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
634
635         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
636         UTF-2000.
637         (char_table_description): Add description for `db_file' and `db'
638         in UTF-2000.
639         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
640         UTF-2000.
641         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
642         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
643         (Fclose_char_attribute_table): New function.
644         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
645         (load_char_attribute_maybe): Change interface; use `cit->db_file'
646         and `cit->db'.
647         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
648         (syms_of_chartab): Add new builtin function
649         `Fclose_char_attribute_table'.
650
651 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
652
653         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
654         `db' in UTF-2000.
655         (load_char_attribute_maybe): Change interface.
656         (get_char_id_table): Modify for `load_char_attribute_maybe'.
657
658 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
659
660         * database.h: Add an EXFUN for `Fdatabase_live_p'.
661
662 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
663
664         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
665         instead of `DECODE_CHAR' for mother; don't use special code for
666         chinese-big5 to use code space of chinese-big5-1 and
667         chinese-big5-2.
668         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
669         `MAX_CHAR_BIG5_CDP' for chinese-big5.
670
671         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
672         (MAX_CHAR_BIG5_CDP): Revival.
673
674 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
675
676         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
677         the XLFD registry-encoding name of `chinese-big5'.
678
679 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
680
681         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
682         (Qchinese_big5_cdp): Deleted.
683         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
684         (complex_vars_of_mule_charset): Delete coded-charset
685         `chinese-big5-cdp'.
686
687         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
688         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
689         `CHARSET_ID_OFFSET - n' for private CCS.
690         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
691         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
692         of `MIN_LEADING_BYTE'.
693         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
694         `(CHARSET_ID_OFFSET - 97)'.
695         (MIN_CHAR_BIG5_CDP): Deleted.
696         (MAX_CHAR_BIG5_CDP): Deleted.
697
698 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
699
700         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
701
702 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
703
704         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
705         (vars_of_mule): Add new variable `utf-2000-version' [moved from
706         chartab.c].
707
708         * chartab.c (Vutf_2000_version): Moved to mule.c.
709         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
710
711 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
712
713         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
714         when HAVE_CHISE_CLIENT is not defined.
715
716         * mule.c (vars_of_mule): Provide feature `chise' when
717         HAVE_CHISE_CLIENT is defined.
718
719 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
720
721         * config.h.in (UTF2000): Add comment.
722         (HAVE_CHISE_CLIENT): New macro.
723
724 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
725
726         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
727         CONSP.
728         (Fput_char_attribute): Likewise.
729         (char_attribute_system_db_file): Encode file-name of attribute.
730         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
731         the initial value.
732
733 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
734
735         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
736         (Fsave_charset_mapping_table): Use
737         `char_attribute_system_db_file'.
738         (load_char_decoding_entry_maybe): Likewise.
739
740         * chartab.h (Qsystem_char_id): New external variable.
741         (char_attribute_system_db_file): New prototype.
742
743         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
744         (char_attribute_system_db_file): New function.
745         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
746         (Freset_char_attribute_table): Likewise.
747         (load_char_attribute_maybe): Likewise.
748         (Fload_char_attribute_table): Likewise.
749         (syms_of_chartab): Add new symbol `system-char-id'.
750
751 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
752
753         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
754         `XCHARSET_GRAPHIC(ccs)'.
755
756 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
757
758         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
759
760 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
761
762         * chartab.c (Q_ucs_variants): New variable.
763         (syms_of_chartab): Add new symbol `->ucs-variants'.
764         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
765         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
766         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
767
768         * mule-charset.c (load_char_decoding_entry_maybe): New function.
769
770         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
771         `HAVE_DATABASE' is defined.
772         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
773         `HAVE_DATABASE' is defined.
774
775 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
776
777         * chartab.c (Fsave_char_attribute_table): Don't clear internal
778         attribute-table.
779         (Freset_char_attribute_table): New function.
780         (syms_of_chartab): Add new builtin function
781         `reset-char-attribute-table'.
782
783 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
784
785         * chartab.c (load_char_attribute_maybe): Don't make directories.
786
787 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
788
789         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
790
791         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
792         for decoding-table.
793
794 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
795
796         * mule-charset.c (Fsave_charset_mapping_table): Use
797         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
798
799         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
800         instead of `XCHARSET_CHARS'.
801
802 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
803
804         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
805         (XCHARSET_BYTE_SIZE): Likewise.
806
807         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
808         mule-charset.c].
809         (XCHARSET_BYTE_SIZE): Likewise.
810
811 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
812
813         * chartab.c (Fput_char_attribute): Use exec-directory instead of
814         data-directory to store database.
815         (Fsave_char_attribute_table): Likewise.
816         (load_char_attribute_maybe): Likewise.
817         (Fload_char_attribute_table): Likewise.
818
819 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
820
821         * mule-charset.c (Fsave_charset_mapping_table): New function.
822         (syms_of_mule_charset): Add new builtin function
823         `save-charset-mapping-table'.
824
825 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
826
827         * char-ucs.h (decoding_table_check_elements): Delete prototype.
828         (get_ccs_octet_table): New inline function.
829         (put_ccs_octet_table): Likewise.
830         (decoding_table_put_char): Use `get_ccs_octet_table' and
831         `put_ccs_octet_table'.
832         (decoding_table_remove_char): Use `decoding_table_put_char'.
833         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
834
835         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
836         into encoding_table.
837         (make_charset): Use Qunbound instead Qnil as initial value of
838         decoding_table.
839
840 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
841
842         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
843         element is Qunloaded.
844         (map_over_uint16_byte_table): Likewise.
845         (map_over_byte_table): Likewise.
846         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
847         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
848         database support, load encoding-table of the specified
849         coded-charset if it is not loaded yet.
850         (save_uint8_byte_table): New function of UTF-2000 with external
851         database support.
852         (save_uint16_byte_table): Likewise.
853         (save_byte_table): Likewise.
854         (Fput_char_attribute): Don't store value into external database
855         even if the external database feature is supported in UTF-2000;
856         set `attribute' as name of char-table if the external database
857         feature is supported.
858         (Fsave_char_attribute_table): New function in UTF-2000.
859         (syms_of_chartab): Add new builtin function
860         `save-char-attribute-table' in UTF-2000.
861
862 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
863
864         * chartab.c (char_attribute_table_to_put): New variable in
865         UTF-2000.
866         (Qput_char_table_map_function): Likewise.
867         (value_to_put): Likewise.
868         (Fput_char_table_map_function): New function in UTF-2000.
869         (put_char_table): Use `Fmap_char_attribute' for
870         CHARTAB_RANGE_CHARSET in UTF-2000.
871         (Fput_char_attribute): Store symbol instead of string in
872         `XCHAR_TABLE_NAME (table)'.
873         (load_char_attribute_maybe): Likewise.
874         (syms_of_chartab): Add new symbol/function
875         `put-char-table-map-function'.
876
877 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
878
879         * database.h: Add new EXFUN for `Fmap_database'.
880
881         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
882         (syms_of_database): Likewise.
883
884         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
885         UTF-2000.
886         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
887         (XCHAR_TABLE_UNLOADED): Likewise.
888
889         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
890         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
891         HAVE_DATABASE is defined.
892         (char_attribute_table_to_load): New variable of UTF-2000 with
893         external database support.
894         (Qload_char_attribute_table_map_function): Likewise.
895         (Fload_char_attribute_table_map_function): New function of
896         UTF-2000 with external database support.
897         (Fload_char_attribute_table): New function of UTF-2000.
898         (Fmap_char_attribute): Call Fload_char_attribute_table if
899         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
900         (syms_of_chartab): Add new symbol and function
901         `load-char-attribute-table-map-function' in UTF-2000 with external
902         database support; add new function `load-char-attribute-table' in
903         UTF-2000.
904
905 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
906
907         * chartab.h (load_char_attribute_maybe): New prototype for
908         UTF-2000 with DATABASE support.
909         (get_char_id_table): Use `load_char_attribute_maybe' if
910         HAVE_DATABASE is defined.
911
912         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
913         with DATABASE support.
914
915 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
916
917         * chartab.c (Fput_char_attribute): Use S-expression as key of
918         external database.
919
920         * chartab.h (get_char_id_table): Use S-expression as key of
921         external database.
922
923 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
924
925         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
926         if an element is not loaded, load the corresponding attributes
927         from an external database.
928         (map_over_uint16_byte_table): Likewise.
929         (map_over_byte_table): Likewise.
930         (map_char_table): Modify for `map_over_uint8_byte_table',
931         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
932         element is not loaded, load the corresponding attributes from an
933         external database.
934         (Fput_char_attribute): Change initial values to Qunloaded.
935
936         * chartab.h (get_char_id_table): If a character attribute is not
937         loaded and the attribute value is not found in an external
938         database, store Qunbound as the attribute value.
939
940 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
941
942         * chartab.c (BT_UINT8_unloaded): New macro.
943         (UINT8_VALUE_P): Accept Qunloaded.
944         (UINT8_ENCODE): Likewise.
945         (UINT8_DECODE): Likewise.
946         (BT_UINT16_unloaded): New macro.
947         (UINT16_VALUE_P): Accept Qunloaded.
948         (UINT16_ENCODE): Likewise.
949         (UINT16_DECODE): Likewise.
950         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
951         BT_UINT16_unloaded.
952         (mark_char_table): Mark `ct->name' in UTF-2000.
953         (char_table_description): Add `name' in UTF-2000.
954         (Fmake_char_table): Initialize `ct->name'.
955         (Fcopy_char_table): Copy `ct->name'.
956         (Fput_char_attribute): Store value into an external database if
957         HAVE_DATABASE is defined.
958
959         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
960         UTF-2000.
961         (CHAR_TABLE_NAME): New macro in UTF-2000.
962         (XCHAR_TABLE_NAME): New macro in UTF-2000.
963         (get_char_id_table): Try to read an external database if Qunloaded
964         is stored in a table.
965
966         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
967         Qunloaded.
968
969 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
970
971         * database.h: Add EXFUN definitions for Fopen_database,
972         Fput_database, Fget_database and Fclose_database.
973
974         * data.c (Qunloaded): New variable in UTF-2000.
975
976         * lisp.h (Qunloaded): New variable in UTF-2000.
977
978 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
979
980         * mule-charset.c (put_char_ccs_code_point): Modify for
981         `decoding_table_remove_char' and `decoding_table_put_char'.
982         (remove_char_ccs): Modify for `decoding_table_remove_char'.
983
984         * char-ucs.h (decoding_table_remove_char): Change arguments to
985         hide decoding_table vector.
986         (decoding_table_put_char): Likewise.
987
988 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
989
990         * mule-charset.c (decoding_table_remove_char): Moved to
991         char-ucs.h.
992         (decoding_table_put_char): Likewise.
993
994         * char-ucs.h (decoding_table_check_elements): New prototype [moved
995         from mule-charset.c].
996         (decoding_table_remove_char): New inline function [moved from
997         mule-charset.c].
998         (decoding_table_put_char): Likewise.
999
1000 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1001
1002         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1003         extension.
1004
1005 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1006
1007         * mule-charset.c (decode_builtin_char): Support mother charsets.
1008
1009 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1010
1011         * mule-charset.c (Q94x94x60): New variable.
1012         (charset_code_point): Support conversion `94x94x60'.
1013         (Fmake_charset): Likewise.
1014         (syms_of_mule_charset): Add new symbol `94x94x60'.
1015
1016         * char-ucs.h (CONVERSION_94x94x60): New macro.
1017
1018 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1019
1020         * mule-charset.c (charset_code_point): Unify code about
1021         `code-offset'.
1022
1023 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1024
1025         * mule-charset.c (charset_code_point): Merge code about builtin
1026         characters into code about mother charsets; don't use
1027         `range_charset_code_point'.
1028         (range_charset_code_point): Deleted.
1029
1030 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1031
1032         * mule-charset.c (Qcode_offset): New variable.
1033         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1034         `max-code'; accept new property `code-offset'.
1035         (syms_of_mule_charset): Add new symbol `code-offset'.
1036
1037 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1038
1039         * mule-charset.c (range_charset_code_point): Fixed.
1040
1041 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1042
1043         * mule-charset.c (decode_builtin_char): Change semantics of
1044         code-offset of coded-charset.
1045         (charset_code_point): Likewise.
1046         (range_charset_code_point): Likewise.
1047         (complex_vars_of_mule_charset): Modify for the change.
1048
1049 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1050
1051         * mule-charset.c (Fencode_char): Reverse arguments.
1052
1053         * mule-charset.c (charset_code_point): Fixed.
1054
1055 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1056
1057         * mule-charset.c (Vcharset_mojikyo): Deleted.
1058         (Vcharset_mojikyo_2022_1): Deleted.
1059         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1060         (Qmin_code): New variable in UTF-2000.
1061         (Qmax_code): Likewise.
1062         (Qmother): Likewise.
1063         (Qconversion): Likewise.
1064         (Q94x60): Likewise.
1065         (Qmojikyo): Deleted.
1066         (Qmojikyo_2022_1): Deleted.
1067         (Qmojikyo_pj_{1..22}): Deleted.
1068         (mark_charset): Mark `cs->mother'.
1069         (charset_description): Add description for `mother'.
1070         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1071         new arguments `mother' and `conversion'; use
1072         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1073         (charset_code_point): Moved from char-ucs.h; support `mother'
1074         charset feature.
1075         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1076         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1077         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1078         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1079         allow 2 as the value of `graphic' in UTF-2000; add new properties
1080         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1081         require `final' in UTF-2000; modify for `make_charset'.
1082         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1083         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1084         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1085         (Fencode_char): New function.
1086         (syms_of_mule_charset): Add new builtin function `encode-char' in
1087         UTF-2000; add new symbols `min-code', `max-code', `mother',
1088         `conversion' and `94x60'; delete symbols `mojikyo',
1089         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1090         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1091         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1092         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1093
1094         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1095         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1096
1097         * char-ucs.h (Vcharset_mojikyo): Deleted.
1098         (Vcharset_mojikyo_2022_1): Deleted.
1099         (LEADING_BYTE_MOJIKYO): Deleted.
1100         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1101         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1102         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1103         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1104         add new member `mother'; add new member `conversion'.
1105         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1106         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1107         (CHARSET_MOTHER): New macro.
1108         (CHARSET_CONVERSION): New macro.
1109         (CONVERSION_IDENTICAL): New macro.
1110         (CONVERSION_94x60): New macro.
1111         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1112         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1113         (XCHARSET_MOTHER): New macro.
1114         (XCHARSET_CONVERSION): New macro.
1115         (MIN_CHAR_MOJIKYO): Deleted.
1116         (MAX_CHAR_MOJIKYO): Deleted.
1117         (DECODE_MOJIKYO_2022): Deleted.
1118         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1119         (charset_code_point): Changed to non-inline function.
1120         (encode_char_1): Use `charset_code_point'.
1121         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1122
1123 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1124
1125         * lread.c (read_compiled_function): Fix prototype.
1126         (read_vector): Likewise.
1127
1128 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1129
1130         * lrecord.h (struct lrecord_header): Delete `older'.
1131         (set_lheader_implementation): Delete code for `older'.
1132         (set_lheader_older_implementation): Deleted.
1133         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1134         (OLDER_RECORD_P): Deleted.
1135         (OLDER_RECORD_HEADER_P): Deleted.
1136         (alloc_older_lcrecord): Deleted.
1137         (alloc_older_lcrecord_type): Deleted.
1138
1139         * alloc.c (all_older_lcrecords): Deleted.
1140         (alloc_older_lcrecord): Deleted.
1141         (disksave_object_finalization_1): Delete code for older objects.
1142         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1143         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1144
1145 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1146
1147         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1148         instead of `make_older_vector'.
1149         (put_char_ccs_code_point): Likewise.
1150         (mark_charset): Mark `cs->decoding_table'.
1151         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1152
1153         * lisp.h (make_older_vector): Deleted.
1154         (make_vector_newer): Deleted.
1155
1156         * config.h.in (HAVE_GGC): Deleted.
1157
1158         * alloc.c (make_older_vector): Deleted.
1159         (make_vector_newer_1): Deleted.
1160         (make_vector_newer): Deleted.
1161
1162 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1163
1164         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1165         (Qideograph_daikanwa_2): New variable.
1166         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1167         (complex_vars_of_mule_charset): Add new coded-charset
1168         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1169         `LEADING_BYTE_DAIKANWA'.
1170
1171         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1172         (LEADING_BYTE_DAIKANWA_1): New macro.
1173         (LEADING_BYTE_DAIKANWA_2): New macro.
1174         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1175
1176 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1177
1178         * mule-charset.c (complex_vars_of_mule_charset): Change
1179         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1180         the second revised version.
1181
1182 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1183
1184         * mule-charset.c (Vcharset_ucs_smp): New variable.
1185         (Vcharset_ucs_sip): New variable.
1186         (Qucs_smp): New variable.
1187         (Qucs_sip): New variable.
1188         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1189         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1190         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1191         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1192         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1193         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1194
1195         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1196         (LEADING_BYTE_UCS_SIP): New macro.
1197         (MIN_CHAR_SMP): New macro.
1198         (MAX_CHAR_SMP): New macro.
1199         (MIN_CHAR_SIP): New macro.
1200         (MAX_CHAR_SIP): New macro.
1201
1202 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1203
1204         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1205         utf-2000.
1206
1207 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1208
1209         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1210         value; don't store value into `encoding_table' of `Lisp_Charset'.
1211         (mark_charset): `encoding_table' was deleted.
1212         (charset_description): Likewise.
1213         (make_charset): Likewise.
1214         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1215         `put_char_ccs_code_point'.
1216
1217         * chartab.h (Fput_char_attribute): New EXFUN.
1218
1219         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1220         is unified with normal symbol space.
1221         (Fget_char_attribute): Likewise.
1222         (Fput_char_attribute): Likewise; behavior of
1223         `put_char_ccs_code_point' is changed.
1224
1225         * char-ucs.h: Include "elhash.h".
1226         (Vchar_attribute_hash_table): New external variable.
1227         (struct Lisp_Charset): Delete `encoding_table'.
1228         (CHARSET_ENCODING_TABLE): New implementation; refer
1229         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1230         `Lisp_Charset'.
1231
1232 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1233
1234         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1235         (cs) == 0.
1236
1237 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1238
1239         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1240         `chinese-big5'.
1241
1242 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1243
1244         * chartab.c (uint8_byte_table_description): New constant.
1245         (uint8-byte-table): Use `uint8_byte_table_description'.
1246         (uint16_byte_table_description): New constant.
1247         (uint16-byte-table): Use `uint16_byte_table_description'.
1248
1249 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1250
1251         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1252         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1253
1254 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1255
1256         * mule-charset.c (Vcharset_ucs_ks): New variable.
1257         (Qucs_ks): New variable.
1258         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1259         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1260
1261         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1262
1263 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1264
1265         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1266         (Fdecode_char): Likewise.
1267
1268         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1269         chartab.h.
1270         (Fdefine_char): Modify for Fdecode_char.
1271         (Ffind_char): Likewise.
1272
1273         * mule-charset.c (Fdecode_char): Add new optional argument
1274         `defined-only'.
1275         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1276
1277 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1278
1279         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1280         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1281         (allocate_coding_system): Initialize initial-charsets of
1282         CODESYS_BIG5 in XEmacs UTF-2000.
1283         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1284         CODESYS_BIG5 in XEmacs UTF-2000.
1285         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1286         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1287
1288         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1289         variables.
1290         (Qideograph_hanziku_{1 .. 12}): Likewise.
1291         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1292         .. 12}'.
1293         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1294         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1295         `ideograph-hanziku-{1 .. 12}'.
1296
1297         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1298         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1299         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1300         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1301         (DECODE_DEFINED_CHAR): New inline function.
1302         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1303
1304 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1305
1306         * mule-charset.c (Vcharset_china3_jef): Renamed from
1307         `Vcharset_japanese_jef_china3'.
1308         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1309         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1310         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1311         (syms_of_mule_charset): Rename `china3-jef' from
1312         `japanese-jef-china3'.
1313         (complex_vars_of_mule_charset): Likewise; rename
1314         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1315
1316         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1317         `LEADING_BYTE_JEF_CHINA3'.
1318         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1319         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1320
1321 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1322
1323         * mule-charset.c (encode_builtin_char_1): Comment out special code
1324         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1325
1326         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1327         (MAX_CHAR_MOJIKYO_0): Comment out.
1328         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1329         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1330         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1331         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1332
1333 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1334
1335         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1336         (Qideograph_cbeta): New variable.
1337         (encode_builtin_char_1): Comment out special code for
1338         coded-charset `mojikyo' and `japanese-jef-china3'.
1339         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1340         (complex_vars_of_mule_charset): Add new coded-charset
1341         `ideograph-cbeta'.
1342
1343         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1344         (MIN_CHAR_CBETA): New macro.
1345         (MAX_CHAR_CBETA): New macro.
1346
1347 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1348
1349         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1350         (LEADING_BYTE_JEF_CHINA3): New macro.
1351         (MIN_CHAR_JEF_CHINA3): New macro.
1352         (MAX_CHAR_JEF_CHINA3): Likewise.
1353         (DECODE_CHAR): Fixed.
1354
1355 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1356
1357         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1358         (Qjapanese_jef_china3): New variable.
1359         (encode_builtin_char_1): Support `japanese-jef-china3'.
1360         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1361         (complex_vars_of_mule_charset): Add new coded-charset
1362         `japanese-jef-china3'.
1363
1364 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1365
1366         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1367         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1368         94^4, 96^3, 96^4, 128^n and 256^n set.
1369         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1370         (map_char_table): Likewise.
1371
1372 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1373
1374         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1375         UTF-2000.
1376
1377 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1378
1379         * chartab.h (get_char_id_table): New inline function.
1380
1381         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1382         function.
1383
1384 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1385
1386         * chartab.h (decode_char_table_range): New prototype in XEmacs
1387         UTF-2000.
1388         (put_char_id_table): New inline function in XEmacs UTF-2000.
1389
1390         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1391         function.
1392         (decode_char_table_range): Delete static declaration in XEmacs
1393         UTF-2000.
1394
1395 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1396
1397         * chartab.c (put_char_id_table): Use `put_char_table'.
1398
1399 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1400
1401         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1402         (map_over_uint16_byte_table): Likewise.
1403         (map_over_byte_table): Likewise.
1404         (map_char_table): Modify for `map_over_uint8_byte_table',
1405         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1406         UTF-2000.
1407
1408 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1409
1410         * chartab.c (struct map_char_table_for_charset_arg): New
1411         structure.
1412         (map_char_table_for_charset_fun): New function.
1413         (map_char_table): Use `map_char_table' for encoding_table of
1414         `range->charset'.
1415
1416 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1417
1418         * chartab.c (map_char_table): Check a character is found in
1419         range->charset instead of non default value is defined in
1420         char-table when range is CHARTAB_RANGE_ROW.
1421
1422 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1423
1424         * chartab.c (map_char_id_table): Deleted.
1425         (Fmap_char_attribute): Use `map_char_table' instead of
1426         `map_char_id_table'.
1427
1428 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1429
1430         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1431         UTF-2000.
1432         (update_syntax_table): Deleted in XEmacs UTF-2000.
1433
1434         * syntax.c (find_defun_start): Use `syntax_table' instead of
1435         `mirror_syntax_table' in XEmacs UTF-2000.
1436         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1437         UTF-2000.
1438         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1439         XEmacs UTF-2000.
1440         (Fmatching_paren): Likewise.
1441         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1442         in XEmacs UTF-2000.
1443         (find_start_of_comment): Likewise.
1444         (find_end_of_comment): Likewise.
1445         (Fforward_comment): Likewise.
1446         (scan_lists): Likewise.
1447         (char_quoted): Likewise.
1448         (Fbackward_prefix_chars): Likewise.
1449         (scan_sexps_forward): Likewise.
1450         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1451         (update_syntax_table): Likewise.
1452
1453         * search.c (skip_chars): Use `syntax_table' instead of
1454         `mirror_syntax_table' in XEmacs UTF-2000.
1455         (wordify): Likewise.
1456         (Freplace_match): Likewise.
1457
1458         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1459         `mirror_syntax_table' in XEmacs UTF-2000.
1460         (WORDCHAR_P_UNSAFE): Likewise.
1461         (re_match_2_internal): Likewise.
1462
1463         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1464         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1465
1466         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1467         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1468
1469         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1470         XEmacs UTF-2000.
1471
1472         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1473         UTF-2000.
1474         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1475         (char_table_description): Delete `mirror_table' in XEmacs
1476         UTF-2000.
1477         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1478         UTF-2000.
1479         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1480         (Fcopy_char_table): Likewise.
1481         (put_char_table): Don't call `update_syntax_table' in XEmacs
1482         UTF-2000.
1483
1484         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1485         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1486         (casify_region_internal): Likewise.
1487
1488         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1489
1490         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1491         `mirror_syntax_table' in XEmacs UTF-2000.
1492
1493         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1494         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1495         (Fexpand_abbrev): Likewise.
1496
1497 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1498
1499         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1500
1501 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1502
1503         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1504         (map_over_uint16_byte_table): Likewise.
1505         (map_over_byte_table): Likewise.
1506         (get_char_id_table): Refer `cit->default_value'.
1507         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1508         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1509         of character-id ranges.
1510         (mark_char_table): Mark `ct->default_value'.
1511         (char_table_description): Add `default_value'.
1512         (fill_char_table): Use `default_value'.
1513         (decode_char_table_range): Decode `nil' as
1514         `CHARTAB_RANGE_DEFAULT'.
1515         (get_char_id_table): Refer `cit->default_value'.
1516         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1517         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1518         temporary hack; check value of char-table is bound or not.
1519         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1520
1521         * chartab.h (struct Lisp_Char_Table): Add new member
1522         `default_value' in XEmacs UTF-2000.
1523         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1524         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1525         UTF-2000.
1526
1527 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1528
1529         * chartab.h (Lisp_Char_ID_Table): Deleted.
1530
1531         * chartab.c (char_table_description): Fix typo.
1532         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1533         `Lisp_Char_ID_Table'.
1534
1535 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1536
1537         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1538         `CHAR_ID_TABLE_P'.
1539
1540         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1541         `CHAR_ID_TABLE_P'.
1542
1543         * chartab.h (XCHAR_ID_TABLE): Deleted.
1544         (XSETCHAR_ID_TABLE): Deleted.
1545         (CHAR_ID_TABLE_P): Deleted.
1546
1547         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1548         `CHAR_ID_TABLE_P'.
1549         (Fget_composite_char): Likewise.
1550         (put_char_table): Likewise.
1551         (add_char_attribute_alist_mapper): Fixed.
1552         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1553         `CHAR_ID_TABLE_P'.
1554         (Fget_char_attribute): Likewise.
1555         (Fget_char_attribute): Likewise.
1556         (Fmap_char_attribute): Likewise.
1557
1558         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1559         `CHAR_ID_TABLE_P'.
1560         (encode_char_1): Likewise.
1561
1562 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1563
1564         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1565         `XCHAR_ID_TABLE'.
1566
1567         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1568         instead of `XCHAR_ID_TABLE'.
1569         (remove_char_ccs): Likewise.
1570
1571         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1572         `XCHAR_ID_TABLE'.
1573         (Fget_composite_char): Likewise.
1574         (Fchar_variants): Likewise.
1575         (put_char_table): Likewise.
1576         (add_char_attribute_alist_mapper): Likewise.
1577         (Fchar_attribute_alist): Likewise.
1578         (Fget_char_attribute): Likewise.
1579         (Fput_char_attribute): Likewise.
1580         (Fmap_char_attribute): Likewise.
1581         (Fmap_char_attribute): Likewise.
1582
1583         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1584         `XCHAR_ID_TABLE'.
1585         (encode_char_1): Likewise.
1586
1587 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1588
1589         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1590         `Lisp_Char_ID_Table'.
1591         (mark_char_id_table): Deleted.
1592         (print_char_id_table): Likewise.
1593         (char_id_table_equal): Likewise.
1594         (char_id_table_hash): Likewise.
1595         (char_id_table_description): Likewise.
1596         (char_id_table): Likewise.
1597         (make_char_id_table): Use `Fmake_char_table' and
1598         `fill_char_table'.
1599         (get_char_id_table): Use `Lisp_Char_Table' instead of
1600         `Lisp_Char_ID_Table'.
1601         (put_char_id_table): Likewise.
1602         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1603         `XCHAR_ID_TABLE'.
1604         (Fremove_char_attribute): Likewise.
1605         (syms_of_chartab): Don't define type `char-id-table'.
1606
1607         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1608         (char_id_table): Likewise.
1609         (GC_CHAR_ID_TABLE_P): Likewise.
1610         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1611         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1612         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1613         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1614         (get_char_id_table): Use `Lisp_Char_Table' instead of
1615         `Lisp_Char_ID_Table'.
1616         (put_char_id_table_0): Likewise.
1617         (put_char_id_table): Likewise.
1618
1619 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1620
1621         * chartab.h: Lisp_Byte_Table related codes are moved from
1622         chartab.h.
1623
1624         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1625
1626 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1627
1628         * chartab.h: Don't include "chartab.h".
1629         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1630         (Lisp_Char_ID_Table): Likewise.
1631         (char_id_table): Likewise.
1632         (XCHAR_ID_TABLE): Likewise.
1633         (XSETCHAR_ID_TABLE): Likewise.
1634         (CHAR_ID_TABLE_P): Likewise.
1635         (GC_CHAR_ID_TABLE_P): Likewise.
1636         (get_char_id_table): Likewise.
1637
1638         * char-ucs.h: Include "chartab.h".
1639         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1640         (Lisp_Char_ID_Table): Likewise.
1641         (char_id_table): Likewise.
1642         (XCHAR_ID_TABLE): Likewise.
1643         (XSETCHAR_ID_TABLE): Likewise.
1644         (CHAR_ID_TABLE_P): Likewise.
1645         (GC_CHAR_ID_TABLE_P): Likewise.
1646         (get_char_id_table): Likewise.
1647
1648 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1649
1650         * chartab.c (copy_uint8_byte_table): New function.
1651         (copy_uint16_byte_table): New function.
1652         (copy_byte_table): New function.
1653         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1654         characters to call.
1655         (map_over_uint16_byte_table): Likewise.
1656         (map_over_byte_table): Likewise.
1657         (get_byte_table): Move prototype to chartab.h.
1658         (put_byte_table): Likewise.
1659         (put_char_id_table_0): Moved to chartab.h.
1660         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1661         (char_table_entry_equal): Likewise.
1662         (char_table_entry_hash): Likewise.
1663         (char_table_entry_description): Likewise.
1664         (char_table_entry): Likewise.
1665         (make_char_table_entry): Likewise.
1666         (copy_char_table_entry): Likewise.
1667         (get_non_ascii_char_table_value): Likewise.
1668         (map_over_charset_ascii): Likewise.
1669         (map_over_charset_control_1): Likewise.
1670         (map_over_charset_row): Likewise.
1671         (map_over_other_charset): Likewise.
1672         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1673         (print_char_table): Likewise.
1674         (char_table_equal): Likewise.
1675         (char_table_hash): Likewise.
1676         (char_table_description): Likewise.
1677         (fill_char_table): Likewise.
1678         (Fcopy_char_table): Likewise.
1679         (get_char_table): Likewise.
1680         (Fget_range_char_table): Likewise.
1681         (put_char_table): Likewise.
1682         (map_char_table): Likewise.
1683         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1684         UTF-2000.
1685
1686 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1687
1688         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1689         `Vauto_fill_chars' in XEmacs UTF-2000.
1690
1691         * chartab.h (get_byte_table): New prototype [moved from
1692         chartab.c].
1693         (put_byte_table): Likewise [moved from chartab.c].
1694         (put_char_id_table_0): New inline function [moved from chartab.c].
1695         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1696         (Lisp_Char_Table_Entry): Likewise.
1697         (char_table_entry): Likewise.
1698         (XCHAR_TABLE_ENTRY): Likewise.
1699         (XSETCHAR_TABLE_ENTRY): Likewise.
1700         (CHAR_TABLE_ENTRYP): Likewise.
1701         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1702         (NUM_ASCII_CHARS): Likewise.
1703         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1704         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1705
1706 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1707
1708         * chartab.c (get_char_id_table): Change interface.
1709         (put_char_id_table_0): New function.
1710         (put_char_id_table): Change interface; new implementation.
1711         (Fget_composite_char): Modify for interface change of
1712         `get_char_id_table'.
1713         (Fchar_variants): Likewise.
1714         (add_char_attribute_alist_mapper): Likewise.
1715         (Fchar_attribute_alist): Likewise.
1716         (Fget_char_attribute): Likewise.
1717         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1718         as same as character as the first argument like `put-char-table';
1719         modify for interface change of `put_char_id_table'.
1720         (Fremove_char_attribute): Modify for interface change of
1721         `put_char_id_table'.
1722
1723 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1724
1725         * text-coding.c: Sync up with XEmacs 21.2.41.
1726         (COMPOSE_ADD_CHAR): Modify for interface change of
1727         `get_char_id_table'.
1728
1729         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1730         change of `put_char_id_table'.
1731         (remove_char_ccs): Likewise.
1732
1733         * chartab.h (put_char_id_table): Change interface.
1734
1735         * char-ucs.h (get_char_id_table): Change interface.
1736         (charset_code_point): Modify for interface change of
1737         `get_char_id_table'.
1738         (encode_char_1): Likewise.
1739
1740 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1741
1742         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1743         argument `ccs'.
1744         (map_over_uint16_byte_table): Likewise.
1745         (map_over_byte_table): Likewise.
1746         (map_char_id_table): Add new argument `range' like
1747         `map_char_table'.
1748         (Fmap_char_attribute): Add new argument `range' like
1749         `Fmap_char_table'.
1750
1751 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1752
1753         * chartab.c (map_over_uint8_byte_table): Change interface of
1754         mapping function to use struct chartab_range instead of Emchar.
1755         (map_over_uint16_byte_table): Likewise.
1756         (map_over_byte_table): Likewise.
1757         (map_char_id_table): Likewise.
1758         (struct slow_map_char_id_table_arg): Deleted.
1759         (slow_map_char_id_table_fun): Deleted.
1760         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1761         function `slow_map_char_table_fun' instead of struct
1762         `slow_map_char_id_table_arg' and function
1763         `slow_map_char_id_table_fun'.
1764
1765 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1766
1767         * mule-charset.c: Move char-it-table related codes to chartab.c.
1768         (Vutf_2000_version): Moved to chartab.c.
1769         (Fdefine_char): Likewise.
1770         (Ffind_char): Likewise.
1771         (syms_of_mule_charset): Move types `uint8-byte-table',
1772         `uint16-byte-table', `byte-table' and `char-id-table' to
1773         chartab.c; move functions `char_attribute_list,
1774         `find_char_attribute_table, `char_attribute_alist,
1775         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1776         `map_char_attribute, `define_char, `find_char, `char_variants and
1777         `get_composite_char to chartab.c; move symbols `=>ucs',
1778         `->decomposition', `compat', `isolated', `initial', `medial',
1779         `final', `vertical', `noBreak', `fraction', `super', `sub',
1780         `circle', `square', `wide', `narrow', `small' and `font' to
1781         chartab.c.
1782         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1783         setting codes for `Vcharacter_composition_table' and
1784         `Vcharacter_variant_table' to chartab.c.
1785         (complex_vars_of_mule_charset): Move setting code for
1786         `Vchar_attribute_hash_table' to chartab.c.
1787
1788         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1789         (make_char_id_table): New prototype.
1790         (put_char_id_table): Likewise.
1791         (Fget_char_attribute): Likewise.
1792
1793         * chartab.c: Move char-id-table related code from mule-charset.c.
1794         (Vutf_2000_version): Moved from mule-charset.c.
1795
1796         * char-ucs.h (Qucs): New external variable.
1797         (put_char_ccs_code_point): New prototype.
1798         (remove_char_ccs): Likewise.
1799
1800 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1801
1802         * mule-charset.c (Vcharset_ucs_jis): New variable.
1803         (Qucs_jis): Likewise.
1804         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1805         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1806
1807         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1808
1809 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1810
1811         * mule-charset.c (map_over_uint8_byte_table): New function.
1812         (map_over_uint16_byte_table): Likewise.
1813         (map_over_byte_table): Likewise.
1814         (map_char_id_table): Likewise.
1815         (slow_map_char_id_table_fun): Likewise.
1816         (Fmap_char_attribute): Likewise.
1817         (syms_of_mule_charset): Add new function `map-char-attribute'.
1818
1819 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1820
1821         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1822         (syms_of_mule_charset): Add new function `find-char'.
1823
1824 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1825
1826         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1827         XEmacs UTF-2000.
1828         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1829         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1830         XEmacs UTF-2000.
1831         (complex_vars_of_mule_charset): Add new coded-charset
1832         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1833         `ideograph-gt-pj-*'.
1834
1835         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1836
1837 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1838
1839         * mule-charset.c (encode_builtin_char_1): Purge codes about
1840         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1841         {MIN|MAX}_CHAR_HEBREW.
1842         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1843         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1844
1845         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1846         (MAX_CHAR_GREEK): Purged.
1847         (MIN_CHAR_CYRILLIC): Purged.
1848         (MAX_CHAR_CYRILLIC): Purged.
1849         (MIN_CHAR_HEBREW): Commented out.
1850         (MAX_CHAR_HEBREW): Likewise.
1851
1852 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1853
1854         * mule-charset.c (Qto_ucs): New variable.
1855         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1856         (Fdefine_char): Likewise.
1857         (syms_of_mule_charset): Add new symbol `=>ucs'.
1858
1859 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1860
1861         * mule-charset.c (Fdecode_char): Fixed.
1862
1863 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1864
1865         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1866         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1867         "tcvn5712-1".
1868
1869 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1870
1871         * mule-charset.c (Vcharset_ucs_big5): New variable.
1872         (Qucs_big5): Likewise.
1873         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1874         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1875
1876         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1877
1878 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1879
1880         * mule-charset.c (decode_builtin_char): Check Big5 code range
1881         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1882
1883 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1884
1885         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1886         (Qchinese_gb12345): Likewise.
1887         (Fdecode_builtin_char): Fixed.
1888         (syms_of_mule_charset): Add `chinese-gb12345'.
1889         (complex_vars_of_mule_charset): Add coded-charset
1890         `chinese-gb12345'.
1891
1892         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1893         (LEADING_BYTE_CHINESE_GB12345): New macro.
1894
1895 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1896
1897         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1898         and `latin-viscii-upper' for `latin-viscii'.
1899
1900 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1901
1902         * mule-charset.c (Fdecode_builtin_char): Comment out
1903         regularization code for ISO-IR GR representation.
1904
1905 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1906
1907         * mule-charset.c (decode_builtin_char): New function; renamed from
1908         `make_builtin_char'; return -1 instead of signal.
1909         (Fdecode_builtin_char): Use `decode_builtin_char'.
1910
1911         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1912         `make_builtin_char'.
1913         (DECODE_CHAR): Use `decode_builtin_char' instead of
1914         `make_builtin_char'; use mapping table of `chinese-big5' for
1915         `chinese-big5-{1,2}'.
1916
1917 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1918
1919         * text-coding.c (char_encode_big5): New function.
1920         (char_finish_big5): Likewise.
1921         (reset_encoding_stream): Use `char_encode_big5' and
1922         `char_finish_big5' for CODESYS_BIG5.
1923         (mule_encode): Don't use `encode_coding_big5'.
1924         (encode_coding_big5): Deleted.
1925
1926 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1927
1928         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1929         0x81- in XEmacs UTF-2000.
1930         (detect_coding_big5): Likewise.
1931
1932 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1933
1934         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1935         generate character-id if the CCS property does not have
1936         corresponding predefined character.
1937         (make_builtin_char): Return -1 if corresponding predefined
1938         character is not found.
1939         (Fdecode_char): Return nil if corresponding character is not
1940         found.
1941         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1942         don't map to builtin ucs space.
1943
1944 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1945
1946         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1947         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1948
1949 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1950
1951         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1952         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1953         (Qideograph_gt): Likewise.
1954         (Qideograph_gt_pj_{1..11}): Likewise.
1955         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1956         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1957         `ideograph-gt-pj-11'.
1958         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1959         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1960         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1961
1962         * char-ucs.h (LEADING_BYTE_GT): New macro.
1963         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1964         (MIN_CHAR_GT): Likewise.
1965         (MAX_CHAR_GT): Likewise.
1966
1967 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1968
1969         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1970         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1971
1972         * doprnt.c (unsigned_int_converters): Add `c'.
1973         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1974
1975         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1976         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1977         `MIN_CHAR_MOJIKYO'.
1978         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1979         (MAX_CHAR_MOJIKYO_0): New macro.
1980         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1981
1982 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1983
1984         * mule-charset.c (Fdefine_char): Delete cemented out code.
1985         (encode_builtin_char_1): Modify for new allocation of builtin
1986         Mojikyo characters.
1987
1988         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1989
1990 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1991
1992         * mule-charset.c (Vcharset_ucs_cns): New variable.
1993         (Qucs_cns): New variable.
1994         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1995         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1996
1997 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1998
1999         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2000
2001 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2002
2003         * search.c (search_buffer): Make `charset_base_code' as
2004         character-id >> 6 to eliminate the corresponding last byte in
2005         UTF-8 representation [I'm not sure it is right thing].
2006         (boyer_moore): Likewise.
2007
2008 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2009
2010         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2011         representation in MULE.
2012
2013 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2014
2015         * text-coding.c (Fmake_coding_system): Use
2016         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2017         `EXTERNAL_PROPERTY_LIST_LOOP'.
2018
2019 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2020
2021         * text-coding.c (decode_output_utf8_partial_char): New function.
2022         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2023
2024 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2025
2026         * text-coding.c (decode_coding_utf8): Output original byte
2027         sequence if it is broken; change order of conditions.
2028
2029         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2030         of conditions.
2031
2032         * mb-multibyte.h (BYTE_ASCII_P):
2033         Use bit ops for char-signedness safety.
2034         (BYTE_C0_P): Use bit ops for char-signedness safety.
2035         (BYTE_C1_P): Use bit ops for char-signedness safety.
2036
2037         * character.h: (XCHAR_OR_CHAR_INT):
2038         Always use inline function.
2039         Remove redundant type checking assert() - XINT will abort quite
2040         nicely.
2041
2042 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2043
2044         * text-coding.c: (Fencode_shift_jis_char):
2045         (Fencode_big5_char):
2046         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2047         Replace 0 with '\0' when working with bytes.
2048         Replace initial "(" with "\(" in docstrings.
2049
2050         (Fmake_coding_system):
2051         When type is ccl and value is vector, register it with a proper
2052         symbol.  And checks whether the given ccl program is valid.
2053         (mule_decode): When calling ccl_driver, if src indicates
2054         NULL pointer, set an empty string instead.
2055         (mule_encode): Likewise.
2056
2057         (detect_eol_type):
2058         (detect_coding_sjis):
2059         (decode_coding_sjis):
2060         (detect_coding_big5):
2061         (decode_coding_big5):
2062         (detect_coding_ucs4):
2063         (decode_coding_ucs4):
2064         (detect_coding_utf8):
2065         (decode_coding_utf8):
2066         (detect_coding_iso2022):
2067         (decode_coding_iso2022):
2068         (decode_coding_no_conversion):
2069         (mule_decode):
2070         Make all detecting and decoding functions take an Extbyte * arg.
2071         (text_encode_generic):
2072         (encode_coding_big5):
2073         (encode_coding_no_conversion):
2074         (mule_encode):
2075         Make all encoding functions take a Bufbyte * arg.
2076         Use size_t instead of unsigned int for memory sizes.
2077         Only cast to unsigned char whenever dereferencing Extbyte *.
2078
2079         (struct lrecord_description fcd_description_1): Use countof.
2080         (complex_vars_of_file_coding):
2081         Use countof instead of sizeof.
2082         Use CHECK_NATNUM instead of CHECK_INT.
2083
2084 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2085
2086         * mule-charset.c (Fget_char_attribute): Add new optional argument
2087         `default-value'.
2088         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2089         (remove_char_ccs): Likewise.
2090
2091 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2092
2093         * text-coding.c (char_encode_shift_jis): New implementation in
2094         UTF-2000.
2095         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2096         ...)'.
2097
2098         * mule-charset.c (Vcharset_chinese_big5): New variable in
2099         UTF-2000.
2100         (Qchinese_big5): New variable in UTF-2000.
2101         (BIG5_SAME_ROW): New macro in UTF-2000.
2102         (make_builtin_char): Use builtin characters of
2103         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2104         characters of `Vcharset_chinese_big5'.
2105         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2106         (complex_vars_of_mule_charset): Add new coded-charset
2107         `chinese-big5' in UTF-2000.
2108
2109         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2110         (Vcharset_chinese_big5): New external variable declaration.
2111         (Vcharset_japanese_jisx0208_1990): Likewise.
2112
2113 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2114
2115         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2116         function.
2117         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2118
2119 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2120
2121         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2122         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2123         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2124         `mojikyo-pj-*'.
2125
2126 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2127
2128         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2129
2130 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2131
2132         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2133         to 0.17.
2134
2135 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2136
2137         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2138         for `CHARSET_BY_ATTRIBUTES'.
2139         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2140         `CHARSET_BY_ATTRIBUTES'.
2141
2142         * text-coding.c (struct decoding_stream): Rename member `CH' to
2143         `CPOS'.
2144         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2145         (decode_coding_sjis): Likewise.
2146         (decode_coding_big5): Likewise.
2147         (decode_coding_ucs4): Likewise.
2148         (decode_coding_utf8): Likewise.
2149         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2150         `CHARSET_BY_ATTRIBUTES'.
2151         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2152         `str->counter'; decode 3, 4 bytes sets.
2153         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2154         sets.
2155         (decode_coding_no_conversion): Use `str->cpos' instead of
2156         `str->ch'.
2157
2158         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2159         (Qmojikyo_2022_1): New variable.
2160         (make_charset): Don't use `CHARSET_TYPE_*'.
2161         (range_charset_code_point): Support coded-charset
2162         `mojikyo-2022-1'.
2163         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2164         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2165         `CHARSET_BY_ATTRIBUTES'.
2166         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2167         `CHARSET_BY_ATTRIBUTES'.
2168         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2169         (complex_vars_of_mule_charset): Add new coded-charset
2170         `mojikyo-2022-1'.
2171
2172         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2173         interface; changed to inline function.
2174
2175         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2176         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2177         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2178         (CHARSET_TYPE_94): Deleted.
2179         (CHARSET_TYPE_94X94): Deleted.
2180         (CHARSET_TYPE_96): Deleted.
2181         (CHARSET_TYPE_96X96): Deleted.
2182         (CHARSET_TYPE_128): Deleted.
2183         (CHARSET_TYPE_128X128): Deleted.
2184         (CHARSET_TYPE_256): Deleted.
2185         (CHARSET_TYPE_256X256): Deleted.
2186         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2187         to inline function.
2188         (DECODE_MOJIKYO_2022): New inline function.
2189         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2190         `Vcharset_mojikyo_2022_1'.
2191
2192 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2193
2194         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2195         instead of `EQ'.
2196         (put_byte_table): Likewise.
2197         (char_id_table_equal): Use `get_byte_table' [new implementation].
2198
2199 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2200
2201         * mule-charset.c: Include <limits.h> in UTF-2000.
2202         (BT_UINT8_MIN): New macro in UTF-2000.
2203         (BT_UINT8_MAX): New macro in UTF-2000.
2204         (BT_UINT8_t): New macro in UTF-2000.
2205         (BT_UINT8_nil): New macro in UTF-2000.
2206         (BT_UINT8_unbound): New macro in UTF-2000.
2207         (INT_UINT8_P): New inline function in UTF-2000.
2208         (UINT8_VALUE_P): New inline function in UTF-2000.
2209         (UINT8_ENCODE): New inline function in UTF-2000.
2210         (UINT8_DECODE): New inline function in UTF-2000.
2211         (mark_uint8_byte_table): New function in UTF-2000.
2212         (print_uint8_byte_table): New function in UTF-2000.
2213         (uint8_byte_table_equal): New function in UTF-2000.
2214         (uint8_byte_table_hash): New function in UTF-2000.
2215         (make_uint8_byte_table): New function in UTF-2000.
2216         (uint8_byte_table_same_value_p): New function in UTF-2000.
2217         (BT_UINT16_MIN): New macro in UTF-2000.
2218         (BT_UINT16_MAX): New macro in UTF-2000.
2219         (BT_UINT16_t): New macro in UTF-2000.
2220         (BT_UINT16_nil): New macro in UTF-2000.
2221         (BT_UINT16_unbound): New macro in UTF-2000.
2222         (INT_UINT16_P): New inline function in UTF-2000.
2223         (UINT16_VALUE_P): New inline function in UTF-2000.
2224         (UINT16_ENCODE): New inline function in UTF-2000.
2225         (UINT16_DECODE): New inline function in UTF-2000.
2226         (UINT8_TO_UINT16): New inline function in UTF-2000.
2227         (mark_uint16_byte_table): New function in UTF-2000.
2228         (print_uint16_byte_table): New function in UTF-2000.
2229         (uint16_byte_table_equal): New function in UTF-2000.
2230         (uint16_byte_table_hash): New function in UTF-2000.
2231         (make_uint16_byte_table): New function in UTF-2000.
2232         (uint16_byte_table_same_value_p): New function in UTF-2000.
2233         (print_byte_table): New function in UTF-2000.
2234         (byte-table): Use `print_byte_table' as printer.
2235         (make_byte_table): Delete second argument `older'.
2236         (byte_table_same_value_p): New function in UTF-2000.
2237         (copy_byte_table): Deleted.
2238         (get_byte_table): New function in UTF-2000.
2239         (put_byte_table): New function in UTF-2000.
2240         (print_char_id_table): New function in UTF-2000.
2241         (char-id-table): Use `print_char_id_table' as printer.
2242         (make_char_id_table): Delete second argument `older'.
2243         (get_char_id_table): Use `get_byte_table [new implementation].
2244         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2245         implementation].
2246         (Ffind_char_attribute_table): New function in UTF-2000.
2247         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2248         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2249         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2250         (syms_of_mule_charset): Add new function
2251         `find-char-attribute-table' in UTF-2000.
2252
2253         * lrecord.h (enum lrecord_type): Add
2254         `lrecord_type_uint16_byte_table' and
2255         `lrecord_type_uint8_byte_table'.
2256
2257         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2258         (Lisp_Uint8_Byte_Table): New type.
2259         (XUINT8_BYTE_TABLE): New macro.
2260         (XSETUINT8_BYTE_TABLE): New macro.
2261         (UINT8_BYTE_TABLE_P): New macro.
2262         (GC_UINT8_BYTE_TABLE_P): New macro.
2263         (struct Lisp_Uint16_Byte_Table): New structure.
2264         (Lisp_Uint16_Byte_Table): New type.
2265         (XUINT16_BYTE_TABLE): New macro.
2266         (XSETUINT16_BYTE_TABLE): New macro.
2267         (UINT16_BYTE_TABLE_P): New macro.
2268         (GC_UINT16_BYTE_TABLE_P): New macro.
2269
2270 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2271
2272         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2273         (Vcharacter_ideographic_strokes_table): Deleted.
2274         (Vcharacter_total_strokes_table): Deleted.
2275         (Vcharacter_morohashi_daikanwa_table): Deleted.
2276         (Vcharacter_decomposition_table): Deleted.
2277         (Qname): Deleted because it is duplicated.
2278         (Qideographic_radical): Deleted.
2279         (Qideographic_strokes): Deleted.
2280         (Qtotal_strokes): Deleted.
2281         (Qmorohashi_daikanwa): Deleted.
2282         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2283         `ideographic-radical', `ideographic-strokes', `total-strokes',
2284         `morohashi-daikanwa' and `->decomposition'.
2285         (Fget_char_attribute): Likewise.
2286         (Fput_char_attribute): Likewise; use `make-vector' instead of
2287         `make_older_vector' for `->decomposition' value.
2288         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2289         `ideograph-daikanwa'.
2290         (syms_of_mule_charset): Delete builtin symbols `name',
2291         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2292         `morohashi-daikanwa'.
2293         (vars_of_mule_charset): Don't setup
2294         `Vcharacter_ideographic_radical_table',
2295         `Vcharacter_ideographic_strokes_table',
2296         `Vcharacter_total_strokes_table',
2297         `Vcharacter_morohashi_daikanwa_table' and
2298         `Vcharacter_decomposition_table'.
2299
2300 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2301
2302         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2303         `make_older_vector', `make_vector_newer_1' and
2304         `make_vector_newer'.
2305
2306         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2307         `make_older_vector' and `make_vector_newer'.
2308
2309         * config.h.in (HAVE_GGC): New macro.
2310
2311 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2312
2313         * mule-charset.c (struct char_attribute_list_closure): New
2314         structure in UTF-2000.
2315         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2316         (Fchar_attribute_list): Likewise.
2317         (Fset_charset_mapping_table): Use `make_vector_newer'.
2318         (Fdecode_builtin_char): New function in UTF-2000.
2319         (syms_of_mule_charset): Add new function `char-attribute-list' and
2320         `decode-builtin-char' in UTF-2000.
2321
2322         * lisp.h (make_vector_newer): New prototype.
2323
2324         * alloc.c (make_vector_newer_1): New function.
2325         (make_vector_newer): New function.
2326
2327 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2328
2329         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2330         50100)'.
2331
2332 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2333
2334         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2335         (Vcharacter_attribute_table): Deleted.
2336         (Vcharacter_name_table): Deleted.
2337         (put_char_attribute): Deleted.
2338         (remove_char_attribute): Deleted.
2339         (struct char_attribute_alist_closure): New structure.
2340         (add_char_attribute_alist_mapper): New function.
2341         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2342         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2343         (Fget_char_attribute): Likewise.
2344         (Fput_char_attribute): Likewise.
2345         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2346         of `remove_char_attribute'.
2347         (Fdefine_char): Return character.
2348         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2349         and `Vcharacter_name_table'.
2350         (complex_vars_of_mule_charset): Likewise
2351         `Vchar_attribute_hash_table'.
2352
2353 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2354
2355         * character.h (CHARC_CHARSET): New macro.
2356         (CHARC_CHARSET_ID): New macro.
2357         (CHARC_CODE_POINT): New macro.
2358         (CHARC_COLUMNS): New macro.
2359         (CHARC_TO_CHAR): New inline function.
2360         (CHARC_EQ): New inline function.
2361         (CHARC_ASCII_EQ): New inline function.
2362         (CHARC_IS_SPACE): New inline function.
2363         (ASCII_TO_CHARC): New inline function.
2364
2365         * char-ucs.h (encode_char_2): Deleted.
2366         (ENCODE_CHAR): Use `encode_char_1' again.
2367         (breakup_char_1): Likewise.
2368         (CHAR_TO_CHARC): New inline function.
2369
2370         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2371
2372 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2373
2374         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2375         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2376         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2377         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2378         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2379         `CHARC_IS_SPACE'.
2380         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2381
2382         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2383         `CHARC_CODE_POINT'.
2384         (x_output_display_block): Use `CHARC_CHARSET' and
2385         `CHARC_ASCII_EQ'.
2386
2387         * redisplay-tty.c (tty_output_display_block): Use
2388         `CHARC_ASCII_EQ'.
2389         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2390
2391         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2392
2393         * insdel.c (find_charsets_in_charc_string): Use
2394         `CHARC_CHARSET_ID'.
2395         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2396         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2397         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2398         (convert_charc_string_into_malloced_string): Likewise.
2399
2400 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2401
2402         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2403         instead of <Emchar_dynarr *> for buf; use
2404         `convert_bufbyte_string_into_charc_dynarr' instead of
2405         `convert_bufbyte_string_into_emchar_dynarr'; use
2406         `find_charsets_in_charc_string' instead of
2407         `find_charsets_in_emchar_string'.
2408
2409         * redisplay.h:
2410         - Include "character.h".
2411         (struct rune): New member `cglyph'; delete member `chr'.
2412
2413         * redisplay.c (redisplay_text_width_charc_string): New function;
2414         delete `redisplay_text_width_emchar_string'.
2415         (rtw_charc_dynarr): New variable; renamed from
2416         `rtw_emchar_dynarr'.
2417         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2418         `rtw_emchar_dynarr'; use
2419         `convert_bufbyte_string_into_charc_dynarr' instead of
2420         `convert_bufbyte_string_into_emchar_dynarr'; use
2421         `redisplay_text_width_charc_string' instead of
2422         `redisplay_text_width_emchar_string'.
2423         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2424         instead of `rtw_emchar_dynarr'; use
2425         `convert_bufbyte_string_into_charc_dynarr' instead of
2426         `convert_bufbyte_string_into_emchar_dynarr'.
2427         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2428         `redisplay_text_width_charc_string' instead of
2429         `redisplay_text_width_emchar_string'.
2430         (create_text_block): Modify for <struct rune> change.
2431         (generate_formatted_string_db): Likewise.
2432         (create_string_text_block): Likewise.
2433         (pixel_to_glyph_translation): Likewise.
2434
2435         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2436         instead of <const Emchar *>.
2437         (x_text_width): Likewise.
2438         (x_output_display_block): Use <Charc_dynarr *> instead
2439         <Emchar_dynarr *>; modify for <structure rune> change.
2440         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2441         *>.
2442
2443         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2444         <const Emchar *>; use `charc_string_displayed_columns' instead of
2445         `emchar_string_displayed_columns'.
2446         (tty_output_display_block): Use <Charc_dynarr *> instead of
2447         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2448         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2449         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2450         `tty_output_emchar_dynarr_dynarr'.
2451         (tty_output_charc_dynarr): New function; delete
2452         `tty_output_charc_dynarr'.
2453
2454         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2455         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2456         <Emchar_dynarr *> for buf; use
2457         `convert_bufbyte_string_into_charc_dynarr' instead of
2458         `convert_bufbyte_string_into_emchar_dynarr'.
2459
2460         * frame.c (title_string_charc_dynarr): New variable; renamed from
2461         `title_string_emchar_dynarr'.
2462         (generate_title_string): Use `title_string_charc_dynarr' instead
2463         of `title_string_emchar_dynarr'; use
2464         `convert_charc_string_into_malloced_string' instead of
2465         `convert_emchar_string_into_malloced_string'.
2466         (init_frame): Use `title_string_charc_dynarr' instead of
2467         `title_string_emchar_dynarr'.
2468
2469         * console.h:
2470         - Include "character.h".
2471         (struct console_methods): Use <const Charc *> instead of <const
2472         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2473         <Emchar_dynarr *> in output_string_method.
2474
2475         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2476         <Emchar_dynarr *>.
2477
2478         * console-stream.c (stream_text_width): Use <const Charc *>
2479         instead of <const Emchar *>.
2480
2481         * character.h (Charc_dynarr): New type.
2482
2483         * char-ucs.h (structure Charc): New structure; define new type
2484         `Charc'.
2485
2486         * char-lb.h (DECODE_CHAR): New inline function.
2487         (encode_char_1): New inline function.
2488         (ENCODE_CHAR): New macro.
2489         (structure Charc): New structure; define new type `Charc'.
2490
2491         * char-1byte.h (Vcharset_control_1): New macro.
2492         (Vcharset_latin_iso8859_1): New macro.
2493         (DECODE_CHAR): New inline function.
2494         (encode_char_1): New inline function.
2495         (ENCODE_CHAR): New macro.
2496         (structure Charc): New structure; define new type `Charc'.
2497
2498         * insdel.c (find_charsets_in_charc_string): New function; delete
2499         `find_charsets_in_emchar_string'.
2500         (charc_string_displayed_columns): New function; delete
2501         `emchar_string_displayed_columns'.
2502         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2503         `convert_bufbyte_string_into_emchar_dynarr'.
2504         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2505         `convert_charc_string_into_bufbyte_dynarr'.
2506         (convert_charc_string_into_malloced_string): New function; delete
2507         `convert_charc_string_into_malloced_string'.
2508
2509         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2510         `find_charsets_in_emchar_string'.
2511         (charc_string_displayed_columns): New prototype; delete
2512         `emchar_string_displayed_columns'.
2513         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2514         `convert_charc_string_into_bufbyte_dynarr'.
2515         (convert_charc_string_into_malloced_string): New prototype; delete
2516         `convert_charc_string_into_malloced_string'.
2517
2518 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2519
2520         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2521
2522 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2523
2524         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2525
2526         * char-ucs.h: Use <short> for <Charset_ID>.
2527
2528         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2529         <Charset_ID>.
2530
2531 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2532
2533         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2534         to 0.16.
2535
2536 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2537
2538         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2539         variable.
2540         (Qmorohashi_daikanwa): New variable.
2541         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2542         for `morohashi-daikanwa' attribute.
2543         (Fget_char_attribute): Likewise.
2544         (Fput_char_attribute): Likewise.
2545         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2546         has the same value of `ideograph-daikanwa'.
2547         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2548         (vars_of_mule_charset): Setup
2549         `Vcharacter_morohashi_daikanwa_table'.
2550
2551 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2552
2553         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2554         attributes.
2555         (add_charset_to_list_mapper): Add `key' instead of
2556         `XCHARSET_NAME (value)' to return aliases.
2557
2558 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2559
2560         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2561         variable.
2562         (Vcharacter_ideographic_strokes_table): New variable.
2563         (Qideographic_radical): New variable.
2564         (Qideographic_strokes): New variable.
2565         (Fchar_attribute_alist): Use
2566         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2567         attribute; use `Vcharacter_ideographic_strokes_table' for
2568         `ideographic-strokes' attribute.
2569         (Fget_char_attribute): Likewise.
2570         (Fput_char_attribute): Likewise.
2571         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2572         `ideographic-strokes'.
2573         (vars_of_mule_charset): Setup
2574         `Vcharacter_ideographic_radical_table' and
2575         `Vcharacter_ideographic_strokes_table'.
2576
2577 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2578
2579         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2580         (Qtotal_strokes): New variable.
2581         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2582         `total-strokes' attribute.
2583         (Fget_char_attribute): Likewise.
2584         (Fput_char_attribute): Likewise.
2585         (syms_of_mule_charset): Add new symbol `total-strokes'.
2586         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2587
2588 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2589
2590         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2591         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2592         are found.
2593         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2594         `->decomposition' attribute.
2595         (Fput_char_attribute): Likewise.
2596         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2597
2598 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2599
2600         * mule-charset.c (decoding_table_check_elements): New function.
2601         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2602
2603 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2604
2605         * mule-charset.c (Fset_charset_mapping_table): Use
2606         `put_char_ccs_code_point'.
2607
2608 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2609
2610         * mule-charset.c (decoding_table_put_char): New inline function.
2611         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2612
2613 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2614
2615         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2616         (XCHARSET_BYTE_SIZE): New macro.
2617         (decoding_table_remove_char): New inline function.
2618         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2619         `decoding_table_remove_char'.
2620         (remove_char_ccs): Use `decoding_table_remove_char'.
2621         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2622
2623 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2624
2625         * mule-charset.c (Vcharacter_name_table): New variable.
2626         (Qname): New variable.
2627         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2628         attribute.
2629         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2630         `Vcharacter_name_table' for `name' attribute.
2631         (Fremove_char_attribute): Use function `remove_char_ccs'.
2632         (put_char_ccs_code_point): New function.
2633         (remove_char_ccs): New function.
2634         (syms_of_mule_charset): Add new symbol `name'.
2635         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2636
2637 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2638
2639         * mule-charset.c (make_byte_table): Add new argument `older'.
2640         (make_char_id_table): Likewise.
2641         (copy_char_id_table): Comment out because it is not used.
2642         (put_char_id_table): Modify for `make_byte_table'.
2643         (Fput_char_attribute): Make encoding_table as older object;
2644         inherit older bit of `Vcharacter_composition_table'.
2645         (mark_charset): Don't mark `cs->encoding_table'.
2646         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2647         normal object; make `Vcharacter_composition_table' as an older
2648         object; delete staticpro for `Vcharacter_composition_table'; make
2649         `Vcharacter_variant_table' as a normal object.
2650
2651         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2652         (mark_object): Don't check older object in UTF-2000.
2653
2654         * lrecord.h (struct lrecord_header): Add new member `older' in
2655         UTF-2000.
2656         (set_lheader_implementation): Setup `SLI_header->older' in
2657         UTF-2000.
2658         (set_lheader_older_implementation): New macro in UTF-2000.
2659         (OLDER_RECORD_P): New macro in UTF-2000.
2660         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2661         (alloc_older_lcrecord): New prototype in UTF-2000.
2662         (alloc_older_lcrecord_type): New macro in UTF-2000.
2663
2664 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2665
2666         * mule-charset.c (byte_table_description): Use
2667         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2668         (char_id_table_description): Delete bogus `, 1'.
2669         (Fget_char_attribute): Refer encoding_table of each coded-charset
2670         to get value of coded-charset attribute of a character.
2671         (Fput_char_attribute): Use `make_older_vector' instead of
2672         `make_vector'; use encoding_table of each coded-charset to store
2673         value of coded-charset attribute of a character.
2674         (Fremove_char_attribute): Use encoding_table of each coded-charset
2675         to store value of coded-charset attribute of a character.
2676         (mark_charset): Mark `cs->encoding_table'; don't mark
2677         `cs->decoding_table'.
2678         (charset_description): Add description of new member
2679         `encoding_table'.
2680         (make_charset): Initialize `encoding_table'.
2681
2682         * char-ucs.h (struct Lisp_Charset): Add new member
2683         `encoding_table'.
2684         (CHARSET_ENCODING_TABLE): New macro.
2685         (XCHARSET_ENCODING_TABLE): New macro.
2686         (charset_code_point): New implementation.
2687         (encode_char_1): Likewise.
2688
2689         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2690         (disksave_object_finalization_1): Call finalizers of
2691         `all_older_lcrecords' in UTF-2000.
2692         (make_older_vector): New function in UTF-2000.
2693         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2694         UTF-2000.
2695
2696         * lisp.h (make_older_vector): New prototype in UTF-2000.
2697
2698 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2699
2700         * lrecord.h (enum lrecord_type): Rename
2701         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2702
2703         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2704         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2705         `get_char_code_table'.
2706
2707         * mule-charset.c (mark_char_id_table): Renamed from
2708         `mark_char_code_table'.
2709         (char_id_table_equal): Renamed from `char_code_table_equal'.
2710         (char_id_table_hash): Renamed from `char_code_table_hash'.
2711         (make_char_id_table): Renamed from `make_char_code_table'.
2712         (copy_char_id_table): Renamed from `copy_char_code_table'.
2713         (get_char_id_table): Renamed from `get_char_code_table'.
2714         (put_char_id_table): Renamed from `put_char_code_table'.
2715         (to_char_id): Renamed from `to_char_code'.
2716
2717         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2718         `Lisp_Char_Code_Table'.
2719         (char_id_table): Renamed from `char_code_table'.
2720         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2721         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2722         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2723         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2724         (get_char_id_table): Renamed from `get_char_code_table'.
2725
2726 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2727
2728         * lrecord.h (enum lrecord_type): Rename
2729         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2730
2731         * mule-charset.c (mark_byte_table): Renamed from
2732         `mark_char_byte_table'.
2733         (byte_table_equal): Renamed from `char_byte_table_equal'.
2734         (byte_table_hash): Renamed from `byte_table_hash'.
2735         (make_byte_table): Renamed from `make_byte_table'.
2736         (copy_byte_table): Renamed from `copy_char_byte_table'.
2737
2738         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2739         `Lisp_Char_Byte_Table'.
2740         (byte_table): Renamed from `char_byte_table'.
2741         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2742         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2743         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2744         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2745
2746 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2747
2748         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2749         (dfc_convert_to_internal_format): Likewise.
2750         
2751         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2752         * text-coding.c (Fcoding_system_alias_p): New function.
2753         * text-coding.c (Fcoding_system_aliasee): New function.
2754         * text-coding.c (append_suffix_to_symbol): New function.
2755         * text-coding.c (dangling_coding_system_alias_p): New function.
2756         * text-coding.c (Ffind_coding_system):
2757         * text-coding.c (Fcopy_coding_system):
2758         * text-coding.c (encode_coding_no_conversion):
2759         * text-coding.c (syms_of_file_coding):
2760         * text-coding.c (vars_of_file_coding):
2761         Rewrite coding system alias code.
2762         Allow nested aliases, like symbolic links.
2763         Allow redefinition of coding system aliases.
2764         Prevent existence of dangling coding system aliases.
2765         Eliminate convert_to_external_format.
2766         Eliminate convert_to_internal_format.
2767         
2768         * text-coding.c: Change enum eol_type to eol_type_t.
2769
2770 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2771
2772         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2773         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2774
2775         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2776         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2777
2778 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2779
2780         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2781         `ideograph-daikanwa'.
2782
2783         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2784         (Vcharset_ucs_bmp): Likewise.
2785         (Vcharset_mojikyo): Add new extern variable definition.
2786         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2787         (Vcharset_latin_iso8859_3): Likewise.
2788         (Vcharset_latin_iso8859_4): Likewise.
2789         (Vcharset_latin_iso8859_9): Likewise.
2790         (Vcharset_latin_viscii_lower): Likewise.
2791         (Vcharset_latin_viscii_upper): Likewise.
2792         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2793         `mojikyo' code-point is used to decode.
2794         (encode_char_2): New function [to convert `mojikyo' code-point to
2795         Mojikyo font encoding].
2796         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2797         (breakup_char_1): Likewise.
2798         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2799
2800 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2801
2802         * text-coding.c (Fmake_coding_system): Add document about
2803         `disable-composition' property.
2804
2805 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2806
2807         * text-coding.c (Qdisable_composition): New variable; delete
2808         `Qcomposite'.
2809         (Fmake_coding_system): Add new property `disable-composite';
2810         delete property `composite'.
2811         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2812         instead of `!CODING_SYSTEM_COMPOSITE'.
2813         (syms_of_file_coding): Add new symbol `disable-composition';
2814         delete symbol `composite'.
2815
2816         * file-coding.h (struct Lisp_Coding_System): Add
2817         `disable_composition'; delete `enable_composition'.
2818         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2819         `CODING_SYSTEM_COMPOSITE'.
2820         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2821         `XCODING_SYSTEM_COMPOSITE'.
2822
2823 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2824
2825         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2826         to 0.15.
2827
2828 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2829
2830         * text-coding.c (Qcomposite): New variable.
2831         (Fmake_coding_system): Add new property `composite'.
2832         (struct decoding_stream): Add `combined_char_count',
2833         `combined_chars' and `combining_table' in UTF-2000.
2834         (COMPOSE_FLUSH_CHARS): New macro.
2835         (COMPOSE_ADD_CHAR): New macro.
2836         (reset_decoding_stream): Reset `str->combined_char_count' and
2837         `str->combining_table' in UTF-2000.
2838         (decode_coding_iso2022): Modify for character-decomposition.
2839         (syms_of_file_coding): Add new symbol `composite'.
2840
2841 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2842
2843         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2844         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2845         of `Vcharacter_composition_table' if `->decomposition' property
2846         has only 1 element.
2847         (Qlatin_tcvn5712): New variable.
2848         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2849         (complex_vars_of_mule_charset): Add new coded-charset
2850         `latin-tcvn5712'.
2851
2852         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2853
2854 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2855
2856         * file-coding.h (struct Lisp_Coding_System): Add
2857         `enable_composition'.
2858         (CODING_SYSTEM_COMPOSITE): New macro.
2859         (XCODING_SYSTEM_COMPOSITE): New macro.
2860
2861 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2862
2863         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2864
2865 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2866
2867         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2868         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2869
2870 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2871
2872         * mule-charset.c (Vcharset_mojikyo): New variable.
2873         (Fdefine_char): Don't use coded-charset which does not have
2874         non-builtin character range to allocate character-id.
2875         (Qmojikyo): New variable.
2876         (syms_of_mule_charset): Add new symbol `mojikyo'.
2877         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2878
2879         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2880         (LEADING_BYTE_MOJIKYO): New macro.
2881         (MIN_CHAR_MOJIKYO): New macro.
2882         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2883         (MAX_CHAR_MOJIKYO): New macro.
2884
2885 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2886
2887         * mule-charset.c (remove_char_attribute): Fixed.
2888
2889 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2890
2891         * mule-charset.c (remove_char_attribute): New function.
2892         (Fremove_char_attribute): New function.
2893         (encode_builtin_char_1): Comment out builtin-support for
2894         greek-iso8859-7 and cyrillic-iso8859-5.
2895         (Fdecode_char): Check `code' is an integer.
2896         (syms_of_mule_charset): Add `remove-char-attribute'.
2897         (MIN_CHAR_GREEK): Deleted.
2898         (MAX_CHAR_GREEK): Likewise.
2899         (MIN_CHAR_CYRILLIC): Likewise.
2900         (MAX_CHAR_CYRILLIC): Likewise.
2901         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2902         MAX_CHAR_GREEK for `greek-iso8859-7'.
2903
2904         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2905         (MAX_CHAR_GREEK): Likewise.
2906         (MIN_CHAR_CYRILLIC): Likewise.
2907         (MAX_CHAR_CYRILLIC): Likewise.
2908
2909 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2910
2911         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2912         format is used without `ucs' property.
2913         (Fdecode_char): Fix problem with GR representation.
2914         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2915         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2916
2917 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2918
2919         * mule-charset.c (make_builtin_char): New function.
2920         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2921         (Fset_charset_mapping_table): Modify for new representation of
2922         code-point.
2923         (Fdecode_char): New function.
2924         (syms_of_mule_charset): Add new builtin function `decode-char' in
2925         UTF-2000.
2926
2927         * char-ucs.h (make_builtin_char): New prototype.
2928         (DECODE_CHAR): New inline function.
2929         (MAKE_CHAR): Use `DECODE_CHAR'.
2930
2931 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2932
2933         * text-coding.c (parse_charset_conversion_specs): Use
2934         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2935         `XCHARSET_TYPE'.
2936         (iso2022_designate): Likewise.
2937
2938         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2939         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2940
2941         * mule-charset.c (Vcharset_ucs): New variable.
2942         (print_charset): Change design; use `CHARSET_CHARS' and
2943         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2944         (make_charset): Change signature to specify `chars' and
2945         `dimension' instead of `type'.
2946         (range_charset_code_point): Modify for 256^n-set.
2947         (encode_builtin_char_1): Encode as `ucs' in default.
2948         (Fmake_charset): Modify for `make_charset'.
2949         (Fmake_reverse_direction_charset): Likewise.
2950         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2951         UTF-2000.
2952         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2953         for `make_charset'.
2954
2955         * char-ucs.h (Vcharset_ucs): New variable.
2956         (LEADING_BYTE_UCS): New macro.
2957         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2958         and `chars' to `unsigned short' from `unsigned int'.
2959         (CHARSET_TYPE): Deleted.
2960         (XCHARSET_TYPE): Deleted.
2961
2962 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2963
2964         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2965
2966         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2967         (ENCODE_CHAR): New macro.
2968
2969 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2970
2971         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2972         to 0.14 (Kawachi-Katakami).
2973
2974 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2975
2976         * text-coding.c (char_encode_shift_jis): Modify for
2977         `charset_code_point'.
2978         (char_encode_iso2022): Likewise.
2979
2980         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2981         (integer) instead of list of <Lisp_Object>s (integers) as the
2982         format of code-point of a coded-charset.
2983         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2984         (encode_builtin_char_1): New function; delete
2985         `split_builtin_char'.
2986         (charset_code_point): Return <int> instead of <Lisp_Object>.
2987         (Fsplit_char): Don't use `SPLIT_CHAR'.
2988
2989         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2990         prototype for `split_builtin_char'.
2991         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2992         (charset_code_point): Likewise.
2993         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2994         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2995
2996 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2997
2998         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2999         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3000
3001 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3002
3003         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3004
3005         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3006         (MAX_CHAR_OBS_94x94): Deleted.
3007
3008 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3009
3010         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3011
3012         * char-ucs.h (MAX_CHAR_BMP): New macro.
3013
3014 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3015
3016         * text-coding.c: Sync with r21-2-24.
3017
3018 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3019
3020         * file-coding.c: Modify for UTF-2000.
3021
3022 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3023
3024         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3025         to 0.13 (Takaida).
3026
3027 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3028
3029         * mule-charset.c (split_builtin_char): Delete builtin support for
3030         `katakana-jisx0201'.
3031         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3032         BMP area in builtin representation.
3033
3034         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3035         `Vcharset_katakana_jisx0201'.
3036
3037 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3038
3039         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3040         (Qisolated): New variable.
3041         (Qinitial): New variable.
3042         (Qmedial): New variable.
3043         (Qfinal): New variable.
3044         (Qvertical): New variable.
3045         (Qsmall): New variable.
3046         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3047         `Qvertical' and `Qsmall'.
3048         (Qmojikyo_pj_[1 .. 21]): New variable.
3049         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3050         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3051         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3052         .. 21]'.
3053
3054 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3055
3056         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3057         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3058         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3059
3060 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3061
3062         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3063         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3064         BMP.
3065         (Qjapanese_jisx0208_1990): New variable.
3066         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3067         (complex_vars_of_mule_charset): Add new coded-charset
3068         `japanese-jisx0208-1990'.
3069
3070         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3071         (MIN_CHAR_JIS_X0208_1990): New macro.
3072         (MAX_CHAR_JIS_X0208_1990): New macro.
3073
3074 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3075
3076         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3077         coded-charset is not found.
3078
3079 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3080
3081         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3082         (Fdefine_char): Use `Fmake_char'.
3083
3084 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3085
3086         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3087         (Vcharset_hiragana_jisx0208): Deleted.
3088         (Vcharset_katakana_jisx0208): Deleted.
3089         (Qideograph_daikanwa): New variable.
3090         (Qhiragana_jisx0208): Deleted.
3091         (Qkatakana_jisx0208): Deleted.
3092         (split_builtin_char): Split `ideograph-daikanwa'.
3093         (Fsplit_char): New implementation for UTF-2000.
3094         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3095         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3096         (complex_vars_of_mule_charset): Add new coded-charset
3097         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3098         `katakana-jisx0208'.
3099
3100         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3101         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3102         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3103         (MIN_CHAR_DAIKANWA): New macro.
3104         (MAX_CHAR_DAIKANWA): New macro.
3105
3106 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3107
3108         * data.c (Fstring_to_number): Don't recognize floating point if
3109         base is not 10.
3110
3111 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3112
3113         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3114
3115 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3116
3117         * mule-charset.c (Qsquare): New variable.
3118         (to_char_code): Add `Qsquare'.
3119         (syms_of_mule_charset): Add new symbol `square'.
3120
3121 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3122
3123         * mule-charset.c (Qcircle): New variable.
3124         (to_char_code): Add `Qcircle'.
3125         (syms_of_mule_charset): Add new symbol `circle'.
3126
3127 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3128
3129         * mule-charset.c (Qfont): New variable.
3130         (to_char_code): Add `Qfont'.
3131         (syms_of_mule_charset): Add new symbol `font'.
3132
3133 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3134
3135         * mule-charset.c (Qsub): New variable.
3136         (to_char_code): Add `Qsub'.
3137         (syms_of_mule_charset): Add new symbol `sub'.
3138
3139 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3140
3141         * mule-charset.c (Fput_char_attribute): Convert each element of
3142         VALUE to GL position if ATTRIBUTE is a GR-set,
3143
3144 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3145
3146         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3147         coded-charset is a GR-set.
3148
3149 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3150
3151         * mule-charset.c (Fput_char_attribute): Check each element of
3152         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3153
3154 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3155
3156         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3157         UTF-2000.
3158         (Qethiopic_ucs): New variable in UTF-2000.
3159         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3160         (complex_vars_of_mule_charset): Add new coded-charset
3161         `ethiopic-ucs' in UTF-2000.
3162
3163         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3164         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3165         9)'.
3166         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3167         10)'.
3168         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3169
3170 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3171
3172         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3173         `ascii'.
3174
3175 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3176
3177         * mule-charset.c (Vcharacter_variant_table): New variable.
3178         (Q_ucs): New variable.
3179         (Fchar_variants): New function.
3180         (Fput_char_attribute): Register `->ucs' value to
3181         `Vcharacter_variant_table'.
3182         (syms_of_mule_charset): Add new function `char-variants' and new
3183         symbol `->ucs'.
3184         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3185
3186 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3187
3188         * mule-charset.c (get_char_code_table): Allow negative character
3189         code.
3190         (put_char_code_table): Likewise.
3191         (Vcharacter_composition_table): New variable.
3192         (Q_decomposition): New variable.
3193         (Qwide): New variable.
3194         (Qnarrow): New variable.
3195         (Qcompat): New variable.
3196         (QnoBreak): New variable.
3197         (Qsuper): New variable.
3198         (Qfraction): New variable.
3199         (to_char_code): New function.
3200         (Fget_composite_char): New function.
3201         (Fput_char_attribute): Register `->decomposition' value to
3202         `Vcharacter_composition_table'.
3203         (syms_of_mule_charset): Add new function `get-composite-char', new
3204         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3205         `super' and `fraction'.
3206         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3207
3208 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3209
3210         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3211         character; copy the return value.
3212
3213 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3214
3215         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3216
3217         * mule-charset.c (range_charset_code_point): Must use make_int.
3218         (split_builtin_char): New function.
3219
3220 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3221
3222         * mule-charset.c (char_byte_table): Change name from
3223         "char-code-table" to "char-byte-table".
3224         (mark_char_code_table): New function.
3225         (char_code_table_equal): New function.
3226         (char_code_table_hash): New function.
3227         (char_code_table_description): New constant.
3228         (char_code_table): New type.
3229         (make_char_code_table): New function.
3230         (copy_char_code_table): New function.
3231         (get_char_code_table): Modify for `char_code_table' type.
3232         (put_char_code_table): Likewise.
3233         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3234         (Kashiwara).
3235
3236         * char-ucs.h (char_code_table): New type.
3237         (XCHAR_CODE_TABLE): New macro.
3238         (XSETCHAR_CODE_TABLE): New macro.
3239         (CHAR_CODE_TABLE_P): New macro.
3240         (GC_CHAR_CODE_TABLE_P): New macro.
3241         (struct Lisp_Char_Code_Table): New structure.
3242
3243 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3244
3245         * mule-charset.c (Fmake_charset): Setup byte_offset for
3246         {94|96}^n-set.
3247
3248 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3249
3250         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3251         character.
3252
3253 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3254
3255         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3256         is found.
3257
3258 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3259
3260         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3261         charset, it is regarded as a charset.
3262         (put_char_attribute): New function in UTF-2000.
3263         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3264         charset, mapping-table of the charset is modified.
3265         (Fdefine_char): New function in UTF-2000.
3266         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3267         `Fput_char_attribute'.
3268         (syms_of_mule_charset): Add new function `define-char' and new
3269         symbol `ucs' in UTF-2000.
3270         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3271
3272 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3273
3274         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3275         non-UTF-2000 configuration.
3276
3277 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3278
3279         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3280         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3281
3282         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3283         deleted.
3284         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3285         (Fset_charset_mapping_table): Likewise.
3286
3287         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3288         (CHARSET_ENCODING_TABLE): Delete.
3289         (XCHARSET_ENCODING_TABLE): Delete.
3290         (charset_code_point): New interface.
3291
3292 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3293
3294         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3295         instead of `charset_get_byte1' and `charset_get_byte2'.
3296
3297         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3298         (charset_get_byte2): Deleted.
3299
3300 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3301
3302         * char-ucs.h (SPLIT_CHAR): New inline function.
3303         (breakup_char_1): Use `SPLIT_CHAR'.
3304
3305         * mule-charset.c (range_charset_code_point): New function.
3306         (charset_code_point): New function.
3307
3308         * char-ucs.h (range_charset_code_point): New interface.
3309         (breakup_char_1): Use `range_charset_code_point'.
3310
3311 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3312
3313         * mule-charset.c (Fmake_charset): Delete unused local variable
3314         `code_offset'.
3315
3316         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3317         (breakup_char_1): Find a charset and code-point in
3318         `Vcharacter_attribute_table'.
3319
3320 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3321
3322         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3323         to 0.10 (Yao).
3324
3325 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3326
3327         * mule-charset.c (Vcharacter_attribute_table): New variable.
3328         (Fchar_attribute_alist): New function.
3329         (Fget_char_attribute): New function.
3330         (Fput_char_attribute): New function.
3331         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3332         too.
3333         (syms_of_mule_charset): Add new function `char-attribute-alist',
3334         `get-char-attribute' and `put-char-attribute'.
3335         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3336
3337 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3338
3339         * mule-charset.c (Fmake_charset): Just use
3340         `get_unallocated_leading_byte'.
3341
3342         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3343         sets; don't use final-byte based number for private sets.
3344
3345 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3346
3347         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3348         integer.
3349
3350 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3351
3352         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3353         to 0.9.
3354
3355 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3356
3357         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3358         of `CHAR_LEADING_BYTE' in UTF-2000.
3359
3360         * insdel.c (find_charsets_in_bufbyte_string): Use
3361         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3362         (find_charsets_in_emchar_string): Likewise.
3363
3364         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3365         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3366
3367         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3368         (CHAR_CHARSET_ID): New macro.
3369
3370 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3371
3372         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3373         charset-id - MIN_LEADING_BYTE.
3374         (put_char_table): Likewise.
3375
3376 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3377
3378         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3379         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3380         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3381         (CHARSET_ID_OFFSET): New macro.
3382         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3383         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3384         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3385         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3386         4).
3387         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3388         5).
3389         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3390         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3391         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3392         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3393         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3394
3395 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3396
3397         * mule-charset.c (next_allocated_leading_byte): New variable in
3398         UTF-2000.
3399         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3400         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3401         (get_unallocated_leading_byte): Simply use
3402         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3403         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3404         UTF-2000.
3405
3406         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3407         (MAX_LEADING_BYTE_PRIVATE): New macro.
3408         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3409         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3410
3411 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3412
3413         * mule-charset.c (Fmake_charset): Allocate final-byte based
3414         charset-id for 94-set, 96-set and 94x94-set.
3415
3416 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3417
3418         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3419         ambiguous `else'.
3420         (Fmake_charset): Likewise.
3421         (complex_vars_of_mule_charset): Modify the font registry of
3422         `ucs-bmp' not to match `Ethiopic-Unicode'.
3423
3424 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3425
3426         * mule-charset.c (complex_vars_of_mule_charset): Add font
3427         registory of `ucs-bmp'.
3428
3429 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3430
3431         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3432         coded-charsets in `default-coded-charset-priority-list' when
3433         breaking up a character.
3434
3435         * mule-charset.c (Vcharset_latin_viscii): New variable.
3436         (Qlatin_viscii): New variable.
3437         (make_charset): Don't use `decoding_table'.
3438         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3439         byte_offset.
3440         (Fset_charset_mapping_table): New implementation.
3441         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3442         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3443         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3444         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3445         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3446         charset `latin_viscii'.
3447
3448         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3449         (CHARSET_TYPE_94X94): Change to 1 from 2.
3450         (CHARSET_TYPE_96): Change to 2 from 1.
3451         (CHARSET_TYPE_128): New macro.
3452         (CHARSET_TYPE_128X128): Change to 5 from 4.
3453         (CHARSET_TYPE_256): New macro.
3454         (CHARSET_TYPE_256X256): Change to 7 from 5.
3455         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3456
3457 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3458
3459         * text-coding.c (char_encode_shift_jis): Refer
3460         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3461         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3462
3463         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3464         (char_byte_table_equal): New function in UTF-2000.
3465         (char_byte_table_hash): New function in UTF-2000.
3466         (char_byte_table_description): New constant in UTF-2000.
3467         (char_byte_table): New type in UTF-2000.
3468         (make_char_byte_table): New function in UTF-2000.
3469         (copy_char_byte_table): New function in UTF-2000.
3470         (make_char_code_table): New macro in UTF-2000.
3471         (get_char_code_table): New function in UTF-2000.
3472         (put_char_code_table): New function in UTF-2000.
3473         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3474         (charset_description): Add setting in UTF-2000.
3475         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3476         `CHARSET_TO_BYTE1_TABLE(cs)'.
3477         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3478         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3479         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3480         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3481         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3482         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3483         `CHARSET_TO_BYTE2_TABLE(cs)'.
3484
3485         * char-ucs.h (char_byte_table): New type.
3486         (XCHAR_BYTE_TABLE): New macro.
3487         (XSETCHAR_BYTE_TABLE): New macro.
3488         (CHAR_BYTE_TABLE_P): New macro.
3489         (GC_CHAR_BYTE_TABLE_P): New macro.
3490         (struct Lisp_Char_Byte_Table): New structure.
3491         (get_char_code_table): New interface.
3492         (Emchar_to_byte_table): Deleted.
3493         (get_byte_from_character_table): Deleted.
3494         (struct Lisp_Charset): Add `encoding_table'; delete
3495         `to_byte1_table' and `to_byte2_table'.
3496         (CHARSET_ENCODING_TABLE): New macro.
3497         (CHARSET_TO_BYTE1_TABLE): Deleted.
3498         (CHARSET_TO_BYTE2_TABLE): Deleted.
3499         (XCHARSET_ENCODING_TABLE): New macro.
3500         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3501         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3502
3503 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3504
3505         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3506         `vietnamese-viscii-*'.
3507
3508 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3509
3510         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3511         (Qvietnamese_viscii_upper): New variable.
3512         (Fdefine_charset_alias): New function.
3513         (syms_of_mule_charset): Add new function `define-charset-alias'.
3514         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3515         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3516         `latin-viscii-*'.
3517
3518 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3519
3520         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3521         (MAX_CHAR_OBS_94x94): New macro.
3522         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3523         for 94x94 sets.
3524
3525         * mule-charset.c (put_byte_from_character_table): Change unit size
3526         from 128 to 256.
3527         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3528         not defined.
3529         (Fmake_reverse_direction_charset): Modify dummy argument of
3530         `make_charset' for non-UTF-2000 environment.
3531
3532 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3533
3534         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3535
3536         * mule-charset.c (destroy_byte_from_character_table): New macro.
3537         (latin_jisx0201_to_ucs): Deleted.
3538         (latin_iso8859_2_to_ucs): Deleted.
3539         (latin_iso8859_3_to_ucs): Deleted.
3540         (latin_iso8859_4_to_ucs): Deleted.
3541         (latin_iso8859_9_to_ucs): Deleted.
3542         (latin_viscii_lower_to_ucs): Deleted.
3543         (latin_viscii_upper_to_ucs): Deleted.
3544         (mark_charset): Mark `cs->decoding_table'.
3545         (Fcharset_mapping_table): Fix DOC-string.
3546         (Fset_charset_mapping_table): New function.
3547         (syms_of_mule_charset): Add nwe function
3548         `set-charset-mapping-table'.
3549         (complex_vars_of_mule_charset): Don't setup and use
3550         `latin_*_to_ucs'.
3551
3552 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3553
3554         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3555         charset.
3556
3557 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3558
3559         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3560         (Vcharset_katakana_jisx0208): New variable.
3561         (Qhiragana_jisx0208): New variable.
3562         (Qkatakana_jisx0208): New variable.
3563         (make_charset): Add new argument `byte_offset'.
3564         (charset_get_byte1): Modify for new coded-charset definition; use
3565         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3566         `XCHARSET_BYTE_OFFSET'.
3567         (Fmake_charset): Modify for `make_charset'.
3568         (Fmake_reverse_direction_charset): Likewise.
3569         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3570         `katakana-jisx0208'.
3571         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3572         `.'  in font registry of charset `katakana-jisx0201',
3573         `latin-jisx0201', `vietnamese-viscii-lower' and
3574         `vietnamese-viscii-upper'; modify DOC-string of charset
3575         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3576         registry of charset `japanese-jisx0208' not to use font for JIS
3577         X0208:1990; add new charset `hiragana-jisx0208' and
3578         `katakana-jisx0208'.
3579
3580         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3581         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3582         (struct Lisp_Charset): Add `byte_offset'.
3583         (CHARSET_BYTE_OFFSET): New macro.
3584         (XCHARSET_UCS_MIN): New macro.
3585         (XCHARSET_UCS_MAX): New macro.
3586         (XCHARSET_CODE_OFFSET): New macro.
3587         (XCHARSET_BYTE_OFFSET): New macro.
3588         (MIN_CHAR_HIRAGANA): New macro.
3589         (MAX_CHAR_HIRAGANA): New macro.
3590         (MIN_CHAR_KATAKANA): New macro.
3591         (MAX_CHAR_KATAKANA): New macro.
3592         (MAKE_CHAR): Modify for new coded-charset definition; use
3593         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3594         `XCHARSET_BYTE_OFFSET'.
3595
3596 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3597
3598         * mule-charset.c (CHAR96): Deleted.
3599         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3600         <Lisp_Object>.
3601         (latin_iso8859_2_to_ucs): Likewise.
3602         (latin_iso8859_3_to_ucs): Likewise.
3603         (latin_iso8859_4_to_ucs): Likewise.
3604         (latin_iso8859_9_to_ucs): Likewise.
3605         (latin_viscii_lower_to_ucs): Likewise.
3606         (latin_viscii_upper_to_ucs): Likewise.
3607         (latin_tcvn5712_to_ucs): Commented out.
3608         (make_charset): Change type of argument `decoding_table' from
3609         <Emchar*> to <Lisp_Object> [vector of characters].
3610         (Fmake_charset): Modify for `make_charset'.
3611         (Fmake_reverse_direction_charset): Likewise.
3612         (Fcharset_mapping_table): New function in UTF-2000.
3613         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3614         UTF-2000.
3615         (complex_vars_of_mule_charset): Modify for type change of
3616         `*_to_ucs'; modify for `make_charset'.
3617
3618         * char-ucs.h (struct Lisp_Charset): Change type of
3619         `decoding_table' from <Emchar*> to <Lisp_Object>.
3620         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3621
3622 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3623
3624         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3625         error with non-UTF-2000-Mule.
3626
3627 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3628
3629         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3630         in lisp again].
3631         (Vcharset_chinese_cns11643_4): Likewise.
3632         (Vcharset_chinese_cns11643_5): Likewise.
3633         (Vcharset_chinese_cns11643_6): Likewise.
3634         (Vcharset_chinese_cns11643_7): Likewise.
3635         (Qchinese_cns11643_3): Likewise.
3636         (Qchinese_cns11643_4): Likewise.
3637         (Qchinese_cns11643_5): Likewise.
3638         (Qchinese_cns11643_6): Likewise.
3639         (Qchinese_cns11643_7): Likewise.
3640         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3641         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3642         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3643         (complex_vars_of_mule_charset): Likewise.
3644
3645 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3646
3647         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3648         96-set.
3649         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3650         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3651
3652 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3653
3654         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3655         0xFF60.
3656         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3657         (breakup_char_1): Likewise.
3658
3659         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3660         one of them includes the specified character.
3661
3662 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3663
3664         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3665
3666 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3667
3668         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3669
3670 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3671
3672         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3673         definition for non-UTF-2000 Mule.
3674         (latin_iso8859_3_to_ucs): Likewise.
3675         (latin_iso8859_4_to_ucs): Likewise.
3676         (latin_iso8859_9_to_ucs): Likewise.
3677         (latin_jisx0201_to_ucs): Likewise.
3678         (MIN_CHAR_THAI): Likewise.
3679         (MAX_CHAR_THAI): Likewise.
3680         (MIN_CHAR_GREEK): Likewise.
3681         (MAX_CHAR_GREEK): Likewise.
3682         (MIN_CHAR_HEBREW): Likewise.
3683         (MAX_CHAR_HEBREW): Likewise.
3684         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3685         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3686         (MIN_CHAR_CYRILLIC): Likewise.
3687         (MAX_CHAR_CYRILLIC): Likewise.
3688
3689 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3690
3691         * char-ucs.h (breakup_char_1): Use
3692         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3693         thai-tis620 and katakana-jisx0201 area.
3694
3695 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3696
3697         * char-ucs.h (breakup_char_1): Use
3698         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3699         area.
3700
3701         * text-coding.c (reset_encoding_stream): Fixed.
3702         (char_encode_ucs4): Delete `& 255'.
3703
3704         * char-ucs.h (breakup_char_1): Use
3705         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3706
3707 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3708
3709         * file-coding.c (Fmake_coding_system): Don't set up
3710         `codesys->fixed.size'.
3711         (encode_coding_no_conversion): Don't refer
3712         `str->codesys->fixed.size'.
3713
3714 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3715
3716         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3717         (latin_a_char_to_byte1): Deleted.
3718         (latin_a_char_to_byte2): Deleted.
3719
3720 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3721
3722         * mule-charset.c (make_charset): Add new argument `ucs_min',
3723         `ucs_max' and `code_offset'.
3724         (charset_get_byte1): New implementation [delete specific charset
3725         depended implementations].
3726         (Fmake_charset): Modify for `make_charset'.
3727         (Fmake_reverse_direction_charset): Likewise.
3728         (complex_vars_of_mule_charset): Likewise.
3729
3730         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3731         `code_offset'.
3732         (CHARSET_UCS_MIN): New macro.
3733         (CHARSET_UCS_MAX): New macro.
3734         (CHARSET_CODE_OFFSET): New macro.
3735         (MAKE_CHAR): Delete charset depended definitions [except
3736         katakana-jisx0201].
3737
3738 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3739
3740         * char-ucs.h (breakup_char_1): Use
3741         `Vdefault_coded_charset_priority_list' for C0-Controls,
3742         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3743
3744 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3745
3746         * char-ucs.h (charset_get_byte1): New function.
3747         (XCHARSET_GET_BYTE1): Deleted.
3748         (charset_get_byte2): New function.
3749         (XCHARSET_GET_BYTE2): Deleted.
3750         (Vdefault_coded_charset_priority_list): New external variable.
3751         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3752         `Vdefault_preferred_coded_charset_list'.
3753
3754         * mule-charset.c (charset_get_byte1): New function.
3755         (charset_get_byte2): New function.
3756         (Vdefault_coded_charset_priority_list): New variable.
3757         (vars_of_mule_charset): Add new variable
3758         `default-coded-charset-priority-list'.
3759
3760 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3761
3762         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3763         (XCHARSET_GET_BYTE2): New inline function.
3764         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3765         `XCHARSET_GET_BYTE2'.
3766
3767 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3768
3769         * mule-charset.c (make_charset): Initialize
3770         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3771         NULL if table is not defined.
3772
3773 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3774
3775         * text-coding.c (char_encode_shift_jis): Use
3776         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3777         `ucs_to_latin_jisx0201'.
3778
3779         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3780         (ucs_to_latin_iso8859_2): Deleted.
3781         (ucs_to_latin_iso8859_3): Deleted.
3782         (ucs_to_latin_iso8859_4): Deleted.
3783         (ucs_to_latin_iso8859_9): Deleted.
3784         (ucs_to_latin_viscii_lower): Deleted.
3785         (ucs_to_latin_viscii_upper): Deleted.
3786         (ucs_to_latin_tcvn5712): Deleted.
3787         (make_charset): Add new argument `decoding_table'; set up
3788         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3789         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3790         `decoding_table' is defined in UTF-2000.
3791         (Fmake_charset): Modify for `make_charset'.
3792         (Fmake_reverse_direction_charset): Likewise.
3793         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3794         and `GENERATE_96_SET'.
3795
3796         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3797         (ucs_to_latin_jisx0201): Deleted.
3798         (latin_iso8859_2_to_ucs): Deleted.
3799         (ucs_to_latin_iso8859_2): Deleted.
3800         (latin_iso8859_3_to_ucs): Deleted.
3801         (ucs_to_latin_iso8859_3): Deleted.
3802         (latin_iso8859_4_to_ucs): Deleted.
3803         (ucs_to_latin_iso8859_4): Deleted.
3804         (latin_iso8859_9_to_ucs): Deleted.
3805         (ucs_to_latin_iso8859_9): Deleted.
3806         (latin_viscii_lower_to_ucs): Deleted.
3807         (ucs_to_latin_viscii_lower): Deleted.
3808         (latin_viscii_upper_to_ucs): Deleted.
3809         (ucs_to_latin_viscii_upper): Deleted.
3810         (struct Lisp_Charset): Renamed `encoding_table' to
3811         `to_byte1_table'; add `to_byte2_table'.
3812         (CHARSET_DECODING_TABLE): New macro.
3813         (CHARSET_TO_BYTE1_TABLE): New macro.
3814         (CHARSET_TO_BYTE2_TABLE): New macro.
3815         (XCHARSET_DECODING_TABLE): New macro.
3816         (XCHARSET_TO_BYTE1_TABLE): New macro.
3817         (XCHARSET_TO_BYTE2_TABLE): New macro.
3818         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3819         tables.
3820         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3821         don't use `ucs_to_*' tables.
3822
3823 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3824
3825         * text-coding.c (Fmake_coding_system): Don't set up
3826         `codesys->fixed.size'.
3827         (encode_coding_no_conversion): Use `if' instead of `switch'.
3828
3829         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3830
3831 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3832
3833         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3834         (Fmake_charset): Modify for `make_charset'.
3835         (Fmake_reverse_direction_charset): Likewise.
3836         (complex_vars_of_mule_charset): Likewise.
3837
3838 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3839
3840         * text-coding.c (char_encode_shift_jis): Use table
3841         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3842
3843 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3844
3845         * text-coding.c (text_encode_generic): Use `if' instead of
3846         `switch'.
3847         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3848         decode JIS-Latin.
3849
3850 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3851
3852         * text-coding.c (encode_coding_sjis): Deleted.
3853         (char_encode_shift_jis): New function.
3854         (char_finish_shift_jis): New function.
3855         (reset_encoding_stream): Set up `encode_char' and `finish' for
3856         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3857         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3858         (char_encode_utf8): Treat `eol_type'.
3859
3860 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3861
3862         * file-coding.c (decode_coding_iso2022): Use
3863         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3864
3865 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3866
3867         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3868         to 0.7 (Hirano).
3869
3870 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3871
3872         * char-lb.h (CHAR_COLUMNS): New macro.
3873
3874 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3875
3876         * text-coding.c (char_encode_ucs4): New function.
3877         (char_finish_ucs4): New function.
3878         (encode_coding_ucs4): Deleted.
3879         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3880         (text_encode_generic): Delete local variable `charset' and `half'.
3881         (ucs_to_mule_table): Deleted.
3882         (mule_to_ucs_table): Deleted.
3883         (Fset_ucs_char): Deleted.
3884         (ucs_to_char): Deleted.
3885         (Fucs_char): Deleted.
3886         (Fset_char_ucs): Deleted.
3887         (Fchar_ucs): Deleted.
3888         (decode_ucs4): Deleted.
3889         (mule_char_to_ucs4): Deleted.
3890         (encode_ucs4): Deleted.
3891         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3892         (decode_coding_utf8): Likewise.
3893         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3894         (char_encode_iso2022): Fixed.
3895         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3896         `Fset_char_ucs' and `Fchar_ucs'.
3897         (complex_vars_of_file_coding): Don't initialize
3898         `ucs_to_mule_table'.
3899
3900         * objects-tty.c (tty_initialize_font_instance): Don't use
3901         `XCHARSET_COLUMNS'.
3902
3903         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3904         UTF-2000.
3905
3906         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3907         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3908
3909         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3910         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3911         (emchar_string_displayed_columns): Likewise.
3912
3913         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3914         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3915         (string_column_at_point): Likewise.
3916         (Fmove_to_column): Likewise.
3917
3918         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3919         `encoding_table' and `decoding_table'.
3920         (CHARSET_REP_BYTES): Deleted.
3921         (XCHARSET_REP_BYTES): Deleted.
3922         (XCHARSET_COLUMNS): Deleted.
3923         (CHAR_COLUMNS): New macro.
3924         (lookup_composite_char): Deleted unconditionally.
3925         (composite_char_string): Likewise.
3926
3927 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3928
3929         * char-ucs.h (Emchar_to_byte_table): New type.
3930         (get_byte_from_character_table): New function interface.
3931         (Vcharset_latin_jisx0201): New variable.
3932         (latin_jisx0201_to_ucs): New variable.
3933         (ucs_to_latin_jisx0201): New variable.
3934         (Vcharset_latin_iso8859_2): New variable.
3935         (latin_iso8859_2_to_ucs): New variable.
3936         (ucs_to_latin_iso8859_2): New variable.
3937         (Vcharset_latin_iso8859_3): New variable.
3938         (latin_iso8859_3_to_ucs): New variable.
3939         (ucs_to_latin_iso8859_3): New variable.
3940         (Vcharset_latin_iso8859_4): New variable.
3941         (latin_iso8859_4_to_ucs): New variable.
3942         (ucs_to_latin_iso8859_4): New variable.
3943         (Vcharset_latin_iso8859_9): New variable.
3944         (latin_iso8859_9_to_ucs): New variable.
3945         (ucs_to_latin_iso8859_9): New variable.
3946         (Vcharset_latin_viscii_lower): New variable.
3947         (latin_viscii_lower_to_ucs): New variable.
3948         (ucs_to_latin_viscii_lower): New variable.
3949         (Vcharset_latin_viscii_upper): New variable.
3950         (latin_viscii_upper_to_ucs): New variable.
3951         (ucs_to_latin_viscii_upper): New variable.
3952         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3953         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3954         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3955         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3956         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3957         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3958         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3959         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3960         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3961         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3962
3963         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3964         (Vcharset_latin_viscii_upper): New variable.
3965         (make_byte_from_character_table): New function.
3966         (put_byte_from_character_table): New function.
3967         (get_byte_from_character_table): New function.
3968         (CHAR96): New macro.
3969         (ucs_to_latin_jisx0201): New variable.
3970         (latin_jisx0201_to_ucs): New variable.
3971         (ucs_to_latin_iso8859_2): New variable.
3972         (latin_iso8859_2_to_ucs): New variable.
3973         (ucs_to_latin_iso8859_3): New variable.
3974         (latin_iso8859_3_to_ucs): New variable.
3975         (ucs_to_latin_iso8859_4): New variable.
3976         (latin_iso8859_4_to_ucs): New variable.
3977         (ucs_to_latin_iso8859_9): New variable.
3978         (latin_iso8859_9_to_ucs): New variable.
3979         (ucs_to_latin_viscii_lower): New variable.
3980         (latin_viscii_lower_to_ucs): New variable.
3981         (ucs_to_latin_viscii_upper): New variable.
3982         (latin_viscii_upper_to_ucs): New variable.
3983         (ucs_to_latin_tcvn5712): New variable.
3984         (latin_tcvn5712_to_ucs): New variable.
3985         (Qlatin_viscii_lower): New variable.
3986         (Qlatin_viscii_upper): New variable.
3987         (syms_of_mule_charset): Set up new symbol
3988         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3989         (complex_vars_of_mule_charset): Set up new charset
3990         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3991         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3992         `ucs_to_<CHARSET>' tables.
3993
3994 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3995
3996         * text-coding.c: New file.
3997
3998 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3999
4000         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4001
4002         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4003         (MAKE_CHAR): Modify for `ucs-bmp'.
4004         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4005         non-MULE characters of BMP.
4006
4007 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4008
4009         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4010         to 0.6.
4011
4012 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4013
4014         * lstream.h:
4015         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4016         - Include character.h for `CHAR_ASCII_P'.
4017
4018         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4019
4020         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4021         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4022
4023         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4024         (BYTE_C0_P): Likewise.
4025         (BYTE_C1_P): Likewise.
4026         (Lstream_get_emchar_1): Likewise.
4027         (Lstream_fput_emchar): Likewise.
4028         (Lstream_funget_emchar): Likewise.
4029         (copy_internal_to_external): Likewise.
4030         (copy_external_to_internal): Likewise.
4031
4032         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4033         (BYTE_C0_P): Likewise.
4034         (BYTE_C1_P): Likewise.
4035         (Lstream_get_emchar_1): Likewise.
4036         (Lstream_fput_emchar): Likewise.
4037         (Lstream_funget_emchar): Likewise.
4038         (copy_internal_to_external): Likewise.
4039         (copy_external_to_internal): Likewise.
4040
4041         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4042         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4043
4044         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4045         (BYTE_ASCII_P): Moved to mb-1byte.h.
4046
4047 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4048
4049         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4050
4051         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4052         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4053         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4054         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4055         (VALIDATE_CHARPTR_FORWARD): Likewise.
4056         (simple_charptr_emchar): Moved to mb-multibyte.h.
4057         (simple_set_charptr_emchar): Likewise.
4058         (simple_charptr_copy_char): Likewise.
4059         (non_ascii_charptr_emchar): Likewise.
4060         (non_ascii_set_charptr_emchar): Likewise.
4061         (non_ascii_charptr_copy_char): Likewise.
4062         (charptr_emchar): Moved to mb-*byte.h.
4063         (set_charptr_emchar): Likewise.
4064         (charptr_copy_char): Likewise.
4065
4066         * mb-1byte.h, mb-multibyte.h: New files.
4067
4068 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4069
4070         * mb-utf-8.h (MULTIBYTE): New macro.
4071         (MAX_EMCHAR_LEN): Moved from buffer.h.
4072         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4073
4074         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4075
4076         * mb-lb.h, multibyte.h: New files.
4077
4078         * char-1byte.h (Charset_ID): Moved from buffer.h.
4079         (MIN_LEADING_BYTE): Likewise.
4080         (LEADING_BYTE_ASCII): Likewise.
4081         (NUM_LEADING_BYTES): Likewise.
4082         (CHARSETP): Likewise.
4083         (CHARSET_BY_LEADING_BYTE): Likewise.
4084         (XCHARSET_LEADING_BYTE): Likewise.
4085         (XCHARSET_GRAPHIC): Likewise.
4086         (XCHARSET_COLUMNS): Likewise.
4087         (XCHARSET_DIMENSION): Likewise.
4088         (CHAR_CHARSET): Likewise.
4089         (CHAR_LEADING_BYTE): Likewise.
4090         (BREAKUP_CHAR): Likewise.
4091         (Vcharset_ascii): Likewise.
4092
4093         * buffer.h: Include multibyte.h unconditionally.
4094         (VALID_CHARPTR_P): Moved to multibyte.h.
4095         (ASSERT_VALID_CHARPTR): Likewise.
4096         (REAL_INC_CHARPTR): Likewise.
4097         (REAL_INC_CHARBYTIND): Likewise.
4098         (REAL_DEC_CHARPTR): Likewise.
4099         (INC_CHARPTR): Likewise.
4100         (INC_CHARBYTIND): Likewise.
4101         (DEC_CHARPTR): Likewise.
4102         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4103         (VALIDATE_CHARPTR_FORWARD): Likewise.
4104         (charptr_n_addr): Likewise.
4105         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4106         (simple_charptr_emchar): Moved to multibyte.h.
4107         (simple_set_charptr_emchar): Likewise.
4108         (simple_charptr_copy_char): Likewise.
4109         (non_ascii_charptr_emchar): Likewise.
4110         (non_ascii_set_charptr_emchar): Likewise.
4111         (non_ascii_charptr_copy_char): Likewise.
4112         (charptr_emchar): Likewise.
4113         (set_charptr_emchar): Likewise.
4114         (charptr_copy_char): Likewise.
4115         (charptr_emchar_n): Likewise.
4116         (Charset_ID): Moved to char-1byte.h.
4117         (Vcharset_ascii): Likewise.
4118         (CHAR_CHARSET): Likewise.
4119         (CHAR_LEADING_BYTE): Likewise.
4120         (LEADING_BYTE_ASCII): Likewise.
4121         (NUM_LEADING_BYTES): Likewise.
4122         (MIN_LEADING_BYTE): Likewise.
4123         (CHARSETP): Likewise.
4124         (CHARSET_BY_LEADING_BYTE): Likewise.
4125         (XCHARSET_LEADING_BYTE): Likewise.
4126         (XCHARSET_GRAPHIC): Likewise.
4127         (XCHARSET_COLUMNS): Likewise.
4128         (XCHARSET_DIMENSION): Likewise.
4129         (BREAKUP_CHAR): Likewise.
4130
4131 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4132
4133         * character.h: Add document about interface for characters.
4134
4135         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4136         (MAKE_CHAR): Delete comment about
4137         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4138         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4139         (BREAKUP_CHAR): Modify name of arguments.
4140         (CHAR_CHARSET): Modify name of argument.
4141
4142         * buffer.h: Delete document about Emchar accessors.
4143
4144 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4145
4146         * character.h (CHAR_INTP): Moved from buffer.h
4147         (CHAR_OR_CHAR_INTP): Likewise.
4148         (XCHAR_OR_CHAR_INT): Likewise.
4149         (CHECK_CHAR_COERCE_INT): Likewise.
4150
4151         * buffer.h (CHAR_INTP): Moved to character.h
4152         (CHAR_OR_CHAR_INTP): Likewise.
4153         (XCHAR_OR_CHAR_INT): Likewise.
4154         (CHECK_CHAR_COERCE_INT): Likewise.
4155
4156 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4157
4158         * character.h:
4159         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4160         - Include char-1byte.h, char-lb.h or char-ucs.h.
4161
4162         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4163
4164         * buffer.h: Include character unconditionally.
4165         (valid_char_p): Moved to char-*.h.
4166         (non_ascii_valid_char_p): Moved to char-lb.h.
4167
4168         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4169
4170 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4171
4172         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4173         in UTF-2000 because it is not ported yet and not to use
4174         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4175         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4176         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4177
4178         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4179         (CHAR_ASCII_P): Moved from character.h.
4180
4181         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4182         (CHAR_ASCII_P): Likewise.
4183         (CHAR_FIELD1_MASK): Deleted.
4184         (CHAR_FIELD2_MASK): Deleted.
4185         (CHAR_FIELD3_MASK): Deleted.
4186         (MAX_CHAR_BASIC_LATIN): New macro.
4187         (CHAR_FIELD1): Deleted.
4188         (CHAR_FIELD2_INTERNAL): Deleted.
4189         (CHAR_FIELD3_INTERNAL): Deleted.
4190         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4191         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4192         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4193         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4194         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4195         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4196         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4197         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4198         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4199         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4200         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4201         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4202         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4203         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4204         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4205         (MIN_CHAR_COMPOSITION): Deleted.
4206         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4207         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4208
4209 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4210
4211         * buffer.h: Include mb-utf-8.h in UTF-2000.
4212
4213         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4214
4215         * mb-utf-8.h: New file.
4216
4217 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4218
4219         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4220         instead of `int'.
4221
4222         * mule-charset.h, buffer.h (Charset_ID): New type.
4223
4224 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4225
4226         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4227         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4228         instead of `MULE_CHAR_PRIVATE_OFFSET',
4229         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4230         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4231         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4232
4233         * character.h (Vcharset_japanese_jisx0212): New variable
4234         definition.
4235
4236 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4237
4238         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4239         (charset_by_attributes): Delete array about direction.
4240         (latin_a_char_to_charset): New variable in UTF-2000.
4241         (latin_a_char_to_byte1): New variable in UTF-2000.
4242         (latin_a_char_to_byte2): New variable in UTF-2000.
4243         (Qucs_bmp): New variable.
4244         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4245         `Bufbyte'.
4246         (next_allocated_2_byte_leading_byte): Likewise.
4247         (non_ascii_set_charptr_emchar): Likewise.
4248         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4249         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4250         `charset_by_attributes'.
4251         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4252         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4253         and `CHARSET_BY_LEADING_BYTE'.
4254         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4255         `utf-2000-version' to `vars_of_mule_charset'.
4256         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4257         define `leading-code-private-11' in UTF-2000; move setting of
4258         `utf-2000-version' from `syms_of_mule_charset'.
4259         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4260         UTF-2000.
4261
4262         * character.h (Charset_ID): New type.
4263         (LEADING_BYTE_UCS_BMP): New macro.
4264         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4265         (CHARSET_ID_OFFSET_94): New macro.
4266         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4267         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4268         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4269         final-byte.
4270         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4271         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4272         (CHARSET_ID_OFFSET_96): New macro.
4273         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4274         CHARSET_ID_OFFSET_96 and final-byte.
4275         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4276         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4277         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4278         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4279         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4280         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4281         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4282         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4283         (LEADING_BYTE_THAI_TIS620): Likewise.
4284         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4285         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4286         (CHARSET_ID_OFFSET_94x94): New macro.
4287         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4288         CHARSET_ID_OFFSET_94x94 and final-byte.
4289         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4290         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4291         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4292         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4293         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4294         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4295         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4296         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4297         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4298         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4299         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4300         (CHARSET_TYPE_128X128): New macro.
4301         (CHARSET_TYPE_256X256): New macro.
4302         (XCHARSET_PRIVATE_P): Delete unconditionally.
4303         (charset_by_attributes): Delete array about direction.
4304         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4305         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4306         (MIN_CHAR_94): New macro.
4307         (MAX_CHAR_94): New macro.
4308         (MIN_CHAR_96): New macro.
4309         (MAX_CHAR_96): New macro.
4310         (MIN_CHAR_94x94): New macro.
4311         (MAX_CHAR_94x94): New macro.
4312         (MIN_CHAR_96x96): New macro.
4313         (MAX_CHAR_96x96): New macro.
4314         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4315         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4316         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4317         - 32)'.
4318         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4319         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4320         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4321         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4322         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4323         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4324         `XCHARSET_LEADING_BYTE' to make code-point.
4325         (latin_a_char_to_charset): New variable.
4326         (latin_a_char_to_byte1): New variable.
4327         (latin_a_char_to_byte2): New variable.
4328         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4329         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4330         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4331
4332         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4333         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4334         (find_charsets_in_emchar_string): Likewise.
4335         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4336
4337         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4338         `int'.
4339         (decode_coding_iso2022): Likewise.
4340
4341         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4342         of `unsigned char'.
4343
4344         * redisplay.c (redisplay_text_width_emchar_string): Use
4345         `Charset_ID' instead of `unsigned char'.
4346         (redisplay_frame_text_width_string): Likewise.
4347
4348         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4349         `unsigned char'.
4350
4351         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4352         instead of `unsigned char'.
4353         (face_cachel_charset_font_metric_info): Likewise.
4354
4355         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4356         (get_non_ascii_char_table_value): Likewise.
4357         (get_char_table): Likewise.
4358         (put_char_table): Likewise.
4359         (map_over_other_charset): Likewise.
4360         (map_char_table): Likewise.
4361
4362         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4363         instead of `unsigned char'.
4364
4365 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4366
4367         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4368         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4369
4370         * mule-charset.c (leading_code_private_11): Don't define in
4371         UTF-2000.
4372
4373         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4374         in UTF-2000 because it is not ported yet and not to use
4375         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4376
4377 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4378
4379         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4380
4381 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4382
4383         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4384         in UTF-2000.
4385
4386         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4387         of unsigned char to store leading-byte.
4388
4389         * chartab.c (get_non_ascii_char_table_value): Don't use
4390         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4391
4392         * file-coding.c (encode_coding_big5): Delete bogus implementation
4393         in UTF2000.
4394
4395         * character.h (LEADING_BYTE_*): Delete definition for
4396         non-UTF-2000.
4397         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4398         (LEADING_BYTE_PREFIX_P): Deleted.
4399         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4400         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4401         (BUFBYTE_LEADING_BYTE_P): Deleted.
4402         (CHARSET_PRIVATE_P): Deleted unconditionally.
4403         (rep_bytes_by_first_byte): Deleted unconditionally.
4404         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4405         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4406         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4407         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4408         (CHAR_FIELD2): Deleted.
4409         (CHAR_FIELD3): Deleted.
4410         (MAKE_CHAR): Delete definition for non-UTF-2000.
4411         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4412         (breakup_char_1): New implementation.
4413         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4414         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4415
4416 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4417
4418         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4419         condition.
4420
4421 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4422
4423         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4424         (CHARSET_PRIVATE_P): Likewise.
4425         (XCHARSET_PRIVATE_P): Likewise.
4426         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4427
4428         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4429         UTF2000.
4430         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4431
4432 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4433
4434         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4435         (NUM_LEADING_BYTES): Changed from 128 to 256.
4436         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4437         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4438         UTF2000.
4439         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4440
4441         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4442         UTF2000.
4443         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4444         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4445         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4446         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4447         (Qchinese_cns11643_3): New variable in UTF2000.
4448         (Qchinese_cns11643_4): New variable in UTF2000.
4449         (Qchinese_cns11643_5): New variable in UTF2000.
4450         (Qchinese_cns11643_6): New variable in UTF2000.
4451         (Qchinese_cns11643_7): New variable in UTF2000.
4452         (syms_of_mule_charset): Define `chinese-cns11643-3',
4453         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4454         and `chinese-cns11643-7' in UTF2000.
4455         (vars_of_mule_charset): Initialize
4456         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4457         + 1 in UTF2000.
4458         (complex_vars_of_mule_charset): Setup charset
4459         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4460         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4461
4462 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4463
4464         * mule-charset.c: Move setting for `leading-code-private-11' from
4465         `syms_of_mule_charset' to `vars_of_mule_charset'.
4466
4467 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4468
4469         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4470         and `NUM_LEADING_BYTES' in assert.
4471
4472 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4473
4474         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4475         instead of 128.
4476         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4477         `NUM_LEADING_BYTES' instead of 128.
4478
4479 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4480
4481         * mule-charset.h (charset_by_leading_byte): Use
4482         `NUM_LEADING_BYTES' instead of 128.
4483         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4484
4485         * mule-charset.c (charset_by_leading_byte): Use
4486         `NUM_LEADING_BYTES' instead of 128.
4487         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4488
4489         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4490         128.
4491
4492 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4493
4494         * mule-charset.c (syms_of_mule_charset): Update to
4495         0.4 (Shin-Imamiya).
4496
4497 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4498
4499         * file-coding.c (encode_coding_sjis): New implementation for
4500         UTF2000.  (decode_coding_sjis): Ditto.
4501
4502 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4503
4504         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4505         Don't define in UTF2000.
4506
4507         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4508         defined.
4509
4510         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4511         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4512         MULE.
4513
4514 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4515
4516         * config.h.in (CHAR_IS_UCS4): New macro.
4517
4518         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4519         conventional MULE representation.
4520         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4521
4522         * mule-charset.h: Reverted to original.
4523
4524         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4525         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4526         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4527
4528         * character.h: New file.
4529
4530         * file-coding.c (Fmake_coding_system): Set 1 to
4531         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4532         defined.
4533         (encode_coding_no_conversion): New implementation for UTF2000.
4534
4535         * file-coding.h (struct Lisp_Coding_System): Add new member
4536         `fixed.size'.
4537
4538 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4539
4540         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4541         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4542         (encode_coding_iso2022): New implementation for UTF2000.
4543
4544 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4545
4546         * mule-canna.c (c2mu): New implementation for UTF2000.
4547         (m2c): Likewise.
4548
4549 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4550
4551         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4552
4553 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4554
4555         * file-coding.c (reset_encoding_stream): Set 0 to
4556         `str->iso2022.current_char_boundary' in UTF2000.
4557         (encode_utf8): Don't define in UTF2000.
4558         (encode_coding_utf8): New implementation for UTF-8 representation
4559         of UTF2000.
4560         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4561
4562 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4563
4564         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4565
4566         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4567         UTF2000.
4568         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4569
4570         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4571
4572         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4573         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4574         as UTF-8 in UTF2000.
4575         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4576         (non_ascii_valid_char_p): Don't define in UTF2000.
4577         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4578         (Lstream_get_emchar_1): Likewise.
4579         (utf-2000-version): New variable in UTF2000.
4580
4581         * lread.c (read_escape): Add new reader `u'.
4582
4583         * insdel.c (three_to_one_table): Don't define in UTF2000.
4584         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4585         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4586         UTF2000.
4587         (bytind_to_bufpos_func): Likewise.
4588         (buffer_mule_signal_inserted_region): Likewise.
4589         (vars_of_insdel): Don't initialize `three_to_one_table'.
4590         (init_buffer_text): Use `buf->text->mule_size' instead of
4591         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4592         UTF2000.
4593
4594         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4595         UTF-8 representation in UTF2000.
4596         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4597         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4598         (decode_coding_iso2022): Don't define local variable `lb' in
4599         UTF2000; don't use LEADING_BYTE in UTF2000; use
4600         `DECODE_ADD_UCS_CHAR' in UTF2000.
4601         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4602
4603         * config.h.in (UTF2000): New macro.
4604
4605         * buffer.h (struct buffer_text): Add new member `mule_size' and
4606         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4607         (valid_char_p): Return always 1 in UTF2000.
4608         (MAX_EMCHAR_LEN): 6 in UTF2000.
4609         (three_to_one_table): Don't define in UTF2000.
4610         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4611         UTF2000.
4612         (real_bytind_to_bufpos): Likewise.
4613
4614         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4615
4616 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4617
4618         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4619         representation change.
4620         (Vutf_2000_version): New variable.
4621         (leading_code_private_11): New variable.
4622         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4623         `leading-code-private-11'.
4624
4625         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4626         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4627         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4628         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4629         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4630         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4631         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4632         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4633         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4634         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4635         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4636         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4637         (MIN_CHAR_GREEK): New macro.
4638         (MAX_CHAR_GREEK): New macro.
4639         (MIN_CHAR_CYRILLIC): New macro.
4640         (MAX_CHAR_CYRILLIC): New macro.
4641         (MIN_CHAR_HEBREW): New macro.
4642         (MAX_CHAR_HEBREW): New macro.
4643         (MIN_CHAR_THAI): New macro.
4644         (MAX_CHAR_THAI): New macro.
4645         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4646         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4647         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4648         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4649         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4650         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4651         (CHAR_FIELD2): New inline function.
4652         (CHAR_FIELD3): New inline function.
4653         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4654         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4655         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4656         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4657         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4658         (MIN_CHAR_COMPOSITION): Likewise.
4659         (CHAR_LEADING_BYTE): Modified for character representation change.
4660         (MAKE_CHAR): Likewise.
4661
4662         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4663         (Vcharset_greek_iso8859_7): Likewise.
4664         (Vcharset_cyrillic_iso8859_5): Likewise.
4665         (Vcharset_hebrew_iso8859_8): Likewise.
4666         (Vcharset_thai_tis620): Likewise.
4667         (Vcharset_katakana_jisx0201): Likewise.
4668
4669 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
4670
4671         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
4672
4673 2002-12-14  Ben Wing  <ben@xemacs.org>
4674
4675         * callint.c: Declaration error.
4676         * dumper.c (pdump):
4677         * dumper.c (pdump_load): Warning fix.
4678         * process.c: GCPRO error.
4679         * glyphs.c (unmap_subwindow):
4680         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
4681         * event-stream.c (maybe_kbd_translate): Wrong argument to
4682         character_to_event().
4683
4684         * alloc.c (garbage_collect_1):
4685         * emacs.c:
4686         * emacs.c (debug_can_access_memory):
4687         * emacs.c (fatal_error_signal):
4688         * emacs.c (mswindows_handle_hardware_exceptions):
4689         * emacs.c (main_1):
4690         * emacs.c (main):
4691         * emacs.c (assert_failed):
4692         * emacs.c (syms_of_emacs):
4693         * lisp.h:
4694         * print.c:
4695         * print.c (std_handle_out_va):
4696         * print.c (write_string_to_stdio_stream):
4697         * print.c (write_fmt_string):
4698         * print.c (printing_badness):
4699         * print.c (printing_major_badness):
4700         * print.c (print_internal):
4701         * print.c (debug_print_no_newline):
4702         * print.c (debug_backtrace):
4703         Be more defensive in handling bad values when printing.  Add code
4704         from trunk involving inhibit_non_essential_printing_operations.
4705         When going down or in debug_print(), don't do external conversion
4706         and such and try really, really hard when printing to avoid core
4707         dumping.  Add force-debugging-signal, debug_break().
4708
4709 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
4710
4711         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
4712         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
4713
4714 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
4715
4716         * database.c: Fix open_database. Berkeley DB API has changed in
4717         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
4718
4719 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
4720
4721         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
4722
4723 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
4724
4725         * event-Xt.c (Xt_timeout):
4726         (Xt_timeout_callback):
4727         (emacs_Xt_add_timeout):
4728         (emacs_Xt_remove_timeout):
4729         (Xt_timeout_to_emacs_event):
4730         Turn completed_timeouts from a stack into a queue.  Fixes
4731         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
4732
4733 2002-11-07  Wolfram Gloger  <wg@malloc.de>
4734
4735         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
4736         * emacs.c (main): Assert that mmap'd allocation is disabled.
4737
4738 2002-10-14  Andy Piper  <andy@xemacs.org>
4739
4740         * glyphs-widget.c (layout_query_geometry): add in fiddle
4741         factor. Include border text in width layout calculation.
4742         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
4743
4744 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
4745
4746         * XEmacs 21.4.10 "Military Intelligence" is released.
4747
4748 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
4749
4750         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
4751         using the NAS private array SoundFileInfo that no longer exists in
4752         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
4753         and earlier.  This is broken for some versions between 1.5a and
4754         1.5f.
4755
4756 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
4757
4758         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
4759
4760         * emacs.c (shut_down_emacs): Improve crash message.
4761
4762 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
4763
4764         * file-coding.c (determine_real_coding_system): Check for coding
4765         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
4766         shebangs and Python PEP 263.
4767
4768 2002-10-08  Andy Piper  <andy@xemacs.org>
4769
4770         * glyphs-widget.c (layout_query_geometry): only resize dynamically
4771         if static sizes haven't been set.
4772
4773 2002-08-30  Mike Alexander  <mta@arbortext.com>
4774
4775         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
4776         to close a socket.
4777
4778 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
4779
4780         * callproc.c (child_setup): 21.4 doesn't have retry_close.
4781
4782 2002-09-20  Mike Sperber <mike@xemacs.org>
4783
4784         (This partially gets back my patch from 2002-07-20 without the
4785         bug.)
4786         * callproc.c (child_setup): Remove Ben's comment noting confusion
4787         over the file descriptors >= 3: close_process_descs() doesn't
4788         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
4789         * process-unix.c (unix_create_process): Call
4790         begin_dont_check_for_quit to inhibit unwanted interaction (and
4791         thus breaking of X event synchronicity) in the child.
4792
4793 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
4794
4795         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
4796         widget.
4797
4798 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
4799
4800         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
4801         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
4802         the xemacs process did not exit, but looped infinitely here.  This
4803         fixes that problem.
4804
4805 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4806
4807         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
4808         (find_context): Improve comments.
4809
4810         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
4811         (re_match_2): An XCHAR_TABLE operation was missing.
4812
4813         Many of the following changes were inspired by Andy Piper's (now
4814         obsolete) patch to make syntax-table text property lookup optional.
4815
4816         [Documentation]
4817
4818         * syntax.h (top level): Document semantics of syntax flags.
4819         * syntax.c (comstr_start, Fforward_comment): Improve comments.
4820         * syntax.c, syntax.h (top level): Document syntax cache better in
4821         comments.
4822
4823         [Instrument syntax caching (temporary change)]
4824
4825         * syntax.h (enum syntax_cache_statistics_functions, struct
4826         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
4827         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
4828         * syntax.c (scan_words, Fforward_comment, scan_lists,
4829         Fbackward_prefix_characters):
4830         * font-lock.c (find_context):
4831         Use them to instrument syntax caching. 
4832         * syntax.c (struct syntax_cache_statistics, scs_statistics,
4833         syntax_cache_statistics_function_names): New type and variables.
4834         * syntax.c (update_syntax_cache): Update and report statistics.
4835
4836         [Major syntax cache optimizations]
4837
4838         syntax.c (lookup_syntax_properties): Default off.
4839
4840         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
4841         * syntax.c (update_syntax_cache):
4842         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
4843
4844         [Minor syntax cache optimizations and code clarifications]
4845
4846         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
4847         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
4848         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
4849         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
4850         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
4851         (Code clarification.)
4852
4853         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
4854         scan_lists): Compute code from syncode, use Boolean macros instead
4855         of redundant masking operations.  (Code clarification; any decent
4856         compiler can do this optimization.)
4857
4858         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
4859         for clarity.
4860
4861         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
4862         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
4863         use F*_single_property_change instead of F*_extent_change.
4864         Currently F*_single_property_change is _much_ less efficient.
4865
4866         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
4867         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
4868         syntax_cache.object properly, don't leave Qt or Qnil.
4869         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
4870         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
4871         tests for Qt or Qnil.
4872
4873 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
4874
4875         * redisplay.c (point_in_line_start_cache): 
4876         * extents.c (print_extent_1):
4877         Fix warnings.
4878
4879         * extents.c (Fset_extent_property): Document `syntax-table' property.
4880
4881         * extents.h (Fnext_single_property_change): EXFUN it.
4882
4883 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
4884
4885         * search.c (clear_unused_search_regs): New static function.
4886         (search_buffer): 
4887         (simple_search): 
4888         (boyer_moore):
4889         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
4890         Minor clarifications in comments.
4891
4892         * regex.c (re_match_2_internal): Ensure no stale submatches.
4893
4894 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
4895
4896         * event-Xt.c (enqueue_focus_event): Add missing prototype.
4897
4898 2002-08-29  Jerry James  <james@xemacs.org>
4899
4900         * lisp.h: structrures -> structures.
4901
4902 2002-06-03  Andy Piper  <andy@xemacs.org>
4903
4904         * frame.c (frame_conversion_internal): add conversion appropriate
4905         for setting frame dimensions in pixels.
4906
4907         * console.h (struct console_methods): add device-specific widget
4908         layout functions.
4909
4910         * emacs.c (main_1): initialize glyph vars.
4911
4912         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
4913         (handle_focus_event_2): new function. Allow focus to
4914         be set to a particular window and widget.
4915         (enqueue_focus_event): new function. Create a
4916         synthetic focus event.
4917         (emacs_Xt_handle_magic_event): call
4918         handle_focus_event_2.
4919
4920         * frame.c (Fset_frame_pixel_height): new function. Allow
4921         pixel-based sizing. Does the right thing on character-oriented
4922         displays.
4923         (Fset_frame_pixel_width): ditto.
4924         (Fset_frame_pixel_size): ditto.
4925         (syms_of_frame): declare.
4926
4927         * general-slots.h: add :vertically-justify and
4928         :horizontally-justify.
4929
4930         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
4931         (mswindows_widget_border_width): new function.
4932         (mswindows_combo_box_instantiate): set border widths.
4933         (console_type_create_glyphs_mswindows): declare.
4934
4935         * glyphs-widget.c:
4936         (check_valid_justification): allow vertical and horizontal
4937         justification.
4938         (widget_border_width): new function. Call device methods.
4939         (widget_instance_border_width): ditto.
4940         (logical_unit_height): new function. Determine the height of a
4941         logical-unit. Logical units are intended to provide grid-like
4942         layout for subcontrols in a layout. If the layout is
4943         :vertically-justify top then subcontrols will be positioned on
4944         logical-unit boundaries, thus allowing adjacent subcontrols to
4945         line up.
4946         (widget_logical_unit_height): ditto for widgets.
4947         (redisplay_widget): misc cleanup.
4948         (widget_spacing): new function. Call device specific
4949         methods. Intended to be the default gap between adjacent widgets.
4950         (widget_query_geometry): use new spacing functions to determine
4951         appropriate geometry.
4952         (initialize_widget_image_instance): initialize horizontal and
4953         vertical justification.
4954         (widget_instantiate): use logica-units where appropriate for
4955         sizing large widgets.
4956         (button_query_geometry): use widget_instance_border_width.
4957         (tree_view_query_geometry): ditto.
4958         (tab_control_query_geometry): ditto.
4959         (edit_field_query_geometry): new function.
4960         (layout_update): pick up :justify, :horizontally-justify and
4961         :vertically-justify none of which worked previously. :justify is
4962         used as a fallback for both horizontal and vertical justification.
4963         (layout_query_geometry): use logical units to size appropriately.
4964         (layout_layout): ditto.
4965         (Fwidget_logical_to_character_width): new function. Allow users to
4966         convert from logical units to characters so that frame sizes can
4967         be set appropriately.
4968         (Fwidget_logical_to_character_height): ditto.
4969         (syms_of_glyphs_widget): declare.
4970         (image_instantiator_edit_fields): add edit_field_query_geometry.
4971         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
4972         :horizontally-justify.
4973         (specifier_vars_of_glyphs_widget): new function. Declare
4974         Vwidget_border_width which is not yet used.
4975
4976         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
4977         (x_widget_border_width): new function.
4978         (x_widget_instantiate): create a sensible name for widgets.
4979         (console_type_create_glyphs_x): declare x_widget_border_width.
4980
4981         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
4982         (struct Lisp_Image_Instance): add :vertically-justify and
4983         :horizontally-justify.
4984         (LAYOUT_JUSTIFY_TOP): new.
4985         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
4986         (ROUND_UP): new macro. Round argument up to next integral
4987         interval.
4988
4989         * redisplay-output.c (redisplay_output_layout): misc formatting.
4990
4991         * symsinit.h: declare specifier_vars_of_glyphs_widget.
4992
4993 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
4994
4995         * XEmacs 21.4.9 "Informed Management" is released.
4996
4997 2002-08-19  Andy Piper  <andy@xemacs.org>
4998
4999         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5000         win32 format.
5001
5002         * realpath.c (xrealpath): normalize drive spec also so that dir
5003         sep chars are not mixed on cygwin.
5004
5005 2002-08-06  Jerry James  <james@xemacs.org>
5006
5007         * window.c (Fsplit_window): Count only half of the divider width
5008         against the left window when splitting horizontally. 
5009
5010 2002-06-24  Andy Piper  <andy@xemacs.org>
5011
5012         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5013         toolbar was cleared.
5014
5015         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5016         function. Split out from mswindows_output_frame_toolbars.
5017         (mswindows_output_frame_toolbars): move clear pieces to
5018         mswindows_output_frame_toolbars.
5019
5020         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5021         out from gtk_output_frame_toolbars.
5022         (gtk_output_frame_toolbars): move clear pieces to
5023         gtk_clear_frame_toolbars.
5024
5025         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5026         the frame is cleared. How this ever worked before is a mystery.
5027         (x_output_frame_toolbars): Only output toolbars.
5028         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5029
5030         * gutter.c (update_gutter_geometry):
5031         Mark frame layout changed.
5032         (update_frame_gutter_geometry, update_frame_gutters):
5033         Respect frame_layout_changed.
5034
5035         * console.h (struct console_methods): add
5036         clear_frame_toolbars_method.
5037
5038         * redisplay.c (redisplay_frame): call
5039         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5040
5041         * toolbar.h: declare update_frame_toolbars_geometry.
5042
5043         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5044         out from update_frame_toolbars.  Call clear_frame_toolbars.
5045         (update_frame_toolbars): only output, do not change geometry.
5046
5047         * redisplay.c: add frame_layout_changed.
5048
5049         * redisplay.h: add frame_layout_changed.
5050         (CLASS_RESET_CHANGED_FLAGS): set it.
5051         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5052         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5053         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5054
5055         * device.h (struct device): add frame_layout_changed.
5056         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5057
5058         * frame.h (struct frame): add frame_layout_changed.
5059         (MARK_FRAME_LAYOUT_CHANGED): new.
5060
5061 2002-06-30  Mike Alexander  <mta@arbortext.com>
5062
5063         * event-msw.c (mswindows_need_event): Don't wait for a new message
5064         if the queue is not empty.  Suggested by Paul Moore.
5065
5066 2002-06-12  Andy Piper  <andy@xemacs.org>
5067
5068         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5069         for printing on accurately.
5070
5071 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5072
5073         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5074         WM_ACTIVATE message. Make sure that the frame is visible if the
5075         window is visible. This seemss to fix the problem where XEmacs
5076         appears to freeze after switching desktops with certain virtual
5077         window managers.
5078         (debug_output_mswin_message): Added code to output message
5079         parameters for WM_WINDOWPOSCHANGED, 
5080         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5081
5082 2002-05-25  Andy Piper  <andy@xemacs.org>
5083
5084         * select-x.c (vars_of_select_x): Fix docstring of
5085         x-selection-strict-motif-ownership
5086
5087 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5088
5089         * keymap.c (get_keymap):
5090         Add comment about do_autoload GCPROs own args.
5091
5092 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5093
5094         * bytecode.c (execute_optimized_program): check_opcode ifdef
5095         ERROR_CHECK_BYTE_CODE.
5096
5097 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5098
5099         Thanks to Ben Wing and Michael Sperber.
5100
5101         * eval.c (Fcommand_execute):
5102         (Feval):
5103         (Ffuncall):
5104         (Fmacroexpand_internal):
5105         (function_argcount):
5106         callint.c (Fcall_interactively):
5107         Add comment about do_autoload GCPROs own args.
5108
5109         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5110
5111         * eval.c (Ffuncall): Extra braces to placate GCC.
5112
5113 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5114
5115         * backtrace.h (grow_specpdl):
5116         (SPECPDL_RESERVE):
5117         * EmacsFrame.c (EmacsFrameSetValues):
5118         * eval.c (grow_specpdl):
5119         * ExternalShell.c (hack_event_masks_1):
5120         * glyphs-x.c (convert_EImage_to_XImage): 
5121         (x_finalize_image_instance):
5122         * ralloc.c (page_size):
5123         (r_alloc_sbrk):
5124         * xgccache.c (gc_cache_hash):
5125         Fix unsigned comparison warnings.
5126
5127 2002-07-29  Jerry James  <james@xemacs.org>
5128
5129         * lread.c (locate_file): Any nonnegative return value indicates
5130         success if MODE is nonnegative.
5131
5132 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5133
5134         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5135         argument. 
5136
5137 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5138
5139         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5140
5141         * dumper.c (pdump_get_indirect_count):
5142         (pdump_scan_by_alignment):
5143         (pdump_dump_root_struct_ptrs):
5144         (pdump_dump_rtables):
5145         (pdump_dump_root_objects):
5146         (pdump):
5147         * nas.c (WaveOpenDataForReading):
5148         * fns.c (print_bit_vector):
5149         * font-lock.c (SINGLE_SYNTAX_STYLE):
5150         * glyphs.c (check_for_ignored_expose):
5151         (find_matching_subwindow):
5152         * glyphs-eimage.c:
5153         * imgproc.c (get_histogram):
5154         * redisplay.c (point_in_line_start_cache):
5155         * redisplay-output.c (redisplay_unmap_subwindows):
5156         * symbols.c (defsymbol_massage_name_1):
5157         (defkeyword_massage_name):
5158         (deferror_massage_name_and_message):
5159         * redisplay-x.c (x_output_string): 
5160         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5161         * frame.h (struct frame):
5162         * filelock.c (current_lock_owner):
5163         * doprnt.c (emacs_doprnt_1):
5164         * lisp.h (struct Lisp_Bit_Vector):
5165         (DO_REALLOC):
5166         Fix warnings.
5167
5168 2002-02-13  Ben Wing  <ben@xemacs.org>
5169
5170         * event-stream.c (reset_key_echo):
5171         * event-stream.c (reset_this_command_keys):
5172         * event-stream.c (execute_command_event):
5173         If console is dead as a result of C-x 5 0, then post-command stuff
5174         needs to be careful and do only non-console-specific stuff.
5175
5176 2002-07-01  Mike Sperber <mike@xemacs.org>
5177
5178         * process-unix.c (unix_send_process): Mark coding_outstream as
5179         non-open upon SIGPIPE.
5180
5181         * event-stream.c (Fnext_event): Reorder switch cases to something
5182         that makes sense.
5183
5184 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5185
5186         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
5187         Don't bogusly reinitialize ascii_character property.
5188
5189 2002-07-08  Mike Sperber <mike@xemacs.org>
5190
5191         * process.c (Fstart_process_internal): Do error checking before we
5192         fork off the child, so the child can't muck with the state of the
5193         parent.
5194
5195 2002-07-08  Mike Sperber <mike@xemacs.org>
5196
5197         * ralloc.c (init_ralloc): Allocate properly for pdump.
5198
5199 2002-06-12  Andy Piper  <andy@xemacs.org>
5200
5201         * glyphs.c (query_string_geometry): check the string.
5202
5203         * glyphs-widget.c (widget_logical_unit_height): cope with nil
5204         widget names.
5205
5206 2002-06-17  Jerry James  <james@xemacs.org>
5207
5208         * sysdll.c: Remove RTLD_GLOBAL initialization.
5209         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
5210
5211 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
5212
5213         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
5214
5215 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
5216
5217         * sysdep.c (sys_rename): Make sys_rename work for the case where
5218         Windows rename sets errno to EACCES if target file exists.
5219
5220 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
5221
5222         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5223         Fix detection of metric units to work on Win95
5224
5225 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
5226
5227         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
5228
5229 2002-04-25  Andy Piper  <andy@xemacs.org>
5230
5231         * redisplay.c (create_text_block): Remove extra comment trailer.
5232
5233 2002-04-24  Andy Piper  <andy@xemacs.org>
5234
5235         * redisplay.c (create_text_block): Don't actually add propagation
5236         data if the line ends after we have added a glyph.
5237
5238 2002-04-22  Andy Piper  <andy@xemacs.org>
5239
5240         * extents.c (extent_fragment_update): check for glyphs we have
5241         previously displayed.
5242         * extents.c (print_extent_1): warning removal.
5243         * extents.h: change prototype.
5244         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
5245         widths correctly for wide glyphs.
5246         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
5247         * redisplay.c (prop_type): add PROP_GLYPH.
5248         * redisplay.c (struct prop_block): add glyph type
5249         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
5250         to the propagation data.
5251         * redisplay.c (create_text_block): if there is a glyph in the
5252         propagation data use it to salt extent_fragment_update.
5253         * redisplay.c (create_string_text_block): ditto.
5254
5255 2002-04-13  Nix  <nix@esperi.demon.co.uk>
5256
5257         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
5258         * redisplay-output.c (compare_runes): Compare them.
5259         * redisplay.c: Update copyright date.
5260         * redisplay.c (pos_data): Add need_baseline_computation field.
5261         * redisplay.c (add_glyph_rune): Update ascent, descent, and
5262         need_baseline_computation; zero yoffset. Set max_pixmap_height
5263         for all pixmaps, not just automatically positioned ones.
5264         * redisplay.c (calculate_yoffset): New, compute yoffset values.
5265         * redisplay.c (calculate_baseline): New, compute textual baseline.
5266         * redisplay.c (add_glyph_rune): Call them.
5267         * redisplay.c (create_text_block): Likewise.
5268         * redisplay.c (create_overlay_glyph_block): Likewise.
5269         * redisplay.c (add_margin_runes): Likewise.
5270         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
5271
5272         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
5273         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
5274         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
5275         * redisplay-msw.c (mswindows_output_string): Likewise.
5276         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
5277         * redisplay-gtk.c (gtk_output_display_block): Likewise.
5278         * redisplay-x.c (x_output_display_block): Likewise.
5279
5280 2002-03-28  Ben Wing  <ben@xemacs.org>
5281
5282         * redisplay.c: Fixed bug in redisplay
5283         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
5284         and down of the lines, since they're bigger than the line
5285         size. (It was seen most obviously when there's a horizontal scroll
5286         bar, e.g. do C-h a glyph or something like that.) The problem was
5287         that the glyph-contrib-p setting on glyphs was ignored even if it
5288         was set properly, which it wasn't until now.
5289
5290 2002-04-24  Andy Piper  <andy@xemacs.org>
5291
5292         * lisp.h (Dynarr_end): Fix definition.
5293
5294 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
5295
5296         * redisplay.c (mark_redisplay): Remove call to
5297         update_frame_window_mirror.
5298
5299 2001-11-15  Andy Piper  <andy@xemacs.org>
5300
5301         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
5302         cygwin (again).
5303
5304 2002-02-13  Andy Piper  <andy@xemacs.org>
5305
5306         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
5307         we did in fact enqueue the XM_MAPFRAME event.
5308
5309 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
5310
5311         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
5312         to fix problem switching between virtual desktops under virtuawin
5313         virtual window manager.
5314
5315 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
5316
5317         * event-msw.c: Typo fix.
5318         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
5319         magic XM_MAPFRAME event has been sent.
5320
5321 2001-11-23  Andy Piper  <andy@xemacs.org>
5322
5323         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
5324
5325 2001-11-21  Andy Piper  <andy@xemacs.org>
5326
5327         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
5328         mouse events outside the frame.
5329
5330 2002-03-20  Andy Piper  <andy@xemacs.org>
5331
5332         * menubar-msw.c (mswindows_popup_menu): warning removal.
5333         * dialog-msw.c (dialog_popped_down): ditto.
5334
5335 2001-12-11  Andy Piper  <andy@xemacs.org>
5336
5337         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
5338         * dialog-msw.c (mswindows_make_dialog_box_internal): set
5339         popup_up_p.
5340         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
5341         * menubar-msw.c (mswindows_handle_wm_command): ditto.
5342         * menubar-msw.c (mswindows_popup_menu): ditto.
5343
5344 2001-10-29  Andy Piper  <andy@xemacs.org>
5345
5346         * dialog-msw.c (handle_directory_dialog_box): quit if the user
5347         cancels.
5348
5349 2002-01-03  Andy Piper  <andy@xemacs.org>
5350
5351         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
5352         letters.
5353         (xrealpath): ditto.
5354
5355 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
5356
5357         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
5358         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
5359         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5360         Detect and handle case where machine is set up for metric units
5361
5362 2002-04-02  Andy Piper  <andy@xemacs.org>
5363
5364         * dired-msw.c (mswindows_get_files): 
5365         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
5366         completely handled by XEmacs. Suggested by Thomas Vogler
5367         <mail@thomas-vogler.de>.
5368
5369 2001-11-14  Andy Piper  <andy@xemacs.org>
5370
5371         * nt.c (REG_ROOT): change registry key to XEmacs.
5372
5373 2002-04-27  Andy Piper  <andy@xemacs.org>
5374
5375         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
5376
5377 2002-04-26  Andy Piper  <andy@xemacs.org>
5378
5379         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
5380         behavior.
5381
5382 2002-03-14  Mike Alexander  <mta@arbortext.com>
5383
5384         * event-msw.c (mswindows_unwait_process): New, remove process from
5385         wait list
5386         * process-nt.c (nt_finalize_process_data): Call
5387         mswindows_unwait_process
5388         * console-msw.h: Declare mswindows_unwait_process
5389
5390 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
5391
5392         * editfns.c (Fdecode_time):
5393         (Fformat_time_string):
5394         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
5395         (make_time): Warning elimination (change arg name).
5396
5397 2001-11-24  Andy Piper  <andy@xemacs.org>
5398
5399         * window.c (Fsplit_window): Doc return type.
5400
5401 2002-04-01  Andy Piper  <andy@xemacs.org>
5402
5403         * emacs.c (Fkill_emacs): Only output message box in interactive
5404         mode.
5405
5406 2002-04-26  Andy Piper  <andy@xemacs.org>
5407  
5408         * config.h.in: pull in 21.5.x change to stop alloca warnings under
5409         cygwin.
5410
5411 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
5412
5413         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
5414         bit platform.
5415
5416 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
5417
5418         * XEmacs 21.4.8 "Honest Recruiter" is released.
5419
5420 2002-05-07  Nix  <nix@esperi.demon.co.uk>
5421
5422         Supersedes 2002-04-17 patch.
5423
5424         * process.h (PROCESS_LIVE_P): Use the process status as
5425         evidence of health, not the state of the input stream.
5426         (PROCESS_READABLE_P): Say if the process is readable
5427         from. (It may be dead nonetheless.)
5428         (CHECK_READABLE_PROCESS): Test for that condition.
5429
5430         * process.c (create_process): Use PROCESS_READABLE_P.
5431         (read_process_output, set_process_filter): Likewise.
5432
5433         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
5434         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
5435
5436         This code is #if 0'd, this is not the time to add new functions:
5437
5438         * process.c (Fprocess_readable_p): Report readability status.
5439         * process.c (Qprocess_readable_p): New, associated symbol...
5440         * process.c (syms_of_process): ... initialize it.
5441
5442 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
5443
5444         * XEmacs 21.4.7 "Economic Science" is released.
5445
5446 2002-04-17  Nix  <nix@esperi.demon.co.uk>
5447
5448         * process.h (PROCESS_LIVE_P): Use the process status as
5449         evidence of health, not the state of the input stream.
5450
5451 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
5452
5453         * sysdep.c (sys_siglist): change "signum" to "signal"
5454
5455 2001-04-21  Martin Buchholz  <martin@xemacs.org>
5456
5457         * s/darwin.h: New file.
5458         Thanks to Greg Parker <gparker@cs.stanford.edu>.
5459         
5460 2002-04-23  Andreas Jaeger  <aj@suse.de>
5461
5462         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
5463         which use lib64 for 64-bit libs.
5464         (START_FILES): Likewise.
5465
5466 2002-02-11  Mike Sperber  <mike@xemacs.org>
5467
5468         * device-x.c: 
5469         (x_IO_error_handler):
5470         (x_init_device): Temporarily keep device in static variable
5471         `device_being_initialized' so we can recover gracefully from
5472         internal XOpenDevice failure.  (XOpenDevice is documented to
5473         return NULL on failure, but sometimes calls the IO error handler
5474         instead.)
5475
5476 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
5477
5478         * dired.c (Ffile_name_all_completions): Change documentation --
5479         remove reference to completion-ignored-extensions.
5480         * dired.c (vars_of_dired): Change documentation for
5481         completion-ignored-extensions -- remove reference to
5482         file-name-all-completions.
5483
5484 2002-03-06  Jerry James  <james@xemacs.org>
5485
5486         * emodules.c (emodules_load): Fix multiple loading of same module.
5487
5488 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
5489         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
5490         RTLD_LAZY to avoid incorrect symbol binding when using nested
5491         shared libraries on Solaris.
5492
5493 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
5494
5495         * fileio.c (Ffind_file_name_handler): Improve docstring.
5496
5497 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
5498
5499         * fns.c (Fmapconcat): Improve docstring.
5500
5501 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
5502
5503         * device-gtk.c: Add prototype for
5504         emacs_gtk_selection_clear_event_handle.
5505         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
5506         selection.  Setup signal handler for "selection_clear_event"
5507         (emacs_gtk_selection_clear_event_handle).
5508
5509         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
5510         other applications owning the clipboard (based on
5511         x_handle_selection_clear).
5512
5513 2001-12-23  William M. Perry  <wmperry@gnu.org>
5514
5515         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
5516         
5517 2002-01-04  Martin Buchholz  <martin@xemacs.org>
5518
5519         * keymap.c (define_key_alternate_name): Parenthesize EQ.
5520
5521 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
5522
5523         * XEmacs 21.4.6 "Common Lisp" is released.
5524
5525 2001-12-16  Torsten Duwe  <duwe@caldera.de>
5526
5527         * search.c (Freplace_match): Add missing sub-expression functionality.
5528
5529         * buffer.c (decode_buffer): Add a check for pointer type to
5530         decode_buffer, before gcc's CSE optimization reorders a
5531         dereference in front of the allow_string test.
5532
5533 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
5534
5535         * window.c (window_loop): Fix bug that sometimes prevented
5536         window_loop() from iterating across multiple devices.  Also, at
5537         Ben's request, changed infloop-detecting code to abort() instead
5538         of silently terminating window_loop().
5539
5540 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
5541
5542         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
5543         * editfns.c (make_time): New function.
5544         (Fencode_time): Use it instead of wasteful_word_to_lisp.
5545         * lisp.h (make_time): Prototype and comment it.
5546         * dired.c (wasteful_word_to_lisp): Deprecate.
5547         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
5548
5549 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
5550
5551         * fileio.c (auto_save_1): Use current coding system, not
5552         escape-quoted.
5553
5554 2001-11-13  Ben Wing  <ben@xemacs.org>
5555
5556         * window.c:
5557         * window.c (window_truncation_on):
5558         * window.c (syms_of_window):
5559         truncate-partial-width-windows should respect the buffer being
5560         displayed, like other redisplay vars.
5561
5562 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
5563
5564         * event-stream.c (Fread_key_sequence): save current buffer.
5565
5566 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5567
5568         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
5569
5570 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5571
5572         * alloc.c (lcrecord_stats): Add space for types defined in modules.
5573
5574 2001-10-26  Mike Alexander  <mta@arbortext.com>
5575
5576         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
5577
5578 2001-10-25  Andy Piper  <andy@xemacs.org>
5579
5580         * ChangeLog:
5581         * dialog-msw.c (handle_directory_proc): new function.
5582          (handle_directory_dialog_box): new fucntion.
5583          (handle_file_dialog_box): use new directory dialog support.
5584          (mswindows_make_dialog_box_internal): ditto.
5585         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
5586         handling.
5587         (mswindows_find_frame): make global.
5588         * fileio.c (Fexpand_file_name): build fix.
5589         * general-slots.h: add Qdirectory.
5590         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
5591         handling.
5592         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
5593         cygwin not leaving win32 paths unchanged.
5594         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
5595         cygwin runtime to do path conversion.
5596         (Fmswindows_shell_execute): fix cygwin handling of URLs.
5597         (syms_of_win32): add new function.
5598         * window.c (window_loop): build fix.
5599
5600 2001-10-15  Andy Piper  <andy@xemacs.org>
5601
5602         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
5603
5604 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
5605
5606         * XEmacs 21.4.5 "Civil Service" is released.
5607
5608 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
5609
5610         * glyphs-x.c: Force buffer-tab highlight update when moving the
5611         buffer, avoiding an ugly black border, used for keyboard focus
5612         indication, on a widget that can never have keyboard focus, the
5613         buffer tab.
5614
5615 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
5616
5617         * process-unix.c (unix_open_multicast_group): Remove too much
5618         conversion between host and network byte order.
5619
5620 2001-09-10  Nix  <nix@esperi.demon.co.uk>
5621
5622         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
5623         before replacing them.
5624
5625         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
5626         operation.
5627
5628         * src/window.c (undedicate_windows): Use it.
5629         * src/window.h: Add prototype.
5630
5631 2001-09-17  Ben Wing  <ben@xemacs.org>
5632
5633         * fileio.c (normalize_filename):
5634         * fileio.c (Fexpand_file_name):
5635         Fix various C++ compile errors in Andy's recent code.
5636         
5637         * callint.c (Fcall_interactively):
5638         * editfns.c (Ftemp_directory):
5639         * editfns.c (Fuser_full_name):
5640         * emacs.c (argmatch):
5641         * lread.c (locate_file_map_suffixes):
5642         * redisplay-x.c (x_ring_bell):
5643         Fix sign-compare warnings.
5644         
5645 2001-09-08  Andy Piper  <andy@xemacs.org>
5646
5647         * fileio.c (normalize_filename): copied from nt.c
5648         * (Ffile_name_directory): enable win32 paths under cygwin.
5649         * (Ffile_name_nondirectory): ditto.
5650         * (directory_file_name): ditto.
5651         * (Fexpand_file_name): ditto.
5652         * (Ffile_truename): ditto.
5653         * (Fsubstitute_in_file_name): ditto.
5654         * (Ffile_name_absolute_p): ditto.
5655         * (Ffile_readable_p): ditto.
5656
5657 2001-09-08  Andy Piper  <andy@xemacs.org>
5658
5659         * device-msw.c (mswindows_finish_init_device): remove dde
5660         initialization.
5661         * device-msw.c (mswindows_init_dde): factor out from
5662         mswindows_finish_init_device()
5663         * device-msw.c (init_mswindows_very_early): new function
5664         initialize but don't enable dde.
5665         * emacs.c (main_1): call init_mswindows_very_early.
5666         * event-msw.c:
5667         * event-msw.c (mswindows_dde_callback): only execute when we are
5668         ready.
5669         * symsinit.h: declare init_mswindows_very_early.
5670
5671 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5672
5673         [sjt: This has been in 21.5 for months with no complaints.]
5674
5675         * console.h (struct console_methods): Added flags member.
5676         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
5677         (CONMETH_IMPL_FLAG):
5678         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
5679         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5680
5681         * device.c (window_system_pixelated_geometry): Use the above macros.
5682
5683         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
5684         implememntation flag.
5685         * device.h (DEVICE_DISPLAY_P): Use it.
5686
5687         * frame.c (delete_frame_internal): Use the above macro.
5688
5689         * redisplay.c (redisplay_device): Use it.
5690         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5691         (redisplay_frame): Ditto.
5692
5693         * device-msw.c (mswindows_device_implementation_flags): Removed.
5694         (msprinter_device_implementation_flags): Removed.
5695         (console_type_create_device_mswindows): Removed references to
5696         implementation_flags methods, set implementation flags here.
5697         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
5698
5699         * device-gtk.c (gtk_device_implementation_flags): Removed method.
5700         (console_type_create_device_gtk): Removed method declaration.
5701         Added commented out statement which semantically matches the
5702         commented out statement in the above removed method.
5703
5704 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
5705
5706         The attached patch fixes a few warnings. 
5707
5708         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
5709         * src/frame-gtk.c: guard against GNOME calls in GTK only
5710         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
5711         * src/select-gtk.c: prototype lisp_to_time
5712
5713 2001-06-08  Ben Wing  <ben@xemacs.org>
5714
5715         ------ gc-in-window-procedure fixes ------
5716         
5717         * alloc.c:
5718         * alloc.c (struct post_gc_action):
5719         * alloc.c (register_post_gc_action):
5720         * alloc.c (run_post_gc_actions):
5721         * alloc.c (garbage_collect_1):
5722         Create "post-gc actions", to avoid those dreaded "GC during window
5723         procedure" problems.
5724
5725         * event-msw.c:
5726         Abort, clean and simple, when GC in window procedure.  We want
5727         to flush these puppies out.
5728
5729         * glyphs-msw.c:
5730         * glyphs-msw.c (finalize_destroy_window):
5731         * glyphs-msw.c (mswindows_finalize_image_instance):
5732         Use a post-gc action when destroying subwindows.
5733
5734         * lisp.h:
5735         Declare register_post_gc_action().
5736
5737         * scrollbar-msw.c:
5738         * scrollbar-msw.c (unshow_that_mofo):
5739         Use a post-gc action when unshowing scrollbar windows, if in gc.
5740
5741         * redisplay.c (mark_redisplay):
5742         Add comment about the utter evilness of what's going down here.
5743
5744         ------ cygwin setitimer fixes ------
5745         
5746         * Makefile.in.in (sheap_objs):
5747         * Makefile.in.in (profile_objs):
5748         * Makefile.in.in (objs):
5749         Compile profile.c only when HAVE_SETITIMER.
5750         
5751         * nt.c (mswindows_sigset):
5752         * nt.c (mswindows_sighold):
5753         * nt.c (mswindows_sigrelse):
5754         * nt.c (mswindows_sigpause):
5755         * nt.c (mswindows_raise):
5756         * nt.c (close_file_data):
5757         Style fixes.
5758         
5759         * nt.c:
5760         Move setitimer() emulation to win32.c, because Cygwin needs it too.
5761         
5762         * profile.c:
5763         * profile.c (Fstart_profiling):
5764         * profile.c (Fstop_profiling):
5765         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
5766         instead of just plain setitimer().
5767         
5768         * signal.c:
5769         * signal.c (set_one_shot_timer):
5770         * signal.c (alarm):
5771         Define qxe_setitimer() as an encapsulation around setitimer() --
5772         call setitimer() directly unless Cygwin or MS Win, in which case
5773         we use our simulated version in win32.c.
5774         
5775         * systime.h:
5776         * systime.h (struct itimerval):
5777         * systime.h (ITIMER_REAL):
5778         Prototype mswindows_setitimer() and qxe_setitimer().  Long
5779         comment about "qxe" and the policy regarding encapsulation.
5780
5781         * win32.c:
5782         * win32.c (setitimer_helper_proc):
5783         * win32.c (setitimer_helper_period):
5784         * win32.c (setitimer_helper):
5785         * win32.c (mswindows_setitimer):
5786         Move setitimer() emulation here, so Cygwin can use it.
5787         Rename a couple of functions and variables to be longer and more
5788         descriptive.  In setitimer_helper_proc(), send the signal
5789         using either mswindows_raise() or (on Cygwin) kill().  If for
5790         some reason we are still getting lockups, we'll change the kill()
5791         to directly invoke the signal handlers.
5792
5793         ------ windows shell fixes ------
5794         
5795         * callproc.c:
5796         * ntproc.c:
5797         Comments about how these two files must die.
5798
5799         * callproc.c (init_callproc):
5800         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
5801         not just COMSPEC. (more correct and closer to FSF.) Don't
5802         force a value for SHELL into the environment. (Comments added
5803         to explain why not.)
5804         
5805         * nt.c (init_user_info):
5806         Don't shove a fabricated SHELL into the environment.  See above.
5807
5808 2001-06-01  Ben Wing  <ben@xemacs.org>
5809
5810         * Makefile.in.in (ldflags):
5811         eliminate that pesky "defaulting to 00401000" warning.
5812         * nt.h:
5813         eliminate warnings.
5814
5815 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
5816
5817         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
5818         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
5819
5820 2001-04-24  Jerry James <james@xemacs.org>
5821
5822         * faces.h: pass parameters to Fadd_spec_to_specifier in the
5823         correct order.
5824
5825 2001-06-01  Ben Wing  <ben@xemacs.org>
5826
5827         * event-msw.c (debug_mswin_messages):
5828         conditionalize the messages that were causing compile errors.
5829         (if only macros could generate #ifdef statements ...)
5830
5831 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
5832
5833         * XEmacs 21.4.4 "Artificial Intelligence" is released.
5834
5835 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5836
5837         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
5838
5839 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5840
5841         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
5842         * process-unix.c (unix_canonicalize_host_name):
5843         sysdep.c (init_system_name):
5844         Use it to conditionally support IPv6 canonicalization.
5845
5846 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
5847
5848         * event-msw.c:
5849         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
5850
5851 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
5852
5853         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
5854         attempt is made to scroll when no scroll bar is available.
5855
5856 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5857
5858         * input-method-motif.c (XIM_delete_frame): New callback.
5859         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
5860         got deleted from 21.4.3.)
5861
5862 2001-06-01  Ben Wing  <ben@xemacs.org>
5863
5864         * nt.c (mswindows_utime):
5865         * nt.c (close_file_data):
5866         fix off-by-one-indirection error.
5867
5868 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
5869
5870         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
5871         because set_file_times() now takes Lisp_Object path, instead of
5872         char*.
5873         * nt.c: Include buffer.h.
5874         * nt.c (convert_from_time_t): New.
5875         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
5876         not set mtime correctly.
5877         * nt.h: Declare mswindows_utime().
5878         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
5879         path, instead of char*.
5880         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
5881
5882 2001-05-30  Ben Wing  <ben@xemacs.org>
5883
5884         For 21.4:
5885
5886         (Stephen, just take all event-msw.c patches.  This includes
5887         the "iconify" fix below.)
5888
5889         * event-msw.c:
5890         * event-msw.c (mswindows_dequeue_dispatch_event):
5891         * event-msw.c (assert):
5892         * event-msw.c (emacs_mswindows_quit_p):
5893         * event-msw.c (debug_mswin_messages):
5894         * event-msw.c (debug_output_mswin_message):
5895         * event-msw.c (vars_of_event_mswindows):
5896         Fix yet more problems with C-g handling.
5897         Implement debug-mswindows-events.
5898         
5899 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5900
5901         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
5902         
5903 2001-05-23  Ben Wing  <ben@xemacs.org>
5904
5905         * event-msw.c (winsock_writer):
5906         * event-msw.c (winsock_closer):
5907         prior kludgy code was clobbering the buffer, thinking it was
5908         "unused" space to store an unneeded return value; instead, use
5909         the variable we've already got staring us in the face.
5910
5911 2001-05-17  Andy Piper  <andy@xemacs.org>
5912
5913         * sysfile.h: don't assume that file attributes are boolean
5914
5915 2001-05-23  Ben Wing  <ben@xemacs.org>
5916
5917         * device-msw.c (msprinter_init_device):
5918         signal an error rather than crash with an unavailable network
5919         printer (from Mike Alexander).
5920         
5921         * event-msw.c:
5922         * event-msw.c (struct winsock_stream):
5923         * event-msw.c (winsock_writer):
5924         * event-msw.c (winsock_closer):
5925         * event-msw.c (make_winsock_stream_1):
5926         cleanup headers.  fix (hopefully) an error with data corruption
5927         when sending to a network connection.
5928
5929         * fileio.c (Fexpand_file_name): Fix evil code that attempts
5930         to handle the ~user prefix by (a) always assuming we're referencing
5931         ourselves and not even verifying the user -- hence any file with
5932         a tilde as its first char is invalid! (b) if there wasn't a slash
5933         following the filename, the pointer was set *past* the end of
5934         file and we started reading from uninitialized memory.  Now we
5935         simply treat these as files, always.
5936
5937         * buffer.c (common_init_complex_vars_of_buffer): comment change.
5938         
5939 2001-05-19  Ben Wing  <ben@xemacs.org>
5940
5941         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
5942
5943         * process-nt.c:
5944         * process-nt.c (vars_of_process_nt):
5945         remove unused mswindows-quote-process-args.  rec for 21.4.
5946         
5947 2001-05-12  Ben Wing  <ben@xemacs.org>
5948
5949         * event-msw.c (mswindows_dde_callback):
5950         * event-msw.c (mswindows_wnd_proc):
5951         eliminate cygwin warnings.
5952
5953 2001-05-06  Ben Wing  <ben@xemacs.org>
5954
5955         * console-msw.h:
5956         * device-msw.c:
5957         * device-msw.c (print_dialog_worker):
5958         * device-msw.c (mswindows_handle_print_dialog_box):
5959         * device-msw.c (syms_of_device_mswindows):
5960         * dialog-msw.c (mswindows_make_dialog_box_internal):
5961         * general-slots.h:
5962         implement printing the selection when it's selected.
5963
5964 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
5965
5966         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
5967
5968 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
5969
5970         * lisp.h (EMACS_INT_MAX): This should be one bit less since
5971         EMACS_INT is signed.
5972
5973 2001-04-15  Michael Lausch  <mla@1012surf.net>
5974
5975         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
5976         gtk_widget_request_size() to give scrollbar >0 width for
5977         GTK >1.2.8.
5978
5979 2001-05-30  William M. Perry  <wmperry@gnu.org>
5980
5981         * event-gtk.c: Check for buttons as modifier keys.
5982
5983 2001-05-25  Craig Lanning  <CraigL@Knology.net>
5984
5985         * s\mingw32.h:
5986         Properly find MinGW's <process.h> inside Cygwin's restructured
5987         include directories.  Don't try to include <cygwin/version.h>
5988         since we are dropping support for MinGW in versions of Cygwin
5989         earlier than b21.
5990         * nt.c:
5991         Drop support for MinGW in versions of Cygwin before b21.
5992         * sysdep.c:
5993         Properly find MinGW's <process.h> inside Cygwin's restructured
5994         include directories.
5995         * syswindows.h:
5996         Drop support for MinGW in versions of Cygwin before b21.
5997         * unexcw.c:
5998         Even though a.out.h is no longer detected by configure, allow
5999         MinGW to use it until we figure out how to do the job with Win32.
6000
6001 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6002
6003         * syntax.c (find_start_of_comment):
6004         Fix `unbalanced parentheses' bug when dealing with mixed comment
6005         styles in c++/java/etc. mode
6006
6007 2001-05-29  Mike Alexander  <mta@arbortext.com>
6008
6009         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6010         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6011
6012 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6013
6014         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6015
6016 2001-03-31  Mike Sperber <mike@xemacs.org>
6017
6018         * search.c (Freplace_match): Support FSF-style specification of
6019         match subexpression when applied to a buffer.
6020
6021 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6022
6023         * event-stream.c (is_scrollbar_event): add missing semicolon
6024
6025 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6026
6027         * Makefile.in.in: Use TAR macro instead of hardcoding
6028           tar.  Allows use of GNU tar instead of system tar
6029
6030 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6031
6032         * event-stream.c (is_scrollbar_event): add missing semicolon
6033
6034 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6035
6036         * XEmacs 21.4.3 "Academic Rigor" is released.
6037
6038 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6039
6040         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6041
6042 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6043
6044         * buffer.c (Vcase_fold_search): Remove obsolete
6045           comment about non ASCII case-fold-search.  This
6046           bug has been fixed by case-table changes.
6047
6048 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6049
6050         * event-msw.c: Restore include of events-mod.h.
6051
6052 2001-04-22   zhaoway  <zw@debian.org>
6053
6054         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6055         !HAVE_SCROLLBARS.
6056
6057 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6058
6059         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6060
6061 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6062
6063         * mule-charset.c (Fmake_charset): Add missing else.
6064
6065 2001-04-23  Ben Wing  <ben@xemacs.org>
6066
6067         * event-msw.c (FAKE_MOD_QUIT):
6068         * event-msw.c (mswindows_dequeue_dispatch_event):
6069         * event-msw.c (mswindows_wnd_proc):
6070         * event-msw.c (emacs_mswindows_quit_p):
6071         Get critical quit working.
6072
6073 2001-05-05  Ben Wing  <ben@xemacs.org>
6074
6075         * console-msw.h:
6076         * device-msw.c:
6077         * device-msw.c (mswindows_get_default_margin):
6078         * frame-msw.c (mswindows_size_frame_internal):
6079         * frame-msw.c (msprinter_init_frame_1):
6080         * frame-msw.c (vars_of_frame_mswindows):
6081         Change top/bottom margin defaults to 0.5 inches.
6082
6083 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6084
6085         Fix link error with gcc 3.0 on Linux.
6086         * terminfo.c (UP): Remove.
6087         * terminfo.c (BC): Remove.
6088         * terminfo.c (PC): Remove.
6089         They weren't used, and in any case, these symbols should be
6090         defined in the *library*.
6091
6092 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6093
6094         * s/aix4.h: Fix crash with xlc -O3.
6095         Improve comment explaining how -O3 works.
6096
6097 2001-04-15  Ben Wing  <ben@xemacs.org>
6098
6099         * event-stream.c:
6100         * event-stream.c (Fnext_event):
6101         * event-stream.c (is_scrollbar_event):
6102         * event-stream.c (execute_command_event):
6103         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6104         crash' problem.  His fix introduces other problems.  We filter
6105         out scrollbar events specifically, making them somewhat invisible
6106         to command-building, and not appearing in `this-command-keys'.
6107         More work is still needed (see comments in event-stream.c), but
6108         this fixes all the major problems.
6109
6110 2001-04-20  Ben Wing  <ben@xemacs.org>
6111
6112         * .cvsignore: Added stuff for Windows.
6113
6114 2001-04-28  Ben Wing  <ben@xemacs.org>
6115
6116         * buffer.c (Ferase_buffer):
6117         * editfns.c (buffer_insert1):
6118         * editfns.c (Finsert_before_markers):
6119         * editfns.c (Finsert_string):
6120         * editfns.c (Finsert_char):
6121         * editfns.c (Fdelete_region):
6122         * editfns.c (Fwiden):
6123         * editfns.c (Fnarrow_to_region):
6124         remove bogus lines setting zmacs_region_stays to 0.
6125         
6126 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6127
6128         * process-unix.c (unix_open_network_stream): If connect() fails
6129         invalidate file descriptor after closing it.
6130
6131 2001-03-08  Mike Alexander  <mta@arbortext.com>
6132
6133         * event-msw.c (mswindows_need_event_in_modal_loop):
6134         Don't dispatch a message if we didn't get one.
6135         (mswindows_need_event):
6136         Terminate the correct process when one exits instead of the first
6137         one on Vprocess_list and look for process termination when in
6138         mswindows_protect_modal_loop.
6139
6140 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6141
6142         * XEmacs 21.4.1 "Copyleft" is released.
6143
6144 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6145
6146         * input-method-motif.c (XIM_delete_frame): New callback.
6147         (XIM_init_frame): Register it.
6148
6149 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6150
6151         * XEmacs 21.4.0 "Solid Vapor" is released.
6152
6153 2001-04-15  Ben Wing  <ben@xemacs.org>
6154
6155         * cmdloop.c (call_command_loop):
6156         Fix braino in bit-rotting code.
6157         
6158 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6159
6160         * extents.c (Fset_extent_endpoints): Force creation of extent info
6161         in buffer_or_string.
6162
6163         * extents.c (process_extents_for_insertion_mapper): Correctly
6164         check for open-open zero-length extents.
6165
6166 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6167
6168         * lisp.h: New typedefs Memory_count, Element_count.
6169         * regex.c:
6170         * regex.h:
6171         Sign-compare warning elimination: several unsigned -> signed.
6172         Based on work by Ben Wing <ben@xemacs.org>.
6173
6174 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6175
6176         * XEmacs 21.2.47 "Zephir" is released.
6177
6178 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6179
6180         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6181
6182 2001-04-03  Mike Sperber <mike@xemacs.org>
6183
6184         * search.c: Revert previous patch due because of release.
6185
6186 2001-03-30  Ben Wing  <ben@xemacs.org>
6187
6188         * s\cygwin32.h:
6189         Add missing killpg prototype.
6190
6191         * elhash.c:
6192         Add a comment about fixing problems when a new entry is added
6193         while mapping.
6194
6195         * frame-msw.c (mswindows_init_frame_1):
6196         Fix compile warnings.
6197
6198         * menubar.c (vars_of_menubar):
6199         Provide `menu-accelerator-support' to indicate that we properly
6200         support %_ in menu specifications, so that package code can
6201         conditionalize on this (and remove %_ from menu specifications
6202         on older versions).
6203
6204         * event-msw.c:
6205         * scrollbar-msw.c:
6206         * scrollbar-msw.c (can_scroll):
6207         * scrollbar-msw.h:
6208         Fix handling of mouse wheel under Windows to follow standards --
6209         now scrolls window under pointer, not selected window.
6210
6211 2001-03-31  Mike Sperber <mike@xemacs.org>
6212
6213         * search.c (Freplace_match): Support FSF-style specification of
6214         match subexpression when applied to a buffer.
6215
6216 2001-03-15  Martin Buchholz  <martin@xemacs.org>
6217
6218         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
6219         function to modify KEYMAP, so map over a copy of the hash table.
6220
6221 2001-03-21  Martin Buchholz <martin@xemacs.org>
6222
6223         * XEmacs 21.2.46 "Urania" is released.
6224
6225 2001-03-20  Dan Holmsand  <dan@eyebee.com>
6226
6227         * realpath.c (xrealpath): Make file-truename work with symlinks to
6228         /cygdrive paths on cygwin. Always lowercase drive-letters on
6229         native windows.
6230         (cygwin_readlink): Don't try to find canonical filename unless
6231         file exists.
6232
6233 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
6234
6235         * ChangeLog: Log GTK merge.
6236
6237         * dumper.c:
6238         * select-x.c:
6239         * specifier.c:
6240         * symeval.h:
6241         Revert gratuitous whitespace changes from GTK merge.
6242
6243         * emacs.c: Document end of complex #ifdef @ l. 1495.
6244
6245
6246 2001-03-12  Andy Piper  <andy@xemacs.org>
6247
6248         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
6249         have to do likewise.
6250
6251 2001-03-12  Andy Piper  <andy@xemacs.org>
6252
6253         * sysdep.c: we only support mingw now.
6254
6255 2001-03-09  Andy Piper  <andy@xemacs.org>
6256
6257         * unexcw.c (copy_executable_and_dump_data_section): making approx
6258         overrun a warning only.
6259
6260 2001-03-10  William M. Perry  <wmperry@aventail.com>
6261
6262         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
6263         satisfy Stephen's identical-after-cpp plea.
6264
6265 2001-03-02  Ben Wing  <ben@xemacs.org>
6266
6267         * cmds.c:
6268         * cmds.c (Fforward_char):
6269         * syntax.c:
6270         * window.c:
6271
6272         Augment documentation of the most common motion commands to make
6273         note of the shifted-motion support.
6274         
6275 2001-03-02  Ben Wing  <ben@xemacs.org>
6276
6277         * nt.c (mswindows_fstat):
6278         * nt.c (mswindows_stat):
6279         * search.c (boyer_moore):
6280         Fix compile warnings under Windows.
6281         
6282         * sysdep.c (sys_readdir):
6283         Fix buggy filename-conversion code under Mule.
6284
6285 2001-03-09  William M. Perry  <wmperry@aventail.com>
6286
6287         * Makefile.in.in:
6288         * config.h.in:
6289         * console.c:
6290         * console.h:
6291         * device.c:
6292         * device.h:
6293         * dragdrop.c:
6294         * emacs.c:
6295         * event-stream.c:
6296         * events.c:
6297         * events.h:
6298         * faces.c:
6299         * frame.h:
6300         * general-slots.h:
6301         * glyphs.c:
6302         * gutter.c:
6303         * inline.c:
6304         * lisp.h:
6305         * lrecord.h:
6306         * make-src-depend:
6307         * redisplay-output.c:
6308         * redisplay.c:
6309         * symsinit.h:
6310         * sysfile.h:
6311         * toolbar.c:
6312         * window.c:
6313         The Great GTK Merge.
6314
6315         * ChangeLog.GTK:
6316         * console-gtk.c:
6317         * console-gtk.h:
6318         * device-gtk.c:
6319         * emacs-marshals.c:
6320         * emacs-widget-accessors.c:
6321         * event-gtk.c:
6322         * frame-gtk.c:
6323         * gccache-gtk.c:
6324         * gccache-gtk.h:
6325         * glade.c:
6326         * glyphs-gtk.c:
6327         * glyphs-gtk.h:
6328         * gtk-glue.c:
6329         * gtk-xemacs.c:
6330         * gtk-xemacs.h:
6331         * gui-gtk.c:
6332         * gui-gtk.h:
6333         * menubar-gtk.c:
6334         * native-gtk-toolbar.c:
6335         * objects-gtk.c:
6336         * objects-gtk.h:
6337         * redisplay-gtk.c:
6338         * scrollbar-gtk.c:
6339         * scrollbar-gtk.h:
6340         * select-gtk.c:
6341         * toolbar-gtk.c:
6342         * ui-byhand.c:
6343         * ui-gtk.c:
6344         * ui-gtk.h:
6345         The Great GTK Merge: new files.
6346
6347 2001-02-26  Ben Wing  <ben@xemacs.org>
6348
6349         Reapplied Lstream change.
6350
6351 2001-02-26  Ben Wing  <ben@xemacs.org>
6352
6353         Undid the last change, since it is more controversial than I
6354         thought.  It should be back in at some point soon.
6355         
6356 2001-02-25  Ben Wing  <ben@xemacs.org>
6357
6358         * buffer.c:
6359         * callproc.c (Fold_call_process_internal):
6360         * event-msw.c (ntpipe_slurp_reader):
6361         * event-msw.c (ntpipe_shove_writer):
6362         * event-msw.c (winsock_reader):
6363         * event-msw.c (winsock_writer):
6364         * file-coding.c:
6365         * file-coding.c (detect_eol_type):
6366         * file-coding.c (detect_coding_type):
6367         * file-coding.c (determine_real_coding_system):
6368         * file-coding.c (Fdetect_coding_region):
6369         * file-coding.c (decoding_reader):
6370         * file-coding.c (decoding_writer):
6371         * file-coding.c (mule_decode):
6372         * file-coding.c (Fdecode_coding_region):
6373         * file-coding.c (encoding_reader):
6374         * file-coding.c (encoding_writer):
6375         * file-coding.c (mule_encode):
6376         * file-coding.c (Fencode_coding_region):
6377         * file-coding.c (detect_coding_sjis):
6378         * file-coding.c (decode_coding_sjis):
6379         * file-coding.c (encode_coding_sjis):
6380         * file-coding.c (detect_coding_big5):
6381         * file-coding.c (decode_coding_big5):
6382         * file-coding.c (encode_coding_big5):
6383         * file-coding.c (detect_coding_ucs4):
6384         * file-coding.c (decode_coding_ucs4):
6385         * file-coding.c (encode_coding_ucs4):
6386         * file-coding.c (detect_coding_utf8):
6387         * file-coding.c (decode_coding_utf8):
6388         * file-coding.c (encode_coding_utf8):
6389         * file-coding.c (detect_coding_iso2022):
6390         * file-coding.c (decode_coding_iso2022):
6391         * file-coding.c (encode_coding_iso2022):
6392         * file-coding.c (decode_coding_no_conversion):
6393         * file-coding.c (encode_coding_no_conversion):
6394         * glyphs-x.c (write_lisp_string_to_temp_file):
6395         * gpmevent.c (tty_get_foreign_selection):
6396         * lisp.h:
6397         * lstream.c:
6398         * lstream.c (Lstream_flush_out):
6399         * lstream.c (Lstream_adding):
6400         * lstream.c (Lstream_write_1):
6401         * lstream.c (Lstream_write):
6402         * lstream.c (Lstream_raw_read):
6403         * lstream.c (Lstream_read_more):
6404         * lstream.c (Lstream_read):
6405         * lstream.c (Lstream_unread):
6406         * lstream.c (Lstream_fputc):
6407         * lstream.c (stdio_reader):
6408         * lstream.c (stdio_writer):
6409         * lstream.c (filedesc_reader):
6410         * lstream.c (filedesc_writer):
6411         * lstream.c (lisp_string_reader):
6412         * lstream.c (struct fixed_buffer_stream):
6413         * lstream.c (make_fixed_buffer_input_stream):
6414         * lstream.c (make_fixed_buffer_output_stream):
6415         * lstream.c (fixed_buffer_reader):
6416         * lstream.c (fixed_buffer_writer):
6417         * lstream.c (struct resizing_buffer_stream):
6418         * lstream.c (resizing_buffer_writer):
6419         * lstream.c (dynarr_writer):
6420         * lstream.c (lisp_buffer_reader):
6421         * lstream.c (lisp_buffer_writer):
6422         * lstream.h:
6423         * lstream.h (lstream_implementation):
6424         * lstream.h (struct lstream):
6425         * md5.c (Fmd5):
6426         * process-nt.c (nt_send_process):
6427         * process-unix.c (unix_send_process):
6428         
6429         Correct Lstream lossage due to mixing of signed and unsigned
6430         quantities.  All Lstream uses of size_t and ssize_t are now a
6431         single signed data type Lstream_data_count.  This fixes problems
6432         under Windows with sending large quantities of data to a process,
6433         and may well fix other subtle bugs.
6434
6435 2001-02-23  Martin Buchholz <martin@xemacs.org>
6436
6437         * XEmacs 21.2.45 "Thelxepeia" is released.
6438
6439 2001-02-21  Martin Buchholz  <martin@xemacs.org>
6440
6441         * lisp-union.h (XSETINT): 
6442         (XSETCHAR):
6443         (XSETOBJ): 
6444         Reverse previous change of 2001-02-06.
6445
6446 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
6447
6448         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
6449         buffers.
6450         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6451         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
6452         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
6453         * regex.c (POS_AS_IN_BUFFER): removed
6454         * regex.c (re_search_2):
6455         * regex.c (re_match_2):
6456         Don't use an offset of 1 when calculating buffer positions, since
6457         `BI_BUF_BEGV' does it already.
6458
6459 2001-02-18  Wim Dumon  <wim@easics.be>
6460
6461         * insdel.c (prepare_to_modify_buffer): Also check for
6462         supersession when clash-detection is enabled. 
6463
6464 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
6465
6466         * regex.c (re_match_2_internal):
6467         Convert temp characters from 'const unsigned char' to 're_char'.
6468         Fix crashing bug with extended characters under mule.
6469         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
6470         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
6471         font-lock, pdump, and new syntax-table code.
6472         * syntax.c (find_start_of_comment):
6473         (find_end_of_comment):
6474         (forward-comment):
6475         Fix crashing bugs involving moving beyond end of buffer.
6476         * syntax.c (find_start_of_comment):
6477         Fixed logic to allow proper detection of cases where the same
6478         character is used to end both a two-char comment start and a
6479         two-char comment end sequence. Fixes `(forward-comment -1)'.
6480         * syntax.c (find_start_of_comment):
6481         Return position just past last comment-end character for all cases
6482         (previously was only done for two-char comment-end sequences).
6483         * syntax.c (forward-comment):
6484         Take value returned from `find_end_of_comment', rather than
6485         incrementing it.
6486         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6487         Properly deal with BUFFERP (syntax_cache.object)
6488
6489 2001-02-17  Martin Buchholz  <martin@xemacs.org>
6490
6491         * alloc.c (Fgarbage_collect): 
6492         * alloc.c (make_bit_vector_from_byte_vector):
6493         -Wsign-compare-correctness.
6494
6495 2001-02-16  Martin Buchholz  <martin@xemacs.org>
6496
6497         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
6498         (XSETCHAR): Likewise.
6499         (XSETOBJ): Likewise.
6500
6501 2001-02-15  Martin Buchholz  <martin@xemacs.org>
6502
6503         * mule-canna.c (canna-func-delete_previous): 
6504         Rename to canna-func-delete-previous.
6505
6506 2001-02-14  Martin Buchholz  <martin@xemacs.org>
6507
6508         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
6509
6510 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
6511
6512         * font-lock.c (find_context): Fix C++ compile errors introduced by
6513         recent patch
6514
6515 2001-02-13  Martin Buchholz  <martin@xemacs.org>
6516
6517         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
6518         pragma, but earlier ones barf on the same pragma.
6519
6520 2001-02-06  Mike Sperber <mike@xemacs.org>
6521
6522         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
6523         `configure-mule-lisp-directory'.
6524
6525 2001-02-12  Martin Buchholz  <martin@xemacs.org>
6526
6527         Make sure dump-id.c is compiled in the same way as other .c's.
6528         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
6529         * dump-id.h: Remove.
6530         * emacs.c: Move dump-id.h into dumper.h.
6531         * dumper.h: Move dump-id.h into dumper.h.
6532         * Makefile.in.in:
6533         Use standard .c.o rule for building dump-id.o.
6534         Remove preprocessor flags from link command.
6535         Add dump-id.o to ${otherobjs} if PDUMP.
6536
6537 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
6538
6539         Port FSF 20.7 syntax table improvements.
6540         * syntax.c.
6541         * syntax.h.
6542
6543         Fixups for new syntax table stuff.
6544         * dired.c: Include syntax.c.
6545         (Fdirectory_files): Initialize regex_match_object and
6546         regex_emacs_buffer.
6547         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
6548         and Fget_char_property.
6549
6550         Use ported FSF 20.7 syntax table improvements.
6551         * font-lock.c.
6552         * regex.c.
6553         * search.c.
6554         
6555 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6556
6557         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
6558         Unixware's enum boolean from sys/types.h.
6559
6560 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6561
6562         Fix support for building with latest Purify.
6563         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
6564         (PURIFY_FLAGS): Likewise.
6565
6566 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6567
6568         * fileio.c (lisp_string_set_file_times): New.
6569         * fileio.c (Fcopy_file): Use it.
6570         Fixes bug:
6571         (copy-file filename non-ascii-filename t t)
6572         ==> No such file or directory, non-ascii-filename
6573
6574 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6575
6576         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
6577         USHRT_MAX seems clearer than ~0 anyways.
6578
6579 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6580
6581         dumper improvements.  Inspired by Olivier.
6582         * dumper.c (pdump_max_align): New.
6583         * dumper.c (pdump_add_entry): Use pdump_max_align.
6584         * dumper.c (pdump_get_entry_list): Likewise.
6585         * dumper.c (pdump_scan_by_alignment): Likewise.
6586         Don't iterate through unnecessary alignments.
6587         * dumper.c (pdump_file_get): No need to align result of malloc().
6588         * dumper.c (pdump_mallocadr): Remove.  
6589         The result of malloc() is guaranteed to be maximally aligned.
6590         * dumper.c: s/elmt/elt/g;
6591         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
6592         * dumper.c (pdump_alert_undump_object): Likewise.
6593         * dumper.c (pdump_align_table): 
6594         Don't support alignments > 64.
6595         Store ALIGNOF's, not shift counts, in table.
6596
6597 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6598
6599         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
6600         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
6601         * systime.h: Use HAVE_UTIME.
6602         * sysdep.c (struct utimbuf): Remove.
6603         * sysdep.c (set_file_times): Prefer utime() to utimes().
6604         * config.h.in (HAVE_UTIME): New.
6605         * config.h.in (HAVE_UTIME_H): Remove.
6606         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
6607
6608 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6609
6610         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
6611
6612 2001-02-08  Martin Buchholz  <martin@xemacs.org>
6613
6614         * s/irix6-0.h: Use the standard system memmove, not bcopy.
6615
6616 2001-02-08  Martin Buchholz <martin@xemacs.org>
6617
6618         * XEmacs 21.2.44 "Thalia" is released.
6619
6620 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6621
6622         Fixes crashes in kill-emacs on some systems.
6623         * process-unix.c (unix_kill_child_process):
6624         It's OK for kill() to fail with ESRCH.
6625
6626 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6627
6628         Contortions to make .gdbinit tricks work on most systems.
6629         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
6630         * alloc.c (dbg_valmask): Make non-const.
6631         * alloc.c (dbg_typemask): Make non-const.
6632         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
6633         * alloc.c (dbg_valbits): Make non-const.
6634         * alloc.c (dbg_gctypebits): Make non-const.
6635         * .gdbinit (decode_object): Make it work with AIX cc.
6636
6637 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6638
6639         * elhash.c (make_general_lisp_hash_table):
6640         Use simpler and more efficient calloc to clear entries.
6641
6642 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6643
6644         * window.c (window_scroll): Work around an AIX C compiler bug.
6645         Fixes 'scroll-up' does nothing problem with xlC.
6646
6647 2001-02-05  Martin Buchholz  <martin@xemacs.org>
6648
6649         * .gdbinit: Remove obsolete comment.
6650
6651 2001-01-31  Mike Alexander  <mta@arbortext.com>
6652
6653         * select.c (Fown_selection_internal): Set owned_p for device
6654         method correctly.
6655
6656 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6657
6658         Port to g++ 2.97.
6659         "not" cannot be used as a macro name as it is an operator in C++
6660         * config.h.in: Stop #defining `not'.
6661         * chartab.c (check_category_char): not ==> not_p
6662         * chartab.h: Likewise.
6663         * regex.c (re_match_2_internal): Likewise.
6664
6665 2001-02-02  Martin Buchholz  <martin@xemacs.org>
6666
6667         * lisp-disunion.h: Fix up comments.
6668
6669 2001-01-31  Martin Buchholz  <martin@xemacs.org>
6670
6671         * keymap.c (define_key_check_and_coerce_keysym):
6672         (syms_of_keymap):
6673         Support mouse-6 and mouse-7 bindings in the obvious way.
6674
6675 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6676
6677         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
6678
6679 2001-01-30  Martin Buchholz  <martin@xemacs.org>
6680
6681         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
6682         Previous patch missed DEFVAR_INT_MAGIC.
6683         Make sure future DEFVAR_foo use correct types.
6684         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
6685         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
6686         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
6687         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
6688         * (DEFVAR_INT): Likewise.
6689         * redisplay.c (vertical_clip): Should be of type Fixnum.
6690         * redisplay.c (horizontal_clip): Likewise.
6691         * lisp.h (dump_add_opaque_int): New.
6692         (dump_add_opaque_fixnum): New.
6693
6694 2001-01-29  Andy Piper  <andy@xemacs.org>
6695
6696         * glyphs-widget.c (check_valid_int_or_function): allow symbols
6697         since they can be eval'ed
6698
6699 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6700
6701         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
6702         Oops, XEmacs redefines `class'.  Use `typename' instead.
6703
6704 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6705
6706         * dumper.c: Fix C++ compile errors.
6707
6708 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6709
6710         * tparam.c: Use correct prototypes.
6711
6712 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6713
6714         * sysproc.h: #include util.h for NetBSD's openpty.
6715
6716 2001-01-27  Martin Buchholz  <martin@xemacs.org>
6717
6718         More 64-bit correctness.
6719         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
6720         Use a typedef `fixnum' for the type used for DEFVAR_INT.
6721         Fix up comments.
6722         This finally finishes the 64-bit SGI port.
6723         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
6724         * symbols.c: Fix up comments and type casts.
6725         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
6726         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
6727         * symeval.h (Fixnum): New type.
6728         * symeval.h (symbol_value_type): Fix up comment.
6729
6730         * commands.h:
6731         * nt.c:
6732         * emacs.c:
6733         * data.c:
6734         * redisplay.c:
6735         * abbrev.c:
6736         * dired-msw.c:
6737         * event-Xt.c:
6738         * eldap.c:
6739         * window.c:
6740         * sound.c:
6741         * event-stream.c:
6742         * eval.c:
6743         * buffer.c:
6744         * mule-canna.c: A million DEFVAR_INTs here...
6745         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
6746         * extents.c:
6747         * cmdloop.c:
6748         * lisp.h:
6749         * select-x.c:
6750         * console-x.h:
6751         * event-msw.c:
6752         * mule-wnnfns.c:
6753         * hpplay.c:
6754         * ralloc.c:
6755         * alloc.c:
6756         * keymap.c:
6757         * profile.c:
6758         s/int/Fixnum/g in DEFVAR_INT declarations.
6759
6760 2001-01-26  Martin Buchholz  <martin@xemacs.org>
6761
6762         Port pdump to SGI alignment-sensitive environment.
6763         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
6764         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
6765         properly aligned.
6766         Define and use aligned reading and writing macros.
6767         Use buffered stdio instead of posix i/o for faster dumping.
6768         Eliminate kludgy 256 byte space for header.
6769         Read and write from dump file using structs for alignment safety.
6770         * dumper.c (pdump_align_stream): New.
6771         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
6772         * dumper.c (PDUMP_READ_ALIGNED): New.
6773         * dumper.c (PDUMP_WRITE_ALIGNED): New.
6774         * dumper.c (pdump_static_Lisp_Object): New struct.
6775         * dumper.c (pdump_static_pointer): New struct.
6776         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
6777         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
6778         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
6779         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
6780
6781         * dumper.c (pdump_backtrace):
6782         * dumper.c (pdump_get_indirect_count):
6783         * dumper.c (pdump_register_object):
6784         * dumper.c (pdump_register_struct):
6785         * dumper.c (pdump_reloc_one):
6786         * dumper.c (pdump_scan_by_alignment):
6787         * dumper.c (pdump_dump_from_root_struct_ptrs):
6788         * dumper.c (pdump_dump_opaques):
6789         * dumper.c (pdump_dump_rtables):
6790         * dumper.c (pdump_dump_from_root_objects):
6791         * dumper.c (pdump):
6792         * dumper.c (pdump_load_finish):
6793         Use aligned reading and writing.
6794
6795         * dumper.c (pdump_free): Make static.
6796         * dumper.c (pdump_hFile): Likewise.
6797         * dumper.c (pdump_hMap): Likewise.
6798
6799 2001-01-26  Martin Buchholz <martin@xemacs.org>
6800
6801         * XEmacs 21.2.43 "Terspichore" is released.
6802
6803 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6804
6805         Type fiddling for window_config.saved_windows_count
6806         * window.c (struct window_config): 
6807         Make saved_windows_count member unsigned.
6808         * window.c (sizeof_window_config_for_n_windows): 
6809         Make parameter unsigned.
6810         * window.c (mark_window_config):
6811         * window.c (window_config_equal):
6812         * window.c (free_window_configuration):
6813         * window.c (Fset_window_configuration):
6814         * window.c (count_windows):
6815         * window.c (Fcurrent_window_configuration):
6816         * window.c (reinit_vars_of_window):
6817         Update all callers and users.
6818
6819 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6820
6821         Alignment correctness for flexible arrays.
6822         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
6823         Make alignment-correct. Add interesting comments.
6824         * alloc.c (size_vector):
6825         * alloc.c (make_vector_internal):
6826         * alloc.c (make_bit_vector_internal):
6827         * alloc.c (sweep_bit_vectors_1):
6828         * fns.c (size_bit_vector):
6829         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
6830         * window.c (sizeof_window_config_for_n_windows): 
6831         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
6832
6833 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6834
6835         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
6836
6837 2001-01-23  Andy Piper  <andy@xemacs.org>
6838
6839         * select.c (Fown_selection_internal): pass owned_p
6840
6841         * select-msw.c (mswindows_own_selection): New Signature.
6842
6843         * console.h (struct console_methods): add owned_p to
6844         _own_selection.
6845
6846         * select-x.c (x_own_selection): pass owned_p
6847         (hack_motif_clipboard_selection): use owned_p
6848         (vars_of_select_x): new variable -
6849         x_selection_strict_motif_ownership.
6850
6851 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6852
6853         * specifier.h (specifier_data_offset): Remove pointless parens.
6854         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
6855
6856 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6857
6858         Make Lisp_Object sizeof methods be alignment-correct.
6859         pdump must restore objects to the same alignment as the C compiler
6860         assumes.  It really matters on SGIs.
6861         * lstream.c (aligned_sizeof_lstream): New.
6862         (sizeof_lstream): Use aligned_sizeof_lstream.
6863         (Lstream_new): Likewise.
6864         * opaque.c (aligned_sizeof_opaque): New.
6865         (sizeof_opaque): Use aligned_sizeof_opaque.
6866         (make_opaque): Likewise.
6867         * specifier.c (aligned_sizeof_specifier): New.
6868         (sizeof_specifier): Use aligned_sizeof_specifier.
6869         (make_specifier_internal): Likewise.
6870
6871 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6872
6873         * lstream.h (struct lstream): Use max_align_t for trailing data.
6874         * specifier.h (struct Lisp_Specifier): Likewise.
6875
6876 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6877
6878         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
6879         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
6880         (CCL_SUSPEND): Likewise.
6881         (CCL_INVALID_CMD): Likewise.
6882         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
6883         (ccl_driver): Likewise.
6884         (CCL_WRITE_CHAR): Macro hygiene.
6885         (CCL_WRITE_STRING): Macro hygiene.
6886
6887 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6888
6889         Port "portable" dumper to SunOS 4 and HP-UX.
6890         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
6891         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
6892         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
6893
6894 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6895
6896         * lisp.h (ALIGNOF): A better definition for C++.
6897
6898 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6899
6900         Macro hygiene.
6901         Fix printf warnings: int format, long int arg.
6902         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
6903         (PUSH_FAILURE_POINT): Use correct printf formats.
6904         (POP_FAILURE_POINT): Use correct printf formats.  
6905         Use do {...} while (0)
6906
6907 2001-01-20  Martin Buchholz <martin@xemacs.org>
6908
6909         * XEmacs 21.2.42 "Poseidon" is released.
6910
6911 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6912
6913         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
6914
6915 2001-01-19  Martin Buchholz  <martin@xemacs.org>
6916
6917         De-kludgify FIXED_TYPE free list frobbing.
6918         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
6919         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
6920         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
6921         * alloc.c (Lisp_Free): New pseudo lisp object definition.
6922         * alloc.c (LRECORD_FREE_P): New.
6923         * alloc.c (MARK_LRECORD_AS_FREE): New.
6924         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
6925         * alloc.c (STRUCT_FREE_P): Deleted.
6926         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
6927         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
6928         * alloc.c (STRING_CHARS_FREE_P): New.
6929         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
6930         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
6931         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
6932         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
6933         * alloc.c (resize_string): Use new definitions.
6934         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
6935         * alloc.c (verify_string_chars_integrity): Use new definitions.
6936         * alloc.c (compact_string_chars): Use new definitions.
6937         * alloc.c: Update monster comments.
6938         * lrecord.h (lrecord_type): Add some new lrecord types for
6939         alloc.c's use.
6940
6941 2001-01-18  Martin Buchholz  <martin@xemacs.org>
6942
6943         Improve alignment hackery.
6944         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
6945         (max_align_t): Moved from opaque.h - general purpose.
6946         (ALIGN_PTR): Use size_t, not long.
6947         * opaque.h (max_align_t): Move to lisp.h.
6948
6949 2001-01-18  Norbert Koch  <nk@LF.net>
6950
6951         * gui.h: Fix and add prototypes to fix build problems.
6952
6953 2001-01-18  Martin Buchholz  <martin@xemacs.org>
6954
6955         temacs is going away, so `dump-temacs' is now a bad name.
6956         * .dbxrc (dump-temacs): Rename to `dmp'.
6957         * .gdbinit (dump-temacs): Rename to `dmp'.
6958
6959 2001-01-17  Andy Piper  <andy@xemacs.org>
6960
6961         * glyphs.c (print_image_instance): comment to make martin happy.
6962
6963         * glyphs-x.c (x_redisplay_widget): update faces after a frame
6964         change.
6965
6966         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
6967         activation.
6968         (mswindows_tab_control_redisplay): warning suppression.
6969
6970         * glyphs-widget.c (widget_update): re-write to cope with updated
6971         items.
6972         (widget_instantiate): use new gui_item functions.
6973         (tab_control_update): deleted.
6974         (progress_gauge_update): deleted.
6975         (image_instantiator_progress_guage): take out update reference.
6976         (image_instantiator_tree_view): ditto.
6977         (image_instantiator_tab_control): ditto.
6978
6979         * gui.c (widget_gui_parse_item_keywords): new function. Do things
6980         Right the new way.
6981         (gui_item_add_keyval_pair): re-write to cope with descriptors and
6982         return whether anything was changed.
6983         (update_gui_item_keywords): as it sounds.
6984
6985         * gui.h: declare widget_gui_parse_item_keywords.
6986
6987         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
6988         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
6989
6990 2001-01-17  Martin Buchholz <martin@xemacs.org>
6991
6992         * XEmacs 21.2.41 "Polyhymnia" is released.
6993
6994 2001-01-16  Didier Verna  <didier@xemacs.org>
6995
6996         * glyphs.c (image_instantiate): don't use fallbacks when
6997         instantiating a face's background pixmap by inheritance.
6998
6999 2001-01-14  Mike Sperber <mike@xemacs.org>
7000
7001         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7002         Conditionalize accordingly.
7003
7004 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7005
7006         * dumper.c (pdump_file_get): Fix a compiler warning.
7007
7008 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7009
7010         Make Purify happy when pdumping.
7011         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7012         iniitalizing all bits of new lisp object memory.
7013         * symbols.c (Fmake_local_variable): Likewise.
7014         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7015         * symbols.c (Fdefvaralias): Likewise.
7016         * mule-charset.c (vars_of_mule_charset): Likewise.
7017
7018 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7019         Add the `-nd' flag when running pre-dump operations under the debugger.
7020         * .dbxrc (run-temacs): Add `-nd'.
7021         * .dbxrc (update-elc): Likewise.
7022         * .dbxrc (dump-temacs): Likewise.
7023         * .gdbinit (run-temacs): Likewise.
7024         * .gdbinit (check-temacs): Likewise.
7025         * .gdbinit (update-elc): Likewise.
7026         * .gdbinit (dump-temacs): Likewise.
7027
7028 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7029
7030         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7031         export OBJECT_MODE=64
7032         configure --pdump --use-union-type=no
7033         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7034         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7035
7036         * miscplay.c (sndcnv8U_2mono):
7037         Avoid two uses of `++' in the same expression.
7038         Suppresses a GCC warning.
7039
7040 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7041
7042         Make sure future compilers don't miscompile alloc.c.
7043         * alloc.c:
7044         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7045         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7046
7047 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7048
7049         * dumper.c: A little post-pdump-rename comment fixup.
7050
7051 2001-01-09  Jerry James  <james@eecs.ku.edu>
7052
7053         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7054
7055 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7056
7057         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7058         script:
7059         #!/bin/sh
7060         replace_symbol () {
7061           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7062         }
7063
7064         replace_symbol pdump_wire_lists pdump_weak_object_chains
7065         replace_symbol pdump_wire_list dump_add_weak_object_chain
7066
7067         replace_symbol pdump_wires pdump_root_objects
7068         replace_symbol pdump_wire dump_add_root_object
7069
7070         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7071         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7072
7073         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7074         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7075         replace_symbol dumpstructinfo pdump_root_struct_ptr
7076         replace_symbol dumpstruct dump_add_root_struct_ptr
7077
7078         replace_symbol dumpopaque dump_add_opaque
7079         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7080         replace_symbol dumpopaqueinfos pdump_opaques
7081         replace_symbol dumpopaqueinfo pdump_opaque
7082
7083         replace_symbol nb_structdump nb_root_struct_ptrs
7084         replace_symbol nb_opaquedump nb_opaques
7085
7086         replace_symbol align_table pdump_align_table
7087         replace_symbol dump_header pdump_header
7088
7089         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7090         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7091
7092
7093 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7094
7095         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7096         optimizing bytecount_to_charcount().
7097
7098 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7099
7100         * config.h.in:
7101         (HAVE_DLFCN_H): Removed.
7102         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7103
7104 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7105
7106         Portable dumper maintainability improvements.
7107         * alloc.c (staticpro):
7108         * alloc.c (staticpro_nodump):
7109         * alloc.c (garbage_collect_1):
7110         * alloc.c (reinit_alloc_once_early):
7111         * alloc.c (init_alloc_once_early):
7112         * alloc.c: Move dumper functions to alloc.c.
7113         * dumper.c (pdump_backtrace):
7114         * dumper.c (pdump_dump_structs):
7115         * dumper.c (pdump_dump_opaques):
7116         * dumper.c (pdump_dump_rtables):
7117         * dumper.c (pdump_dump_wired):
7118         * dumper.c (pdump):
7119         * dumper.c (pdump_load_check):
7120         * dumper.c (pdump_load_finish):
7121         * dumper.c (pdump_file_unmap):
7122         * dumper.c (pdump_file_get):
7123         * dumper.c (pdump_resource_free):
7124         * dumper.c (pdump_resource_get):
7125         * dumper.c (pdump_file_free):
7126         * dumper.c (pdump_file_try):
7127         * dumper.c (pdump_load):
7128         Remove fixed size limits on staticpro(), staticpro_nodump(),
7129         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7130         Remove custom code for dumping lrecord_implementations_table - use
7131         dumpopaque instead.
7132         Remove (most of the) custom code for dumping staticpros - dump it
7133         like any other dynarr.
7134
7135         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7136         * dumper.c: Moved functions from alloc.c.
7137         * alloc.c (dumpstruct): Moved to dumper.c.
7138         * alloc.c (dumpopaque): Likewise.
7139         * alloc.c (pdump_wire): Likewise.
7140         * alloc.c (pdump_wire_list): Likewise.
7141
7142         * lisp.h (Dynarr_sizeof): New.
7143         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7144         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7145         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7146
7147         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7148         * lisp.h (dumpopaque): ditto.
7149         * lisp.h (pdump_wire): ditto.
7150         * lisp.h (pdump_wire_list): ditto.
7151
7152 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7153
7154         * make-src-depend (PrintPatternDeps):
7155         Use `sort' to make output independent of perl version.
7156
7157 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7158
7159         Port to Netbsd 1.5.
7160         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7161         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7162
7163 2001-01-03  Didier Verna  <didier@xemacs.org>
7164
7165         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7166         that `focus_frame' is alive before thinking of calling
7167         `redisplay_redraw_cursor' on it.
7168
7169 2001-01-08  Martin Buchholz <martin@xemacs.org>
7170
7171         * XEmacs 21.2.40 is released.
7172
7173 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7174
7175         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7176
7177 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7178
7179         * alloc.c (dbg_valmask): Make const.
7180         * alloc.c (dbg_typemask): Make const.
7181         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7182         * alloc.c (dbg_valbits): Make const.
7183         * alloc.c (dbg_gctypebits): Make const.
7184
7185 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
7186
7187         * redisplay-x.c (x_bevel_area):
7188         redisplay.h (struct rune):
7189         Typo fixes in comments.
7190
7191 2001-01-05  Andy Piper  <andy@xemacs.org>
7192
7193         * glyphs-x.c (x_redisplay_widget): use size changed for offset
7194         adjustment.
7195
7196         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
7197
7198 2001-01-05  Martin Buchholz  <martin@xemacs.org>
7199
7200         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
7201
7202         * mule-ccl.c (stack_idx_of_map_multiple):
7203         Non const global data must not be initialized!
7204         Found by MIYASHITA Hisashi.
7205
7206 2001-01-02  Andy Piper  <andy@xemacs.org>
7207
7208         * frame.c (change_frame_size): make sure frame size is always
7209         marked as changed.
7210
7211         * glyphs.c (image_instance_layout): minor code reuse.
7212
7213         * window.c (Fcurrent_window_configuration): revert previous
7214         change.
7215
7216 2001-01-02  Martin Buchholz  <martin@xemacs.org>
7217
7218         * glyphs.h:
7219         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
7220
7221 2000-12-31  Andy Piper  <andy@xemacs.org>
7222
7223         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
7224         when widget gets unmapped.
7225
7226         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
7227         function. Make sure widgets losing focus don't just drop it.
7228         (handle_focus_event_1): record the widget with focus.
7229
7230 2000-12-31  Andy Piper  <andy@xemacs.org>
7231
7232         * window.c (allocate_window): use
7233         make_image_instance_cache_hash_table.
7234         (make_dummy_parent): ditto.
7235         (Fset_window_configuration): ditto.
7236
7237         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
7238
7239         * glyphs.c (process_image_string_instantiator): use
7240         INSTANTIATOR_TYPE.
7241         (get_image_instantiator_governing_domain): ditto.
7242         (normalize_image_instantiator): ditto.
7243         (instantiate_image_instantiator): ditto.
7244         (make_image_instance_1): ditto.
7245         (image_instantiate): ditto. Key on glyph *and* instantiator type.
7246         (instantiator_eq_equal): new function for use with instance hash
7247         tables.
7248         (instantiator_eq_hash): ditto.
7249         (make_image_instance_cache_hash_table): create a suitable hash
7250         table for storing image instances.
7251
7252         * elhash.h (hash_table_weakness): new internal weakness type
7253         HASH_TABLE_KEY_CAR_VALUE_WEAK.
7254         declare new functions.
7255
7256         * elhash.c (finish_marking_weak_hash_tables): introduce yet
7257         another weakness type for glyphs.
7258         (make_standard_lisp_hash_table): new function split out from
7259         make_general_lisp_hash_table.
7260         (make_lisp_hash_table): call make_standard_lisp_hash_table.
7261         (hash_table_instantiate): ditto.
7262         (Fmake_hash_table): ditto.
7263
7264 2000-12-31  Martin Buchholz <martin@xemacs.org>
7265
7266         * XEmacs 21.2.39 is released.
7267
7268 2000-12-29  Andy Piper  <andy@xemacs.org>
7269
7270         * menubar.c (menubar_visible_p_changed): signal the frame changed.
7271
7272         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
7273         the frame has changed so that we pick up geometry changes such as
7274         menubar visibility.
7275
7276 2000-12-28  Andy Piper  <andy@xemacs.org>
7277
7278         * lastfile.c (my_ebss): make a char array so we can pad the
7279         bss. Fixes cygwin unexec.
7280
7281         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
7282
7283 2000-12-26  Andy Piper  <andy@xemacs.org>
7284
7285         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
7286         comments and try and be more precise about a non-/SIGIO world.
7287         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
7288         SIGIO.
7289
7290         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
7291         we don't normalize to zero width or height.
7292
7293 2000-12-24  Andy Piper  <andy@xemacs.org>
7294
7295         * Makefile.in.in (ldflags): add -mwindows when appropriate.
7296
7297 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
7298
7299         * s/sco5.h: SCO 5 has pty support.
7300
7301 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
7302
7303         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
7304         input-method-xlib.c contains whole contents of input-method-xfs.c,
7305         so we can use input-method-xlib.c's code for USE_XFONTSET
7306         using #ifdefs.
7307         * input-method-xfs.c: removed.
7308
7309 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
7310
7311         * file-coding.h (enum coding_category_type): reorder enumerators to
7312         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
7313         (now one greater than largest real coding_category_type enumerator).
7314         * file-coding.c (coding_category_symbol, coding_category_by_priority,
7315         coding_category_system, fcd_descriptihon_1, decode_coding_category,
7316         Fcoding_category_list, Fset_coding_priority_list,
7317         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
7318         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
7319
7320 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7321
7322         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
7323         * redisplay-output.c (redisplay_output_window): Clear top of window
7324         when face is changed.
7325         * redisplay-x.c (x_redraw_exposed_window): Call
7326         redisplay_clear_top_of_window.
7327         * redisplay.h: Publish redisplay_clear_top_of_window.
7328
7329 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7330
7331         * buffer.c (Fkill_buffer): Map over all devices.
7332         * window.c (window_loop): Remove UNSHOW_BUFFER code.
7333         (list_windows): New function.
7334         (list_all_windows): Ditto.
7335         (Freplace_buffer_in_windows): Use them.
7336
7337 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
7338
7339         * database.c (berkdb_subtype): Recognize new subtype `queue'.
7340         (Fopen_database): Use `db_create' instead of `db_open'.
7341         (syms_of_database): Initialize Qqueue.
7342
7343 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7344
7345         * buffer.c (common_init_complex_vars_of_buffer): Initialize
7346         buffer_local_face_property.
7347         * buffer.h (struct buffer): New member buffer_local_face_property.
7348         * window.c (Fset_window_buffer):  Mark window's face as changed
7349         when buffer has buffer local face.
7350         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
7351         * objects.c (color_after_change): Set buffer_local_face_property
7352         when locale of face specifier is buffer.
7353         * objects.c (font_after_change): Ditto.
7354         * objects.c (face_boolean_after_change): Ditto.
7355         * glyphs.c (image_after_change): Ditto.
7356
7357 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7358
7359         * nt.c (mswindows_fstat): Report file permissions, volume serial
7360         number, etc. Code adapted from FSF Emacs 20.7.
7361
7362 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7363
7364         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
7365         of stat when we don't have symbolic links, to make sure
7366         mswindows_stat is called on mswindows.
7367
7368 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7369
7370         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
7371
7372 2000-12-12  Martin Buchholz  <martin@xemacs.org>
7373
7374         * doprnt.c (emacs_doprnt_1): More printing fixes.
7375         Make printing of numbers compatible with libc and FSF Emacs.
7376         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
7377         Use the system printf to do most of the hard work of formatting,
7378         instead of doprnt_1().
7379         Calculate memory to allocate for format string.
7380         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
7381         (doprnt_1): Cleaner code and documentation.
7382
7383 2000-12-01  Jerry James  <james@eecs.ukans.edu>
7384
7385         * Makefile.in.in: Use the loop variable to install headers.
7386
7387 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7388
7389         * window.c (Fsplit_window): Don't invalidate face cache.
7390
7391 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7392
7393         * minibuf.c (Fall_completions): Undo the previous change
7394         which removed checking elements start with space.
7395
7396 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7397
7398         * mule-canna.c: Didier suppression.
7399
7400 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7401
7402         * mule-canna.c: rename static unsigned char buf[] to key_buffer
7403         (warning suppression).  Add English comment translations.
7404
7405 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7406
7407         * unexelfsgi.c (unexec): Better test for mmap failure.
7408
7409 2000-12-05  Martin Buchholz <martin@xemacs.org>
7410
7411         * XEmacs 21.2.38 is released.
7412
7413 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7414
7415         * redisplay.c (bar-cursor): Make a user variable.
7416
7417         * symsinit.h: Add init_postgresql_from_environment.
7418
7419 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7420
7421         * regex.c: Convert to clean C.
7422
7423 2000-12-05  Dan Holmsand  <dan@eyebee.com>
7424
7425         * realpath.c:
7426         Don't #include sysfile.h. Revert to duplicating PATH_MAX
7427         initialization.
7428         (sys_readlink): renamed to system_readlink to avoid conflict with
7429         the other sys_readlink.
7430
7431 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
7432
7433         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
7434
7435 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
7436
7437         * postgresql.c (init_postgresql_from_environment): new function.
7438         (vars_of_postgresql): Move code initializing Lisp variables out and
7439         into init_postgresql_from_environment.
7440         emacs.c (main_1): Call init_postgresql_from_environment if and only
7441         if running a dumped XEmacs.
7442
7443 2000-08-31  Dan Holmsand  <dan@eyebee.com>
7444
7445         * buffer.c: Make find-file-compare-truenames default to true on
7446         windows.
7447
7448         * realpath.c (win32_abs_start):
7449         (cygwin_readlink):
7450         (win32_readlink): New functions.
7451         (xrealpath): Return really real filenames on windows.
7452
7453         * fileio.c (Ffile_truename): Make file-truename work on windows.
7454
7455 2000-11-29  Didier Verna  <didier@xemacs.org>
7456
7457         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
7458         * faces.c (update_face_cachel_data): use it.
7459         * faces.c (add_face_cachel): use it. Complete background pixmap
7460         frobbing in face cache if `update_face_cachel_data' has not done so.
7461
7462 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
7463
7464         * search.c (string_match_1): Don't set last_thing_searched
7465         when search failed.
7466
7467 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
7468
7469         * buffer.c: Include casetab.h
7470         (common_init_complex_vars_of_buffer): Use new case-table object.
7471         * buffer.h: Include casetab.h
7472         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
7473         (DOWNCASE_TABLE_OF): Ditto.
7474         * bufslots.h: Remove char-tables and add case-table.
7475         * casetab.c: Include casetab.h
7476         (CASE_TABLE_P): Removed.
7477         (mark_case_table): New function.
7478         (allocate_case_table): New function.
7479         (Fcase_table_p): Use new case-table.
7480         (case_table_char): New function.
7481         (Fget_case_table): Ditto.
7482         (Fput_case_table): Ditto.
7483         (Fput_case_table_pair): Ditto.
7484         (Fcopy_case_table): Ditto.
7485         (Fcurrent_case_table): Return case-table.
7486         (Fstandard_case_table): Return case-table.
7487         (Fset_case_table): Fix doc-string.
7488         (set_case_table): Use case-table
7489         (syms_of_casetab): DEFSUBR new functions.
7490         (complex_vars_of_casetab): Set up standard case-table.
7491         * casetab.h: New file.
7492         * editfns.c: Include casetab.h
7493         (Fcompare_buffer_substrings): Use case-table.
7494         * inline.c: Include casetab.h
7495         * lisp.h: Remove bogus extern.
7496         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
7497         * search.c: Include casetab.h
7498         (TRANSLATE_ASCII): Removed.
7499         (TRANSLATE): Unconditionally translate character.
7500         (looking_at_1): Use case-table.
7501         (string_match_1): Ditto.
7502         (fast_string_match): Ditto.
7503         (search_command): Ditto.
7504         (search_buffer): Separate boyer_moore.  Check whether
7505         boyer_moore is possible.
7506         (simple_search): New function.
7507         (boyer_moore): Separated from search_buffer. Translate char.
7508
7509 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7510
7511         * regex.c (RE_TR_ASCII): Removed.
7512         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
7513         (PATFETCH): Call PATFETCH_RAW.
7514         (PATFETCH_RAW): Fetch Emchar.
7515         (PATUNFETCH): Decrement charptr.
7516         (GET_BUFFER_SPACE): Rename b to buf_end.
7517         (BUF_PUSH): Ditto.
7518         (BUF_PUSH_2): Ditto.
7519         (BUF_PUSH_3): Ditto.
7520         (EXTEND_BUFFER): Ditto.
7521         (SET_LIST_BIT): Ditto.
7522         (regex_compile): Ditto.  Translate non ASCII char.
7523         (compile_range): Ditto.
7524         (re_search_2): Ditto.
7525         (re_match_2_internal): Compare Emchar.
7526         (bcmp_translate): Ditto.
7527
7528 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
7529
7530         * lisp.h (basic char/int typedefs):  comment improvement.
7531
7532 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
7533
7534         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
7535         unstomp inhibit_site_lisp.  Improve comments.
7536
7537 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
7538
7539         * mule-charset.c (Fcharset_property):  improve type checking, comments.
7540
7541 2000-11-28  Andy Piper  <andy@xemacs.org>
7542
7543         * redisplay-output.c (redisplay_output_subwindow): make sure we do
7544         clipped display for windows in the gutter also.
7545         (redisplay_display_boxes_in_window_p): change semantics of return
7546         codes to be more intuitive.
7547
7548         * gutter.h: declare display_boxes_in_gutter_p.
7549
7550         * gutter.c (display_boxes_in_gutter_p): new function for
7551         redisplay.
7552
7553 2000-11-22  Andy Piper  <andy@xemacs.org>
7554
7555         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
7556         autodetect domain.
7557
7558 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
7559
7560         * callproc.c (Fold_call_process_internal):
7561         * gpm.c (Freceive_gpm_event):
7562         (tty_get_foreign_selection): Might be just warning supression.
7563         * fileio.c (Fwrite_region_internal):
7564         (Fset_visited_file_modtime):
7565         * keymap.c (event_matches_key_specifier_p):
7566         Initialize GCPROed variable.
7567
7568         * menubar-x.c (command_builder_find_menu_accelerator):
7569         Initialize before use.
7570
7571 2000-11-23  Andy Piper  <andy@xemacs.org>
7572
7573         * unexcw.c (unexec): make the resulting executable executable.
7574
7575 2000-11-21  Martin Buchholz  <martin@xemacs.org>
7576
7577         * doc.c (get_doc_string):
7578         Use size_t, not int, for result of XSTRING_LENGTH.
7579
7580         * cmds.c (Fdelete_char):
7581         * cmds.c (Fpoint_at_eol):
7582         * cmds.c (Fself_insert_command):
7583         Use EMACS_INT, not int, for result of XINT.
7584         Someday, someone will want to insert more than 2**31 identical characters.
7585
7586         * cmds.c (Fdelete_char):
7587         * cmds.c (Fdelete_backward_char):
7588         * syntax.c (Fforward_word):
7589         * syntax.c (Fforward_comment):
7590         Make COUNT argument optional, for consistency with forward-char et al.
7591
7592 2000-11-22  Martin Buchholz  <martin@xemacs.org>
7593
7594         * lisp.h:
7595         * print.c (long_to_string):
7596         Return a useful value: the pointer at end of data written.
7597
7598         * doprnt.c:
7599         Use `static const char * const' for constant strings.
7600         (union printf_arg): Delete `i', `ui' members.
7601         (get_doprnt_args):
7602         (emacs_doprnt_1):
7603         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
7604         Do all printf-ing via the `l' specifier.
7605         Use EMACS_INT instead of int.
7606         Optimize.
7607
7608 2000-11-20  Didier Verna  <didier@xemacs.org>
7609
7610         * faces.c (update_face_cachel_data): don't frob the background
7611         pixmap when the window is being created. The face is needed but
7612         does not exist yet.
7613
7614 2000-11-20  Andy Piper  <andy@xemacs.org>
7615
7616         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
7617         messing with a debug environment.
7618
7619 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7620
7621         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
7622
7623 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7624
7625         * casetab.c (Fcase_table_p): Fix compile error and crash.
7626
7627 2000-11-18  Philip Aston  <philipa@mail.com>
7628
7629         * s/cygwin32.h: Cygwin has SVR4-like pty support.
7630
7631 2000-11-18  Martin Buchholz  <martin@xemacs.org>
7632
7633         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
7634         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
7635
7636 2000-11-17  Martin Buchholz  <martin@xemacs.org>
7637
7638         * config.h.in: Define HAVE_ELF_H if elf.h exists.
7639         * unexelf.c: Use HAVE_ELF_H.
7640         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
7641         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
7642         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
7643         Greg Harrington <greg_harrington@hotmail.com> provided a machine
7644         for testing.
7645         So this is an unexelfsgi.c from a different line of development.
7646
7647 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7648
7649         * regex.c (RE_TR_ASCII): New function.
7650         (RE_TRANSLATE): Call it.
7651
7652 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7653
7654         * buffer.h (TRT_TABLE_OF): Remove assert.
7655         (IN_TRT_TABLE_DOMAIN): Removed.
7656
7657 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7658
7659         * free-hook.c (log_gcpro):
7660         (show_gcprohist): Add support for GCPRO5.
7661
7662 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
7663
7664         * emacs.c (main_1): Improve -sd error message when --pdump=no.
7665
7666 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
7667
7668         * symeval.h: Declare flush_all_buffer_local_cache.
7669
7670         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
7671         (flush_buffer_local_cache): Added.
7672         (flush_all_buffer_local_cache): Added.
7673
7674         * lrecord.h: Remove unused XD_LO_RESET_NIL.
7675
7676         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
7677         (pdump_dump_data): Ditto.
7678         (pdump_reloc_one): Ditto.
7679         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
7680         before dumping.
7681
7682
7683 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7684
7685         * buffer.c: Remove if 0'ed entry.
7686         * buffer.h: Rewrite TRT to use char-table.
7687         * bufslots.h: Remove mirror tables.
7688         * casetab.c: Remove mirror tables.
7689         (CASE_TABLE_P): New macro.
7690         (Fcase_table_p): Element of a case table is string or char-table.
7691         (make_mirror_trt_table): Removed.
7692         (set_case_table): Setup char-table from strings for backward
7693         compatibility.
7694         * dired.c (Fdirectory_files):
7695         * dired-msw.c: (mswindows_get_files):
7696         * lisp.h: Change prototype of re_pattern_buffer.
7697         * regex.c: (RE_TRANSLATE): New macro.
7698         (TRANSLATE_P): Ditto.
7699         Change translate to type RE_TRANSLATE_TYPE.
7700         * regex.h: Define RE_TRANSLATE_TYPE
7701         * search.c (TRANSLATE): New macro.
7702         (TRANSLATE_ASCII): New macro.
7703         Translate table is changed to Lisp_Object.
7704         (signal_failure): Inhibit return.
7705
7706 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7707
7708         * device-msw.c:
7709         * eldap.c:
7710         * event-Xt.c:
7711         * event-stream.c:
7712         * print.c:
7713         Do UNGCPRO before return.
7714
7715 2000-11-14  Martin Buchholz <martin@xemacs.org>
7716
7717         * XEmacs 21.2.37 is released.
7718
7719 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7720
7721         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
7722         Add comments about discarded return value.
7723
7724 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
7725
7726         * callint.c:
7727         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
7728
7729 2000-10-27  Andy Piper  <andy@xemacs.org>
7730
7731         * gutter.c (Fset_default_gutter_position): default left and right
7732         gutters to visible.
7733         (calculate_gutter_size): calculate resonable heuristic for left
7734         and right gutter sizes.
7735         (specifier_vars_of_gutter): change left and right gutter sizes to
7736         autodetect.
7737         (calculate_gutter_size_from_display_lines): new function.
7738         (output_gutter): check for resizing on left and right gutters.
7739         (clear_gutter): don't special case top and left gutters.
7740         (specifier_vars_of_gutter): use new signature for
7741         set_specifier_caching.
7742
7743         * glyphs-x.c (x_redisplay_widget): spelling fix.
7744         * glyphs.c (specifier_vars_of_glyphs):
7745         * menubar.c (specifier_vars_of_menubar):
7746         * redisplay.c (specifier_vars_of_redisplay):
7747         * toolbar.c (specifier_vars_of_toolbar):
7748         * window.c (specifier_vars_of_window):
7749         * scrollbar.c (specifier_vars_of_scrollbar):
7750         (complex_vars_of_scrollbar): use new signature for
7751         set_specifier_caching.
7752
7753         * specifier.c (set_specifier_caching): include recompute flag.
7754         (recompute_one_cached_specifier_in_window): always recompute if
7755         flag set.
7756         (recompute_one_cached_specifier_in_frame): ditto.
7757
7758         * specifier.h (struct specifier_caching): add recompute flag.
7759
7760 2000-10-24  Andy Piper  <andy@xemacs.org>
7761
7762         * unexcw.c (copy_executable_and_dump_data_section): add new
7763         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
7764         5.0 happy.
7765
7766 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7767
7768         * console-x.h (x_device): New member modifier_release_time.
7769         * event-Xt.c (x_handle_sticky_modifiers):
7770         Bound interval modifier keys are sticky.
7771         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
7772         * events.h: extern it.
7773
7774 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7775
7776         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
7777
7778 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7779
7780         * event-stream.c (execute_command_event): Preserve current_events
7781         and the like when event is misc-user-event.
7782         Inhibit quit during the call to maybe_echo_keys.
7783
7784 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
7785
7786         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
7787         symlink when buffer is killed.
7788         (inhibit_clash_detection): New variable.
7789
7790 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7791
7792         * console.c (Fset_input_method): Trigger redisplay on tty.
7793
7794 2000-11-07  Martin Buchholz  <martin@xemacs.org>
7795
7796         * process.c (Fprocess_status): Revert to previous behavior:
7797         (process-status "nosuchprocess") ==> nil
7798
7799 2000-11-06  Martin Buchholz  <martin@xemacs.org>
7800
7801         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
7802         Work around another GCC 2.95.2 optimizer bug.
7803
7804 2000-11-02  Martin Buchholz  <martin@xemacs.org>
7805
7806         * process.c (Fget_process): Use LIST_LOOP_2.
7807         (kill_buffer_processes): Use LIST_LOOP_2.
7808
7809         * minibuf.c (Fall_completions):
7810         Delete old non-functional code for FSF fourth argument.
7811
7812         * frame.c (frame_matches_frame_spec):
7813         Renamed from `frame_matches_frametype'.  Update all callers.
7814         (device_matches_device_spec):
7815         Renamed from 'device_matches_console_spec'.  Update all callers.
7816
7817         * doc.c (Fsubstitute_command_keys):
7818         Remove buffer overflow crash.  Small code cleanups.
7819
7820         * casetab.c (check_case_table): Simpler code.
7821
7822         * window.c (Freplace_buffer_in_windows):
7823         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
7824         (and similar implementation) as Fdelete_windows_on.
7825         Update all callers.
7826
7827         * alloc.c (Fmake_list):
7828         * alloc.c (make_vector):
7829         * alloc.c (Fmake_vector):
7830         * alloc.c (make_bit_vector):
7831         * alloc.c (Fmake_bit_vector):
7832         * alloc.c (Fbit_vector):
7833         * alloc.c (Fmake_string):
7834         * alloc.c (Fpurecopy):
7835         * alloc.c (Fmemory_limit):
7836         * buffer.c:
7837         * buffer.c (Fget_buffer):
7838         * buffer.c (Fkill_buffer):
7839         * buffer.c (complex_vars_of_buffer):
7840         * bytecode.c (Fcompiled_function_stack_depth):
7841         * callint.c (Fprefix_numeric_value):
7842         * event-stream.c:
7843         * event-stream.c (Fread_key_sequence):
7844         * casetab.c:
7845         * casetab.c (Fcase_table_p):
7846         * casetab.c (check_case_table):
7847         * casetab.c (Fset_case_table):
7848         * casetab.c (Fset_standard_case_table):
7849         * chartab.c:
7850         * chartab.c (Fchar_table_type):
7851         * chartab.c (Freset_char_table):
7852         * chartab.c (Fget_char_table):
7853         * chartab.c (Fget_range_char_table):
7854         * chartab.c (Fput_char_table):
7855         * chartab.c (Fmap_char_table):
7856         * chartab.c (Fcategory_table_p):
7857         * chartab.c (Fcheck_category_at):
7858         * chartab.c (Fchar_in_category_p):
7859         * chartab.c (Fcategory_table):
7860         * chartab.c (Fcopy_category_table):
7861         * chartab.c (Fset_category_table):
7862         * chartab.c (Fcategory_designator_p):
7863         * chartab.c (Fcategory_table_value_p):
7864         * cmds.c (Fdelete_char):
7865         * cmds.c (Fdelete_backward_char):
7866         * cmds.c (Fself_insert_command):
7867         * cmds.c (Fself_insert_internal):
7868         * console.c (Fvalid_console_type_p):
7869         * console.c (Fcdfw_console):
7870         * console.c (Fconsole_type):
7871         * console.c (Fconsole_name):
7872         * console.c (Fconsole_device_list):
7873         * console.c (Fconsole_on_window_system_p):
7874         * data.c:
7875         * data.c (Feq):
7876         * data.c (Fold_eq):
7877         * data.c (Fsubr_interactive):
7878         * data.c (Fchar_to_int):
7879         * data.c (Fint_to_char):
7880         * data.c (Fsetcar):
7881         * data.c (Fsetcdr):
7882         * data.c (Fnumber_to_string):
7883         * data.c (Fstring_to_number):
7884         * data.c (Frem):
7885         * database.c (mark_database):
7886         * database.c (finalize_database):
7887         * database.c (Fdatabase_live_p):
7888         * database.c (Fdatabasep):
7889         * device-x.c (Fx_get_resource):
7890         * device.c (Fdfw_device):
7891         * dired.c:
7892         * dired.c (Ffile_name_completion):
7893         * dired.c (Ffile_name_all_completions):
7894         * dired.c (Fuser_name_completion):
7895         * dired.c (Fuser_name_completion_1):
7896         * dired.c (Fuser_name_all_completions):
7897         * doc.c (Fdocumentation):
7898         * doc.c (Fdocumentation_property):
7899         * doc.c (Fsubstitute_command_keys):
7900         * editfns.c:
7901         * editfns.c (Fchar_to_string):
7902         * editfns.c (Fstring_to_char):
7903         * editfns.c (Ftemp_directory):
7904         * editfns.c (Finsert_char):
7905         * editfns.c (Fbuffer_substring_no_properties):
7906         * editfns.c (Fnarrow_to_region):
7907         * editfns.c (Fchar_equal):
7908         * editfns.c (Fchar_Equal):
7909         * editfns.c (Ftranspose_regions):
7910         * emacs.c (Fdump_emacs):
7911         * eval.c (Fthrow):
7912         * eval.c (Fcommand_execute):
7913         * eval.c (Fautoload):
7914         * eval.c (Fbacktrace):
7915         * eval.c (Fbacktrace_frame):
7916         * events.c:
7917         * events.c (Fcopy_event):
7918         * events.c (Fcharacter_to_event):
7919         * events.c (Fevent_button):
7920         * events.c (Fevent_process):
7921         * extents.c:
7922         * extents.c (Fnext_extent_change):
7923         * extents.c (Fextent_property):
7924         * faces.c (Ffacep):
7925         * faces.c (Fmake_face):
7926         * file-coding.c:
7927         * file-coding.c (Fencode_shift_jis_char):
7928         * file-coding.c (Fencode_big5_char):
7929         * fileio.c (Ffile_name_directory):
7930         * fileio.c (Ffile_name_nondirectory):
7931         * fileio.c (Ffile_name_as_directory):
7932         * fileio.c (Fdirectory_file_name):
7933         * fileio.c (Ffile_truename):
7934         * fileio.c (Fsubstitute_in_file_name):
7935         * fileio.c (Ffile_modes):
7936         * fileio.c (Fset_file_modes):
7937         * fileio.c (Fset_default_file_modes):
7938         * fileio.c (Fverify_visited_file_modtime):
7939         * floatfns.c (Facos):
7940         * floatfns.c (Fasin):
7941         * floatfns.c (Fatan):
7942         * floatfns.c (Fcos):
7943         * floatfns.c (Fsin):
7944         * floatfns.c (Ftan):
7945         * floatfns.c (Fbessel_j0):
7946         * floatfns.c (Fbessel_j1):
7947         * floatfns.c (Fbessel_jn):
7948         * floatfns.c (Fbessel_y0):
7949         * floatfns.c (Fbessel_y1):
7950         * floatfns.c (Fbessel_yn):
7951         * floatfns.c (Ferf):
7952         * floatfns.c (Ferfc):
7953         * floatfns.c (Flog_gamma):
7954         * floatfns.c (Fexp):
7955         * floatfns.c (Fexpt):
7956         * floatfns.c (Flog):
7957         * floatfns.c (Flog10):
7958         * floatfns.c (Fsqrt):
7959         * floatfns.c (Fcube_root):
7960         * floatfns.c (Facosh):
7961         * floatfns.c (Fasinh):
7962         * floatfns.c (Fatanh):
7963         * floatfns.c (Fcosh):
7964         * floatfns.c (Fsinh):
7965         * floatfns.c (Ftanh):
7966         * floatfns.c (Fabs):
7967         * floatfns.c (Ffloat):
7968         * floatfns.c (Flogb):
7969         * floatfns.c (Fceiling):
7970         * floatfns.c (Ffloor):
7971         * floatfns.c (Fround):
7972         * floatfns.c (Ftruncate):
7973         * floatfns.c (Ffceiling):
7974         * floatfns.c (Fffloor):
7975         * floatfns.c (Ffround):
7976         * floatfns.c (Fftruncate):
7977         * fns.c (Fstring_equal):
7978         * fns.c (Fstring_lessp):
7979         * fns.c (concat2):
7980         * fns.c (concat3):
7981         * fns.c (vconcat2):
7982         * fns.c (vconcat3):
7983         * fns.c (Fsubstring):
7984         * fns.c (Fassoc):
7985         * fns.c (Fold_assoc):
7986         * fns.c (assoc_no_quit):
7987         * fns.c (Fassq):
7988         * fns.c (Fold_assq):
7989         * fns.c (assq_no_quit):
7990         * fns.c (Frassoc):
7991         * fns.c (Fold_rassoc):
7992         * fns.c (Frassq):
7993         * fns.c (Fold_rassq):
7994         * fns.c (rassq_no_quit):
7995         * fns.c (Fremassoc):
7996         * fns.c (remassoc_no_quit):
7997         * fns.c (Fremassq):
7998         * fns.c (remassq_no_quit):
7999         * fns.c (Fremrassoc):
8000         * fns.c (Fremrassq):
8001         * fns.c (remrassq_no_quit):
8002         * fns.c (Fsort):
8003         * fns.c (Fplist_get):
8004         * fns.c (Fplist_put):
8005         * fns.c (Fplist_remprop):
8006         * fns.c (Fplist_member):
8007         * fns.c (Flax_plist_get):
8008         * fns.c (Flax_plist_put):
8009         * fns.c (Flax_plist_remprop):
8010         * fns.c (Flax_plist_member):
8011         * fns.c (Fequal):
8012         * fns.c (Fold_equal):
8013         * fns.c (Frequire):
8014         * fns.c (Fbase64_encode_region):
8015         * fns.c (Fbase64_encode_string):
8016         * fns.c (Fbase64_decode_region):
8017         * frame.c:
8018         * frame.c (frame_matches_frame_spec):
8019         * frame.c (device_matches_device_spec):
8020         * frame.c (next_frame):
8021         * frame.c (previous_frame):
8022         * frame.c (Fnext_frame):
8023         * frame.c (Fprevious_frame):
8024         * frame.c (Fframe_property):
8025         * frame.c (Fset_frame_height):
8026         * frame.c (Fset_frame_size):
8027         * frame.h:
8028         * glyphs.c:
8029         * glyphs.c (if):
8030         * glyphs.c (decode_error_behavior_flag):
8031         * glyphs.c (Fmake_image_instance):
8032         * indent.c (Findent_to):
8033         * intl.c (Fignore_defer_gettext):
8034         * keymap.c (Fkeymapp):
8035         * keymap.c (Flookup_key):
8036         * lread.c:
8037         * lread.c (Fload_internal):
8038         * lread.c (Feval_buffer):
8039         * lread.c (Feval_region):
8040         * macros.c (Fexecute_kbd_macro):
8041         * marker.c (set_marker_internal):
8042         * marker.c (Fset_marker):
8043         * marker.c (set_marker_restricted):
8044         * marker.c (Fcopy_marker):
8045         * marker.c (noseeum_copy_marker):
8046         * menubar.c:
8047         * menubar.c (Fpopup_menu):
8048         * minibuf.c:
8049         * mule-charset.c (Fcharset_name):
8050         * mule-charset.c (Fchar_charset):
8051         * mule-charset.c (Fchar_octet):
8052         * mule-charset.c (Fsplit_char):
8053         * mule-wnnfns.c (Fwnn_open):
8054         * mule-wnnfns.c (Fwnn_dict_comment):
8055         * mule-wnnfns.c (Fwnn_quit_henkan):
8056         * mule-wnnfns.c (Fwnn_word_toroku):
8057         * mule-wnnfns.c (Fwnn_word_sakujo):
8058         * mule-wnnfns.c (Fwnn_word_use):
8059         * mule-wnnfns.c (Fwnn_hindo_set):
8060         * objects.c:
8061         * objects.c (Fmake_color_instance):
8062         * objects.c (Fmake_font_instance):
8063         * print.c (Fwrite_char):
8064         * process.c:
8065         * process.c (mark_process):
8066         * process.c (print_process):
8067         * process.c (get_process_from_usid):
8068         * process.c (Fprocessp):
8069         * process.c (Fprocess_live_p):
8070         * process.c (Fget_process):
8071         * process.c (Fget_buffer_process):
8072         * process.c (get_process):
8073         * process.c (Fprocess_id):
8074         * process.c (Fprocess_name):
8075         * process.c (Fprocess_command):
8076         * process.c (init_process_io_handles):
8077         * process.c (start_process_unwind):
8078         * process.c (Fstart_process_internal):
8079         * process.c (Fopen_multicast_group_internal):
8080         * process.c (Fset_process_window_size):
8081         * process.c (read_process_output):
8082         * process.c (send_process):
8083         * process.c (Fprocess_tty_name):
8084         * process.c (Fset_process_buffer):
8085         * process.c (Fprocess_buffer):
8086         * process.c (Fprocess_mark):
8087         * process.c (set_process_filter):
8088         * process.c (Fset_process_filter):
8089         * process.c (Fprocess_filter):
8090         * process.c (Fprocess_send_region):
8091         * process.c (Fprocess_send_string):
8092         * process.c (exec_sentinel):
8093         * process.c (Fset_process_sentinel):
8094         * process.c (Fprocess_sentinel):
8095         * process.c (status_notify):
8096         * process.c (Fprocess_status):
8097         * process.c (Fprocess_exit_status):
8098         * process.c (process_send_signal):
8099         * process.c (Fprocess_send_eof):
8100         * process.c (deactivate_process):
8101         * process.c (remove_process):
8102         * process.c (Fdelete_process):
8103         * process.c (kill_buffer_processes):
8104         * process.c (Fprocess_kill_without_query):
8105         * process.c (Fprocess_kill_without_query_p):
8106         * rangetab.c:
8107         * rangetab.c (Fget_range_table):
8108         * rangetab.c (Fput_range_table):
8109         * rangetab.c (Fremove_range_table):
8110         * rangetab.c (Fclear_range_table):
8111         * search.c:
8112         * search.c (Fskip_chars_forward):
8113         * search.c (Fskip_chars_backward):
8114         * search.c (Fskip_syntax_forward):
8115         * search.c (Fskip_syntax_backward):
8116         * search.c (search_command):
8117         * search.c (Freplace_match):
8118         * search.c (Fregexp_quote):
8119         * select.c (Fown_selection_internal):
8120         * select.c (Fselection_owner_p):
8121         * select.c (Fselection_exists_p):
8122         * select.c (Fget_selection_internal):
8123         * specifier.c:
8124         * symbols.c:
8125         * symbols.c (Fintern):
8126         * symbols.c (Fintern_soft):
8127         * symbols.c (Funintern):
8128         * symbols.c (Fapropos_internal):
8129         * symbols.c (Fset_default):
8130         * syntax.c:
8131         * syntax.c (Fsyntax_table_p):
8132         * syntax.c (Fcopy_syntax_table):
8133         * syntax.c (Fset_syntax_table):
8134         * syntax.c (Fchar_syntax):
8135         * syntax.c (syntax_match):
8136         * syntax.c (Fmatching_paren):
8137         * syntax.c (Fforward_word):
8138         * syntax.c (scan_lists):
8139         * syntax.c (Fscan_lists):
8140         * syntax.c (Fscan_sexps):
8141         * syntax.c (Fparse_partial_sexp):
8142         * toolbar.c (Fcheck_toolbar_button_syntax):
8143         * tooltalk.doc:
8144         * window.c:
8145         * window.c (Fwindowp):
8146         * window.c (Fwindow_live_p):
8147         * window.c (Fwindow_point):
8148         * window.c (Fdelete_window):
8149         * window.c (Fnext_window):
8150         * window.c (Fprevious_window):
8151         * window.c (Fother_window):
8152         * window.c (window_loop):
8153         * window.c (Fget_lru_window):
8154         * window.c (Fsplit_window):
8155         * window.c (Fenlarge_window):
8156         * window.c (Fenlarge_window_pixels):
8157         * window.c (Fshrink_window):
8158         * window.c (Fshrink_window_pixels):
8159         * window.c (change_window_height):
8160         * window.c (Fwindow_configuration_p):
8161         * window.c (Fcurrent_window_configuration):
8162         * window.h:
8163         * casefiddle.c (casify_object):
8164         * casefiddle.c (Fupcase):
8165         * casefiddle.c (Fdowncase):
8166         * casefiddle.c (Fcapitalize):
8167         * casefiddle.c (Fupcase_initials):
8168         * casefiddle.c (casify_region_internal):
8169         * casefiddle.c (casify_region):
8170         * casefiddle.c (Fupcase_region):
8171         * casefiddle.c (Fdowncase_region):
8172         * casefiddle.c (Fcapitalize_region):
8173         * casefiddle.c (Fupcase_initials_region):
8174         * casefiddle.c (Fupcase_word):
8175         * casefiddle.c (Fdowncase_word):
8176         * casefiddle.c (Fcapitalize_word):
8177         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8178         Replace 0 with '\0' when working with bytes.
8179         Replace initial "(" with "\(" in docstrings.
8180
8181 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8182
8183         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8184
8185         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
8186
8187 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8188
8189         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
8190
8191 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8192
8193         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
8194         correctly.
8195
8196 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8197
8198         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
8199         (inhibit_auto_save_session): New variable.
8200         (vars_of_fileio): Declare and initialize them.
8201         * fileio.c (Fdo_auto_save): Don't create session file if
8202         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
8203
8204 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8205
8206         * sgiplay.c (play_internal): C++ compilability.
8207         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
8208         * callproc.c (Fold_call_process_internal):
8209         Remove unused vars `env', `first'.
8210         * scrollbar.c (update_scrollbar_instance):
8211         #### unused var `current_window'.
8212         * redisplay-tty.c: Put currently unused vars insert_mode_on,
8213         etc. within #ifdef NOT_YET.
8214         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
8215         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
8216         * specifier.c (specifier_instance):
8217         #### unused var `tag'.
8218         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
8219
8220 2000-10-27  Martin Buchholz  <martin@xemacs.org>
8221
8222         * fns.c (Fbutlast):
8223         * fns.c (list_sort):
8224         * fns.c (Ffillarray):
8225         * fns.c (bytecode_nconc2):
8226         * fns.c (Fnconc):
8227         * fns.c (mapcar1):
8228         * fns.c (Fmapconcat):
8229         Be pedantically 64-bit correct.  For the time when someone will
8230         want to have a list with length > 2**32.
8231
8232         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8233         Work around MIPSpro compiler bug.
8234
8235         * process-unix.c (unix_kill_child_process): Add snarky comment.
8236         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
8237
8238         * config.h.in: Oops, _getpt ==> _getpty
8239
8240 2000-10-26  Martin Buchholz  <martin@xemacs.org>
8241
8242         * config.h.in:
8243         * regex.c:
8244         Use void*, not char*, as return type of alloca().
8245
8246         * alloc.c (free_marker): Side effect inside assert expression!
8247
8248 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
8249
8250         * mule-charset.c (Fset_charset_ccl_program): To check
8251         if the given ccl program is valid, use setup_ccl_program()
8252         instead of CHECK_VECTOR().
8253         (Fmake_charset): Likewise.
8254
8255 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
8256
8257         * faces.c (get_extent_fragment_face_cache_index):
8258         Fix cachel.merged_faces memory leak.
8259
8260 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
8261
8262         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
8263         Reset MSB of octets obtained by DECODE_SJIS
8264         because of the incompatibility with Emacs.
8265         (ccl_driver)<CCL_ENCODE_SJIS>:
8266         Set MSB of octets before passing them to
8267         ENCODE_SJIS because of the incompatibility
8268         with Emacs.
8269
8270 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
8271
8272         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
8273         (DECLARE_LRECORD): Undo the last change.
8274         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
8275
8276 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
8277
8278         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
8279         the implementation to lrecord_implementations_table.
8280
8281 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
8282
8283         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
8284         initial value of `lrecord_type_##c_name' and
8285         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
8286         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
8287         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
8288         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
8289         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
8290
8291 2000-10-17  Martin Buchholz  <martin@xemacs.org>
8292
8293         * miscplay.c (sndcnv8S_2mono):
8294         (sndcnv2monounsigned):
8295         (sndcnvULaw_2linear):
8296         (sndcnv16swap):
8297         Remove implementation-defined behavior.
8298
8299 2000-10-12  Martin Buchholz  <martin@xemacs.org>
8300
8301         * input-method-xlib.c: Warning suppression.
8302
8303 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
8304
8305         * mule-ccl.c: Sync up with Emacs 21.0.90.
8306         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
8307         Do nothing.
8308         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
8309         Likewise.
8310         (ccl_driver[WriteMultibyteChar2]): Bug fix.
8311         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
8312         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
8313         leading char belongs to official 2-dimensional charset.
8314         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
8315         write the given character as is.  Otherwise,
8316         if it is a multibyte char, convert it by
8317         non_ascii_set_charptr_emchar, then write it.
8318         (CCL_WRITE_STRING): Likewise.
8319         (ccl_get_compiled_code): New function.
8320         (setup_ccl_program): When ccl_prog is invalid,
8321         return -1.
8322         (Fregister_code_conversion_map): New function.
8323         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
8324
8325         * mule-ccl.h: Sync up with Emacs 21.0.90.
8326         (Fregister_ccl_program): export it.
8327
8328         * redisplay-msw.c (separate_textual_runs):
8329         If ccl program is not valid, don't do ccl conversion.
8330
8331         * redisplay-x.c (separate_textual_runs): Ditto.
8332
8333         * file-coding.c (Fmake_coding_system):
8334         When type is ccl and value is vector, register it
8335         with a proper symbol.  And checks whether the
8336         given ccl program is valid.
8337         (mule_decode): When calling ccl_driver, if src indicates
8338         NULL pointer, set an empty string instead.
8339         (mule_encode): Likewise.
8340
8341 2000-10-11  Martin Buchholz  <martin@xemacs.org>
8342
8343         The following large batch of changes gets us back to a state of
8344         C++ compilability.  Extbyte is now a char, which means that
8345         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
8346
8347         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
8348
8349         * sound.c (Fplay_sound): Type correctness.
8350
8351         * select-x.c (hack_motif_clipboard_selection): Type correctness.
8352         (x_get_window_property): Type correctness.
8353         (receive_incremental_selection): unsigned char ==> Extbyte
8354         (selection_data_to_lisp_data): unsigned char ==> Extbyte
8355         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
8356         (Fx_store_cutbuffer_internal): Type correctness.
8357
8358         * process-unix.c (try_to_initialize_subtty): Type correctness.
8359
8360         * objects-x.c (x_print_color_instance): Type correctness.
8361         (x_print_font_instance): Type correctness.
8362         (x_list_fonts): SExtbyte ==> Extbyte.
8363         (valid_x_font_name_p): SExtbyte ==> Extbyte.
8364         (x_find_charset_font): SExtbyte ==> Extbyte.
8365         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
8366         (truename_via_XListFonts): SExtbyte ==> Extbyte.
8367         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
8368         Use bufbyte_strcmp.
8369
8370         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
8371         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
8372         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
8373         (BYTE_C0_P): Use bit ops for char-signedness safety.
8374         (BYTE_C1_P): Use bit ops for char-signedness safety.
8375         (CHARSET_BY_LEADING_BYTE):
8376         (CHARSET_BY_ATTRIBUTES):
8377         Always use inline function.
8378         Use type_checking_assert.
8379         Hide chlook.
8380
8381         * mule-charset.c (non_ascii_charptr_copy_char):
8382         Modify to work with both ASCII and non-ASCII characters.
8383         Improve docs and variable names.
8384         Replace over-clever fall-through switch with a simple loop.
8385         (Lstream_get_emchar_1):
8386         Replace over-clever fall-through switch with a simple loop.
8387
8388         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8389         Warning suppression.
8390
8391         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
8392         the return value of Lstream_getc, which could be EOF as well.
8393
8394         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
8395
8396         * lisp.h: Make Extbyte a char, not unsigned char, so that external
8397         APIs can be used on Extbytes without casts.  Risky!
8398         (SExtbyte): Remove.
8399         (UExtbyte): Remove.
8400
8401         * input-method-xlib.c (XIM_init_device):
8402         Use Xlib.h instead of IntrinsicP.h.
8403         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
8404         which will break in X11R7.
8405         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
8406         to call XRegisterIMInstantiateCallback with correct types.
8407
8408         * gui-x.c (button_item_to_widget_value): Type correctness.
8409
8410         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
8411
8412         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
8413         (xbm_instantiate_1): Type correctness.
8414         (BUILD_GLYPH_INST):  Type correctness.
8415
8416         * fileio.c (Fsubstitute_in_file_name): Type correctness.
8417
8418         * file-coding.c:
8419         (decode_coding_sjis):
8420         (decode_coding_big5):
8421         (decode_coding_ucs4):
8422         (decode_coding_utf8):
8423         (decode_coding_iso2022):
8424         (decode_coding_no_conversion):
8425         Make all decoding functions take an Extbyte * arg.
8426         (encode_coding_sjis):
8427         (encode_coding_big5):
8428         (encode_coding_ucs4):
8429         (encode_coding_utf8):
8430         (encode_coding_iso2022):
8431         (encode_coding_no_conversion):
8432         Make all encoding functions take a Bufbyte * arg.
8433         Use size_t instead of unsigned int for memory sizes.
8434         Only cast to unsigned char whenever dereferencing Extbyte *.
8435
8436         * doc.c (unparesseuxify_doc_string): Type correctness.
8437
8438         * console-x.c (split_up_display_spec):
8439         Rewrite without using details of internal string representation.
8440         (x_semi_canonicalize_device_connection): Type correctness.
8441
8442         * config.h.in:
8443         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
8444         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
8445         (HAVE_XFREE386): Removed.
8446
8447         * buffer.h (DEC_CHARPTR): `const' correctness.
8448         (bufbyte_strcmp): New.
8449         (bufbyte_memcmp): New.
8450
8451         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
8452
8453         * buffer.h (XCHAR_OR_CHAR_INT):
8454         Always use inline function.
8455         Remove redundant type checking assert() - XINT will abort quite nicely.
8456
8457 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8458
8459         * search.c (Freplace_match): Set newtext to an empty string.
8460
8461 2000-10-10  Martin Buchholz  <martin@xemacs.org>
8462
8463         * s/decosf1-3.h: Remove #include of stropts.h
8464         * s/ptx.h: Remove #include of stropts.h
8465         * s/usg5-4.h: Remove #include of stropts.h
8466         * sysproc.h:
8467         * config.h.in:
8468         Use stropts.h, not sys/stropts.h.
8469         Use strtio.h, not sys/strtio.h.
8470
8471 2000-10-04  Martin Buchholz <martin@xemacs.org>
8472
8473         * XEmacs 21.2.36 is released.
8474
8475 2000-09-21  Andy Piper  <andy@xemacs.org>
8476
8477         * glyphs-x.c (x_redisplay_widget): make sure non-structural
8478         changes still involve copying the widget tree.
8479         (update_widget_face): make sure a change is register in the widget
8480         tree. Call update_tab_widget_face appropriately.
8481         (update_tab_widget_face): ditto.
8482         (x_tab_control_redisplay): make sure non-structural changes still
8483         involve copying the widget tree.
8484
8485 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
8486
8487         * lread.c (locate_file): Check the path element is non-nil.
8488
8489 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8490
8491         * lisp.h: Warning suppression for SCO compilers.
8492
8493         * redisplay-tty.c (reset_tty_modes): Fix crash.
8494         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
8495
8496 2000-09-27  Martin Buchholz  <martin@xemacs.org>
8497
8498         Big signal/process handling overhaul.  Bugs fixed:
8499         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
8500         M-x comint-kill-subjob should work for both values nil and t of
8501         process-connection-type. It was broken on most platforms.
8502         Testing on Irix and Cygwin still needed.  Other plaforms tested.
8503         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
8504         * process-unix.c: Signal/Process handling overhaul.
8505         (pty_name): make 64 bytes, as `expect' does, for paranoia.
8506         (allocate_pty): Use all available modern methods of allocating
8507         ptys, falling back to old style BSD allocation as a last resort.
8508         Use allegedly more secure Unix98 pty allocation by default.
8509         (allocate_pty_the_old_fashioned_way): New. the last resort.
8510         (unix_create_process): Push ptem, ldterm, ttcompat where
8511         available.  Autoconfiscate.
8512         (try_to_initialize_subtty): New.
8513         (unix_kill_child_process): Proper signal handling for ptys on most
8514         platforms, using special knowledge of AIX, BSD, etc...
8515         (unix_create_process): Always disconnect_controlling_terminal() for
8516         subprocesses, whether using ptys or not.
8517         * process.h: Remove old getpt-dependent PTY code.
8518         * process.c (Fprocess_send_signal): New, obvious generic function.
8519         (decode_signal): New.
8520         (Finterrupt_process):
8521         (Fkill_process):
8522         (Fquit_process):
8523         (Fstop_process):
8524         (Fcontinue_process):
8525         (Fsignal_process): Use decode_signal.
8526         (process_send_signal):
8527         Many docstring corrections.
8528         Allow any signal to be sent to a process object.
8529         * config.h.in: Add symbols for big signal/process overhaul.
8530         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
8531         * sysproc.h: Include process-related headers, where available:
8532         sys/stropts.h sys/strtio.h pty.h libutil.h
8533         * s/irix4-0.h:
8534         * s/irix5-0.h:
8535         * s/cygwin32.h:
8536         * s/gnu.h:
8537         * s/linux.h:
8538         * s/hpux.h:
8539         * s/aix3-1.h:
8540         Remove old S&M pty stuff.
8541         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
8542         * systty.h: Simplify cpp hackery, improve comments.
8543         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
8544
8545         * editfns.c (Fformat_time_string):
8546         Be a little more paranoid with the return value of ctime.
8547
8548         * fileio.c (check_executable):
8549         (check_writable):
8550         Use symbolic constants X_OK, W_OK.
8551
8552         * console-x.c (split_up_display_spec): Fix a warning.
8553
8554 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8555
8556         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
8557         * ntproc.c (sys_spawnve): make_string ==> build_string
8558         Small clarity improvements.
8559
8560 2000-09-30  Martin Buchholz  <martin@xemacs.org>
8561
8562         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
8563
8564         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
8565
8566         * config.h.in (HAVE_STRCASECMP): Remove.
8567
8568 2000-09-29  Martin Buchholz  <martin@xemacs.org>
8569
8570         * redisplay-output.c (redisplay_output_pixmap):
8571         Cleaner and possibly more 64-bit correct code.
8572
8573 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
8574
8575         * dumper.c (pdump_load_finish): move restoration of
8576         `noninteractive1' to emacs.c (main_1).
8577         * emacs.c (main_1): protect LISP-visible command-line flags
8578         from pdump_load().
8579
8580 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
8581
8582         * Makefile.in.in (versionclean):  Use EXE_TARGET and
8583         DUMP_TARGET instead of literal program names.
8584
8585 2000-09-20  Martin Buchholz  <martin@xemacs.org>
8586
8587         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
8588
8589 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8590
8591         * *: Spelling mega-patch
8592
8593 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8594
8595         * fns.c (bad_bad_turtle):
8596         Delete "Eek!" comment, since we fixed the bug to which it refers.
8597
8598 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8599
8600         * alloca.c: Replace REGISTER with register.
8601
8602 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
8603
8604         * file-coding.c (ucs_to_char): Use countof.
8605
8606 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8607
8608         * file-coding.c: (ucs_to_char):
8609         (complex_vars_of_file_coding):
8610         Use countof instead of sizeof.
8611         Use CHECK_NATNUM instead of CHECK_INT.
8612
8613         * sysdep.c (strcasecmp): Remove.
8614         * device-x.c (ascii_strcasecmp): New.
8615         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
8616         Avoid using non-standard non-portable strcasecmp.
8617
8618 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8619
8620         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
8621         * font-lock.c: remove reference to emacsfns.h.
8622         * search.c: small doc improvement.
8623         * event-Xt.c: correct file names in comments.
8624         * console-x.h Correct file names in comments.
8625         * frame.c: Correct file names in comments.
8626         * event-stream.c: remove Energize from comments.
8627
8628 2000-09-15  Martin Buchholz  <martin@xemacs.org>
8629
8630         * symeval.h (DEFERROR_STANDARD):
8631         (DEFERROR):
8632         (DEFSYMBOL):
8633         (DEFSYMBOL_NO_DUMP):
8634         (DEFSYMBOL_MULTIWORD_PREDICATE):
8635         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
8636         (DEFKEYWORD):
8637         The construct &##name is not sensible C.
8638         Fixes compilation errors with Unixware native compiler.
8639
8640 2000-09-14  Martin Buchholz  <martin@xemacs.org>
8641
8642         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
8643         (next_frame_internal): Removed.  We now just have next_frame.
8644         (next_frame):
8645         Write a simpler and cleaner one-pass algorithm.
8646         Remove called_from_delete_device arg and #ifdefed-out code.
8647         (previous_frame):
8648         Renamed from prev_frame.  Update callers.
8649         Cleaned up to have an analogous implementation to next_frame.
8650         (other_visible_frames_internal): Remove the
8651         called_from_delete_device bogus arg, and hence, remove this
8652         function.  Just use other_visible_frames().
8653
8654         * window.c (Fnext_window):
8655         Prettify docstring.
8656         Since next_frame() is guaranteed to return a frame, remove check
8657         for nil inserted in previous patch.
8658         (Fprevious_window):
8659         Prettify docstring.
8660         Make code look more like Fnext_window.
8661         (window_loop):
8662         Respect the `console' arg when iterating through windows.
8663         Fixes bug: (get-buffer-window buffer t device) not respecting
8664         the `device' arg.
8665         This function needs more work, as others have pointed out.
8666
8667         * frame.h: Rename prev_frame to previous_frame.
8668         device_matches_console_spec no longer takes a `frame' arg.
8669
8670         * s/gnu.h:
8671         * s/linux.h:
8672         * s/hpux.h:
8673         Use EMACS_BLOCK_SIGNAL instead of sigblock.
8674         From "Golubev I. N." <gin@mo.msk.ru>.
8675
8676         * make-src-depend: Fix typo.
8677
8678 2000-09-13  Martin Buchholz  <martin@xemacs.org>
8679
8680         * window.c (Fnext_window):
8681         next_frame() might return nil, not a frame.
8682         Fixes this crash:
8683         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8684
8685         * frame.c (next_frame_internal):
8686         We've passed a frame if we've passed its device.
8687         Fixes this crash:
8688         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8689 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
8690
8691 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8692
8693         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8694         Allow option to suppress accelerators in menu/dialog items.
8695         (populate_or_checksum_helper): Pass dialog title through above.
8696
8697 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8698
8699         * event-msw.c (mswindows_key_to_emacs_keysym):
8700         Add "pause" key, fix "menu" key.
8701
8702 2000-09-09  Martin Buchholz  <martin@xemacs.org>
8703
8704         * eval.c (reinit_vars_of_eval):
8705         Increase max_lisp_eval_depth to 1000,
8706         required for thai-xtis.el to byte-compile under some circumstances.
8707
8708 2000-09-04  Martin Buchholz  <martin@xemacs.org>
8709
8710         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
8711         From Kenichi Handa.
8712
8713 2000-09-01  Martin Buchholz  <martin@xemacs.org>
8714
8715         * make-src-depend: Make the generated Makefiles smaller.
8716
8717         * s/hpux.h (SETUP_SLAVE_PTY):
8718         Provide a %d in the format string for the errno argument.
8719
8720         * editfns.c (Ftemp_directory):
8721         Warning fix.
8722         Avoid buffer overrun on very long file name.
8723
8724         * input-method-xlib.c (XIM_init_device):
8725         6th parameter of XRegisterIMInstantiateCallback has different
8726         pointer types on different OSes, so simply cast to (void *).
8727
8728         * unexhp9k800.c: Warning fixes.  Fiddly changes.
8729
8730         * sysdll.c (dll_open):
8731         shl_load will hang hard if passed a NULL filename.
8732         Simply return NULL for compatibility with dlopen.
8733         * sysdll.c: Conform to XEmacs coding standards.
8734
8735         * sysdep.c (get_pty_max_bytes):
8736         Support pty input lines longer than 512 bytes on HP-UX 10.20.
8737
8738 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8739
8740         * tooltalk.c: Add #include <syssignal.h>
8741
8742 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
8743
8744         * s/hpux.h: Don't use undefined function sigunblock().
8745
8746 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8747
8748         * config.h.in: Add HAVE_BALLOON_HELP.
8749         * emacs.c: Use HAVE_BALLOON_HELP.
8750         * Makefile.in.in (x_objs):
8751         Make Balloon Help conditional on finding shape.h.
8752
8753 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
8754
8755         * syntax.c (regex_emacs_buffer_p): New variable.
8756         * syntax.h (regex_emacs_buffer_p): extern.
8757         * search.c (looking_at_1):
8758         (string_match_1):
8759         (fast_string_match):
8760         (search_buffer): Set regex_emacs_buffer_p.
8761         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
8762         when before_dot, at_dot, after_dot.
8763
8764 2000-08-23  Andy Piper  <andy@xemacs.org>
8765
8766         * gui-x.c (popup_selection_callback): Only set action_occurred
8767         when we really have an image instance.
8768         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8769
8770 2000-08-23  Andy Piper  <andy@xemacs.org>
8771
8772         * gui-msw.c (mswindows_handle_gui_wm_command): set
8773         action_occurred.
8774         * gui-x.c (popup_selection_callback): ditto.
8775
8776         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
8777         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
8778         (struct Lisp_Image_Instance): add action_occurred flag.
8779
8780         * glyphs.c (redisplay_subwindow): use action_occurred flag.
8781         (image_instance_changed): ditto.
8782         (reset_frame_subwindow_instance_cache): only unmap windows - do
8783         not remove them from the cache also.
8784
8785         * glyphs-widget.c (tab_control_update): better debug.
8786         (progress_gauge_update): ditto.
8787         (layout_update): ditto.
8788         (layout_instantiate): ditto.
8789         (tab_control_order_only_changed): cope with null pending items.
8790
8791         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
8792         debug. Force selection of an item when an action occurred. Cope
8793         with null pending_items.
8794         (mswindows_progress_gauge_redisplay): better debug.
8795         * glyphs-x.c (x_tab_control_redisplay): ditto.
8796
8797         * redisplay.c (redisplay_frame): reset the frame cache if the
8798         frame is garbaged.
8799
8800         * window.c (Fset_window_configuration): potentially re-enable
8801         frame cache reset.
8802         (window_unmap_subwindows): need to finalize instances here since
8803         it is only used in mark_window_as_deleted.
8804
8805 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
8806
8807         * nas.c (SndOpenDataForReading):
8808         nas.c (WaveOpenDataForReading):
8809         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
8810         Somehow escaped from the 2000-08-14 patch.
8811
8812 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
8813
8814         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
8815         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
8816
8817 2000-08-21  Andy Piper  <andy@xemacs.org>
8818
8819         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
8820         window if it is not already displayed.
8821
8822         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
8823         it is not already displayed.
8824
8825         * window.c (Fset_window_configuration): don't reset the frame
8826         cache.
8827
8828         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
8829         instances from the frame cache if we are actually finalizing them.
8830         (reset_frame_subwindow_instance_cache): reset frame cache only
8831         after unmapping everything.
8832         (map_subwindow): set displayed flag after mapping.
8833
8834 2000-08-21  Martin Buchholz  <martin@xemacs.org>
8835
8836         * data.c (indirect_function):
8837         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
8838
8839         * eval.c (function_argcount):
8840         Use original function when signaling errors.
8841
8842 2000-08-18  Andy Piper  <andy@xemacs.org>
8843
8844         * frame.c (delete_frame_internal): use new
8845         free_frame_subwindow_instances name.
8846
8847         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
8848         (add_tab_item): make return type correct.
8849         (mswindows_tab_control_instantiate): assert index of tab.
8850         (mswindows_tab_control_redisplay): Re-code to use
8851         gui_item_equal_sans_selected and gui_item_list_find_selected.
8852
8853         * glyphs-widget.c (tab_control_update): Correct comment.
8854
8855         * window.c (window_unmap_subwindows): use new
8856         unmap_subwindow_instance_cache_mapper.
8857         (window_unmap_subwindows_cache_mapper): deleted.
8858         (Fset_window_configuration): comparisons should now be with
8859         EQ. Preserve the subwindow instance cache across configuration
8860         changes.
8861         (allocate_window): ditto.
8862         (make_dummy_parent): ditto.
8863
8864         * glyphs.c (free_frame_subwindow_instances): rename from
8865         free_frame_subwindow_instance_cache. finalize all instances rather
8866         than just those in the display cache.
8867         (finalize_all_subwindow_instances): walk windows unmapping and
8868         finalizing subwindows.
8869         (unmap_subwindow_instance_cache_mapper): moved from
8870         window.c. Allow finalization as well as unmapping.
8871
8872         * gui.c (gui_item_list_find_selected): new function.
8873
8874         * gui.h (gui_item_list_find_selected): declare.
8875
8876         * glyphs-x.c (x_tab_control_redisplay): pick tab
8877         explicitly. Re-code to use gui_item_equal_sans_selected and
8878         gui_item_list_find_selected.
8879
8880         * glyphs-x.h: add lwlib-utils.h
8881
8882         * buffer.c (Frecord_buffer): undo previous change.
8883
8884 2000-08-09  Vin Shelton  <acs@xemacs.org>
8885
8886         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
8887         possible.  Create temporary files more securely.  The patch was
8888         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
8889         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
8890         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
8891         for details.
8892
8893 2000-08-07  Ben Wing  <ben@xemacs.org>
8894
8895         * getloadavg.c: remove duplicate (and windows-breaking)
8896         includes of fcntl.h and sys/file.h.
8897
8898         * nt.c: remove duplicate getloadavg() definition.
8899
8900         * sysdll.h (Qdll_filename_encoding): add missing stand-in
8901         encodings.
8902
8903 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8904
8905         * eval.c (function_argcount): If function needs to be autoloaded
8906         actually use the loaded definition.
8907         GCPRO function.
8908
8909 2000-08-05  Ben Wing  <ben@xemacs.org>
8910
8911         * getloadavg.c: add prototype for getloadavg().  remove
8912         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
8913         of the code).  remove duplicate header includes.
8914
8915         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
8916
8917         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
8918         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
8919         useful load average.
8920
8921         * alloc.c (reinit_alloc_once_early): removed references to
8922         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
8923         the lisp vars are the only things referencing the malloc_sbrk_*
8924         vars, and they were already if 0'd out.  these vars only exist
8925         in the older malloc.c, which is basically unused, and they're
8926         only for informational purposes.
8927
8928         * m\*.h: removed useless VIRT_ADDR_VARIES.
8929
8930         * m\powerpc.h: removed stray NO_ARG_ARRAY.
8931
8932 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8933
8934         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
8935         color if the image is a mono pixmap.
8936
8937 2000-07-30  Ben Wing  <ben@xemacs.org>
8938
8939         * Makefile.in.in (release):
8940         Remove stray @.
8941
8942         * buffer.c (directory_is_current_directory):
8943         * dired-msw.c (mswindows_get_files):
8944         * dired.c:
8945         * dired.c (Fdirectory_files):
8946         * dired.c (file_name_completion_stat):
8947         * dired.c (Ffile_attributes):
8948         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
8949         preprocessor tricks, to avoid problems on some machines
8950         (e.g. SCO).
8951
8952         * callproc.c (egetenv): GC docs.
8953
8954         * console-msw.h:
8955         * console-msw.h (struct mswindows_dialog_id):
8956         * lrecord.h (lrecord_type):
8957         New object for use with MSW dialogs.
8958
8959         * console.h (struct console_methods):
8960         New enable/disable frame methods, for proper modal dialogs.
8961
8962         * device-msw.c (msprinter_default_printer): Fix to follow
8963         proper Mule conventions.
8964
8965         * device-msw.c:
8966         * device-msw.c (signal_open_printer_error):
8967         * device-msw.c (msprinter_init_device):
8968         * device-msw.c (ensure_not_printing):
8969         * device-msw.c (plist_get_margin):
8970         * device-msw.c (Fmsprinter_select_settings):
8971         * device-msw.c (finalize_devmode):
8972         * device-msw.c (Fmsprinter_settings_despecialize):
8973         * device-msw.c (signal_enum_priner_error):
8974         * extents.c (decode_extent):
8975         * extents.c (decode_map_extents_flags):
8976         * extents.c (decode_extent_at_flag):
8977         * extents.c (Fextent_at):
8978         * extents.c (Fextents_at):
8979         * extents.c (symbol_to_glyph_layout):
8980         [[[[2]]]] Use structured errors.
8981
8982         * dialog-msw.c:
8983         * dialog-msw.c (mswindows_is_dialog_msg):
8984         * dialog-msw.c (mark_mswindows_dialog_id):
8985         * dialog-msw.c (dialog_proc):
8986         * dialog-msw.c (handle_question_dialog_box):
8987         * dialog-msw.c (syms_of_dialog_mswindows):
8988         Define new object to clean up marking; use it as a dialog identifier.
8989         Call new delete-dialog-box-hook.
8990
8991         * dialog-x.c (dbox_selection_callback):
8992         * dialog-x.c (dbox_descriptor_to_widget_value):
8993         * dialog-x.c (x_make_dialog_box_internal):
8994         Call new delete-dialog-box-hook.
8995         Return an id.
8996
8997         * dialog.c:
8998         * dialog.c (syms_of_dialog):
8999         * dialog.c (vars_of_dialog):
9000         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9001
9002         * eval.c:
9003         * eval.c (signal_call_debugger):
9004         when noninteractive, output stack traces on the console instead
9005         of in a (never-seen) buffer.
9006
9007         * eval.c (signal_type_error):
9008         * eval.c (invalid_argument_2):
9009         * lisp.h:
9010         new funs for use w/structured errors.
9011
9012         * event-Xt.c:
9013         * event-Xt.c (x_to_emacs_keysym):
9014         * event-Xt.c (describe_event):
9015         * event-Xt.c (emacs_Xt_event_handler):
9016         * event-Xt.c (vars_of_event_Xt):
9017         * event-msw.c:
9018         * event-msw.c (mswindows_wnd_proc):
9019         * event-msw.c (vars_of_event_mswindows):
9020         rename {x,mswindows}-debug-events to debug-{}-events for
9021         consistency with other debug-foo variables.
9022
9023         * event-stream.c:
9024         document next-event more clearly.
9025
9026         * fileio.c (Ffile_name_directory):
9027         * fileio.c (Ffile_name_nondirectory):
9028         * fileio.c (Funhandled_file_name_directory):
9029         * fileio.c (file_name_as_directory):
9030         * fileio.c (Ffile_name_as_directory):
9031         * fileio.c (directory_file_name):
9032         * fileio.c (Fdirectory_file_name):
9033         * fileio.c (Fmake_temp_name):
9034         * fileio.c (Ffile_truename):
9035         * fileio.c (Fsubstitute_in_file_name):
9036         * fileio.c (expand_and_dir_to_file):
9037         * fileio.c (barf_or_query_if_file_exists):
9038         * fileio.c (check_executable):
9039         * fileio.c (Ffile_exists_p):
9040         * fileio.c (Ffile_writable_p):
9041         * fileio.c (Ffile_directory_p):
9042         * fileio.c (Ffile_regular_p):
9043         * fileio.c (Ffile_modes):
9044         * fileio.c (Ffile_newer_than_file_p):
9045         * fileio.c (Fverify_visited_file_modtime):
9046         * fileio.c (Fset_visited_file_modtime):
9047         * fileio.c (auto_save_1):
9048         (1). (2).
9049         fix up gcpro's.
9050
9051         * frame-msw.c:
9052         * frame-msw.c (mswindows_init_frame_1):
9053         * frame-msw.c (mswindows_enable_frame):
9054         * frame-msw.c (error_frame_unsizable):
9055         * frame-msw.c (msprinter_init_frame_1):
9056         * frame-msw.c (msprinter_init_frame_3):
9057         * frame-msw.c (console_type_create_frame_mswindows):
9058         (2).
9059         implement new enable/disable frame methods.
9060
9061         * frame-x.c:
9062         * frame-x.c (x_enable_frame):
9063         * frame-x.c (console_type_create_frame_x):
9064         implement new enable/disable frame methods.
9065
9066         * frame.c:
9067         * frame.c (Fdisable_frame):
9068         * frame.c (syms_of_frame):
9069         * frame.h (struct frame):
9070         implement new enable/disable frame methods/functions.
9071
9072         * general-slots.h:
9073         add initial-focus.
9074
9075         * glyphs-msw.c (mswindows_widget_instantiate):
9076         comment that initial-focus should be implemented.
9077
9078         * glyphs-widget.c:
9079         * glyphs-widget.c (check_valid_instantiator):
9080         * glyphs-widget.c (check_valid_orientation):
9081         * glyphs-widget.c (check_valid_tab_orientation):
9082         * glyphs-widget.c (check_valid_justification):
9083         * glyphs-widget.c (check_valid_border):
9084         * glyphs-widget.c (check_valid_callback):
9085         * glyphs-widget.c (check_valid_int_or_function):
9086         * glyphs-widget.c (check_valid_string_or_vector):
9087         * glyphs-widget.c (check_valid_item_list_1):
9088         * glyphs-widget.c (widget_validate):
9089         * glyphs-widget.c (combo_box_validate):
9090         * glyphs-widget.c (widget_instantiate):
9091         * glyphs-widget.c (syms_of_glyphs_widget):
9092         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9093         * glyphs-widget.c (image_instantiator_combo_box):
9094         * glyphs-widget.c (image_instantiator_scrollbar):
9095         * glyphs-widget.c (image_instantiator_tab_control):
9096         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9097         (2).
9098         support (unimplemented) keyword initial-focus.
9099         reindent long macros.
9100
9101         * glyphs-x.c (x_redisplay_widget):
9102         * glyphs-x.c (x_button_instantiate):
9103         * glyphs-x.c (x_button_redisplay):
9104         * glyphs-x.c (x_progress_gauge_instantiate):
9105         * glyphs-x.c (x_edit_field_instantiate):
9106         * glyphs-x.c (x_combo_box_instantiate):
9107         * glyphs-x.c (x_tab_control_instantiate):
9108         * glyphs-x.c (x_label_instantiate):
9109         * gui-x.c:
9110         * gui-x.c (button_item_to_widget_value):
9111         * gui-x.c (gui_items_to_widget_values_1):
9112         * gui-x.c (gui_item_children_to_widget_values):
9113         * gui-x.c (gui_items_to_widget_values):
9114         * gui-x.h:
9115         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9116         add new flag to gui-parsing routines to indicate whether
9117         accelerator specs should be supported.
9118
9119         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9120
9121         * glyphs.h (struct Lisp_Image_Instance):
9122         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9123         add initial-focus flag.
9124
9125         * gui.c:
9126         * gui.c (syms_of_gui):
9127         * gui.c (vars_of_gui):
9128         clean up menu-no-selection-hook.
9129
9130         * gui.h:
9131         support delete-dialog-box-hook.
9132
9133         * lread.c (Fload_internal):
9134         * lread.c (locate_file_in_directory_mapper):
9135         (1).
9136
9137         * lrecord.h:
9138         * lrecord.h (struct toolbar_button):
9139         * lrecord.h (syms_of_toolbar):
9140         document how to create a new object.
9141
9142         * menubar-msw.c (mswindows_char_is_accelerator):
9143         may be called on frames w/o menus.
9144
9145         * menubar.c (vars_of_menubar):
9146         clean up :filter docs.
9147
9148         * nt.c (readdir):
9149         * ntproc.c:
9150         (1).
9151
9152         * process-nt.c:
9153         * process-nt.c (validate_signal_number):
9154         * process-nt.c (signal_cannot_launch):
9155         * process-nt.c (nt_create_process):
9156         * process-nt.c (nt_send_process):
9157         * process-nt.c (nt_kill_child_process):
9158         * process-nt.c (nt_open_network_stream):
9159         * process-nt.c (syms_of_process_nt):
9160         (2).
9161         delete quote-handling.  call new lisp code that does it better.
9162
9163         * process-unix.c (connect_to_file_descriptor):
9164         * process-unix.c (allocate_pty):
9165         * process-unix.c (unix_send_process):
9166         * process-unix.c (unix_kill_child_process):
9167         * process-unix.c (unix_open_network_stream):
9168         * process-unix.c (unix_open_multicast_group):
9169         (1). (2).
9170
9171         * process.c:
9172         * process.c (Fstart_process_internal):
9173         (2).  need to canonicalize process path even if absolute.
9174
9175         * select-msw.c (symbol_to_ms_cf):
9176         * select-msw.c (ms_cf_to_symbol):
9177         * select-msw.c (cf_is_autofreed):
9178         * select-msw.c (mswindows_destroy_selection):
9179         * select.c:
9180         * select.c (syms_of_select):
9181         * select.h:
9182         support dibv5, fix bugs. (from Mike Alexander)
9183
9184         * select.c (Fget_selection_internal):
9185         * select.c (select_convert_out):
9186
9187         * sysdep.c:
9188         * sysdep.c (xemacs_stat):
9189         renamed.
9190
9191         * sysdep.c (mkdir):
9192         * sysdep.c (rmdir):
9193         but keep original stat() here because we provide encapsulation
9194         around these funs.
9195
9196         * sysfile.h:
9197         * sysfile.h (fstat):
9198         remove stat garbage.
9199
9200         * syswindows.h:
9201         fix X/MSW conflict.
9202         don't include tchar.h.  it's inappropriate because it makes
9203         compile-time distinctions when we want runtime distinctions.
9204         (we provide our own tchar replacements)
9205
9206         * toolbar.c:
9207         use default object printer for toolbar-button.
9208
9209         * unexcw.c:
9210         make sure we don't encapsulate.
9211
9212         * window.c (vars_of_window):
9213         emphasize that temp-buffer-show-hook is obsolete.
9214
9215 2000-08-05  Martin Buchholz  <martin@xemacs.org>
9216
9217         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
9218         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
9219
9220         * events.c (Fevent_timestamp_lessp):
9221         Not 64-bit clean.  Use EMACS_INT, not int.
9222
9223 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
9224
9225         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
9226         unsigned int and changed the last enum to
9227         lrecord_type_last_built_in_type.
9228         (lrecord_implementations_table): changed prototype to know how
9229         long the array is supposed to be.
9230         (lrecord_type_count): new unsigned int to keep track of the
9231         current number of lisp lrecord types.
9232         (DEFINE_EXTERNAL_LRECORD):
9233         (DECLARE_EXTERNAL_LRECORD): Added these two for external
9234         dynamic-modules to declare new lisp types. They are the same
9235         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
9236         int for each new type, and increment lrecord_type_count by 1.
9237
9238         * alloc.c (lrecord_implementations_table): Changed to reference
9239         lrecord_type_last_built_in_type for the size of the array.
9240         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
9241
9242 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9243
9244         * glyphs.h (check_valid_item_list): Renamed from
9245         check_valid_item_list_1.
9246
9247 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
9248
9249         * select.c (Qselect_coerce): New.
9250         * select.c (Vselection_coercion_alist): New.
9251         * select.c (syms_of_select): Declare.
9252         * select.c (get-selection-internal): Use it.
9253         Use the new select-coerce functionality.
9254
9255         * select.c (select_coerce): New.
9256         * select.h (select_coerce): Declare.
9257         New function to coerce one type of data into another.
9258
9259 2000-08-03  Martin Buchholz  <martin@xemacs.org>
9260
9261         * callproc.c (Fcall_process_internal):
9262         (Fcall_process_internal):
9263         * process-unix.c (unix_create_process):
9264         Save and restore the value of errno, so that error messages are accurate.
9265
9266 2000-08-01  Martin Buchholz  <martin@xemacs.org>
9267
9268         * elhash.c (print_hash_table):
9269         Fix printing of hash tables to also use `key-and-value' instead of `t'.
9270         Prettify docstrings and indentation.
9271
9272 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9273
9274         * window.c (Fwindow_pixel_edges): Subtract frame border and
9275         gutter size.
9276
9277 2000-07-31  Andy Piper  <andy@xemacs.org>
9278
9279         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
9280         will acknowledge the change.
9281
9282         * glyphs.h: declare tab_control_order_only_changed.
9283
9284         * glyphs-x.c (x_tab_control_redisplay): use
9285         tab_control_order_only_changed.
9286
9287         * glyphs-widget.c (tab_control_order_only_changed): new function.
9288
9289         * glyphs-msw.c (mswindows_tab_control_redisplay): use
9290         tab_control_order_only_changed.
9291
9292         * gui.c (gui_item_equal_sans_selected): new function.
9293         (gui_item_equal): use it.
9294
9295         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
9296         :properties in favor of :items..
9297
9298         * glyphs-widget.c (check_valid_item_list): rename from
9299         check_valid_item_list_1.
9300         (check_valid_item_list_1): renamed.
9301         (combo_box_validate): deprecate :properties in favor of :items.
9302         (widget_instantiate): ditto.
9303         (tab_control_update): ditto.
9304         (image_instantiator_combo_box): ditto.
9305         (image_instantiator_tree_view): ditto.
9306         (image_instantiator_tab_control): ditto.
9307         (layout_post_instantiate): remove dead code.
9308
9309         * print.c (debug_print_no_newline): only write to debugger if in
9310         WIN32_NATIVE.
9311
9312         * elhash.c (Fmake_hash_table): update doc string.
9313
9314         * event-msw.c (mswindows_wnd_proc): don't allow processing of
9315         messages whilst in GC. This at least stops XEmacs crashing but has
9316         the potential for wierd behaviour.
9317
9318 2000-07-31  Martin Buchholz  <martin@xemacs.org>
9319
9320         * config.h.in:
9321         Make existence of s&m files optional.
9322
9323         * s/bsd386.h: Remove HAVE_GETLOADAVG.
9324         * s/freebsd.h: Remove HAVE_GETLOADAVG.
9325         * s/gnu.h: Remove HAVE_GETLOADAVG.
9326         * s/netbsd.h: Remove HAVE_GETLOADAVG.
9327         * s/sol2.h: Remove HAVE_GETLOADAVG.
9328         * lisp.h: Remove getloadavg() declaration.
9329         * fns.c:
9330         Include <sys/loadavg.h> if available.
9331         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
9332         * config.h.in:  Group together getloadavg()-related macros.
9333         Use only configure-time tests to detect getloadavg().
9334
9335 2000-07-30  Martin Buchholz  <martin@xemacs.org>
9336
9337         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
9338
9339 2000-07-25  Andy Piper  <andy@xemacs.org>
9340
9341         * syswindows.h: add tchar.h for native builds.
9342
9343         * frame.c (syms_of_frame): remove set-glyph-image.
9344
9345         * general-slots.h: add Qset_glyph_image.
9346
9347         * glyphs-widget.c (layout_update): add domain arg to
9348         set-glyph-image.
9349         (syms_of_glyphs_widget): remove set-glyph-image.
9350
9351 2000-07-23  Ben Wing  <ben@xemacs.org>
9352
9353         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
9354         Vpopup_frame_list.
9355
9356 2000-07-22  Andy Piper  <andy@xemacs.org>
9357
9358         * symsinit.h: add syms_of_win32().
9359
9360         * gui-msw.c (syms_of_gui_mswindows): remove
9361         Fmswindows_shell_execute.
9362         (Fmswindows_shell_execute): moved to win32.c.
9363
9364         * emacs.c (main_1): add syms_of_win32 ().
9365
9366         * win32.c (init_potentially_nonexistent_functions): rewrite in
9367         compiler-friendly terms.
9368         (Fmswindows_shell_execute): move here from gui-msw.c.
9369         (syms_of_win32): new.
9370
9371         * device-msw.c (Fmswindows_printer_list): clean up args to
9372         EnumPrinters.
9373         Don't include tchar under cygwin or mingw.
9374         (msprinter_default_printer): make cygwin-friendly.
9375
9376 2000-07-21  Andy Piper  <andy@xemacs.org>
9377
9378         * glyphs-widget.c (image_instantiator_tree_view): use tab
9379         control's update function.
9380         (layout_property): new function. Retrieve items.
9381
9382         * glyphs-msw.c (mswindows_tree_view_redisplay): new
9383         function. Re-populate the tree view from the pending items.
9384
9385         * glyphs.c (instantiate_image_instantiator): Make sure the domain
9386         is designated the parent if the domain is an image instance. This
9387         is needed so that dirtiness can be cascade up the hierarchy and
9388         thus for layout children to be redisplayed correctly.
9389         (allocate_image_instance): rename glyph -> parent.
9390
9391         * redisplay.h: change redisplay_output_layout signature.
9392
9393         * redisplay-msw.c (mswindows_output_display_block): use domain
9394         arg.
9395
9396         * redisplay-x.c (x_output_display_block): use domain arg.
9397
9398 2000-07-10  Andy Piper  <andy@xemacs.org>
9399
9400         * window.c (Fset_window_configuration): add comment.
9401
9402         * redisplay-output.c (compare_runes):
9403         (redisplay_output_subwindow): redisplay rather than update subwindow.
9404         (redisplay_output_layout): ditto.
9405
9406         * redisplay-msw.c (mswindows_frame_output_end):
9407         (mswindows_frame_output_end): make defer window pos optional.
9408
9409         * lisp.h: add Flast.
9410
9411         * glyphs.h (struct image_instantiator_methods): add dest_mask top
9412         normalize method. Change update method to be for changed
9413         instantiators. Add redisplay method. Change signature of layout
9414         method.
9415         (struct Lisp_Image_Instance): add instantiator.
9416         (IMAGE_INSTANCE_INSTANTIATOR): new.
9417         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
9418         (XIMAGE_INSTANCE_INSTANTIATOR): new.
9419         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
9420
9421         * glyphs.c:
9422         (find_instantiator_differences): new function.
9423         (Fset_instantiator_property): new convenience function.
9424         (check_image_instance_structure): strictly check for vector
9425         instantiators.
9426         (normalize_image_instantiator): make non-static.
9427         (instantiate_image_instantiator): pass on dest_mask and use new
9428         signatures for image_instance_layout and friends.
9429         (mark_image_instance): mark the instantiator. Mark the subwindow
9430         face not the widget face.
9431         (image_instance_equal): add instantiator.
9432         (image_instance_hash): ditto.
9433         (allocate_image_instance): ditto.
9434         (Fset_image_instance_property): removed.
9435         (Fimage_instance_file_name): ditto.
9436         (Fcolorize_image_instance): ditto.
9437         (image_instance_layout): add offsets to be set.
9438         (update_image_instance): new function. update an image instance
9439         from its changed instantiator.
9440         (inherit_normalize): add dest_mask.
9441         (xbm_normalize): ditto.
9442         (xface_normalize): ditto.
9443         (xpm_normalize): ditto.
9444         (text_update): set_property -> update.
9445         (image_instantiate): use the glyph identity as a hash key, not the
9446         instantiator.
9447         (glyph_width): use new image_instance_layout signature.
9448         (glyph_ascent): ditto.
9449         (glyph_descent): ditto.
9450         (glyph_height): ditto.
9451         (glyph_query_geometry): ressurrect.
9452         (glyph_layout): ditto.
9453         (redisplay_subwindow): update -> redisplay.
9454         (syms_of_glyphs): add Fset_instantiator_property.
9455         (image_instantiator_format_create): set_property -> update.
9456
9457         * glyphs-x.c:
9458         (autodetect_normalize): add dest_maks to signature.
9459         (x_redisplay_subwindow): update -> redisplay.
9460         (x_redisplay_widget): ditto.
9461         (x_button_redisplay): ditto.
9462         (x_progress_gauge_redisplay): ditto.
9463         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
9464         stacking order.
9465         (console_type_create_glyphs_x): update -> redisplay.
9466         (image_instantiator_format_create_glyphs_x): ditto.
9467
9468         * glyphs-widget.c:
9469         (check_valid_instantiator): disallow glyphs in the instantiator,
9470         they must now be vectors.
9471         (check_valid_instantiator_list): ditto.
9472         (glyph_instantiator_to_glyph): use internal symbol rather than
9473         intern.
9474         (widget_update): renamed from widget_set_property. Call cascaded
9475         update methods.
9476         (redisplay_widget): renamed from update_widget.
9477         (widget_layout): image_instance_layout now takes position as well
9478         as size.
9479         (widget_normalize): ditto.
9480         (widget_instantiate): ditto.
9481         (tab_control_query_geometry) ditto.:
9482         (tab_control_update): renamed from tab_control_set_property.
9483         (progress_gauge_update): set_property -> update.
9484         (layout_normalize): rewrite so that child instantiators are
9485         normalized also.
9486         (layout_update): new function. Create glyphs from the normalized
9487         children and cope with any other layout keywords. We do not
9488         instantiate children here that will be take care of by
9489         redisplay_output_layout.
9490         (layout_instantiate): call layout_update and not much else.
9491         (layout_post_instantiate): not sure whether this is needed
9492         anymore.
9493         (layout_query_geometry): query glyph geometry rather than
9494         image_instance geometry.
9495         (layout_layout): set offsets from pass in parameters. Use glyph
9496         geometry and layout functions rather than image instance ones.
9497         (native_layout_layout): ditto.
9498         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
9499         (image_instantiator_widget): set_property -> update.
9500         (image_instantiator_buttons): ditto.
9501         (image_instantiator_progress_guage): ditto.
9502         (image_instantiator_tab_control): ditto.
9503         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
9504         (image_instantiator_layout): add update method.
9505
9506         * glyphs-msw.c (bmp_normalize):
9507         (mswindows_resource_normalize): add dest_mask so that it can be
9508         proprogated by layout_normalize.
9509         (begin_defer_window_pos): make optional because it may not be the
9510         right thing to do and it introduces differences with X.
9511         (mswindows_unmap_subwindow): ditto.
9512         (mswindows_map_subwindow): ditto.
9513         (mswindows_redisplay_subwindow): renamed from
9514         mswindows_update_subwindow.
9515         (mswindows_redisplay_widget): ditto.
9516         (mswindows_button_redisplay): renamed from
9517         mswindows_button_update. Update is now what the instantiation
9518         function does for a changed instantiator.
9519         (mswindows_progress_gauge_instantiate): set the progress value
9520         here if appropriate.
9521         (mswindows_tab_control_redisplay): cope with re-ordering of the
9522         members of the tab widget by simply selecting the new top
9523         widget. This makes things appear ok if you click on a tab.
9524         (mswindows_combo_box_instantiate): image_instance_layout now takes
9525         position as well as size.
9526         (mswindows_progress_gauge_redisplay): renamed from
9527         mswindows_progress_gauge_update.
9528         (console_type_create_glyphs_mswindows): fix update -> redisplay.
9529         (image_instantiator_format_create_glyphs_mswindows): ditto.
9530
9531         * glyphs-eimage.c (jpeg_normalize):
9532         (gif_normalize):
9533         (png_normalize):
9534         (tiff_normalize): add dest_mask so that it can be proprogated by
9535         layout_normalize.
9536
9537         * elhash.c:
9538         (print_hash_table):
9539         (hash_table_weakness_validate):
9540         (decode_hash_table_weakness):
9541         (Fhash_table_weakness):
9542         (Fhash_table_type):
9543         (syms_of_elhash): use Ben's naming scheme for hashtable types..
9544
9545         * console.h (struct console_methods): move update_* to
9546         redisplay_*.
9547
9548 2000-07-20  Ben Wing  <ben@xemacs.org>
9549
9550         * *.[ch] (XSETOBJ): remove unused middle argument.
9551         lisp-disunion.h: correct wrap_object() to one argument.
9552
9553 2000-07-15  Ben Wing  <ben@xemacs.org>
9554
9555         * s/cygwin32.h:
9556         * s/cygwin32.h (CYGWIN_CONV_PATH):
9557         Add missing logb prototype for v1.1.
9558         Use post-b20 names and alias to pre-b20 names when pre-b20.
9559
9560         * s/windowsnt.h: [5].
9561
9562 2000-07-15  Ben Wing  <ben@xemacs.org>
9563
9564         * Makefile.in.in (x_objs):
9565         * Makefile.in.in (sheap_objs):
9566         * Makefile.in.in (objs):
9567         added win32.o, cosmetic cleanups.
9568
9569         * alloc.c (Fmake_byte_code):
9570         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
9571         etc. macros which declare their own args now.
9572
9573         * alloc.c (syms_of_alloc):
9574         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
9575
9576         * buffer.c:
9577         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
9578
9579         * buffer.c (Fget_file_buffer):
9580         Fixed GCPRO problem.
9581
9582         * buffer.c (get_truename_buffer):
9583         Fixed comment about GC checking.
9584
9585         * buffer.c (syms_of_buffer):
9586         Undeclared those dedicated frame funs.
9587         [2].
9588
9589         * buffer.h:
9590         Define convenience macros for internal/external conversions.
9591         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
9592         and Qenvironment_variable_encoding for cleaner code.
9593
9594         * bufslots.h:
9595         Remove dedicated-frame; in lisp.
9596
9597         * bytecode.c (funcall_compiled_function):
9598         [1].
9599
9600         * bytecode.c (syms_of_bytecode):
9601         [2].
9602
9603         * console-msw.c:
9604         * console-msw.c (mswindows_show_console): Rewrote.
9605
9606         * console-msw.c (Fmswindows_debugging_output): New.
9607         Sends to OutputDebugString (special MSWin debugger interface).
9608
9609         * console-msw.c (Fmswindows_message_box):
9610         Fixed stupid bugs so it works when called from kill-emacs.
9611
9612         * console-msw.c (syms_of_console_mswindows):
9613         Declare Fmswindows_debugging_output.
9614
9615         * console-msw.h:
9616         New MSWin prototypes.
9617
9618         * console-msw.h (struct mswindows_frame):
9619         New entry last-click-mods for improved button-modifier support.
9620
9621         * console-msw.h (FRAME_MSWINDOWS_POPUP):
9622         New struct entry `popup' with corresponding accessor.
9623
9624         * console-x.c:
9625         * console-x.c (split_up_display_spec):
9626         * console-x.c (get_display_arg_connection):
9627         * console-x.c (x_semi_canonicalize_console_connection):
9628         * console-x.c (x_canonicalize_device_connection):
9629         [[[6]]]: Change char to more specific type.
9630         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
9631
9632         * console-x.c (x_semi_canonicalize_console_connection):
9633         * console-x.c (x_canonicalize_device_connection):
9634         [[[9]]]: Fix up error signalling to use new structured error system.
9635
9636         * console-x.h:
9637         [[[4]]]: Define codesys aliases:
9638         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
9639         Qx_color_name_encoding, Qx_display_name_encoding.
9640
9641         * console.h (struct console_methods):
9642         New method make_dialog_box_internal supersedes older
9643         popup_dialog_box method.
9644
9645         * data.c:
9646         Define many new errors, part of new structured errors.
9647
9648         * data.c (init_errors_once_early):
9649         * data.c (syms_of_data):
9650         [2].
9651
9652         * device-msw.c (mswindows_init_device):
9653         [[[5]]]: Cleanup to support NT 3.51.
9654
9655         * device-msw.c (decode_devmode): Cleanup.
9656
9657         * device-msw.c (mswindows_handle_print_setup_dialog_box):
9658         * device-msw.c (mswindows_handle_print_dialog_box):
9659         * device-msw.c (mswindows_handle_page_setup_dialog_box):
9660         * device-msw.c (syms_of_device_mswindows):
9661         Delete the dialog box primitives recently introduced by Kirill and
9662         instead interface to general dialog box interface.
9663
9664         * device-x.c:
9665         * device-x.c (compute_x_app_name):
9666         * device-x.c (x_init_device):
9667         * device-x.c (Fx_valid_keysym_name_p):
9668         * device-x.c (Fx_set_font_path):
9669         [6].
9670         [7].
9671
9672         * device.h (wrap_device): New.
9673         First of its kind; meant to replace XSETDEVICE.
9674
9675         * dialog-msw.c: Many file-dialog symbols.
9676
9677         * dialog-msw.c (mswindows_register_popup_frame): New.
9678         * dialog-msw.c (mswindows_is_dialog_msg): New.
9679         For supporting kbd traversal in dialog boxes.
9680
9681         * dialog-msw.c (dialog_proc):
9682         Support hitting ESC in dialogs.
9683
9684         * dialog-msw.c (struct):
9685         Common dialog box errors.
9686
9687         * dialog-msw.c (handle_file_dialog_box): New.
9688         Add file dialog code.
9689
9690         * dialog-msw.c (handle_question_dialog_box):
9691         Redo existing code to support new question dialog syntax.
9692
9693         * dialog-msw.c (console_type_create_dialog_mswindows):
9694         We support new dialog console method.
9695
9696         * dialog-msw.c (syms_of_dialog_mswindows):
9697         * dialog-msw.c (vars_of_dialog_mswindows):
9698         New file dialog symbols, vars.
9699
9700         * dialog-x.c:
9701         * dialog-x.c (maybe_run_dbox_text_callback):
9702         * dialog-x.c (dbox_descriptor_to_widget_value):
9703         * dialog-x.c (x_make_dialog_box_internal):
9704         * dialog-x.c (console_type_create_dialog_x):
9705         Mule-ize entire file.
9706         Redo to support question dialog syntax.
9707         [6].
9708
9709         * dialog.c:
9710         * dialog.c (Fmake_dialog_box_internal):
9711         * dialog.c (syms_of_dialog):
9712         Kill old popup-dialog-box, replace with new primitive.
9713         Just call device method or signal error.
9714
9715         * eldap.c (Fldap_open):
9716         * eldap.c (Fldap_search_basic):
9717         * eldap.c (Fldap_add):
9718         * eldap.c (Fldap_modify):
9719         [1].
9720         [7].
9721
9722         * emacs.c:
9723         * emacs.c (make_arg_list_1):
9724         * emacs.c (make_arg_list):
9725         Mule-ize call to dll_init().
9726         [6].
9727         [8].
9728
9729         * emacs.c (make_argc_argv):
9730         * emacs.c (free_argc_argv):
9731         * emacs.c (init_cmdargs):
9732         * emacs.c (main_1):
9733         * emacs.c (Fkill_emacs):
9734         * emacs.c (Fdump_emacs):
9735         Update comments about what can be used in syms_* etc.
9736         Call init_win32() when necessary.
9737         Fix up MS Win dialog box in kill-buffer to actually work right.
9738         [7].
9739
9740         * eval.c:
9741         * eval.c (For):
9742         * eval.c (Fand):
9743         * eval.c (Fprogn):
9744         * eval.c (Fprog1):
9745         * eval.c (Fprog2):
9746         * eval.c (FletX):
9747         * eval.c (Flet):
9748         * eval.c (condition_case_3):
9749         * eval.c (Feval):
9750         * eval.c (function_argcount):
9751         * eval.c (funcall_lambda):
9752         [1].
9753
9754         * eval.c (type_error): New.
9755         * eval.c (maybe_type_error): New.
9756         * eval.c (continuable_type_error): New.
9757         * eval.c (maybe_continuable_type_error): New.
9758         * eval.c (type_error_with_frob): New.
9759         * eval.c (maybe_type_error_with_frob): New.
9760         * eval.c (continuable_type_error_with_frob): New.
9761         * eval.c (maybe_continuable_type_error_with_frob): New.
9762         New functions for use with structured errors.
9763
9764         * event-Xt.c:
9765         * event-Xt.c (x_event_to_emacs_event):
9766         Buttons are now modifiers too.
9767
9768         * event-Xt.c (emacs_Xt_current_event_timestamp):
9769         Implement new event method.
9770         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
9771
9772         * event-msw.c:
9773         * event-msw.c (ntpipe_shove_writer): [5].
9774         * event-msw.c (mswindows_enqueue_mouse_button_event):
9775         * event-msw.c (mswindows_drain_windows_queue):
9776         * event-msw.c (mswindows_wnd_proc): [7].
9777         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
9778         * event-msw.c (mswindows_modifier_state):
9779         Throughout: support new button modifiers.
9780
9781         * event-msw.c (emacs_mswindows_current_event_timestamp):
9782         Implement new event method.
9783         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
9784
9785         * event-stream.c:
9786         * event-stream.c (event_stream_current_event_timestamp): New.
9787         * event-stream.c (maybe_kbd_translate): New functionality.
9788         * event-stream.c (vars_of_event_stream):
9789         Document new kbd-translate-table functionality.
9790
9791         * event-stream.c (Fcurrent_event_timestamp): New.
9792         New primitive for use in fabricated events.
9793         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
9794
9795         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
9796
9797         * events.c:
9798         * events.c (Fmake_event):
9799         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
9800         [1].
9801         [9].
9802
9803         * events.c (format_event_object): fix gcc warnings.
9804
9805         * events.c (Fevent_timestamp): Document new primitives.
9806
9807         * events.c (TIMESTAMP_HALFSPACE): New.
9808
9809         * events.c (Fevent_timestamp_lessp): New.  New primitive for
9810         comparing timestamps correctly (half-space algorithm).
9811
9812         * events.c (Fevent_modifier_bits): Doc fix.
9813
9814         * events.c (Fevent_modifiers): Major doc addition.
9815         * events.c (event_x_y_pixel_internal): Typo fix.
9816         * events.c (syms_of_events): Declare new primitives.
9817
9818         * events.h:
9819         Update long comment for button modifiers, timestamps.
9820
9821         * events.h (struct event_stream):
9822         New current_event_timestamp method.
9823
9824         * extents.c:
9825         * extents.c (extent_in_region_p):
9826         * extents.c (decode_extent):
9827         * extents.c (Fset_extent_parent):
9828         * extents.c (decode_map_extents_flags):
9829         Fix gcc warnings.
9830         [9].
9831
9832         * extents.c (struct extent_at_arg):
9833         * extents.c (decode_extent_at_flag):
9834         * extents.c (extent_at_mapper):
9835         * extents.c (extent_at_bytind):
9836         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
9837         * extents.c (Fextents_at): New primitive. [9].
9838         * extents.c (symbol_to_glyph_layout): [9].
9839         Support new primitive `extents-at'.
9840
9841
9842         * extents.c (get_text_property_bytind):
9843         extent_at_bytind has another arg.
9844         [9].
9845
9846         * extents.c (syms_of_extents): New primitive.
9847
9848         * file-coding.c (Fmake_coding_system): [1].
9849         * file-coding.c (subsidiary_coding_system): fix gcc warning
9850         * file-coding.c (syms_of_file_coding): [2].
9851
9852         * fileio.c (Fexpand_file_name):
9853         * fileio.c (Fsysnetunam):
9854         * fileio.c (Ffile_exists_p):
9855         * fileio.c (Ffile_executable_p):
9856         * fileio.c (Fverify_visited_file_modtime):
9857         Clean up GCPROing.
9858
9859         * fileio.c (syms_of_fileio): [2].
9860
9861         * filelock.c (lock_file_1):
9862         * filelock.c (current_lock_owner):
9863         * filelock.c (lock_if_free):
9864         * filelock.c (lock_file):
9865         * filelock.c (unlock_file):
9866         Clean up GCPROing.
9867
9868         * fns.c (concat): Fix gcc warning.
9869
9870         * fns.c (Fmember):
9871         * fns.c (Fold_member):
9872         * fns.c (Fmemq):
9873         * fns.c (Fold_memq):
9874         * fns.c (memq_no_quit):
9875         * fns.c (Fassoc):
9876         * fns.c (Fold_assoc):
9877         * fns.c (Fassq):
9878         * fns.c (Fold_assq):
9879         * fns.c (assq_no_quit):
9880         * fns.c (Frassoc):
9881         * fns.c (Fold_rassoc):
9882         * fns.c (Frassq):
9883         * fns.c (Fold_rassq):
9884         * fns.c (rassq_no_quit):
9885         * fns.c (Fdelete):
9886         * fns.c (Fold_delete):
9887         * fns.c (Fdelq):
9888         * fns.c (Fold_delq):
9889         * fns.c (delq_no_quit):
9890         * fns.c (Fremassoc):
9891         * fns.c (Fremassq):
9892         * fns.c (remassq_no_quit):
9893         * fns.c (Fremrassoc):
9894         * fns.c (Fremrassq):
9895         * fns.c (remrassq_no_quit):
9896         * fns.c (Freverse):
9897         * fns.c (mapcar1):
9898         [1].
9899
9900         * frame-msw.c (mswindows_init_frame_1):
9901         * frame-msw.c (mswindows_delete_frame):
9902         Register popups with dialog code so keyboard traversing works.
9903
9904         * frame-tty.c (tty_raise_frame_no_select): [1].
9905
9906         * frame-x.c:
9907         * frame-x.c (x_set_frame_text_value):
9908         * frame-x.c (x_set_frame_properties):
9909         * frame-x.c (x_create_widgets):
9910         [7].
9911
9912         * frame.c:
9913         * frame.c (Fmouse_pixel_position): Minor doc fixes.
9914
9915         * frame.h (wrap_frame): New.
9916         Macro like wrap_device.
9917
9918         * general.c:
9919         * general.c (SYMBOL):
9920         * general.c (syms_of_general):
9921         Major reorg.  This is now just a wrapper and symbols themselves
9922         are listed in general-slots.h.
9923
9924         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
9925         * glyphs-msw.c (mswindows_resource_instantiate): [5].
9926
9927         * glyphs-msw.c (mswindows_native_layout_instantiate):
9928         Add DS_CONTROL so keyboard traversal will work.
9929
9930         * glyphs-widget.c:
9931         * glyphs-widget.c (syms_of_glyphs_widget):
9932         Move some symbols to general-slots.h.
9933
9934         * glyphs-x.c:
9935         * glyphs-x.c (xbm_instantiate_1):
9936         * glyphs-x.c (x_xbm_instantiate):
9937         * glyphs-x.c (x_xface_instantiate):
9938         * glyphs-x.c (autodetect_instantiate):
9939         * glyphs-x.c (cursor_font_instantiate):
9940         * glyphs-x.c (x_update_widget):
9941         * glyphs-x.c (x_widget_instantiate):
9942         * glyphs.c (bitmap_to_lisp_data):
9943         * glyphs.c (pixmap_to_lisp_data):
9944         [7].
9945
9946         * glyphs.c (syms_of_glyphs):
9947         [2].
9948
9949         * gui-x.c:
9950         * gui-x.c (print_widget_value):
9951         * gui-x.c (menu_separator_style_and_to_external):
9952         * gui-x.c (add_accel_and_to_external):
9953         * gui-x.c (button_item_to_widget_value):
9954         * gui-x.c (gui_items_to_widget_values_1):
9955         * gui-x.c (gui_items_to_widget_values):
9956         * gui-x.c (syms_of_gui_x):
9957         * gui-x.c (vars_of_gui_x):
9958         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
9959         [9].
9960
9961         * gui-x.h:
9962         Muleize, prototype changes matching gui-x.c.
9963
9964         * gui.c:
9965         * gui.c (separator_string_p):
9966         * gui.c (gui_item_add_keyval_pair):
9967         * gui.c (make_gui_item_from_keywords_internal):
9968         * gui.c (signal_too_long_error):
9969         * gui.c (parse_gui_item_tree_item):
9970         * gui.c (syms_of_gui):
9971         * gui.c (vars_of_gui):
9972         * gui.h:
9973         menu-no-selection-hook moved here (used by MSWin).
9974         Move some symbols to general-slots.h.
9975         [6].
9976         [9].
9977
9978         * insdel.c (get_buffer_pos_char):
9979         * insdel.c (get_buffer_range_char):
9980         Add GC comments.
9981
9982         * keymap.c (keymap_lookup_directly):
9983         * keymap.c (keymap_store):
9984         * keymap.c (ensure_meta_prefix_char_keymapp):
9985         * keymap.c (describe_map):
9986         * keymap.h:
9987         Support new button modifiers.
9988
9989         * lisp-disunion.h (wrap_object):
9990         * lisp-disunion.h (XSETOBJ):
9991         Rename make_obj to wrap_object.
9992
9993         * lisp-union.h:
9994         * lisp-union.h (make_int):
9995         * lisp-union.h (make_char):
9996         Support wrap_object.
9997
9998         * lisp.h:
9999         * lisp.h (LIST_LOOP):
10000         * lisp.h (EXTERNAL_LIST_LOOP):
10001         * lisp.h (LIST_LOOP_2):
10002         * lisp.h (EXTERNAL_LIST_LOOP_1):
10003         * lisp.h (EXTERNAL_LIST_LOOP_2):
10004         * lisp.h (EXTERNAL_LIST_LOOP_3):
10005         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10006         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10007         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10008         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10009         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10010         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10011         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10012         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10013         * lisp.h (struct Lisp_Symbol):
10014         * lisp.h (maybe_continuable_error_with_frob):
10015         Fix up section comments.
10016         Add new types for char to indicate usage.
10017         Delete symbols auto-generated from general-slots.h.
10018         Add prototypes for structured error functions.
10019         Add long comments describing looping macros and change interface
10020         so that lvalues are automatically declared.
10021         Add NO_DECLARE macro in case callers want to declare lvalues
10022         themselves.
10023
10024         * lread.c (read_syntax_error):
10025         * lread.c (continuable_read_syntax_error):
10026         * lread.c (read_structure):
10027         * lread.c (sequence_reader):
10028         * lread.c (read_list_conser):
10029         * lread.c (read_compiled_function):
10030         Rename syntax_error and continuable_syntax_error to avoid clash
10031         with same-named structured error functions.
10032
10033         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10034         * menubar-msw.c (populate_menu_add_item):
10035         * menubar-msw.c (populate_or_checksum_helper):
10036         [5].
10037         [9].
10038
10039         * menubar-x.c:
10040         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10041         Mule-ize whole file.
10042
10043         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10044
10045         * mule-charset.c (Fmake_charset):
10046         * mule-wnnfns.c (Fwnn_set_param):
10047         [1].
10048
10049         * ntproc.c (create_child):
10050         * ntproc.c (Fwin32_set_current_locale):
10051         Add comments portending doom.
10052
10053         * objects-msw.c:
10054         * objects-msw.c (old_font_enum_callback_2):
10055         * objects-msw.c (font_enum_callback_1):
10056         * objects-msw.c (mswindows_enumerate_fonts):
10057         [5].
10058
10059         * objects-x.c:
10060         * objects-x.c (allocate_nearest_color):
10061         * objects-x.c (x_parse_nearest_color):
10062         * objects-x.c (x_initialize_color_instance):
10063         * objects-x.c (x_print_color_instance):
10064         * objects-x.c (x_finalize_color_instance):
10065         * objects-x.c (x_valid_color_name_p):
10066         * objects-x.c (x_initialize_font_instance):
10067         * objects-x.c (x_print_font_instance):
10068         * objects-x.c (valid_x_font_name_p):
10069         * objects-x.c (truename_via_FONT_prop):
10070         * objects-x.c (truename_via_random_props):
10071         * objects-x.c (truename_via_XListFonts):
10072         * objects-x.c (x_font_truename):
10073         * objects-x.c (x_font_instance_truename):
10074         * objects-x.c (x_font_instance_properties):
10075         * objects-x.c (x_list_fonts):
10076         * objects-x.c (x_find_charset_font):
10077         Mule-ize entire file.
10078         [7].
10079
10080         * objects-x.h:
10081         Mule-verify.
10082
10083         * print.c:
10084         * print.c (std_handle_out_external):
10085         * print.c (debug_print_no_newline):
10086         * print.c (syms_of_print):
10087         Output to all debugger kinds in debug-print.
10088         Fix console-output code under MSWin to actually work.
10089
10090         * process-nt.c (send_signal):
10091         * process-nt.c (nt_create_process):
10092         Use newer Unicode macros.
10093
10094         * process-unix.c (unix_create_process):
10095         * process-unix.c (unix_canonicalize_host_name):
10096         * process-unix.c (unix_open_network_stream):
10097         [7].
10098
10099         * scrollbar-x.c:
10100         Mule-verify.
10101
10102         * search.c (syms_of_search):
10103         [2].
10104
10105         * select-msw.c (mswindows_destroy_selection):
10106         Use LIST_LOOP_2.
10107
10108         * select-x.c (symbol_to_x_atom):
10109         [7].
10110
10111         * select.c (syms_of_select):
10112         [2].
10113
10114         * sound.c (Fplay_sound_file):
10115         [7].
10116
10117         * specifier.c:
10118         * specifier.c (decode_specifier_type):
10119         * specifier.c (Fvalid_specifier_locale_type_p):
10120         * specifier.c (check_valid_locale_or_locale_type):
10121         * specifier.c (decode_locale):
10122         * specifier.c (decode_locale_type):
10123         * specifier.c (decode_locale_list):
10124         * specifier.c (check_valid_domain):
10125         * specifier.c (decode_specifier_tag_set):
10126         * specifier.c (Fcanonicalize_tag_set):
10127         * specifier.c (Fdefine_specifier_tag):
10128         * specifier.c (Fspecifier_tag_predicate):
10129         * specifier.c (check_valid_inst_list):
10130         * specifier.c (check_valid_spec_list):
10131         * specifier.c (decode_how_to_add_specification):
10132         * specifier.c (check_modifiable_specifier):
10133         * specifier.c (specifier_add_spec):
10134         * specifier.c (boolean_validate):
10135         * specifier.c (display_table_validate):
10136         [9].
10137
10138         * specifier.c (syms_of_specifier):
10139         Move some symbols to general-slots.h.
10140         [2].
10141
10142         * symbols.c:
10143         * symbols.c (Fmapatoms):
10144         * symbols.c (Fapropos_internal):
10145         Add GCPROs.
10146
10147         * symbols.c (set_default_buffer_slot_variable):
10148         * symbols.c (set_default_console_slot_variable):
10149         [1].
10150
10151         * symbols.c (defsymbol_massage_name_1):
10152         * symbols.c (defkeyword_massage_name):
10153         * symbols.c (deferror_1):
10154         * symbols.c (deferror):
10155         * symbols.c (deferror_massage_name_and_message):
10156         * symeval.h:
10157         * symeval.h (DEFSYMBOL):
10158         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10159
10160         * symbols.c (syms_of_symbols):
10161         [2].
10162
10163         * symsinit.h:
10164         * symsinit.h (init_win32): New.
10165         Also new is syms_of_dialog_mswindows.
10166
10167         * syswindows.h:
10168         Add new Unicode macros, missing Cygwin wide-char functions,
10169         convenience conversion macros for Qmswindows_tstr, macros for
10170         encapsulating required MSWin <-> Cygwin filename conversions,
10171         prototype for dynamically-extracted (not in NT 3.51) functions.
10172
10173         * toolbar-x.c:
10174         Mule-verify.
10175
10176         * tooltalk.c (Fadd_tooltalk_message_arg):
10177         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10178         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10179         [7].
10180
10181         * tooltalk.c (syms_of_tooltalk):
10182         [2].
10183
10184         * unexnt.c:
10185         * unexnt.c (unexec):
10186         Fix up headers, declaration of unexec() to be more standard.
10187
10188 2000-07-20  Martin Buchholz  <martin@xemacs.org>
10189
10190         * offix.h: Revert change to guard macros - they're used in offix.c!
10191
10192 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10193
10194         * lisp.h: Defsubred Fdelete.
10195
10196         * console-msw.h:  (msprinter_default_printer): Added.
10197
10198         * console-msw.c (msprinter_canonicalize_console_connection):
10199         (msprinter_canonicalize_device_connection): Added.
10200
10201         * device-msw.c (msprinter_default_printer):
10202         (Fmswingows_get_default_printer):
10203         (signal_enum_priner_error):
10204         (Fmswingows_printer_list): Added.
10205
10206 2000-07-19  Martin Buchholz <martin@xemacs.org>
10207
10208         * XEmacs 21.2.35 is released.
10209
10210 2000-07-19  Martin Buchholz  <martin@xemacs.org>
10211
10212         * select-x.c (x_handle_selection_request):
10213         Text selected in xemacs and pasted into xterm failed to appear.
10214         Spelling fixes and cosmetic changes.
10215
10216 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10217
10218         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
10219         XEmacs frame (fix for doubling chars in dialog boxes).
10220
10221 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10222
10223         * select.c (select_convert_in, select_convert_out):
10224         Don't call intern() every time.
10225
10226         * select.c (Qselect_convert_in, Qselect_convert_out): New.
10227         * select.c (vars_of_select): Initialise them.
10228
10229 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10230
10231         * select.c (selection-coercible-types): New.
10232
10233         * select.c (own-selection-internal):
10234         * select.c (get-selection-internal):
10235         MULE bug fix - these should default to COMPOUND_TEXT and not
10236         STRING for MULE. I think.
10237
10238         * select.c (select_convert_out): Use selection-coercible-types
10239         to find types that we can attempt to perform coercions on.
10240
10241 2000-07-18  Martin Buchholz  <martin@xemacs.org>
10242
10243         * mule-wnnfns.c:
10244         * mule-canna.c:
10245         Add coding: cookie to identify encoding.
10246
10247         * mule-canna.c (CANNA_mode_keys): make static.
10248         Use proper prototypes, even for functions of no arguments.
10249         Remove external prototype for Fding().
10250
10251         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
10252
10253         * select.c (syms_of_select): Add missing DEFSUBR.
10254
10255 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10256
10257         * select.c (get_selection_internal, own_selection_internal):
10258         Make the type default to STRING, rather than placing a nil type
10259         into Vselection_alist.
10260
10261 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10262
10263         * gpmevent.c (tty_selection_exists_p):
10264         * gpmevent.c (tty_own_selection):
10265         Updated parameter lists.
10266
10267 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
10268
10269         * select.h (selection-alist): Removed declaration.
10270
10271         * select.h (get_local_selection):
10272         * select.c (get_local_selection):
10273         Made static.
10274
10275         * select.h (convert_selection): Removed declaration.
10276         * select.c (convert_selection): Removed.
10277         This function belongs in Lisp.
10278
10279         * select.h (select_convert_in): Declare.
10280         * select.h (select_convert_out): Declare.
10281         * select.c (select_convert_in): New.
10282         * select.c (select_convert_out): New.
10283         New conversion functions for other files to call.
10284
10285         * select.h (select_notify_buffer_kill): Declare.
10286         * select.c (select_notify_buffer_kill): New.
10287         New functions that get called from kill-buffer.
10288
10289         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
10290         X-specific lisp code.
10291
10292         * select.h: Declare some of the lisp-visible functions for
10293         external use.
10294
10295         * select.c (clean_local_selection_data): Removed. This was
10296         a disgusting function, and previously should have been in
10297         select-x.c in any case. The functionality is now provided
10298         in select-convert-from-integer (select.el).
10299
10300         * select.c (available-selection-types): Fixed stupidity where
10301         INTEGER and ATOM got added twice. Also add STRING when we see an
10302         extent.
10303
10304         * select.c (get-selection-internal): Removed symbol stripping. No
10305         longer causes conversion when data comes from the internal cache.
10306
10307         * select.c (syms_of_select): Added new functions.
10308
10309         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
10310         error checking - previously this called abort!
10311
10312         * select-x.c (x_own_selection): Changed comment.
10313
10314         * select-x.c (x_handle_selection_request): Use select_convert_out.
10315         Don't mess with selection-alist; it's an internal variable of select.c.
10316
10317         * select-x.c (x_get_foreign_selection): Use select_convert_in.
10318
10319         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
10320         rather than messing with selection-alist.
10321
10322         * select-msw.c (mswindows_get_foreign_selection):
10323         Use TO_INTERNAL_FORMAT rather than hacking.
10324
10325 2000-07-14  Martin Buchholz  <martin@xemacs.org>
10326
10327         * process-unix.c (unix_open_multicast_group):
10328         (unix_open_multicast_group): Remove useless casts.
10329
10330 2000-07-13  Martin Buchholz  <martin@xemacs.org>
10331
10332         * sound.c (Fplay_sound): Fix `unused variable' warning.
10333
10334         * emacs.c (main): Use correct type for _environ on SCO5.
10335
10336 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
10337
10338         * console.h (own_selection_method):
10339         * console.h (selection_exists_p_method):
10340         * console.h (available_selection_types_method): New.
10341         * console.h (register_selection_data_type_method): New.
10342         * console.h (selection_data_type_name): New.
10343
10344         * console-msw.h (mswindows_destroy_selection): Declare it.  New
10345         function & alist to track GlobalAlloc()'d handles that need
10346         releasing when the clipboard data gets replaced or emptied.
10347
10348         * event-msw.c (mswindows_wnd_proc): Call it.
10349
10350         * lisp.h, general.c (Qappend): New symbol representing a
10351         `how-to-add' mode.
10352
10353         * select.c (own-selection-internal):
10354         * select.c (selection-exists-p):
10355         * select.c (available-selection-types): New.
10356         * select.c (register-selection-data-type): New.
10357         * select.c (selection-data-type-name): New.  New functions to deal
10358         with device-specific selection data formats.
10359         * select.c (selection-converter-out-alist): Renamed.
10360         * select.c (selection-converter-in-alist): New.
10361         * select.c (selection-appender-alist): New.  Added new alists.
10362         * select.c (syms_of_select, vars_of_select): Added new symbols &
10363         variables.
10364         * select.c (get_local_selection): Split.
10365         * select.c: Removed spurious type checking - selections may now be
10366         of any type, not just strings.
10367         * select.c (own-selection-internal):
10368
10369         * select.h, select.c (convert_selection): New. Created
10370         convert_selection() function based on get_local_selection().
10371         * select.h, select.c (QCF_*): New symbols representing mswindows
10372         clipboard formats.
10373         * select.h, select.c (Qreplace_all, Qreplace_existing): New
10374         symbols representing `how-to-add' modes.
10375
10376         * select-msw.c (x_sym_p): New.
10377         * select-msw.c (symbol_to_ms_cf): New.
10378         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
10379         symbols & clipboard formats. Can also handle string names.
10380         * select-msw.c (mswindows_own_selection):
10381         * select-msw.c (mswindows_selection_exists_p):
10382         Added `data-type' parameter. Use it.
10383         * select-msw.c (mswindows_available_selection_types): New.
10384         * select-msw.c (mswindows_register_selection_data_type): New.
10385         * select-msw.c (mswindows_selection_data_type_name): New.
10386         * select-msw.c (mswindows_own_selection):
10387         * select-msw.c (mswindows_get_foreign_selection):
10388         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
10389         * select-msw.c (console_create_select_mswindows): Added new methods.
10390         * select-msw.c (mswindows_destroy_selection): New.
10391         * select-msw.c (Vhandle_alist): New list.
10392         * select-msw.c (mswindows_own_selection):
10393
10394         * select-x.c (x_own_selection):
10395         * select-x.c (x_selection_exists_p):
10396         * select-x.c: Added some comments about maybe using new
10397         functionality.
10398         * select-x.c (x_own_selection):
10399
10400         * specifier.c: Remove definition of Qappend (now in general.c)
10401         * specifier.c (syms_of_specifier): Remove Qappend.
10402
10403 2000-07-12  Martin Buchholz  <martin@xemacs.org>
10404
10405         * config.h.in: Add socklen_t.
10406
10407         * s/decosf4-0.h: No special compiler flags needed or desired.
10408         In particular, undefine _BSD for DEC OSF 4.0.
10409
10410 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10411
10412         * redisplay-msw.c (msprinter_frame_output_end): Added.
10413         (console_type_create_redisplay_mswindows): Referred the above.
10414
10415         * frame.c (setup_frame_without_minibuffer): Do not create a
10416         default minibuffer frame on a printer device.
10417
10418         * frame-msw.c (apply_dc_geometry): Added.
10419         (msprinter_start_page):
10420         (msprinter_init_frame_3):
10421         (msprinter_eject_page): Use it.
10422
10423         * console-msw.h (struct msprinter_frame): Added pix_left and top,
10424         and removed residual duplex and orientation properties.
10425
10426 2000-07-11  Martin Buchholz  <martin@xemacs.org>
10427
10428         * eval.c (function_argcount): Work around a DEC CC compiler bug.
10429
10430         * unexalpha.c: Remove system prototypes from C sources!
10431
10432 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
10433
10434         * eval.c: Remove references to M-x edit-options in DEFUNs for
10435         `defvar' and `defconst'.
10436
10437 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10438
10439         * config.h.in: Remove SMART_INCLUDE hackery.
10440
10441         PostgreSQL hacking:
10442         * config.h.in: Don't use SMART_INCLUDE.
10443
10444         * postgresql.h: Include libpq-fe.h here.  Fix typo.
10445         * inline.c: Simply #include "postgresql.h"
10446         * postgresql.c:
10447         - Don't use SMART_INCLUDE
10448         - Use simply "const".
10449         - Use standard doc string conventions.
10450         - Use correct type for result of PQstatus.
10451
10452 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10453
10454         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
10455
10456         C++ compilation changes.
10457         * config.h.in (EXTERN_C): Define.
10458         * config.h.in (not): This is also a C++ keyword.
10459         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
10460         * cm.c: Use EXTERN_C.
10461         * redisplay-tty.c: Use EXTERN_C.
10462         * sysdep.c: Use EXTERN_C.  Remove Gould support.
10463
10464 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10465
10466         * general.c: Remove duplicate definition for Qfunction.
10467
10468 2000-07-08  Ben Wing  <ben@xemacs.org>
10469
10470         * device-msw.c (msprinter_init_device):
10471         * device-msw.c (sync_printer_with_devmode):
10472         * device-msw.c (handle_devmode_changes):
10473         * device-msw.c (print_dialog_worker):
10474         * device-msw.c (Fmsprinter_apply_settings):
10475         * device-msw.c (hash_devmode):
10476         * device-msw.c (Fmsprinter_settings_despecialize):
10477         use Qmswindows_tstr, not Qctext.
10478
10479         * vm-limit.c (check_memory_limits):
10480         avoid infinite loop printing warning messages.
10481
10482 2000-07-05  Craig Lanning  <lanning@scra.org>
10483
10484         * Makefile.in.in: Add support for including the Windows resources
10485         when building with the cygwin and mingw targets.
10486
10487         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
10488         not set or not correct.
10489         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
10490         (init_initial_directory): Don't try to use $PWD on the
10491         WIN32_NATIVE target.
10492
10493         * s\cygwin32.h:
10494         [[Add -mwindows to eliminate console window.]] not required --ben
10495         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10496         (MAIL_USE_POP): removed; now handled by configure.
10497
10498         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
10499         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
10500         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10501         (MAIL_USE_POP): removed; now handled by configure.
10502         (ENCAPSULATE_STAT): from Dan Holmsand, added.
10503         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
10504         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
10505         constant string.
10506         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
10507         up from <winsock.h> via systime.h.
10508         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
10509         (getpagesize): from Dan Holmsand, added.
10510         Added #endif which was left dangling by Ben's mega patch; added
10511         comment to help prevent this in the future.
10512
10513         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
10514
10515 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10516
10517         * console-msw.h (struct mswindows_device): Removed unnecessary
10518         cached device geometry values.
10519         Added update_tick and an accessor macro.
10520         (Lisp_Devmode): Added lrecord declaration.
10521         (struct msprinter_device): Contain devmode as a Lisp object.
10522         Added mswindows_get_selected_frame_hwnd();
10523
10524         * console.h (struct console_methods): Indentation nitpicking.
10525
10526         * device-msw.c (mswindows_init_device): Do not initialize geometry
10527         cache. Initialize update tick.
10528         (mswindows_device_system_metrics): Ask the device for its geometry.
10529         (global_free_2_maybe):
10530         (devmode_to_hglobal):
10531         (handle_printer_changes):
10532         (ensure_not_printing):
10533         (print_dialog_worker):
10534         (Fmsprinter_print_setup_dialog):
10535         (Fmsprinter_print_dialog):
10536         (plist_get_margin):
10537         (plist_set_margin):
10538         (Fmsprinter_page_setup_dialog): Added functions.
10539         (sync_printer_with_devmode):
10540         (handle_devmode_changes):
10541         (Fmsprinter_get_settings):
10542         (Fmsprinter_select_settings):
10543         (Fmsprinter_apply_settings):
10544         (allocate_devmode):
10545         (Fmsprinter_settings_copy):
10546         (Fmsprinter_settings_despecialize):
10547         (print_devmode):
10548         (finalize_devmode):
10549         (equal_devmode):
10550         (hash_devmode): Added functions
10551         (syms_of_device_mswindows): Init devmode lrecord class.
10552
10553         * device.h: Added an exfun for find-device.
10554
10555         * event-msw.c (mswindows_wnd_proc): Do not update the cached
10556         geometry; although, recreate the device compatible DC.
10557
10558         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
10559         (msprinter_init_frame_3):
10560         (msprinter_frame_property):
10561         (msprinter_internal_frame_property_p):
10562         (msprinter_frame_properties):
10563         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
10564         print job properties (will move to device settings).
10565
10566         * lisp.h: Added symbols.
10567
10568         * general.c (syms_of_general): Declared them.
10569
10570         * hash.c (string_hash): Added.
10571
10572         * lrecord.h (lrecord_type): Added devmode lrecord type.
10573
10574 2000-07-02  Mike Sperber <mike@xemacs.org>
10575
10576         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
10577         FreeBSD 4.0.
10578
10579 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
10580
10581         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
10582         integer.
10583
10584 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
10585
10586         * data.c (Fstring_to_number): Don't recognize floating point if
10587         base is not 10.
10588
10589 2000-06-22  Martin Buchholz  <martin@xemacs.org>
10590
10591         * glyphs-widget.c (tab_control_query_geometry):
10592         (widget_query_geometry):
10593         (button_query_geometry):
10594         * glyphs.c (text_query_geometry):
10595         Enforce type correctness.
10596
10597 2000-06-18  Martin Buchholz  <martin@xemacs.org>
10598
10599         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
10600         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
10601
10602 2000-06-17  Martin Buchholz  <martin@xemacs.org>
10603
10604         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
10605         conflicts with gcc's fixincluded version of FOO.h.
10606
10607         * glyphs.h (image_instance_geometry): Remove trailing `,'
10608
10609 2000-06-08  Mike Alexander  <mta@arbortext.com>
10610
10611         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
10612         (shove_thread): Don't write the same output twice
10613         (make_ntpipe_output_stream): Increase priority of shove thread
10614         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
10615         chance to run
10616         (ntpipe_shove_closer): Don't delete the pipe until we're done with
10617         it.
10618
10619 2000-06-12  Ben Wing  <ben@xemacs.org>
10620
10621         * s\mingw32.h (sigset):
10622         * s\windowsnt.h (sigset):
10623         rename msw_ to mswindows_ for consistency with general convention.
10624
10625 2000-06-12  Ben Wing  <ben@xemacs.org>
10626
10627         * console-msw.c:
10628         * console-msw.c (mswindows_get_console_hwnd):
10629         * console-msw.c (mswindows_ensure_console_allocated):
10630         * console-msw.c (mswindows_hide_console):
10631         * console-msw.c (mswindows_show_console):
10632         * console-msw.c (mswindows_ensure_console_buffered):
10633         * console-msw.c (mswindows_output_console_string):
10634         * console-msw.c (mswindows_windows9x_p):
10635         * console-msw.h:
10636         * device-msw.c (mswindows_get_workspace_coords):
10637         * device-msw.c (mswindows_device_system_metrics):
10638         * dialog-msw.c (mswindows_popup_dialog_box):
10639         * event-msw.c (mswindows_wnd_proc):
10640         * frame-msw.c (mswindows_size_frame_internal):
10641         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10642         * menubar-msw.c (displayable_menu_item):
10643         * menubar-msw.c (mswindows_char_is_accelerator):
10644         * nt.c:
10645         * nt.c (mswindows_sigset):
10646         * nt.c (mswindows_sigrelse):
10647         * nt.c (mswindows_sigpause):
10648         * nt.c (mswindows_raise):
10649         * nt.c (timer_proc):
10650         * ntproc.c:
10651         * ntproc.c (find_child_console):
10652         * ntproc.c (sys_kill):
10653         * print.c:
10654         * print.c (std_handle_out_external):
10655         * process-nt.c (find_child_console):
10656         * process-nt.c (send_signal_the_95_way):
10657         * process-nt.c (ensure_console_window_exists):
10658         * process-nt.c (nt_create_process):
10659         * syssignal.h:
10660         rename msw_ to mswindows_ for consistency with general convention.
10661
10662         * emacs.c:
10663         * dumper.c:
10664         include nt.h, not syswindows.h.
10665
10666         * nt.c (mswindows_fstat):
10667         * nt.c (mswindows_stat):
10668         prefix mswindows_ instead of attempting to directly override the
10669         library functions.  fix declarations.
10670
10671         * nt.h:
10672         include syswindows.h.  move some sysdep.h stuff here.
10673
10674         * ntheap.h:
10675         include syswindows.h, not <windows.h>.
10676
10677         * ntplay.c:
10678         clean up headers.
10679
10680         * sysdep.c:
10681         clean up headers.
10682
10683         * sysdep.c (sys_fstat):
10684         * sysdep.c (sys_stat):
10685         call mswindows versions when appropriate.
10686
10687         * sysdep.h:
10688         move mswin decls to nt.h.
10689
10690         * syswindows.h:
10691         add long comment describing appropriate use of the various windows
10692         headers.
10693
10694 2000-06-11  Ben Wing  <ben@xemacs.org>
10695
10696         * device-x.c: Correct doc string for sixth arg of x-get-resource.
10697
10698 2000-06-10  Ben Wing  <ben@xemacs.org>
10699
10700         * Makefile.in.in (release):
10701         Correction to make sure xemacs.exe always dumped when correct.
10702
10703         * alloca.c:
10704         * balloon_help.c:
10705         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
10706
10707         * buffer.c (set_buffer_internal):
10708         [[[[2]]]]: Remove HAVE_FEP code.
10709
10710         * buffer.c (init_initial_directory):
10711         [3].
10712
10713         * bytecode.c:
10714         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
10715         individual files.
10716
10717         * callproc.c:
10718         * callproc.c (call_process_cleanup):
10719         * callproc.c (Fold_call_process_internal):
10720         * callproc.c (child_setup):
10721         * callproc.c (getenv_internal):
10722         * callproc.c (init_callproc):
10723         * callproc.c (vars_of_callproc):
10724         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
10725         __CYGWIN32__ -> CYGWIN.
10726         DOS_NT -> WIN32_NATIVE.
10727         Remove MSDOS support/references, converting to WIN32_NATIVE
10728           where correct.
10729         __MINGW32__ -> MINGW.
10730         Fix windows.h includes.
10731         Remove bogus HAVE_NTGUI.
10732
10733         * config.h.in:
10734         [2].
10735
10736         * console-msw.c:
10737         mswindows_message_outputted added for use in allowing startup
10738         errors on the console to be seen.
10739
10740         * console-msw.c (msw_ensure_console_allocated):
10741         * console-msw.c (msw_output_console_string):
10742         * console-msw.c (DHEADER):
10743         * console-msw.c (DOPAQUE_DATA):
10744         * console-msw.c (DEVENT):
10745         * console-msw.c (DCONS):
10746         * console-msw.c (DCONSCDR):
10747         * console-msw.c (DSTRING):
10748         * console-msw.c (DVECTOR):
10749         * console-msw.c (DSYMBOL):
10750         * console-msw.c (DSYMNAME):
10751         Fix warnings.
10752
10753         * console-stream.c (stream_init_console):
10754         Fix text/binary problems.
10755
10756         * device-msw.c:
10757         * device-msw.c (mswindows_finish_init_device):
10758         * device-msw.c (mswindows_delete_device):
10759         [1].
10760
10761         * device.c (handle_asynch_device_change):
10762         [3].
10763
10764         * dgif_lib.c:
10765         * dgif_lib.c (DGifOpenFileName):
10766         * dgif_lib.c (DGifOpenFileHandle):
10767         * dgif_lib.c (DGifGetLine):
10768         * dgif_lib.c (DGifGetPixel):
10769         Added config.h/lisp.h, fix up includes.
10770         [1].
10771
10772         * dired-msw.c:
10773         [4].
10774
10775         * dired.c:
10776         * dired.c (file_name_completion):
10777         * dired.c (Ffile_attributes):
10778         * dired.c (syms_of_dired):
10779         [1].
10780
10781         * dumper.c:
10782         * dumper.c (pdump_file_unmap):
10783         * dumper.c (pdump_load):
10784         [1].
10785
10786         * editfns.c:
10787         * editfns.c (Ftemp_directory):
10788         * editfns.c (user_login_name):
10789         * editfns.c (Fuser_real_login_name):
10790         * editfns.c (get_home_directory):
10791         [1].
10792
10793         * elhash.c (finish_marking_weak_hash_tables):
10794         [[[[5]]]]: Fix GCC warnings.
10795
10796         * emacs.c:
10797         * emacs.c (mswindows_handle_hardware_exceptions):
10798         * emacs.c (make_arg_list_1):
10799         * emacs.c (main_1):
10800         * emacs.c (Fkill_emacs):
10801         * emacs.c (Fdump_emacs):
10802         [1].
10803         Fix problems with nested crashes, add long comment.
10804
10805         * event-Xt.c (init_event_Xt_late):
10806         [1].
10807
10808         * event-msw.c:
10809         * event-msw.c (mswindows_dde_callback):
10810         * event-msw.c (mswindows_handle_sticky_modifiers):
10811         * event-msw.c (mswindows_wnd_proc):
10812         [1].
10813         [5].
10814
10815         * events.c (character_to_event):
10816         [1].
10817
10818         * fileio.c:
10819         * fileio.c (Ffile_name_directory):
10820         * fileio.c (Ffile_name_nondirectory):
10821         * fileio.c (directory_file_name):
10822         * fileio.c (Fexpand_file_name):
10823         * fileio.c (Fsubstitute_in_file_name):
10824         * fileio.c (Ffile_name_absolute_p):
10825         * fileio.c (check_executable):
10826         * fileio.c (Ffile_readable_p):
10827         * fileio.c (Ffile_accessible_directory_p):
10828         * fileio.c (Ffile_modes):
10829         * fileio.c (Funix_sync):
10830         * fileio.c (vars_of_fileio):
10831         [1]. [4].
10832
10833         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
10834
10835         Expand getdefdir defn.
10836         Fix bogus rename() comment.
10837
10838         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
10839         to use standard XEmacs include files, e.g. sysfile.h, rather
10840         than system-specific includes.
10841
10842         * fns.c:
10843         * fns.c (Fsubseq):
10844         [5]. [6].
10845
10846         * frame.c (vars_of_frame):
10847         [1].
10848
10849         * getloadavg.c:
10850         * getloadavg.c (getloadavg):
10851         [1]. [6].
10852         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
10853         (We don't use it elsewhere in the code; just add a comment.)
10854
10855         * gif_io.c:
10856         [6].
10857         Add config.h.
10858
10859         * glyphs-msw.c:
10860         * glyphs-msw.c (mswindows_resource_instantiate):
10861         [1].
10862
10863         * glyphs-x.c (x_native_layout_instantiate):
10864         [5].
10865
10866         * gui-msw.c (Fmswindows_shell_execute):
10867         [1].
10868
10869         * insdel.c:
10870         [4].
10871
10872         * lisp.h:
10873         [4]. [5].
10874
10875         * lread.c (locate_file_in_directory_mapper):
10876         [1].
10877
10878         * lstream.c:
10879         [4].
10880
10881         * mem-limits.h:
10882         * mem-limits.h (get_lim_data):
10883         [1].
10884
10885         * menubar-msw.c:
10886         [4].
10887
10888         * ndir.h:
10889         [1].
10890
10891         * nt.c:
10892         * nt.c (getwd):
10893         * nt.c (closedir):
10894         * nt.c (rva_to_section):
10895         * nt.c (mswindows_executable_type):
10896         [1]. [6].
10897         Fix closedir() defn.
10898
10899         * nt.h:
10900         [[[[8]]]]: *_OK defs moved to sysfile.h.
10901
10902         * ntproc.c:
10903         [6]. [7].
10904
10905         * objects-x.c:
10906         [4].
10907
10908         * print.c:
10909         * print.c (std_handle_out_external):
10910         [1]. [4].
10911
10912         * process-nt.c:
10913         * process-nt.c (nt_create_process):
10914         [6].
10915         try to fix process quoting somewhat.
10916
10917         * process-unix.c (unix_create_process):
10918         [1].
10919
10920         * process.c:
10921         * process.c (vars_of_process):
10922         Add Vnull_device.
10923
10924         * process.h:
10925         [1].
10926
10927         * realpath.c:
10928         * realpath.c (xrealpath):
10929         [1].
10930
10931         * redisplay-tty.c (init_tty_for_redisplay):
10932         [3].
10933
10934         * redisplay.c:
10935         [4]. [6].
10936
10937         * scrollbar-msw.c:
10938         [4].
10939
10940         * sheap.c:
10941         * sheap.c (more_static_core):
10942         * sheap.c (report_sheap_usage):
10943         [5]. [6].
10944
10945         * signal.c:
10946         * signal.c (alarm_signal):
10947         [1]. [6].
10948
10949         * sound.c:
10950         [6].
10951
10952         * strftime.c:
10953         * strftime.c (zone_name):
10954         [1]. [5].
10955
10956         * symsinit.h (init_sunpro):
10957         [1].
10958
10959         * syscommctrl.h:
10960         commctrl.h not in Cygwin b20.1.
10961
10962         * sysdep.c:
10963         * sysdep.c (endif):
10964         * sysdep.c (sys_subshell):
10965         * sysdep.c (init_baud_rate):
10966         * sysdep.c (emacs_get_tty):
10967         * sysdep.c (emacs_set_tty):
10968         * sysdep.c (tty_init_sys_modes_on_device):
10969         * sysdep.c (init_system_name):
10970         * sysdep.c (sys_open):
10971         * sysdep.c (interruptible_open):
10972         * sysdep.c (sys_fopen):
10973         * sysdep.c (sys_mkdir):
10974         * sysdep.c (sys_rename):
10975         * sysdep.c (get_process_times_1):
10976         [1]. [6].
10977
10978         * sysdep.h:
10979         [1].
10980
10981         * sysdir.h:
10982         * sysdir.h (DIRENTRY_NONEMPTY):
10983         [1]. [6].
10984
10985         * sysdll.c (dll_init):
10986         * sysdll.h:
10987         [1].
10988
10989         * sysfile.h:
10990         [1]. [6]. [8].
10991         added text/binary defs.
10992
10993         * sysfloat.h:
10994         [1].
10995
10996         * sysproc.h:
10997         * sysproc.h (EDESTADDRREQ):
10998         * sysproc.h (poll_fds_for_input):
10999         [1]. [6].
11000
11001         * syspwd.h:
11002         [6].
11003
11004         * syssignal.h:
11005         [1].
11006
11007         * systime.h:
11008         [1]. [6].
11009
11010         * systty.h:
11011         [1].
11012
11013         * syswindows.h:
11014         [1].
11015         Always define WIN32_LEAN_AND_MEAN.
11016
11017         * unexcw.c (unexec):
11018         [5].
11019
11020         * unexec.c:
11021         * unexec.c (copy_text_and_data):
11022         * unexec.c (adjust_lnnoptrs):
11023         [1].
11024
11025         * unexnt.c:
11026         * unexnt.c (_start):
11027         [1].
11028
11029 2000-06-07  Ben Wing  <ben@xemacs.org>
11030
11031         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11032         was used only as a model.  We've long since extracted any useful
11033         logic or code out of this. (I just did an exhaustive search.)
11034
11035         * s\msdos.h: Removed.
11036
11037         * s\windows95.h: Removed.
11038
11039 2000-06-10  Ben Wing  <ben@xemacs.org>
11040
11041         * s\cygwin32.h:
11042         [1]. [5].
11043         Don't use extern with fun defs.
11044
11045         * s\mingw32.h:
11046         [1]. [7].
11047         Remove nt\inc include.
11048         Remove getdisk, getdefdir. (The former is unused, the latter
11049         expanded in fileio.h.)
11050
11051         * s\windowsnt.h:
11052         * s\windowsnt.h (WIN32_NATIVE):
11053         * s\windowsnt.h (HAVE_STRCASECMP):
11054         [1]. [7].
11055         Add long comment about preprocessor changes.
11056         Remove getdisk, getdefdir. (The former is unused, the latter
11057         expanded in fileio.h.)
11058
11059 2000-06-10  Ben Wing  <ben@xemacs.org>
11060
11061         * m\arm.h:
11062         * m\delta.h:
11063         * m\intel386.h:
11064         * m\sequent.h:
11065         * m\template.h:
11066         * m\windowsnt.h:
11067         [1].
11068         Remove bogus/unused NO_SOCK_SIGIO.
11069
11070 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11071
11072         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11073         not an Emchar.
11074
11075 2000-06-04  Mike Sperber <mike@xemacs.org>
11076
11077         * casetab.c (set_case_table): For `set-standard-case-table',
11078         actually deposit the new case tables where the rest of XEmacs can
11079         see them.
11080
11081 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11082
11083         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11084
11085 2000-06-05  Ben Wing  <ben@xemacs.org>
11086
11087         * callproc.c (child_setup): Don't do close_load_descs() under
11088         MS Windows.  Put in a comment explaining why.
11089
11090 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11091
11092         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11093         Toolkit shell" which breaks `kill-compilation' on Windows NT
11094         native, retaining STDERR handling improvements.
11095
11096 2000-06-01  Andreas Jaeger  <aj@suse.de>
11097
11098         * s/s390.h: Support for S390, based on a patch by Martin
11099         Schwidefsky <schwidefsky@de.ibm.com>.
11100
11101 2000-05-30  Andy Piper  <andy@xemacs.org>
11102
11103         * window.c (allocate_window):
11104         (make_dummy_parent):
11105         (Fset_window_configuration): use new hashtable type.
11106
11107         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11108         (struct image_instantiator_methods):
11109         (struct Lisp_Image_Instance): make instance geometry signed.
11110
11111         * glyphs.c (instantiate_image_instantiator):
11112         (image_instance_query_geometry):
11113         (image_instance_layout):
11114         (image_instance_layout):
11115         (query_string_geometry):
11116         (text_query_geometry):
11117         (image_instantiate):
11118         (image_instantiate):
11119         (cache_subwindow_instance_in_frame_maybe):
11120         (subwindow_query_geometry): make instance geometry signed.
11121
11122         * glyphs-widget.c (widget_query_geometry):
11123         (widget_layout):
11124         (button_query_geometry):
11125         (tree_view_query_geometry):
11126         (tab_control_query_geometry):
11127         (layout_query_geometry):
11128         (layout_layout):
11129         (native_layout_layout): make instance geometry signed.
11130
11131 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11132
11133         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11134         constant.
11135
11136         * general.c (syms_of_general): Add Qfull_assoc symbol.
11137
11138         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11139         correctly.
11140         (decode_weak_list_type): Decode full-assoc type.
11141         (encode_weak_list_type): Encode full-assoc type.
11142         (Fmake_weak_list): Update doc string.
11143
11144 2000-05-30  Andy Piper  <andy@xemacs.org>
11145
11146         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11147
11148         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11149         (decode_hash_table_weakness): ditto.
11150         (Fhash_table_weakness): ditto.
11151         (Fhash_table_type): ditto.
11152         (finish_marking_weak_hash_tables): ditto.
11153         (hash_table_weakness_validate): ditto.
11154         (syms_of_elhash): ditto.
11155
11156 2000-05-28  Martin Buchholz <martin@xemacs.org>
11157
11158         * XEmacs 21.2.34 is released.
11159
11160 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11161
11162         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11163         start cache.
11164         (updating_line_start_cache): Gone.
11165         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11166         generic code to force a minimum of 1 line laid out in the
11167         CMOTION_DISP case.
11168
11169 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11170
11171         * glyphs.c (instantiate_image_instantiator): Check for initialized
11172         height & width no longer special cases IMAGE_NOTHING.
11173         (nothing_instantiate): Set height and width of instance.
11174
11175 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11176
11177         * unexelf.c (unexec): Search for ".data" section.
11178         Initialize new_data2_offset from old_data_index.
11179         Remove redundant check for ElfW.
11180
11181 2000-05-23  Andy Piper  <andy@xemacs.org>
11182
11183         * glyphs.c (get_image_instantiator_governing_domain): allow more
11184         specific domains as the governing domain rather than expecting an
11185         exact match. This fixes problems with layouts.
11186
11187 2000-05-22  Andy Piper  <andy@xemacs.org>
11188
11189         * redisplay-output.c (compare_runes): check for non-images
11190
11191         * glyphs.c (set_glyph_dirty_p): ditto.
11192         (update_glyph_cachel_data): ditto.
11193
11194         * glyphs-widget.c (layout_post_instantiate): ditto.
11195         (layout_post_instantiate): ditto.
11196
11197         * event-msw.c (mswindows_wnd_proc): warning removal.
11198
11199 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
11200
11201         * s\mingw32.h: Added #undef for CLASH_DETECTION.
11202
11203         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
11204
11205         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
11206
11207         * nt.c (rva_to_section): mingw32 needs rva_to_section.
11208         (mswindows_executable_type): mingw32 now has enough headers for
11209         this to work.
11210
11211 2000-05-20  Andy Piper  <andy@xemacs.org>
11212
11213         * console-msw.c (mswindows_output_last_error): ; -> ,
11214
11215 2000-05-12  Andy Piper  <andy@xemacs.org>
11216
11217         * console-msw.c (FROB): compare ints with ints.
11218
11219 2000-05-11  Andy Piper  <andy@xemacs.org>
11220
11221         * glyphs-x.c (x_finalize_image_instance): make minimal build
11222         happy.
11223
11224 2000-05-20  Ben Wing  <ben@xemacs.org>
11225
11226         * event-Xt.c:
11227         * event-Xt.c (vars_of_event_Xt):
11228         move modifier-keys-are-sticky to event-stream.c.
11229
11230         * event-msw.c:
11231         * event-msw.c (mswindows_enqueue_mouse_button_event):
11232         * event-msw.c (key_needs_default_processing_p):
11233         * event-msw.c (XEMSW_LCONTROL):
11234         * event-msw.c (mswindows_handle_sticky_modifiers):
11235         * event-msw.c (FROB):
11236         * event-msw.c (clear_sticky_modifiers):
11237         * event-msw.c (output_modifier_keyboard_state):
11238         * event-msw.c (output_alt_keyboard_state):
11239         * event-msw.c (mswindows_wnd_proc):
11240         * event-msw.c (mswindows_modifier_state):
11241         * event-msw.c (emacs_mswindows_handle_magic_event):
11242         implement sticky modifiers.
11243
11244         * event-stream.c:
11245         * event-stream.c (vars_of_event_stream):
11246         move modifier-keys-are-sticky here.
11247
11248         * lisp.h:
11249         add CHECK_FUNCTION.
11250
11251         * rangetab.c:
11252         implement map-range-table.
11253
11254
11255 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
11256
11257         * redisplay-tty.c (reset_tty_modes):
11258         (tty_redisplay_shutdown): Adjust argument type to
11259         tty_frame_output_end.
11260
11261 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11262
11263         * eval.c (Fbacktrace): Don't output a line with only right
11264         parenthesis.
11265
11266 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
11267
11268         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
11269         (Fpq_reset_poll): Ditto.
11270
11271 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
11272
11273         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
11274
11275 2000-05-16  Ben Wing  <ben@xemacs.org>
11276
11277         * buffer.c:
11278         * buffer.c (dfc_convert_to/from_internal_format):
11279         * buffer.c (reinit_vars_of_buffer):
11280         Fix conversion functions to allow reentrancy.
11281
11282         * console-msw.c:
11283         * console-msw.c (mswindows_output_last_error):
11284         New fun, generally useful -- output a human-readable
11285         version of GetLastError() on the console.
11286
11287         * console-msw.h:
11288         * console-msw.h (struct mswindows_frame):
11289         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
11290
11291         * console-stream.c (stream_output_begin):
11292         * console-stream.c (stream_output_end):
11293         * console-stream.c (stream_output_vertical_divider):
11294         * console-stream.c (stream_clear_region):
11295         * console-stream.c (stream_flash):
11296         * console-stream.c (console_type_create_stream):
11297         Delete blank stream methods, not needed.
11298
11299         * console.h (struct console_methods):
11300         Split begin/end methods into window and frame.
11301
11302         * event-msw.c:
11303         * event-msw.c (mswindows_handle_paint):
11304         * event-msw.c (output_alt_keyboard_state):
11305         * event-msw.c (mswindows_wnd_proc):
11306         * event-msw.c (vars_of_event_mswindows):
11307         Comment about problems with ignored-expose.
11308         Define mswindows-debug-events; not really implemented.
11309
11310         * frame-msw.c (mswindows_init_frame_1):
11311         random cleanups.
11312
11313         * glyphs-msw.c:
11314         * glyphs-msw.c (begin_defer_window_pos):
11315         * glyphs-msw.c (mswindows_unmap_subwindow):
11316         * glyphs-msw.c (mswindows_map_subwindow):
11317         * glyphs-msw.c (mswindows_resize_subwindow):
11318         Use DeferWindowPos to reduce flashing when mapping/unmapping.
11319
11320         * glyphs.c (make_image_instance_1):
11321         Fix crash.
11322
11323         * gutter.c (Fredisplay_gutter_area):
11324         Use new begin/end methods.
11325
11326         * lisp.h (Dynarr_new2):
11327         New creation fun.
11328
11329         * redisplay-msw.c:
11330         * redisplay-msw.c (mswindows_frame_output_begin):
11331         * redisplay-msw.c (mswindows_frame_output_end):
11332         * redisplay-msw.c (console_type_create_redisplay_mswindows):
11333         New begin/end methods -- handle DeferWindowPos.
11334
11335         * redisplay-output.c (redisplay_move_cursor):
11336         * redisplay-output.c (redraw_cursor_in_window):
11337         * redisplay-output.c (redisplay_update_line):
11338         * redisplay-output.c (redisplay_output_window):
11339         New begin/end methods.
11340
11341         * redisplay-tty.c:
11342         * redisplay-tty.c (tty_frame_output_begin):
11343         * redisplay-tty.c (tty_frame_output_end):
11344         * redisplay-tty.c (console_type_create_redisplay_tty):
11345         New begin/end methods.
11346
11347         * redisplay-x.c:
11348         * redisplay-x.c (x_window_output_begin):
11349         * redisplay-x.c (x_window_output_end):
11350         * redisplay-x.c (console_type_create_redisplay_x):
11351         New begin/end methods.
11352
11353         * redisplay.c (redisplay_frame):
11354         * redisplay.c (Fredisplay_echo_area):
11355         New begin/end methods.
11356         use MAYBE_DEVMETH for clear_frame; it may not exist.
11357
11358         * window.h (WINDOW_XFRAME):
11359         WINDOW_XFOO macros -- get locale and decode struct pointer.
11360
11361
11362 2000-05-12  Ben Wing  <ben@xemacs.org>
11363
11364         * emacs.c:
11365         * emacs.c (ensure_no_quitting_from_now_on):
11366         * emacs.c (fatal_error_signal):
11367         * emacs.c (mswindows_handle_hardware_exceptions):
11368         * emacs.c (main):
11369         * emacs.c (Fkill_emacs):
11370         * emacs.c (shut_down_emacs):
11371         * emacs.c (assert_failed):
11372         various improvements in fatal error handling.
11373
11374         * eval.c:
11375         move preparing_for_armageddon to emacs.c.
11376
11377         * lisp.h:
11378         declare fatal_error_in_progress.
11379
11380         * print.c:
11381         * print.c (std_handle_out_external):
11382         * print.c (std_handle_out_va):
11383         * print.c (stderr_out):
11384         * print.c (stdout_out):
11385         use console under mswin when no standard output.
11386         don't do code conversion during fatal error.
11387
11388         * scrollbar.c (Fscrollbar_page_up):
11389         * scrollbar.c (Fscrollbar_page_down):
11390         fix missing else.  reindent.
11391
11392 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
11393
11394         Emergency fix.
11395
11396         * glyphs.h (GLYPH_CACHEL_DESCENT):
11397         (GLYPH_CACHEL_DESCENT):
11398         (GLYPH_CACHEL_DESCENT):
11399         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
11400         used in case these are inline functions.
11401         Use more absurd values to error check.
11402
11403         include window.h for error check functions.
11404
11405 2000-05-11  Ben Wing  <ben@xemacs.org>
11406
11407         * cmdloop.c (Freally_early_error_handler):
11408         Display message box under windows; otherwise, message will disappear
11409         before it can be viewed.
11410
11411         * console-msw.c:
11412         * console-msw.c (Fmswindows_message_box):
11413         * console-msw.c (FROB):
11414         * console-msw.c (syms_of_console_mswindows):
11415         Define new fun `mswindows-message-box'.
11416         #### I will merge this into `popup-dialog-box'; just give me
11417         a bit of time.
11418
11419         * general.c:
11420         * general.c (syms_of_general):
11421         Some new symbols used in `mswindows-message-box'.
11422
11423         * glyphs.c:
11424         * glyphs.c (Fset_image_instance_property):
11425         put warning in this fun.
11426
11427         * glyphs.h:
11428         * glyphs.h (GLYPH_CACHEL_WIDTH):
11429         * glyphs.h (GLYPH_CACHEL_ASCENT):
11430         * glyphs.h (GLYPH_CACHEL):
11431         * glyphs.h (GLYPH_CACHEL_GLYPH):
11432         define error-checking versions to try to catch a bug i've seen --
11433         redisplay gets in an infinite loop because the glyph width of the
11434         continuation glyph is 65535.
11435
11436         * lisp.h:
11437         Extern message-box stuff.
11438
11439         * window.c (allocate_window):
11440         * window.c (make_dummy_parent):
11441         * window.c (Fset_window_configuration):
11442         Use EQUAL not EQ for subwindow caches to make them work a bit
11443         better. (Something is still very broken.)
11444
11445
11446 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11447
11448         * glyphs.c (image_instantiate): Suppress gcc warnings.
11449         (Fmake_image_instance): Fix doc string.
11450         * specifier.c (Fmake_specifier): Ditto.
11451
11452 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
11453
11454         * paths.h.in (PATH_LOCK): Removed.
11455         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
11456         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
11457
11458 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
11459
11460         * fns.c (Ffeaturep): Update e-mail address in doc-string.
11461         Document (featurep '(and xemacs 21.02)).
11462
11463 2000-05-09  Ben Wing  <ben@xemacs.org>
11464
11465         * buffer.c (complex_vars_of_buffer):
11466         update modeline-format doc.
11467
11468         * device.h:
11469         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
11470
11471         * emacs.c:
11472         timeline of all released versions of Emacs, for use in creating
11473         authorship comments and in synching up.
11474
11475         * glyphs-widget.c (image_instantiator_buttons):
11476         * glyphs-widget.c (image_instantiator_edit_fields):
11477         * glyphs-widget.c (image_instantiator_combo_box):
11478         * glyphs-widget.c (image_instantiator_scrollbar):
11479         * glyphs-widget.c (image_instantiator_progress_guage):
11480         * glyphs-widget.c (image_instantiator_tree_view):
11481         * glyphs-widget.c (image_instantiator_tab_control):
11482         * glyphs-widget.c (image_instantiator_labels):
11483         * glyphs-widget.c (image_instantiator_layout):
11484         * glyphs-widget.c (image_instantiator_native_layout):
11485         rename decode_domain method to governing_domain.
11486
11487         * glyphs.c:
11488         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
11489         * glyphs.c (add_entry_to_device_ii_format_list):
11490         make sure we don't put an entry more than once into the list.
11491         * glyphs.c (check_instance_cache_mapper):
11492         *************************************************************
11493         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11494         HAVE BEEN GETTING.
11495         *************************************************************
11496         * glyphs.c (get_image_instantiator_governing_domain):
11497         clean up, expand on new concept of governing domain.
11498         * glyphs.c (instantiate_image_instantiator):
11499         * glyphs.c (allocate_image_instance):
11500         use governing_domain instead of cache_domain in naming.
11501         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
11502         * glyphs.c (make_image_instance_1):
11503         * glyphs.c (Fmake_image_instance):
11504         allow for any domain (not just device), and process the
11505         governing domain correctly.  very big doc fix.
11506         * glyphs.c (Fimage_instance_domain):
11507         new primitive, to retrieve the governing domain of an image instance.
11508         * glyphs.c (image_instantiate):
11509         use new governing_domain stuff.  this fixes a crash you could get
11510         by instantiating certain widget glyphs in frame locales. (should
11511         signal an error instead of crashing.)
11512         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
11513         * glyphs.c (Fglyphp): clean up doc.
11514         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
11515         * glyphs.c (syms_of_glyphs):
11516         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
11517         * glyphs.c (image_instantiator_format_create): add some comments about
11518         bogus code.
11519         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
11520         for current-display-table. (Apparently Hrjove implemented in 1998 a
11521         design I wrote up in 1996, but didn't update the doc string.)
11522
11523         * glyphs.h: clean up a doc string.
11524         * glyphs.h (governing_domain):
11525         * glyphs.h (struct image_instantiator_methods):
11526         changes for governing_domain stuff.
11527
11528         * gutter.c:
11529         * gutter.c (Fgutter_specifier_p):
11530         * gutter.c (Fgutter_size_specifier_p):
11531         * gutter.c (Fgutter_visible_specifier_p):
11532         * objects.c:
11533         * objects.c (Fcolor_specifier_p):
11534         * objects.c (Ffont_specifier_p):
11535         * objects.c (Fface_boolean_specifier_p):
11536         doc strings moved to make-*-specifier.
11537
11538         * redisplay.c (add_disp_table_entry_runes_1):
11539         * redisplay.c (generate_fstring_runes):
11540         * redisplay.c (screen):
11541         add random comments and doc strings.
11542
11543         * specifier.c:
11544         * specifier.c (Fmake_specifier):
11545         major overhaul of this doc string.
11546
11547         * specifier.c (Fvalid_specifier_domain_p):
11548         comment about the bogosity of image instances being domains.
11549         * specifier.c (decode_domain):
11550         now non-static, used in glyphs.c.
11551         * specifier.c (specifier_instance):
11552         comment about the bogosity of image instances being domains.
11553         * specifier.c (Fgeneric_specifier_p):
11554         move doc string to make-generic-specifier.
11555         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
11556         rebackslashify.
11557
11558         * specifier.h:
11559         * specifier.h (DOMAIN_FRAME):
11560         * specifier.h (DOMAIN_LIVE_P):
11561         * specifier.h (DOMAIN_XDEVICE):
11562         rebackslashify.
11563         add comments about problems with these macros.
11564         prototype for decode_domain.
11565
11566         * toolbar.c:
11567         * toolbar.c (Ftoolbar_specifier_p):
11568         move doc string to `make-toolbar-specifier'.
11569
11570         * window.c (window_unmap_subwindows_cache_mapper):
11571         *************************************************************
11572         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11573         HAVE BEEN GETTING.
11574         *************************************************************
11575
11576 2000-05-09  Andy Piper  <andy@xemacs.org>
11577
11578         * glyphs.h: declare reset_frame_subwindow_instance_cache.
11579
11580         * window.c (Fset_window_configuration): reset the frame subwindow
11581         cache and re-initialize the window subwindow caches.
11582
11583         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
11584
11585 2000-05-09  Ben Wing  <ben@xemacs.org>
11586
11587         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
11588         DWORD.
11589
11590 2000-04-26  Mike Woolley  <mike@bulsara.com>
11591
11592         * ntheap.c: Changed recreate_heap to limit the amount reserved
11593         for the heap to that which is actually available. Also now
11594         displays a message box (with some dignostics) in the event that
11595         it still can't start.
11596
11597 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11598
11599         * callproc.c (Fold_call_process_internal): GCPRO path
11600
11601 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
11602
11603         Patch by Bill Perry.
11604
11605         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
11606         back data instead of #ifdef.
11607         (Fscrollbar_page_down): ditto.
11608
11609 2000-05-07  Ben Wing  <ben@xemacs.org>
11610
11611         * buffer.h:
11612         Kludge for defining Qmswindows_tstr.
11613
11614         * nt.c:
11615         * nt.c (open_input_file):
11616         * nt.c (open_output_file):
11617         * nt.c (rva_to_section):
11618         * nt.c (mswindows_executable_type):
11619         Move all memory-mapped-file routines here (some were in unexnt.c,
11620         which is bad because they are used by process-nt.c, and unexnt
11621         won't be around when portable dumping).  Synched the above routines
11622         with FSF 20.6.
11623
11624         * nt.h:
11625         Removed ifdef'd out bogus code.
11626         Fixed some prototypes.
11627
11628         * nt.h (file_data):
11629         * nt.h (OFFSET_TO_RVA):
11630         * nt.h (RVA_TO_OFFSET):
11631         * nt.h (RVA_TO_PTR):
11632         Moved the memory-mapped-file structures, macros and prototypes
11633         here, to parallel nt.c.  ntheap.h should really be removed
11634         entirely, and it's a non-portable-dumper specific file.
11635
11636         * ntheap.h (round_to_next):
11637         Moved the memory-mapped-file structures, macros and prototypes
11638         to nt.h.
11639
11640         * ntproc.c (compare_env):
11641         Moved rva_to_section and mswindows_executable_type to nt.c.
11642         Moved compare_env to process-nt.c.
11643         ntproc.c will die, one day.
11644
11645         * ntproc.c (sys_spawnve):
11646         Account for win32_ -> mswindows_.
11647
11648         * process-nt.c:
11649         * process-nt.c (struct nt_process_data):
11650         * process-nt.c (ensure_console_window_exists):
11651         * process-nt.c (compare_env):
11652         * process-nt.c (nt_create_process):
11653         * process-nt.c (nt_kill_process_by_pid):
11654         * process-nt.c (syms_of_process_nt):
11655         * process-nt.c (vars_of_process_nt):
11656         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
11657         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
11658         changes).  Eliminate our old `nt-quote-process-args' mechanism.
11659         Synch up nt_create_process with FSF 20.6 sys_spawnve.
11660         Move compare_env here from ntproc.c.
11661
11662         * process.c (Fprocess_send_region):
11663         Takes an optional fourth argument, BUFFER, which should fix some
11664         problems with call-process.
11665
11666         * syscommctrl.h:
11667         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
11668
11669         * syswindows.h:
11670         Move ICC_BAR_CLASSES to syscommctrl.h.
11671         Add preliminary macros for MSWindows/Mule.  More to come.
11672
11673         * unexnt.c:
11674         * unexnt.c (unexec):
11675         open_output_file moved to nt.c.
11676
11677
11678 2000-05-05  Andy Piper  <andy@xemacs.org>
11679
11680         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
11681         instance from the frame cache also since GC may catch up too late
11682         to make frame deletion sane.
11683
11684 2000-05-04  Andy Piper  <andy@xemacs.org>
11685
11686         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
11687         (x_finalize_image_instance): ungcpro on deletion.
11688
11689         * glyphs.c (image_instantiator_format_create): give pointers a
11690         query geometry method so that the geometry is at least set.
11691
11692         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
11693         initialize layouts if using widgets.
11694
11695 2000-05-03  Andy Piper  <andy@xemacs.org>
11696
11697         * nt.c: remove bogus reference to sysmmsystem.h
11698
11699         * gui-x.c (popup_selection_callback): fix no selection abort.
11700
11701 2000-05-02  Andy Piper  <andy@xemacs.org>
11702
11703         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
11704         (mswindows_widget_instantiate): ditto.
11705
11706         * glyphs-widget.c (initialize_widget_image_instance): initialize
11707         children correctly.
11708         (widget_instantiate): cope with children and items in the same
11709         instance.
11710
11711         * glyphs.c (mark_image_instance): cope with children as a first
11712         class member.
11713         (image_instance_equal): ditto.
11714         (image_instance_hash): ditto.
11715         (image_instance_changed): ditto.
11716
11717 2000-04-30  Andy Piper  <andy@xemacs.org>
11718
11719         * glyphs.c (subwindow_query_geometry): new function. Return some
11720         defaults.
11721         (subwindow_instantiate): don't assign dimensions if none have been
11722         given.
11723         (image_instantiator_format_create): add subwindow_query_geometry.
11724         (print_image_instance): cope with layouts as widgets.
11725
11726 2000-04-29  Andy Piper  <andy@xemacs.org>
11727
11728         * frame.c (delete_frame_internal): call
11729         free_frame_subwindow_instance_cache so that all subwindows are
11730         finalized before their parent.
11731         (mark_frame): remove subwindow_cachels.
11732         (Fmake_frame): remove subwindow_cachel manipulation.
11733         (allocate_frame_core): subwindow_instance_cache is a weak list.
11734         (delete_frame_internal): set subwindow_instance_cache to nil.
11735
11736         * glyphs-msw.c (mswindows_finalize_image_instance): make double
11737         finalization safe.
11738         (mswindows_finalize_image_instance): use the device
11739         not the domain as the domain may have died already.
11740
11741         * glyphs-x.c (x_finalize_image_instance): ditto.
11742         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
11743         HEIGHT.
11744
11745         * redisplay-output.c (redisplay_unmap_subwindows): update for
11746         subwindow instance cache as a weak list.
11747         (redisplay_unmap_subwindows_maybe): ditto.
11748         (redisplay_unmap_subwindows_except_us): ditto.
11749
11750         * glyphs.c (unmap_subwindow): error checking will check the domain
11751         so don't deal with it here. Don't use cachels anymore.
11752         (map_subwindow): ditto.
11753         (update_subwindow_cachel_data): remove old accessor names.
11754         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
11755         (Fresize_subwindow): don't update cachel.
11756         (mark_subwindow_cachels):
11757         (update_subwindow_cachel_data):
11758         (add_subwindow_cachel):
11759         (get_subwindow_cachel_index):
11760         (update_subwindow_cachel):
11761         (reset_subwindow_cachels):
11762         (mark_subwindow_cachels_as_not_updated): deleted.
11763         (cache_subwindow_instance_in_frame_maybe): new function. Add a
11764         subwindow instance to the frame cache.
11765         (find_matching_subwindow): update for subwindow instance cache as
11766         a weak list.
11767         (update_widget_instances): ditto.
11768         (image_instance_type_to_mask):inlined.
11769         (free_frame_subwindow_instance_cache): new function. finalize all
11770         subwindows that are instantiated.
11771
11772         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
11773         of cachel information.
11774         (IMAGE_INSTANCE_DISPLAY_X):
11775         (IMAGE_INSTANCE_DISPLAY_Y):
11776         (IMAGE_INSTANCE_DISPLAY_WIDTH):
11777         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
11778         (XIMAGE_INSTANCE_DISPLAY_X):
11779         (XIMAGE_INSTANCE_DISPLAY_Y):
11780         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
11781         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
11782         remove subwindow_cachel structure and function references.
11783         (image_instance_type_to_mask): inline from glyphs.c
11784
11785         * redisplay.c (redisplay_frame): remove subwindow_cachel
11786         references.
11787
11788         * frame.h (struct frame): remove subwindow_cachels.
11789         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
11790
11791         * frameslots.h: add subwindow_instance_cache.
11792
11793         * window.c (replace_window): check subwindow cache of replacement.
11794         (window_unmap_subwindows_cache_mapper):
11795         (window_unmap_subwindows): new functions. Unmap all subwindows
11796         cached on this window.
11797         (mark_window_as_deleted): unmap all subwindows.
11798
11799 2000-04-27  Andy Piper  <andy@xemacs.org>
11800
11801         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
11802
11803         * glyphs-widget.c (widget_layout): return something.
11804         (layout_layout): return something. Fail if not initialized.
11805         (layout_query_geometry): ditto.
11806         (image_instantiator_native_layout): new function. Initialized the
11807         native layout type.
11808         (widget_instantiate): don't do layout stuff here.
11809
11810         * glyphs.c (instantiate_image_instantiator): reorded calling or
11811         instantiate and post_instantiate with layout in between.
11812         (image_instance_layout): be more selective about deciding whether
11813         the layout has been done or not.
11814
11815         * glyphs.h (struct image_instantiator_methods): return a value
11816         from layout_method.
11817
11818 2000-04-26  Andy Piper  <andy@xemacs.org>
11819
11820         * glyphs.c (allocate_image_instance): make initial width and
11821         height unspecified. Set initialized to 0.
11822
11823         * syscommctrl.h new file. Encapsulates commctrl.h.
11824
11825         * syswindows.h new file. Encapsulates windows.h.
11826
11827         * ntplay.c: use new syswindows.h and syscommctrl.h header.
11828         * nt.c: ditto.
11829         * console-msw.h: ditto.
11830
11831         * redisplay-tty.c (tty_output_display_block): remove layout references.
11832
11833         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
11834         window handle rather than just the frame.
11835
11836         * glyphs.c (mark_image_instance): remove layout references.
11837         (print_image_instance): ditto.
11838         (image_instance_equal): ditto.
11839         (image_instance_hash): ditto.
11840         (decode_image_instance_type): ditto.
11841         (encode_image_instance_type): ditto.
11842         (image_instantiate): ditto.
11843         (allocate_glyph): ditto.
11844         (Fimage_instance_height): ditto.
11845         (Fimage_instance_width): ditto.
11846         (update_subwindow): ditto.
11847
11848         * redisplay-x.c (x_output_display_block): recode for layouts as
11849         widgets.
11850
11851         * redisplay-output.c (redisplay_output_layout): recode for layouts
11852         as widgets.
11853         (compare_runes): remove layout references.
11854
11855         * redisplay-msw.c (mswindows_output_display_block): recode for
11856         layouts as widgets.
11857
11858         * glyphs-widget.c (image_instantiator_layout): remove
11859         layout_possible_dest_types.
11860         (layout_possible_dest_types): deleted.
11861
11862         * glyphs.h (image_instance_type): remove layout references.
11863         (struct Lisp_Image_Instance): ditto. Add initialized flag.
11864         (IMAGE_INSTANCE_INITIALIZED): new accessor.
11865         (XIMAGE_INSTANCE_INITIALIZED): ditto.
11866
11867 2000-04-25  Andy Piper  <andy@xemacs.org>
11868
11869         * glyphs-widget.c (image_instantiator_buttons):
11870         (image_instantiator_edit_fields):
11871         (image_instantiator_combo_box):
11872         (image_instantiator_scrollbar):
11873         (image_instantiator_progress_guage):
11874         (image_instantiator_tree_view):
11875         (image_instantiator_tab_control):
11876         (image_instantiator_labels):
11877         (image_instantiator_layout): call default post_instantiate method.
11878         (widget_post_instantiate): new function. Simply lays out the
11879         widgets.
11880
11881         * glyphs.h (struct image_instantiator_methods): add
11882         post_instantiate method.
11883
11884         * glyphs.c (instantiate_image_instantiator): add post_instantiate
11885         method calls.
11886
11887 2000-04-23  Andy Piper  <andy@xemacs.org>
11888
11889         * glyphs.h (struct image_instantiator_methods): add
11890         decode_domain_method.
11891         (struct Lisp_Image_Instance): remove subwindow frame - it can be
11892         derived from the domain.
11893         (IMAGE_INSTANCE_FRAME): new accessor.
11894         (XIMAGE_INSTANCE_FRAME): ditto.
11895
11896         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
11897         instead of _SUBWINDOW_FRAME.
11898         (finalize_image_instance): ditto.
11899         (Fimage_instance_foreground): ditto.
11900         (Fimage_instance_background): ditto.
11901         (image_instantiate): ditto.
11902         (update_subwindow_cachel): ditto.
11903         (update_subwindow): ditto.
11904         (unmap_subwindow): ditto.
11905         (map_subwindow): ditto
11906         (subwindow_instantiate): ditto.
11907         * glyphs-msw.c (mswindows_update_widget): ditto.
11908         (mswindows_progress_gauge_instantiate): ditto.
11909         (mswindows_tab_control_update): ditto.
11910         * glyphs-x.c (x_update_widget): ditto.
11911         (x_widget_instantiate): ditto.
11912         (x_tab_control_instantiate): ditto.
11913         (x_tab_control_update): ditto.
11914         * event-msw.c (mswindows_wnd_proc): ditto
11915
11916         * glyphs-widget.c (image_instantiator_layout): use
11917         subwindow_decode_domain.
11918         (image_instantiator_buttons): ditto.
11919         (image_instantiator_edit_fields): ditto.
11920         (image_instantiator_combo_box): ditto.
11921         (image_instantiator_scrollbar): ditto.
11922         (image_instantiator_progress_guage): ditto.
11923         (image_instantiator_tree_view): ditto.
11924         (image_instantiator_tab_control): ditto.
11925         (image_instantiator_labels): ditto.
11926         (image_instantiator_layout): ditto.
11927
11928         * glyphs.c: add instance error checking to many functions.
11929         (instantiate_image_instantiator): decode device from cache_domain.
11930         (image_instantiate): partially rewrite by using
11931         decode_image_instantiator_domain to determine what domain the
11932         instance needs to be cached in.
11933         (decode_image_instantiator_domain): new function. Determine what
11934         domain the image needs to be cached in.
11935         (check_window_subwindow_cache): new error checking function.
11936         (check_instance_cache_mapper): ditto.
11937         (check_image_instance_structure): ditto.
11938         (subwindow_decode_domain): new function. Encodes a window as a
11939         subwindow's cache domain.
11940         (image_instantiator_format_create): use it for text and
11941         subwindows.
11942
11943 2000-04-21  Andy Piper  <andy@xemacs.org>
11944
11945         * glyphs.c (image_instance_device): new function.
11946         (image_instance_frame): new function.
11947         (image_instance_window): new function.
11948         (image_instance_live_p): new function.
11949
11950         * window.c (mark_window_as_deleted): reset the subwindow_instance_
11951         cache to nil.
11952
11953         * glyphs.h (struct Lisp_Image_Instance): device->domain.
11954         (IMAGE_INSTANCE_DOMAIN): new accessor.
11955         (XIMAGE_INSTANCE_DOMAIN): ditto.
11956
11957         * glyphs-x.c (x_finalize_image_instance): device->domain.
11958
11959         * glyphs-msw.c (init_image_instance_geometry): device->domain.
11960         (mswindows_finalize_image_instance): ditto.
11961
11962         * glyphs-eimage.c (jpeg_instantiate): device->domain.
11963         (gif_instantiate): ditto.
11964         (png_instantiate): ditto.
11965         (tiff_instantiate): ditto.
11966
11967         * glyphs.c (instantiate_image_instantiator): use domain rather
11968         than device.
11969         (mark_image_instance): device -> domain.
11970         (print_image_instance): ditto.
11971         (finalize_image_instance): ditto.
11972         (image_instance_equal): ditto.
11973         (allocate_image_instance): ditto.
11974         (Fcolorize_image_instance): ditto.
11975         (query_string_geometry): ditto.
11976         (image_instantiate): ditto
11977         (query_string_font): ditto.
11978         (image_instantiate): ditto.
11979         (update_subwindow): ditto.
11980         (unmap_subwindow): ditto.
11981         (map_subwindow): ditto.
11982         (subwindow_instantiate): ditto.
11983
11984         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
11985         (DOMAIN_FRAME): ditto.
11986         (DOMAIN_WINDOW): ditto.
11987         (DOMAIN_LIVE_P): ditto.
11988         (XDOMAIN_DEVICE): ditto.
11989         (XDOMAIN_FRAME): ditto.
11990         (XDOMAIN_WINDOW): ditto.
11991
11992         * specifier.c (Fvalid_specifier_domain_p): add image instances as
11993         a valid specifier domain.
11994
11995 2000-04-19  Andy Piper  <andy@xemacs.org>
11996
11997         * glyphs-widget.c (syms_of_glyphs_widget): remove
11998         widget-callback-current-channel.
11999         (vars_of_glyphs_widget): ditto.
12000         * glyphs.h: ditto
12001
12002         * gui.c (get_gui_callback): revert to previous behaviour.
12003
12004 2000-04-18  Andy Piper  <andy@xemacs.org>
12005
12006         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12007         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12008         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12009
12010         * glyphs.c (image_instance_equal): add margin_width.
12011         (image_instance_hash): ditto.
12012
12013         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12014         (layout_query_geometry): ditto.
12015         (layout_layout): ditto.
12016         (syms_of_glyphs_widget): add margin-width.
12017         (image_instantiator_layout): allow margin-width.
12018
12019         * glyphs.c (update_widget_instances): make a normal function.
12020         (syms_of_glyphs): remove Qupdate_widget_instances.
12021         * glyphs.h: ditto.
12022
12023         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12024         so that we don't corrupt ideas about the last event or
12025         command. Remove widget-callback-current-channel fiddling.
12026         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12027
12028 2000-05-01  Martin Buchholz <martin@xemacs.org>
12029
12030         * XEmacs 21.2.33 is released.
12031
12032 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12033
12034         * make-src-depend: Allow dots in header file name.
12035
12036 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12037
12038         * mule-charset.h (struct charset_lookup): Add
12039         next_allocated_1_byte_leading_byte and
12040         next_allocated_2_byte_leading_byte.
12041         * mule-charset.c: Move above two variables so that those values
12042         will be dumped.
12043
12044 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12045
12046         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12047         when string length is zero.
12048         (find_charsets_in_emchar_string): Ditto.
12049
12050 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12051
12052         * lisp.h: extern Qdialog and Qmenubar.
12053
12054         * gui-x.c: added events.h.
12055                 also fixed typo which made the file uncompilable.
12056
12057         * general.c: Added Qmenubar and Qdialog
12058
12059 2000-04-28  Ben Wing  <ben@xemacs.org>
12060
12061         * frame-msw.c (mswindows_init_frame_1):
12062         * frame-msw.c (mswindows_mark_frame):
12063         * event-msw.c (mswindows_enqueue_dispatch_event):
12064         * console-msw.h:
12065         * console-msw.h (struct mswindows_frame):
12066         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12067         there are now three hash tables for callbacks.
12068         mswindows_enqueue_dispatch_event is no longer static.
12069
12070         * dialog-x.c (maybe_run_dbox_text_callback):
12071         * dialog-x.c (dbox_descriptor_to_widget_value):
12072         switch to new cons3 form for callbacks.
12073
12074         * glyphs-msw.c (mswindows_register_gui_item):
12075         * glyphs-msw.c (mswindows_widget_instantiate):
12076         * glyphs-msw.c (add_tree_item):
12077         * glyphs-msw.c (add_tab_item):
12078         new image instance parameter, so it can be passed to callback-ex.
12079         respect :callback-ex as well as :callback.
12080
12081         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12082         add :callback-ex.
12083
12084         * glyphs.c (print_image_instance):
12085         prettify, e.g. now prints widget type.
12086
12087         * gui-x.h:
12088         certain funs have new image instance parameter.
12089
12090         * gui.c:
12091         * gui.c (get_gui_callback):
12092         * gui.c (gui_item_add_keyval_pair):
12093         * gui.c (gui_item_init):
12094         * gui.c (gui_add_item_keywords_to_plist):
12095         * gui.c (mark_gui_item):
12096         * gui.c (gui_item_hash):
12097         * gui.c (gui_item_equal):
12098         * gui.c (copy_gui_item):
12099         * gui.c (syms_of_gui):
12100         recognize callback-ex in a number of places.
12101         also, fix the annoying "can't get out of yes-no dialog" bug.
12102
12103         * gui.h:
12104         * gui.h (struct Lisp_Gui_Item):
12105         recognize callback-ex in a number of places.
12106
12107         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12108         new parameter in button_item_to_widget_value.
12109
12110         * glyphs-x.c (x_update_widget):
12111         * glyphs-x.c (x_button_instantiate):
12112         * glyphs-x.c (x_button_update):
12113         * glyphs-x.c (x_progress_gauge_instantiate):
12114         * glyphs-x.c (x_edit_field_instantiate):
12115         * glyphs-x.c (x_combo_box_instantiate):
12116         * glyphs-x.c (x_tab_control_instantiate):
12117         * glyphs-x.c (x_label_instantiate):
12118         new image instance parameter in various places.
12119
12120         * event-Xt.c:
12121         * event-Xt.c (enqueue_Xt_dispatch_event):
12122         this fun gets exported.
12123
12124         * gui-msw.c:
12125         * gui-msw.c (mswindows_handle_gui_wm_command):
12126         handle both :callback and :callback-ex, and generate our own
12127         event because it's one of the callback-ex arguments.
12128
12129         * gui-x.c:
12130         * gui-x.c (popup_selection_callback):
12131         handle both :callback and :callback-ex, and generate our own
12132         event because it's one of the callback-ex arguments.
12133         * gui-x.c (button_item_to_widget_value):
12134         * gui-x.c (gui_items_to_widget_values_1):
12135         * gui-x.c (gui_item_children_to_widget_values):
12136         * gui-x.c (gui_items_to_widget_values):
12137         new image instance parameter in various places.
12138
12139         * fns.c (Freplace_list):
12140         fix small typo in doc string.
12141
12142         * lisp.h:
12143         declare enqueue_Xt_dispatch_event.
12144
12145 2000-04-28  Ben Wing  <ben@xemacs.org>
12146
12147         * buffer.c:
12148         * buffer.c (Frecord_buffer):
12149         * buffer.c (syms_of_buffer):
12150         delete record-buffer-hook.
12151
12152         * fns.c:
12153         * fns.c (Freplace_list):
12154         * fns.c (syms_of_fns):
12155         new primitive replace-list.
12156
12157         * frameslots.h:
12158         slot for old buffer-alist.
12159
12160         * lisp.h:
12161         exfun replace-list.
12162
12163         * redisplay.c:
12164         * redisplay.c (redisplay_frame):
12165         * redisplay.c (syms_of_redisplay):
12166         * redisplay.c (vars_of_redisplay):
12167         new hook buffer-list-changed-hook.
12168         call it.
12169
12170 2000-04-27  Ben Wing  <ben@xemacs.org>
12171
12172         * extents.h: extern in_modeline_generation.
12173
12174         * redisplay.c (generate_formatted_string_db): set
12175         in_modeline_generation.
12176
12177         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12178         flags if in modeline generation.  otherwise frame-modified-tick
12179         is ticked far too often.
12180         Declare in_modeline_generation.
12181
12182 2000-04-26  Ben Wing  <ben@xemacs.org>
12183
12184         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12185         option.
12186         (vars_of_emacs): add quick-build as an error-checking option.
12187         A bit kludgy, but there doesn't seem much point in creating
12188         a real var for this.
12189
12190         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
12191
12192 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12193
12194         * redisplay.h (struct display_line): Add a new variable,
12195         line_continuation.
12196
12197         * redisplay.c (create_text_block): Set dl->line_continuation if
12198         the line continues.
12199         (create_string_text_block): Ditto.
12200         (regenerate_window_incrementally): Use line_continuation instead
12201         of searching continuation glyph.
12202         (add_margin_runes): Call add_glyph_rune.
12203         (add_glyph_rune): Handle margin glyph.
12204
12205 2000-04-20  Martin Buchholz  <martin@xemacs.org>
12206
12207         * filelock.c (fill_in_lock_file_name):
12208         ANSIfy.
12209         Check for IS_ANY_SEP instead of '/'.
12210         (lock_file_1):
12211         Avoid generating gratuitous garbage.  Call user_login_name() directly.
12212         Never check errno without first seeing that system call failed.
12213         (unlock_file): Add GCPRO.
12214         (Flock_buffer): Fix docstring.
12215         (Ffile_locked_p): Fix docstring.  Add GCPRO.
12216
12217 2000-04-19  Martin Buchholz  <martin@xemacs.org>
12218
12219         * sysdep.c (get_pty_max_bytes):
12220         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
12221         strings longer than 252 bytes.
12222
12223         * md5.c: Unconditionally include ANSI header <limits.h>
12224
12225         * glyphs-x.c (convert_EImage_to_XImage):
12226         * lisp-union.h (union Lisp_Object):
12227         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
12228
12229 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
12230
12231         * filelock.c (current_lock_owner): Remove unused variable o, p.
12232
12233 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
12234
12235         * callint.c: Remove multiply defined symbol Qlet
12236         (syms_of_callint): ditto.
12237
12238 2000-04-14  Andy Piper  <andy@xemacs.org>
12239
12240         * general.c (syms_of_general): add last-command, this-command, let
12241         and funcall.
12242
12243         * lisp.h: declare various symbols.
12244
12245         * glyphs.h: declare Qwidget_callback_current_channel;
12246
12247         * glyphs-widget.c (syms_of_glyphs_widget): add
12248         Qgui_callback_current_channel.
12249         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
12250
12251         * gui-msw.c (mswindows_handle_gui_wm_command): bind
12252         widget-callback-current-channel when invoking the interactive
12253         arg. Also bind last-command and next-command when invoking the
12254         widget updates.
12255         * gui-x.c (popup_selection_callback): ditto.
12256
12257         * gui.c (get_gui_callback): massage args so that we are always
12258         calling eval. This allows us to add our own variable bindings
12259         outside.
12260
12261         * glyphs-x.c (x_button_instantiate): use
12262         gui_items_to_widget_values since this is GC safe.
12263         (x_progress_gauge_instantiate): ditto.
12264         (x_edit_field_instantiate): ditto.
12265         (x_label_instantiate): ditto.
12266
12267         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
12268         (emacs_Xt_event_widget_focus_out): new function
12269         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
12270         focus.
12271         (emacs_Xt_event_add_widget_actions): new function. add focus
12272         functions as actions.
12273         (init_event_Xt_late): use it.
12274
12275 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
12276
12277         * event-stream.c (Fdispatch_event): Doc fix.
12278
12279 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
12280
12281         * postgresql.c: Remove all references to PQsetenv*.
12282
12283         * postgresql.h: Remove references to PGsetenvHandler object.
12284         * lrecord.h (lrecord_type): Ditto.
12285
12286 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12287
12288         * glyphs-msw.h (struct mswindows_image_instance_data): Added
12289         real_heigh and real_width members, and accessor macros for these.
12290
12291         * glyphs-msw.c (init_image_instance_geometry): New function.
12292         (init_image_instance_from_dibitmap): Use it.
12293         (mswindows_resource_instantiate): Use it.
12294         (init_image_instance_from_xbm_inline): Use it.
12295         (mswindows_initialize_image_instance_mask): Use real bitmap
12296         geometry.
12297         (mswindows_create_resized_bitmap): Ditto.
12298         (mswindows_create_resized_mask): Ditto.
12299
12300         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
12301         and bitmap to their surface size.
12302
12303 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
12304
12305         * process-unix.c (unix_send_process): Guard against process MIA
12306         after Faccept_process_output.
12307
12308 2000-04-11  Ben Wing  <ben@xemacs.org>
12309
12310         * eval.c (unbind_to_hairy): fix brokenness introduced by
12311         nanosecond speed improvements.
12312
12313 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
12314
12315         * sunplay.c (init_device): To play sounds correctly, the device
12316         apparently needs to be initialized at least once by XEmacs.  Make
12317         it so.
12318
12319 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12320
12321         * redisplay.c (add_margin_runes): Add text image glyph
12322           handling.
12323
12324 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
12325
12326         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
12327         gcc is newer than 2.5.
12328
12329 2000-04-06  Colin Rafferty  <colin@xemacs.org>
12330
12331         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
12332
12333         * fns.c (size_bit_vector):
12334         * alloc.c (size_vector):
12335         (make_vector_internal):
12336         (make_bit_vector_internal):
12337         (sweep_bit_vectors_1):
12338         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
12339
12340 2000-04-06  Andy Piper  <andy@xemacs.org>
12341
12342         * gmalloc.c (malloc): undo previous change.
12343         (malloc): ditto.
12344         (free): ditto.
12345         (realloc): ditto.
12346
12347 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
12348
12349         * line-number.c (buffer_line_number): Revert to former version.
12350
12351 2000-04-06  Andy Piper  <andy@xemacs.org>
12352
12353         * gmalloc.c (malloc): add error checking.
12354         (malloc): ditto.
12355         (free): ditto.
12356         (realloc): ditto.
12357
12358         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
12359         button_item_to_widget_value arg.
12360
12361         * glyphs-x.c (x_button_instantiate): add extra
12362         button_item_to_widget_value arg.
12363         (x_progress_gauge_instantiate): ditto.
12364         (x_edit_field_instantiate): ditto.
12365         (x_label_instantiate): ditto.
12366
12367         * gui-x.c (gui_items_to_widget_values_1): add extra
12368         button_item_to_widget_value arg.
12369         (button_item_to_widget_value): add extra menu_item_p arg.
12370
12371         * gui-x.h: change signature of button_item_to_widget_value.
12372
12373         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
12374         button_item_to_widget_value arg.
12375
12376 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
12377
12378         * buffer.h (struct buffer): auto_save_modified should be long.
12379
12380 2000-04-05  Andy Piper  <andy@xemacs.org>
12381
12382         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
12383         type.
12384         (button_query_geometry): give a little more room so that athena
12385         buttons fit.
12386
12387 2000-04-05  Andy Piper  <andy@xemacs.org>
12388
12389         * faces.c (complex_vars_of_faces): The widget face should inherit
12390         the font of the gui-element face.
12391
12392 2000-04-04  Andy Piper  <andy@xemacs.org>
12393
12394         * glyphs-x.c (x_button_update): new function. unconditionally
12395         update a button's state when the instance is dirty.
12396         (image_instantiator_format_create_glyphs_x): add x_button_update.
12397         (x_widget_instantiate): remove old resize cruft.
12398
12399 2000-04-02  Andy Piper  <andy@xemacs.org>
12400
12401         * frame.c (change_frame_size_1): The introduction of gutters means
12402         that we need to allow 0 as a potential frame dimension.
12403
12404 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12405
12406         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
12407         image glyph if allow_cursor.
12408         (add_hscroll_rune): Don't allow cursor to border glyph.
12409         (create_text_block): Ditto.
12410
12411         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
12412         text not in buffer.
12413         (redisplay_output_layout): Call ensure_face_cachel_complete for
12414         text image glyph.
12415
12416
12417 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12418
12419         * redisplay.c (add_glyph_rune): Adding text image as text runes.
12420
12421         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
12422         not in buffer
12423
12424         * redisplay-tty.c (tty_output_display_block): Delete the routine
12425         for text image glyph
12426         * redisplay-x.c (x_output_display_block): ditto
12427         * redisplay-msw.c (mswindows_output_display_block): ditto
12428
12429 2000-02-02  Mike Alexander  <mta@arbortext.com>
12430
12431         Note: Some of these were committed by accident as part of other
12432         patches.
12433
12434         * regex.c (regex_compile): Avoid compiler warnings.
12435
12436         * ntproc.c (sys_spawnve): Avoid compiler warnings.
12437
12438         * nt.h: Declare term_ntproc correctly.
12439
12440         * nt.c: Remove incorrect declaration of get_home_directory which
12441         is declared correctly in lisp.h.
12442
12443         * keymap.c (get_keyelt): Avoid compiler warnings.
12444         (raw_lookup_key_mapper): Avoid compiler warnings.
12445
12446         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
12447
12448         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
12449
12450         * filemode.c (mode_string): Avoid compiler warnings.
12451
12452         * file-coding.c (Fcoding_system_aliasee): Add return statement to
12453         avoid warning.
12454
12455         * events-mod.h: Undef some things that winuser.h defines differently.
12456
12457         * data.c (Faset): Avoid compiler warnings.
12458
12459         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
12460
12461 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12462
12463         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
12464         Fall through to simple beep on error.
12465         Replace "extern" by real header file.
12466
12467         * linuxplay.c: Use nativesound.h
12468         (play_sound_data): Return error code. Be less verbose on error.
12469
12470         * sunplay.c: Use nativesound.h
12471         (play_sound_data): Return error code. Be less verbose on error.
12472
12473         * ntplay.c: Use nativesound.h
12474         (play_sound_data): Return fake error code
12475
12476         * sgiplay.c: Use nativesound.h
12477         (play_sound_data): Return error code
12478
12479         * hpplay.c: Use nativesound.h, partially implement
12480         new error code. Break compilation until finished.
12481         (play_sound_data): error code.
12482
12483         * nativesound.h (play_sound_file):
12484           (play_sound_data): Prototype in new header.
12485
12486 2000-03-31  Andy Piper  <andy@xemacs.org>
12487
12488         * glyphs-widget.c: (button_query_geometry): new function. Adjust
12489         for toggle and radio buttons.
12490         (image_instantiator_buttons): use it.
12491
12492 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12493
12494         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
12495         (x_update_horizontal_scrollbar_callback): Return if no mirror was
12496         found. Scrollbar event probably belonged to some old config.
12497
12498 2000-03-31  Andy Piper  <andy@xemacs.org>
12499
12500         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
12501         than 1.
12502         (initialize_widget_image_instance): default layout to
12503         LAYOUT_HORIZONTAL rather than 0.
12504         (widget_instantiate): reverse the item list at the end rather than
12505         every iteration.
12506         (layout_layout): re-code for the border text at the front of the
12507         item list rather than at the end.
12508         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
12509         provided by the user.
12510         (widget_query_geometry): comment.
12511
12512 2000-03-30  Andy Piper  <andy@xemacs.org>
12513
12514         * glyphs-widget.c (image_instantiator_layout): allow standard
12515         widget keywords in layouts.
12516
12517         * gutter.c (output_gutter): cope with nil gutter contents.
12518
12519         * frame.c (Fset_frame_properties): add gutter docs.
12520
12521 2000-03-29  Andy Piper  <andy@xemacs.org>
12522
12523         * toolbar-msw.c (TBSTYLE_FLAT): add.
12524         (mswindows_output_toolbar): minor fiddling.
12525
12526 2000-03-29  Andy Piper  <andy@xemacs.org>
12527
12528         * gutter.c (output_gutter): force gutter size recalculation if
12529         what we are trying to display won't fit.
12530         (update_gutter_geometry): new function. A per-gutter version of
12531         update_frame_gutter_geometry.
12532         (update_frame_gutter_geometry): use it.
12533         (redraw_exposed_gutter): add extra debugging output.
12534
12535 2000-03-28  Mike Alexander  <mta@arbortext.com>
12536
12537         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
12538         (pdump_file_unmap): Implement it on Windows
12539         (pdump_file_get): Save alocated handles for pdump_file_unmap
12540
12541 2000-03-28  Andy Piper  <andy@xemacs.org>
12542
12543         * gui.c (get_gui_callback): treat Quit specially.
12544
12545 2000-03-27  Andy Piper  <andy@xemacs.org>
12546
12547         * glyphs.c (image_instantiate): be careful to check in the same
12548         way we assigned.
12549
12550 2000-03-27  Didier Verna  <didier@xemacs.org>
12551
12552         * config.h.in: define the proper SMART_INCLUDE macro.
12553         handle renaming of `foo_h_path' to `foo_h_file'.
12554
12555         * database.c: ditto.
12556
12557         * emacs.c: ditto.
12558
12559         * linuxplay.c: ditto.
12560
12561         * terminfo.c: ditto.
12562
12563         * tooltalk.h: ditto.
12564
12565 2000-03-27  Andy Piper  <andy@xemacs.org>
12566
12567         * glyphs-msw.c (mswindows_update_widget): make sure the widget
12568         gets updated whenever the face might have changed.
12569
12570 2000-03-26  Mike Alexander  <mta@arbortext.com>
12571
12572         * dumper.c (pdump_resource_free): Fix the comment.
12573
12574 2000-03-21  Olivier Galibert  <galibert@pobox.com>
12575
12576         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
12577
12578 2000-03-22  Mike Alexander  <mta@arbortext.com>
12579
12580         * dumper.c: Include Windows headers on Windows
12581         (pdump_resource_free): Add a body to the function
12582         (pdump_load): exe_name -> exe_path and add some comments.
12583
12584 2000-03-25  Mike Alexander  <mta@arbortext.com>
12585
12586         * gui.c (copy_gui_item_tree): Return a value in all cases
12587
12588 2000-03-21  Didier Verna  <didier@xemacs.org>
12589
12590         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
12591         lwlib/config.h.in.
12592         (SMART_INCLUDE): new macro.
12593         (POSTGRES_INCLUDE): new macro to include postgresql headers from
12594         the proper location.
12595
12596         * postgresql.c: use it.
12597
12598         * inline.c: ditto.
12599
12600 2000-03-24  Andy Piper  <andy@xemacs.org>
12601
12602         * gutter.c (redraw_exposed_gutters): must be "in display" when we
12603         do this.
12604
12605 2000-03-24  Andy Piper  <andy@xemacs.org>
12606
12607         * redisplay-output.c (compare_runes): use image_instance_changed
12608         to detect changes. Do not depend on glyphs_changed, only depend on
12609         dirtiness.
12610          (redisplay_output_layout): add debug messages.
12611         (compare_runes): ditto.
12612
12613         * glyphs.h: declare new functions.
12614         (struct Lisp_Image_Instance): remove percent and associated
12615         accessors.
12616
12617         * gui.h: declare new copying functions.
12618
12619         * gui.c (copy_gui_item_tree): new function.
12620         (copy_gui_item): new function.
12621         (gui_item_id_hash): revert to standard hash.
12622         (gui_item_hash): ditto.
12623         (gui_item_hash_internal): deleted.
12624         (mark_gui_item): mark value.
12625         (gui_item_add_keyval_pair): add value.
12626         (gui_item_init): ditto.
12627         (gui_add_item_keywords_to_plist): ditto.
12628         (gui_item_equal): ditto.
12629         (syms_of_gui): add Q_value.
12630
12631         * glyphs-x.c (x_progress_gauge_update): use pending items and
12632         value for setting the state.
12633         (x_update_widget): don't set items from pending here.
12634
12635         * glyphs-widget.c (update_widget): update items here.
12636         (progress_gauge_set_property): use items for storing value. Put
12637         new value in pending items.
12638
12639         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
12640         items for new value. Convert percent -> value.
12641         (mswindows_tab_control_update): don't update items here.
12642
12643         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
12644         (update_subwindow): ditto.
12645         (image_instance_changed): new function. Compare hash values and
12646         past and present widget items.
12647         (image_instantiate): We more careful about where we instantiate
12648         things.
12649         (image_instantiate): add error checking.
12650
12651         * gutter.c (syms_of_gutter): use -hook.
12652
12653 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
12654
12655         * console-tty.c (Fset_console_tty_input_coding_system): Use
12656         Qkeyboard.
12657         (Fset_console_tty_output_coding_system): Use Qterminal.
12658         (tty_init_console): Use Qkeyboard and Qterminal.
12659
12660 2000-03-21  Ben Wing  <ben@xemacs.org>
12661
12662         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
12663         From Mike Alexander <mta@arbortext.com>.
12664
12665 2000-03-21  Ben Wing  <ben@xemacs.org>
12666
12667         * event-msw.c (mswindows_need_event): Horrible kludge to fix
12668         process brokenness.  Proper implementation to come.
12669         * callproc.c:
12670         Rename call-process-internal to old-call-process-internal.
12671         New impl. in process.el.
12672
12673 2000-03-21  Martin Buchholz  <martin@xemacs.org>
12674
12675         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
12676
12677 2000-03-20  Andy Piper  <andy@xemacs.org>
12678
12679         * glyphs.c (full_list_hash): make hashes of the same elements in
12680         different orders return different values.
12681
12682 2000-03-20  Martin Buchholz <martin@xemacs.org>
12683
12684         * XEmacs 21.2.32 is released.
12685
12686 2000-03-20  Martin Buchholz  <martin@xemacs.org>
12687
12688         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
12689         (DFC_MALLOC_USE_CONVERTED_DATA):
12690         Add aliasing-safe casts to allow use with char* or unsigned char*
12691         lvalues.
12692
12693         * eldap.c (Fldap_open):
12694         (Fldap_search_basic):
12695         (Fldap_add):
12696         (Fldap_modify):
12697         Make C++-compilable.
12698         Make sure GCPRO'ed variables are initialized.
12699         Use temp variables to avoid repeated calls to Flength.
12700
12701 2000-03-16  Martin Buchholz  <martin@xemacs.org>
12702
12703         * sysfile.h:
12704         Make sure PATH_MAX is always defined.
12705         Include limits.h for PATH_MAX.
12706         Deprecate use of MAXPATHLEN.
12707
12708 2000-03-10  Martin Buchholz  <martin@xemacs.org>
12709
12710         * emacs.c: Add reinit_vars_of_fileio.
12711         * symsinit.h: Add reinit_vars_of_fileio.
12712         * fileio.c (reinit_vars_of_fileio): New.
12713         * fileio.c (Fmake_temp_name):
12714         Initialize temp_name random number from microseconds to make
12715         collisions even less likely.  Initialize always at process startup
12716         time.  (make-temp-name) used to return the same file name twice in
12717         a row when PDUMP.
12718         Random stylistic fiddling.
12719         Comment fixes.
12720
12721 2000-03-20  Andy Piper  <andy@xemacs.org>
12722
12723         * glyphs.c (image_instantiate): allow text glyphs to be
12724         instantiated in the minibuffer window.
12725
12726 2000-03-19  Andy Piper  <andy@xemacs.org>
12727
12728         * glyphs.c (image_instance_hash): be careful about which items we
12729         hash on.
12730
12731         * glyphs-widget.c (tab_control_set_property): record into pending
12732         items rather than the actual items.
12733
12734         * glyphs-x.c (x_update_widget): use pending items to update with.
12735
12736         * glyphs-msw.c (mswindows_tab_control_update): use pending items
12737         to update with.
12738
12739         * glyphs.c (mark_image_instance): mark pending items.
12740
12741         * window.c (Fset_window_configuration): record the buffer.
12742         (Fselect_window): totally revert previous change which breaks many
12743         things.
12744
12745 2000-03-18  Andy Piper  <andy@xemacs.org>
12746
12747         * glyphs-msw.c (mswindows_tab_control_update): force selected
12748         item.
12749
12750         * glyphs.c (image_instantiate): don't allow the minibuffer as a
12751         window domain cache, otherwise we get inconsistencies at
12752         startup. There is something fishy at startup which can lead to the
12753         minibuffer being the selected window when the gutter content is
12754         instantiated.
12755
12756         * gui.c (parse_gui_item_tree_list): add probably unnecessary
12757         gcpros.
12758         (parse_gui_item_tree_children): ditto.
12759         (parse_gui_item_tree_item): ditto.
12760
12761         * glyphs.c (Fupdate_widget_instances): return something.
12762
12763 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
12764
12765         * window.c (Fselect_window): Undo 2000-03-17 change.
12766
12767 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
12768
12769         * postgresql.c (Fpq_setenv): Remove this turkey when linking
12770         against v7.0 libraries.  Insta-coredump city until the postgres
12771         folks fix it.
12772
12773 2000-03-17  Andy Piper  <andy@xemacs.org>
12774
12775         * faces.c (complex_vars_of_faces): don't give the widget face an
12776         inherited background pixmap.
12777
12778         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
12779         selected item.
12780
12781         * event-stream.c (Fdispatch_non_command_events): return something.
12782
12783         * gutter.c (output_gutter): use widget face.
12784         (clear_gutter): ditto.
12785
12786         * NEWS: adjust again.
12787
12788         * window.c (Fselect_window): make sure this runs to completion to
12789         avoid oddities with Fset_window_configuration.
12790         (Fcurrent_window_configuration): in general do not save the
12791         minibuffer as the selected window.
12792
12793         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
12794
12795 2000-03-16  Olivier Galibert  <galibert@pobox.com>
12796
12797         * emacs.c (Frunning_temacs_p): Revert previous patch.
12798         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
12799
12800 2000-03-16  Andy Piper  <andy@xemacs.org>
12801
12802         * glyphs-x.c (x_tab_control_update): if no widget values then
12803         return.
12804
12805         * NEWS: update for new features.
12806
12807         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
12808         synthetic event to the native system.
12809         (reinit_vars_of_event_Xt): set force_event_pending to
12810         emacs_Xt_force_event_pending.
12811
12812         * events.h (struct event_stream): add force_event_pending.
12813
12814         * specifier.c (recompute_one_cached_specifier_in_window): add
12815         comment.
12816
12817         * redisplay.c (redisplay_frame): don't call
12818         update_frame_subwindows. Reset subwindow cachels when
12819         subwindows_changed, removing this was an optimization too far.
12820
12821         * redisplay-output.c (compare_runes): reorganize so that we catch
12822         glyph changes when we want them. Set optimize_output when this
12823         would help layouts.
12824         (redisplay_output_layout): remove frame_really_changed, use
12825         optimize_output instead.
12826
12827         * redisplay-msw.c (mswindows_output_display_block): reset
12828         optimize_output after outputting a glyph.
12829         * redisplay-x.c (x_output_display_block): ditto.
12830         * redisplay-tty.c (tty_output_display_block): ditto.
12831
12832         * gutter.c: (specifier_vars_of_gutter): use new spec changed
12833         functions.
12834         (gutter_specs_changed): do specific gutter positions.
12835         (top_gutter_specs_changed): new function. Only update the
12836         specified gutter specs.
12837         (bottom_gutter_specs_changed): ditto.
12838         (left_gutter_specs_changed): ditto.
12839         (right_gutter_specs_changed): ditto.
12840
12841         * gui.c (gui_item_hash_internal): new function, does a real hash.
12842         (gui_item_id_hash): use it.
12843         (gui_item_hash): hash the eval'ed gui_item.
12844
12845         * gui-x.c (popup_selection_callback): send an eval event to call
12846         Fupdate_widget_instances.
12847
12848         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
12849         to call Fupdate_widget_instances.
12850
12851         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
12852         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
12853
12854         * glyphs.c: (update_frame_subwindows): deleted.
12855         (Fupdate_widget_instances): new function for updating the dirty
12856         state of widgets that might have changed.
12857         (syms_of_glyphs): add Qupdate_widget_instances.
12858         (full_list_hash): hash a list completely.
12859         (image_instance_hash): use it for items and properties.
12860
12861         * frame-msw.c (mswindows_size_frame_internal): remove unused
12862         variable.
12863
12864         * faces.h (struct face_cachel): fix comment.
12865
12866         * event-stream.c (Fdispatch_non_command_events): new
12867         function. Process non-command events, forcing an event cycle
12868         beforehand.
12869         (syms_of_event_stream): declare.
12870         (event_stream_force_event_pending): new function. Force an event
12871         on the native event queue so that an event cycle will occur next
12872         time we check.
12873
12874         * event-msw.c:
12875         (struct ntpipe_shove_stream):
12876         (mswindows_enqueue_dispatch_event):
12877         (mswindows_dequeue_dispatch_event):
12878         (mswindows_cancel_dispatch_event):
12879         (mswindows_pump_outstanding_events):
12880         (mswindows_drain_windows_queue):
12881         (mswindows_handle_paint):
12882         (mswindows_wnd_proc):
12883         (mswindows_key_to_emacs_keysym):
12884         (get_process_input_waitable):
12885         (emacs_mswindows_delete_stream_pair): re-indent file.
12886         (mswindows_need_event): do not process further fds if the windows
12887         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
12888         fixes the 100% cpu problem.
12889         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
12890
12891 2000-03-15  Olivier Galibert  <galibert@pobox.com>
12892
12893         * alloc.h: New.
12894         * dumper.h: New.
12895         * dumper.c: New.
12896
12897         * emacs.c: Moved dump file searching to dumper.c.
12898         (Frunning_temacs_p): Fixed.
12899
12900         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
12901         last_lrecord_type_index_assigned.
12902
12903 2000-02-20  Olivier Galibert  <galibert@pobox.com>
12904
12905         * symsinit.h: Added reinit parameter to init_console_stream
12906         declaration.
12907
12908         * lisp.h: Added file parameter to pdump_load declaration.
12909
12910         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
12911         support.  Added dump file searching.
12912
12913         * config.h.in: Added EMACS_PROGNAME.
12914
12915         * console-stream.c (init_console_stream): Fix reinitialisation
12916         when running from temacs.
12917
12918         * alloc.c (pdump): Add id support.
12919         (pdump_load): Add file parameter and signature/id support.
12920
12921         * Makefile.in.in: Add full pdump support.
12922
12923 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
12924
12925         * postgresql.c: Update documentation to reflect latest code
12926         status.
12927         (print_result): Show tuple counts in printed representation when
12928         appropriate.
12929         (Fpq_put_nbytes): MULE-ize.
12930         (Fpq_get_line_async): Ditto.
12931
12932 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
12933
12934         * postgresql.c (Fpq_lo_import): Fix return value.
12935         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
12936
12937 2000-03-13  Ben Wing  <ben@xemacs.org>
12938
12939         * alloc.c (pdump_load):
12940         Fix compile warning under mswin.
12941
12942 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
12943
12944         * postgresql.c: Mule-ization, bug fixes.
12945         Use PG_CODING to encapsulate coding system name changes.
12946         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
12947         (pg-coding-system): Create.
12948
12949         (Fpq_conn_defaults): Mule-ize.
12950         (Fpq_connectdb): Mule-ize & bug fix.
12951         (Fpq_connect_start): Mule-ize.
12952         (Fpq_set_client_encoding): Mule-ize.
12953         (Fpq_finish): Document `DEAD' connection status.
12954         (Fpq_clear): Ditto.
12955         (Fpq_pgconn): Mule-ize.
12956         (Fpq_exec): Mule-ize & bug fix.
12957         (Fpq_send_query): Ditto.
12958         (Fpq_get_result): Ditto.
12959         (Fpq_res_status): Mule-ize.
12960         (Fpq_result_error_message): Mule-ize.
12961         (Fpq_ntuples): fix comments.
12962         (Fpq_fname): Mule-ize.
12963         (Fpq_fnumber): Mule-ize.
12964         (Fpq_ftype): fix comments.
12965         (Fpq_get_value): Mule-ize.
12966         (Fpq_cmd_status): Ditto.
12967         (Fpq_cmd_tuples): Ditto.
12968         (Fpq_oid_value): Ditto.
12969         (Fpq_notifies): Ditto.
12970         (Fpq_lo_import): Ditto.
12971         (Fpq_lo_export): Ditto.
12972         (Fpq_get_line): Ditto.
12973         (Fpq_put_line): Mule-ize and bug fix.
12974         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
12975
12976 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
12977
12978         * postgresql.c (vars_of_postgresql): Mule-ize.
12979         (Fpq_conn_defaults): Ditto.
12980
12981 2000-03-12  Ben Wing  <ben@xemacs.org>
12982
12983         * alloc.c (Fmake_byte_code):
12984         * alloc.c (debug_string_purity_print):
12985         * alloc.c (pdump_backtrace):
12986         * alloc.c (pdump_get_indirect_count):
12987         * alloc.c (pdump_register_sub):
12988         * alloc.c (pdump_register_object):
12989         * alloc.c (pdump_register_struct):
12990         * alloc.c (pdump_dump_data):
12991         * alloc.c (pdump_reloc_one):
12992         Minor cleanups.
12993
12994         * console-msw.c:
12995         * console-msw.c (GetConsoleHwnd):
12996         * console-msw.c (msw_hide_console):
12997         * console-msw.c (msw_show_console):
12998         * console-msw.c (msw_ensure_console_buffered):
12999         * console-msw.c (msw_output_console_string):
13000         * console-msw.c (console_type_create_mswindows):
13001
13002         a) Added functions to manipulate the console window for use with
13003         shell support.
13004
13005         b) Added support for writing text to the console, which is now
13006         used under Windows when xemacs is not being run non-interactively,
13007         to write text that would otherwise be destined for stdout because
13008         under these circumstances, text written to stdout tends to
13009         disappear and not be seen.
13010
13011         * console-msw.h:
13012         * event-Xt.c:
13013         * event-Xt.c (x_event_to_emacs_event):
13014         * event-Xt.c (describe_event_window):
13015         * events-mod.h (XEMACS_MOD_CONTROL):
13016         * events.c:
13017         * events.c (Fmake_event):
13018         * events.c (character_to_event):
13019         * events.c (event_to_character):
13020         * events.c (format_event_object):
13021         * events.c (Fevent_modifiers):
13022         * events.h:
13023         * events.h (struct key_data):
13024         * events.h (struct button_data):
13025         * events.h (struct misc_user_data):
13026         * frame-x.c (Fcde_start_drag_internal):
13027         * frame-x.c (Foffix_start_drag_internal):
13028         * gpmevent.c (Freceive_gpm_event):
13029         * keymap.c:
13030         * keymap.c (bucky_sym_to_bucky_bit):
13031         * keymap.c (control_meta_superify):
13032         * keymap.c (make_key_description):
13033         * keymap.c (keymap_lookup_directly):
13034         * keymap.c (create_bucky_submap):
13035         * keymap.c (keymap_store):
13036         * keymap.c (define_key_check_and_coerce_keysym):
13037         * keymap.c (define_key_parser):
13038         * keymap.c (define_key_alternate_name):
13039         * keymap.c (Fdefine_key):
13040         * keymap.c (raw_lookup_key_mapper):
13041         * keymap.c (struct map_keymap_unsorted_closure):
13042         * keymap.c (map_keymap_unsorted_mapper):
13043         * keymap.c (map_keymap_sort_predicate):
13044         * keymap.c (map_keymap_sorted):
13045         * keymap.c (accessible_keymaps_mapper_1):
13046         * keymap.c (where_is_recursive_mapper):
13047         * keymap.c (describe_map_mapper):
13048         * keymap.c (describe_map_sort_predicate):
13049         * keymap.c (describe_map):
13050         * keymap.c (complex_vars_of_keymap):
13051         And a number of other files, the key modifier preprocessor
13052         constants that xemacs uses have names that conflict with constants
13053         defined under MS Windows for other purposes, so they were renamed
13054         to begin with the prefix XEMACS_. The variables that hold such
13055         modifiers were changed to consistently be of type int to fix
13056         various compile warnings.
13057
13058         * console.c (complex_vars_of_console):
13059         * device.c:
13060         * device-msw.c:
13061         * device-msw.c (mswindows_finish_init_device):
13062         * device-msw.c (msw_get_workspace_coords):
13063         * device-msw.c (mswindows_device_system_metrics):
13064         and various other files, added support for a new
13065         device property called offset-workspace which returns the position
13066         of the upper left corner of the workspace area and goes along with
13067         the existing size-workspace property.
13068
13069         * dialog-msw.c:
13070         * dialog-msw.c (push_bufbyte_string_as_unicode):
13071         * dialog-msw.c (mswindows_popup_dialog_box):
13072         Added support for XEmacs-style accelerator specifications in
13073         button text.  Note: I didn't add support for this under X Windows,
13074         and somebody needs to do this.
13075
13076         * dialog.c:
13077         * dialog.c (Fpopup_dialog_box):
13078         Documented the support for accelerators that was just mentioned.
13079
13080         editfns.c (get_home_directory): Changed behavior under Windows
13081         when HOME not defined; former behavior was irretrievably broken.
13082
13083         * emacs.c:
13084         * emacs.c (main_1):
13085         * emacs.c (main):
13086         * minibuf.c (clear_echo_area_internal):
13087         * minibuf.c (echo_area_append):
13088         * print.c:
13089         * print.c (std_handle_out_external):
13090         * print.c (std_handle_out_va):
13091         * print.c (fatal):
13092         * print.c (write_string_to_stdio_stream):
13093         * print.c (output_string):
13094         * print.c (debug_print):
13095         * print.c (debug_backtrace):
13096         * print.c (debug_short_backtrace):
13097         Cleaned up the code that prints text to stdout so that this can be
13098         changed to output into a console window instead under MS Windows,
13099         as described above.
13100
13101         * eval.c:
13102         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13103         * eval.c (internal_catch):
13104         * eval.c (unwind_to_catch):
13105         * eval.c (throw_or_bomb_out):
13106         * eval.c (condition_case_1):
13107         * eval.c (signal_1):
13108         * eval.c (check_error_state_sanity):
13109         * eval.c (call_with_suspended_errors_1):
13110         * eval.c (call_with_suspended_errors):
13111         * eval.c (reinit_vars_of_eval):
13112         Added code to catch throw loops and check for a pesky bug that may
13113         be gone now.
13114
13115         * event-msw.c:
13116         * event-msw.c (key_needs_default_processing_p):
13117         * event-msw.c (mswindows_wnd_proc):
13118         * event-msw.c (mswindows_modifier_state):
13119         * event-msw.c (emacs_mswindows_quit_p):
13120         * event-msw.c (vars_of_event_mswindows):
13121         a) Added support for using the alt key to select menu items as is
13122         standard under MS Windows.  This is controlled using the variable
13123         menu-accelerator-enabled, just like under X Windows.  There is an
13124         option on the options menu to turn this support on.  I really
13125         think that it should be on by default under Windows, but I'm not
13126         going to make this change yet.
13127
13128         b)  Added support for dynamic display size changes under Windows.
13129
13130         * event-stream.c:
13131         * event-stream.c (maybe_echo_keys):
13132         * event-stream.c (Fnext_event):
13133         * event-stream.c (command_builder_find_leaf):
13134         * event-stream.c (lookup_command_event):
13135         * event-stream.c (execute_command_event):
13136         * event-stream.c (pre_command_hook):
13137         * event-stream.c (post_command_hook):
13138         * event-stream.c (syms_of_event_stream):
13139         * event-stream.c (vars_of_event_stream):
13140         * event-stream.c (complex_vars_of_event_stream):
13141         * events.h (struct command_builder):
13142
13143         a) Tried to clean up a little bit the horribly written x-specific
13144         accelerator code that crept into this file.  I moved this code
13145         into menubar-x.c where it belongs. I also needed to move the
13146         command builder structure into the file events.h because it is
13147         accessed directly by this accelerator code.  What I didn't do, but
13148         which should be done at some point, is to properly abstract this
13149         code using device methods instead of the kludgy way that it
13150         currently hooks into the event code.
13151
13152         b) Added the lisp variables this-command-properties and
13153         last-command- properties, which should be used to synchronize two
13154         adjacent commands in preference to playing games with the variable
13155         this-command, which is typically what happens.
13156
13157         c) Added some slightly nasty code to hook into the lisp support
13158         for shifted- motion-key selection.  This is actually necessary for
13159         somewhat complicated reasons, which are described in
13160         simple.el. (NB: I think the proper thing would be to have the code
13161         that calls the pre and post command hooks also call out to generic
13162         lisp functions in simple.el, where all built-in stuff could be
13163         added.  I will think about this more.)
13164
13165         * event-unixoid.c (poll_fds_for_input):
13166         * lread.c (readchar):
13167         * redisplay-tty.c (tty_clear_frame):
13168         * redisplay-x.c (x_get_gc):
13169         * signal.c (interrupt_signal):
13170         And a whole bunch of other files: fixed up places that printed
13171         directly to stderr to instead call the function stderr_out so that
13172         the changes I made under Windows work correctly.
13173
13174         * filemode.c (mode_string):
13175         Warning fixes.
13176
13177         * frame-msw.c:
13178         * frame-msw.c (mswindows_size_frame_internal):
13179         Fixed the computation of frame size and position to keep the frame
13180         within the workspace area, rather than within the physical
13181         dimensions of the screen, so that the frame doesn't overlap window
13182         manager decorations, such as the start menu and toolbar, typically
13183         at the bottom of the screen.
13184
13185         * frame.c (vars_of_frame):
13186         Changed the default frame title format under MS Windows to consist
13187         of buffername-XEmacs, which is standard under MS Windows.  I think
13188         it might be a good idea to change this everywhere because I think
13189         it is superior to the current frame title format, but this is the
13190         kind of change that is likely to cause some people to get annoyed,
13191         so I'm not making it.
13192
13193         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
13194
13195         * gui-msw.c (mswindows_handle_gui_wm_command):
13196         Fixed compile warnings.
13197
13198         * gui-x.c:
13199         * gui-x.c (strdup_and_add_accel):
13200         * gui-x.c (button_item_to_widget_value):
13201         * gui-x.h:
13202         Added code to automatically put an accelerator onto the beginning
13203         of menu items that don't have one as is now the standard, and is
13204         described more later.  Also fixed things so that the menu item
13205         name can be an evaluated expression, again a new standard.
13206
13207         * gui.c:
13208         * gui.c (gui_item_add_keyval_pair):
13209         * gui.c (make_gui_item_from_keywords_internal):
13210         * gui.c (gui_add_item_keywords_to_plist):
13211         * gui.c (gui_item_accelerator):
13212         * gui.c (gui_name_accelerator):
13213         * gui.c (gui_item_included_p):
13214         * gui.c (gui_item_display_flush_left):
13215         * gui.c (gui_item_display_flush_right):
13216         * gui.c (parse_gui_item_tree_item):
13217         * gui.c (parse_gui_item_tree_children):
13218         * gui.c (parse_gui_item_tree_list):
13219         Mule-ized.  Cleanup.  GCPRO addition.
13220
13221         * line-number.c (buffer_line_number):
13222         * lisp.h:
13223         * lisp.h (EMACS_INT_MAX):
13224         Added the manifest constant EMACS_INT_MIN corresponding to the
13225         existing constant EMACS_INT_MAX.  This is partially to fix compile
13226         warnings under Windows, and partly for cleanliness.
13227
13228         * menubar-msw.c:
13229         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
13230         * menubar-msw.c (msw_translate_menu_or_dialog_item):
13231         * menubar-msw.c (displayable_menu_item):
13232         * menubar-msw.c (populate_menu_add_item):
13233         * menubar-msw.c (populate_or_checksum_helper):
13234         * menubar-msw.c (populate_menu):
13235         * menubar-msw.c (update_frame_menubar_maybe):
13236         * menubar-msw.c (prune_menubar):
13237         * menubar-msw.c (msw_char_is_accelerator):
13238         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
13239         * menubar-msw.c (mswindows_handle_wm_command):
13240         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
13241         * menubar-msw.c (mswindows_handle_wm_initmenu):
13242         * menubar-msw.c (mswindows_update_frame_menubars):
13243         * menubar-msw.c (mswindows_free_frame_menubars):
13244         * menubar-msw.c (mswindows_popup_menu):
13245         Fixed a bug in handling accelerators where an extra character
13246         would be displayed in the menu item.  Also generalized the
13247         function displayable_menu_item because it is now used by the
13248         dialog box code as well.  And finally, added code in the functions
13249         that create the menubar to extract a list of accelerators for the
13250         top level menubar, which is used in the event code to determine
13251         whether a particular alt-key combination should be used to invoke
13252         a menu item, or should be passed through to access the standard
13253         XEmacs keymap binding for this key combination.
13254
13255         Much needed GCPROing.
13256
13257         * menubar-x.c:
13258         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13259         * menubar-x.c (menu_item_descriptor_to_widget_value):
13260         * menubar-x.c (restore_in_menu_callback):
13261         * menubar-x.c (x_popup_menu):
13262         * menubar-x.c (menu_move_up):
13263         * menubar-x.c (menu_move_down):
13264         * menubar-x.c (menu_move_left):
13265         * menubar-x.c (menu_move_right):
13266         * menubar-x.c (menu_select_item):
13267         * menubar-x.c (command_builder_operate_menu_accelerator):
13268         * menubar-x.c (menu_accelerator_junk_on_error):
13269         * menubar-x.c (command_builder_find_menu_accelerator):
13270         * menubar-x.c (Faccelerate_menu):
13271         * menubar.h:
13272         Moved a whole bunch of code here that was previously in
13273         event-stream.c as described above.  There is also code connected
13274         to the new standard of adding an accelerator to the beginning of
13275         menu items that don't have one as described above and below.
13276
13277         * menubar.c:
13278         * menubar.c (menu_parse_submenu_keywords):
13279         * menubar.c (Fmenu_find_real_submenu):
13280         * menubar.c (Fnormalize_menu_item_name):
13281         * menubar.c (syms_of_menubar):
13282         * menubar.c (vars_of_menubar):
13283         * menubar.c (complex_vars_of_menubar):
13284
13285         a) Cleaned up a bunch of documentation and improved it.
13286
13287         b) XEmacs now automatically adds an accelerator onto the beginning
13288         of any menu items that don't have one.  I did this because there
13289         will inevitably be some menu items on the main menubar that don't
13290         have accelerators on them because the package that adds that
13291         particular menu item hasn't yet been fixed up to have accelerators
13292         in them and it looked rather strange to have some items with and
13293         some items without accelerators, especially since even in items
13294         without accelerators, you can, at least under windows, still
13295         access the item through an accelerator corresponding to the first
13296         character in the item's name.  If people don't like this behavior,
13297         I can add a variable to turn it off optionally, but I'm not sure
13298         this is a good idea because we really do need to have accelerators
13299         on all of the menu items, and if a package doesn't like the
13300         accelerators being put on the first character, then it should put
13301         the accelerators where they belong.
13302
13303         c) I made a behavior change, which is that the descriptor that
13304         specifies the text of the menu item, which formerly was just a
13305         string, can now also be an evaluated expression.  This makes this
13306         descriptor parallel with all of the others, which could also be
13307         evaluated expressions.  This also obviates the need for the
13308         keyword :label, which was previously listed in the documentation
13309         as unimplemented, and which was for the same purpose.
13310
13311         d) GCPROing.
13312
13313         * ntproc.c:
13314         * ntproc.c (new_child):
13315         * ntproc.c (sys_spawnve):
13316         * ntproc.c (find_child_console):
13317         * ntproc.c (sys_kill):
13318         Fixed compile warnings.  By the way, this file should really go
13319         away entirely, and this will happen as soon as Kirill makes his
13320         final round of process cleanups, which affect the function
13321         call-process.
13322
13323         * process-nt.c:
13324         * process-nt.c (struct nt_process_data):
13325         * process-nt.c (find_process_from_pid):
13326         * process-nt.c (send_signal_the_nt_way):
13327         * process-nt.c (enable_child_signals):
13328         * process-nt.c (find_child_console):
13329         * process-nt.c (send_signal_the_95_way):
13330         * process-nt.c (nt_finalize_process_data):
13331         * process-nt.c (ensure_console_window_exists):
13332         * process-nt.c (nt_create_process):
13333         * process-nt.c (nt_kill_child_process):
13334         * process-nt.c (nt_kill_process_by_pid):
13335         * process-nt.c (nt_open_network_stream):
13336         * process-nt.c (vars_of_process_nt):
13337         Copied over code from Emacs 20.5 to correctly send signals to sub-
13338         processes under Windows 95.  Also added code to automatically
13339         create and hide console window when a sub-process is created under
13340         Windows 95, which obviates the need for the separate runemacs.exe
13341         executable, and finally implemented some variables that were
13342         implemented in Emacs 20.5, but previously not in XEmacs.  These
13343         include mswindows- start-process-share-console and
13344         mswindows-start-process-inherit-error-mode. (Both of these only
13345         apply to Windows 95.)
13346
13347         * regex.c (regex_compile): Fixed a compile warning.
13348
13349         * select-msw.c:
13350         * select-msw.c (mswindows_own_selection):
13351         * select-msw.c (mswindows_get_foreign_selection):
13352         * select-msw.c (mswindows_disown_selection):
13353         * select-msw.c (console_type_create_select_mswindows):
13354         * select-msw.c (syms_of_select_mswindows):
13355         Cleaned up the file and implemented the device method
13356         selection_exists_p, which had accidentally been left out.  Also
13357         removed four lisp functions that were remnants from before the
13358         time when the selection code was properly device abstracted.
13359         These functions are no longer needed because there are generic
13360         equivalents, and because they were added recently and don't exist
13361         in FSF Emacs, I don't think there's any problem with just deleting
13362         them.
13363
13364         * sysdep.c:
13365         * sysdep.c (sys_subshell):
13366         Fixed a compile warning, although in this case there's probably
13367         something wrong with this code, and it ought to be looked into
13368         more thoroughly by somebody who understands it.
13369
13370         * window.c:
13371         * window.c (Fwindow_text_area_height):
13372         * window.c (Fwindow_width):
13373         * window.c (Fwindow_full_width):
13374         * window.c (Fwindow_pixel_width):
13375         * window.c (debug_print_window):
13376         * window.c (syms_of_window):
13377         Added functions window-text-area-height and window-full-width,
13378         which are functions for returning various width and height
13379         characteristics of a window. (One of these functions is necessary
13380         for making the file dialog box work correctly, and the other one
13381         was added for completeness.)  Also added a table to the
13382         documentation for window-height which describes the entire scheme
13383         for accessing width and height characteristics of a window.
13384
13385 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13386
13387         * nt.c (fstat): Added a comment for another problem with
13388         non-encapsulated [f]stat(), reported by Adrian Aichner
13389         <aichner@ecf.teradyne.com>.
13390
13391 2000-03-11  Andy Piper  <andy@xemacs.org>
13392
13393         * window.c (make_dummy_parent): initialize subwindow instance
13394         cache.
13395         (Fset_window_configuration): zero extent_modiff.
13396
13397 2000-03-10  Andy Piper  <andy@xemacs.org>
13398
13399         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
13400         more changes can be triggered.
13401         (Fredisplay_frame): ditto.
13402         (Fredraw_device): ditto.
13403         (Fredisplay_device): ditto.
13404         (redisplay_frame): make non-static.
13405         (redisplay_frame): call update_frame_gutter_geometry outside of
13406         display proper.
13407
13408         * gutter.h: declare update_frame_gutter_geometry.
13409
13410         * redisplay.h: declare redisplay_frame.
13411
13412         * gutter.c (update_frame_gutter_geometry): move geometry changes
13413         in update_frame_gutters here. Geometry changes can only occur
13414         outside of redisplay.
13415         (update_frame_gutters): remove geometry change code.
13416         (Fredisplay_gutter_area): make sure that we are in display when we
13417         update and that we have flushed any size changes.
13418
13419 2000-03-11  Andy Piper  <andy@xemacs.org>
13420
13421         * alloc.c (pdump_dump_data): remove i & count shadows.
13422
13423 2000-02-27  Mike Alexander  <mta@arbortext.com>
13424
13425         * sysdep.h: Declare pdump_read_file
13426
13427         * sysdep.c (pdump_read_file): New function
13428
13429         * alloc.c (pdump_load): Call pdump_read_file to get the portable
13430         dump data
13431
13432 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13433
13434         * lrecord.h: add `lrecord_type_pgsetenv'.
13435
13436 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
13437
13438         * symsinit.h: declare (vars|syms)_of* functions.
13439         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
13440
13441 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
13442
13443         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
13444
13445         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
13446         GCCs.
13447
13448         * emacs.c (main_1): Call postgres initialization code.
13449
13450         * postgresql.h: New file.  PostgreSQL RDBMS support.
13451         * postgresql.c: New file.
13452
13453 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13454
13455         * redisplay-output.c (redisplay_output_display_block): Disable
13456         redundant code.
13457
13458 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13459
13460         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
13461         (Fcanna_henkan_next): Ditto.
13462         (Fcanna_bunsetu_henkou): Ditto.
13463         (Fcanna_henkan_kakutei): Ditto.
13464         (Fcanna_henkan_end): Ditto.
13465         (Fcanna_henkan_quit): Ditto.
13466         (Fcanna_henkan_next): Set retun value correctly.
13467         (c2mu): Use unsigned char instead of signed char.
13468
13469 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13470
13471         * emacs.c (main_1): Always call syms_of_gui.
13472         * inline.c: include gui.h
13473
13474 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13475
13476         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
13477         converted to Lisp_Object.
13478         (Qtop_bottom): New variable.
13479         (syms_of_redisplay): Initialize it.
13480         * redisplay.h (Vvisible_bell): Ditto.
13481         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
13482         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
13483         only flash top and bottom.
13484
13485 2000-03-08  Andy Piper  <andy@xemacs.org>
13486
13487         * buffer.c (Frename_buffer): record new buffer name the right way.
13488
13489 2000-03-08  Andy Piper  <andy@xemacs.org>
13490
13491         * glyphs.c (update_subwindow): increase hash depth so that widget
13492         items get picked up properly.
13493
13494         * redisplay-output.c (compare_runes): increase hash depth so that
13495         widget items get picked up properly.
13496
13497 2000-03-08  Andy Piper  <andy@xemacs.org>
13498
13499         * gutter.c (output_gutter): add some debug.
13500
13501         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
13502         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
13503         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
13504
13505         * redisplay-output.c (compare_runes): use display_hash to
13506         determine if glyphs really are not the same.
13507
13508         * glyphs.c (update_subwindow): check display_hash to see if
13509         anything really needs to be updated. If not then do
13510         nothing. Record the display_hash after updating.
13511         (image_instance_equal): compare the image_instance face also.
13512
13513 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
13514
13515         * redisplay.h: Fix comment style.
13516
13517 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13518
13519         * consle-msw.h (struct mswindows_frame):
13520         Added new member paint_pending to indicate whether a WM_PAINT
13521         magic event has been queued for this frame.
13522
13523         * event-msw.c (mswindows_drain_windows_queue):
13524         Don't queue a WM_PAINT magic event if one is already queued.
13525         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
13526
13527         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
13528
13529 2000-03-07  Didier Verna  <didier@xemacs.org>
13530
13531         * dired.c: #include `regex.h' after `sysfile.h'.
13532
13533 2000-03-06  Martin Buchholz  <martin@xemacs.org>
13534
13535         * sound.c (init_nas_sound): Fix compiler warning.
13536
13537         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
13538         (FREE_STRUCT_P):
13539         (MARK_STRUCT_AS_FREE):
13540         (MARK_STRUCT_AS_NOT_FREE):
13541         Make `gcc -fstrict-aliasing' work properly.
13542
13543 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13544
13545         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
13546         (mswindows_delete_device): Call CoUnnitialize().
13547
13548         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
13549
13550 2000-02-25    <CraigL@DyCon.com>
13551
13552         * process-nt.c: MinGW now has <shellapi.h>, but still needs
13553         <errno.h>.
13554
13555         * sysdep.c: This extern declaration for environ prevents MinGW
13556         from finding the variable in CRTDLL.DLL.
13557
13558         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
13559         windows headers.
13560         (SHGFI_EXETYPE): ..
13561         (WM_MOUSEWHEEL): ..
13562         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
13563         definitions.
13564         (MMRESULT): Removed, now defined in cygwin's windows headers.
13565         (TIMECAPS): ..
13566         (uid_t,gid_t,pid_t,ssize_t): ..
13567         (_timeb): Removed, MinGW defines both _timeb and timeb.
13568         (HAVE_H_ERRNO): Added.
13569         (HAVE_TZNAME): Added, configure is not detecting this.
13570
13571 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
13572
13573         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
13574         * syntax.c (syntax_match): Use it.
13575
13576         * cmds.c: Import auto-fill-chars from FSF Emacs.
13577         (Vauto_fill_chars): New variables.
13578         (internal_self_insert): Check Vauto_fill_chars.
13579         (vars_of_cmds):
13580         Declare auto-fill-chars as a Lisp variable and initialize it.
13581
13582 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13583
13584         * fileio.c (Fmake_symbolic_link):
13585         (Ffile_symlink_p):
13586         Run handlers even if local machine doesn't have symlinks.
13587
13588 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13589
13590         * event-msw.c (mswindows_drain_windows_queue):
13591         Don't generate paint magic events for non-XEmacs frames.
13592
13593 2000-03-05  Andy Piper  <andy@xemacs.org>
13594
13595         * redisplay.c (redisplay_frame): generate_displayable_area and
13596         friends assumes that we are not in GC, we therefore have to make
13597         sure that this doesn't happen.
13598
13599         * gutter.c (calculate_gutter_size): generate_displayable_area
13600         assumes that we are not in GC, we therefore have to make sure that
13601         this doesn't happen.
13602
13603 2000-03-05  Martin Buchholz  <martin@xemacs.org>
13604
13605         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
13606
13607 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13608
13609         * redisplay.c (regenerate_window): Make sure we set a sane value
13610         for end_pos even if we jump out of the loop.
13611         (regenerate_window): Answer Ben's question :-).
13612         (start_end_of_last_line): Add may_error argument.
13613         (start_of_last_line):
13614         (end_of_last_line): Pass may_error = 0.
13615         (end_of_last_line_may_error): New function.
13616         (pixel_to_glyph_translation): Use it, so we don't crash in
13617         event_to_glyph.
13618
13619 2000-03-04  Andy Piper  <andy@xemacs.org>
13620
13621         * window.h (struct window): add gutter_extent_modiff.
13622
13623         * window.c (allocate_window): zero out gutter_extent_modiff.
13624
13625         * redisplay.h: declare sync_display_line_structs.
13626
13627         * redisplay.c (add_glyph_rune): add a better comment.
13628
13629         * redisplay-output.c (sync_display_line_structs): made non-static.
13630         (compare_runes): remove unneccesary glyph cachel access.
13631
13632         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
13633
13634         * gutter.c (output_gutter): don't output the gutter if extent
13635         changes only involve extents in buffers. use 4 sets of display
13636         lines.
13637         (gutter_extent_signal_changed_region_maybe): new function. Mark
13638         extents in gutters as changed.
13639         (update_frame_gutters): use 4 sets of display lines.
13640         (reset_gutter_display_lines): ditto.
13641         (free_frame_gutters): ditto.
13642         (redraw_exposed_gutter): force output of gutters.
13643
13644         * frame.h (struct frame): add 4 sets of gutter display lines.
13645
13646         * extents.c: (extent_changed_for_redisplay): signal changes to
13647         extents in strings in the gutter as well as extents in buffers.
13648
13649 2000-03-02  Andy Piper  <andy@xemacs.org>
13650
13651         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
13652
13653         * frame.c (Fmake_frame): make sure the gutters get initialized
13654         after the frame is visible.
13655         (set_frame_selected_window): re-arrange compilation macros a
13656         little.
13657         (change_frame_size_1): mark gutters changed.
13658
13659         * device.c (Fset_device_class): mark gutters changed.
13660
13661 2000-03-01  Andy Piper  <andy@xemacs.org>
13662
13663         * window.c (window_top_frame_gutter_height): deleted.
13664         (window_bottom_frame_gutter_height): ditto.
13665         (window_left_frame_gutter_height): ditto.
13666         (window_right_frame_gutter_height): ditto.
13667         (window_top_gutter_height): don't use them.
13668         (window_bottom_gutter_height): ditto.
13669         (window_left_gutter_width): ditto.
13670         (window_right_gutter_width): ditto.
13671         (Fsplit_window): ditto.
13672         (Fwindow_pixel_edges): don't use border dimensions here.
13673
13674         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
13675         (update_scrollbar_instance): ditto.
13676
13677         * redisplay.c (generate_modeline): don't take gutters into account.
13678         (generate_modeline): ditto.
13679         (redisplay_frame): small gutter display optimization.
13680
13681         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
13682
13683         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
13684         gutters into account.
13685
13686         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
13687         for window position and type.
13688
13689         * gutter.c (get_gutter_coords): fix for frame gutters.
13690         (update_frame_gutters): update frame geometry if the gutters have
13691         changed.
13692         (init_frame_gutters): record current gutter geometries.
13693
13694         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
13695         var.
13696         (mswindows_widget_instantiate): ditto.
13697
13698         * frame.h (struct frame): add current_gutter_bounds.
13699
13700         * frame.c (change_frame_size_1): position window and minibuffer
13701         appropriately taking into account the frame gutters.
13702
13703         * frame-x.c: (x_initialize_frame_size): take into account the
13704         frame gutters.
13705
13706 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13707
13708         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
13709
13710 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13711
13712         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
13713
13714 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13715
13716         * file-coding.c (reset_decoding_stream): Clear previous
13717         detection state when autodetect.
13718
13719 2000-02-29  Didier Verna  <didier@xemacs.org>
13720
13721         * extents.c (set_extent_glyph_1): don't require extents to be
13722         attached.
13723
13724 2000-02-27  Andy Piper  <andy@xemacs.org>
13725
13726         * gutter.c (Fset_default_gutter_position): don't default left and
13727         right gutter visibility to t.
13728         (Fset_default_gutter_position): run
13729         default-gutter-position-changed-hook.
13730         (syms_of_gutter): add default-gutter-position-changed-hook.
13731
13732 2000-02-26  Andy Piper  <andy@xemacs.org>
13733
13734         * specifier.c (Fmake_specifier): add gutter references.
13735
13736         * gutter.h (RAW_WINDOW_GUTTER): new macro.
13737
13738         * lisp.h: declare Fvalid_plist_p.
13739
13740         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
13741         as changed.
13742         (default_gutter_visible_p_changed_in_window): invalidate gutter as
13743         well as its visibility so that it gets reconstructed.
13744         (construct_window_gutter_spec): new function. Construct a string
13745         to be displayed in the gutter from a plist of strings. Take care
13746         to only use elements that are declared as visible.
13747         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
13748         WINDOW_GUTTER.
13749         (gutter_validate): allow plists of strings in the specifier.
13750         (gutter_specs_changed): construct the real_gutter from the gutter
13751         specs using construct_window_gutter_spec.
13752         (gutter_visible_validate): gutter-visible is a new specifier type.
13753         (Fgutter_visible_specifier_p): new function for the new specifier.
13754         (syms_of_gutter): declare gutter-visible and
13755         Fgutter_visible_specifier_p.
13756         (specifier_type_create_gutter): intitalize new gutter-visible
13757         specifier.
13758         (reinit_specifier_type_create_gutter): ditto.
13759         (specifier_vars_of_gutter): use new specifier type for gutter
13760         visibility.
13761         (init_frame_gutters): construct real_gutter correctly.
13762         (Fgutter_specifier_p): beef up documentation.
13763         (Fgutter_size_specifier_p): ditto.
13764
13765         * winslots.h: add real_gutter slots.
13766
13767 2000-02-25  Andy Piper  <andy@xemacs.org>
13768
13769         * device-msw.c: Be kind to older cygwin versions. From Raymond
13770         Toy <toy@rtp.ericsson.se>.
13771
13772         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
13773         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
13774
13775 2000-02-25  Martin Buchholz  <martin@xemacs.org>
13776
13777         * elhash.c (MARK_OBJ): Practice macro hygiene.
13778
13779 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13780
13781         * miscplay.c: s/__inline__/inline/g;
13782         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
13783         (get_device_compdc): INLINE ==> static inline
13784         * *.[ch]: Change INLINE to INLINE_HEADER globally.
13785         find -name '*.h' | \
13786         xargs global-replace \
13787         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
13788
13789 2000-02-25  Andy Piper  <andy@xemacs.org>
13790
13791         * window.c (window_top_frame_gutter_height): new function.
13792         (window_top_window_gutter_height): ditto.
13793         (window_top_gutter_height): use them.
13794         (window_bottom_frame_gutter_height): new function.
13795         (window_bottom_window_gutter_height): ditto.
13796         (window_bottom_gutter_height): use them.
13797         (window_left_window_gutter_width): new function.
13798         (window_left_frame_gutter_width): ditto.
13799         (window_left_gutter_width): use them.
13800         (window_right_window_gutter_width): new function.
13801         (window_right_frame_gutter_width): ditto.
13802         (window_right_gutter_width): use them.
13803         (window_pixel_height): new function. calulate window pixel height
13804         with frame gutter involvement.
13805         (Fsplit_window): calculate new sizes taking frame gutters into
13806         account.
13807         (window_char_height_to_pixel_height): don't include frame gutters.
13808         (window_char_height): use window_pixel_height.
13809         (window_pixheight): rename from window_pixel_height.
13810         (change_window_height): use it.
13811         (window_pixel_height_to_char_height): don't include frame gutters.
13812         (window_char_width_to_pixel_width): ditto.
13813
13814 2000-02-25  Andy Piper  <andy@xemacs.org>
13815
13816         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
13817         if it is.
13818
13819 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13820
13821         * alloc.c (staticpro):
13822         (staticpro_nodump):
13823         (dumpstruct):
13824         (dumpopaque):
13825         (pdump_wire):
13826         (pdump_wire_list):
13827         (compact_string_chars):
13828         (pdump_dump_wired):
13829         Convert:  if (foo) abort();  ==>  assert (! foo);
13830
13831         * eldap.c (Fldap_search_basic):
13832         (Fldap_add):
13833         (Fldap_modify):
13834         (Fldap_delete):
13835         Fix compiler warnings, and possible crashes if (random) return
13836         value were to be used.
13837
13838 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13839
13840         * device-msw.c: Workaround ResetDC failure.
13841
13842         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
13843         applying a devmode.
13844
13845         * redisplay-msw.c (get_frame_dc): Added start_page_p.
13846         (mswindows_text_width): Do not start printer page.
13847
13848         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
13849
13850         * glyphs-msw.c: Added image methods to msprinter console and
13851         msprinter-specific image instantiation.
13852
13853 2000-02-20  Mike Alexander  <mta@arbortext.com>
13854
13855         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
13856         to avoid crashes when selection-sets-clipboard is on
13857         (mswindows_own_selection): ditto
13858
13859 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13860
13861         * glyphs-msw.c:
13862         * redisplay-msw.c (get_frame_dc):
13863         (get_frame_compdc):
13864         * console-msw.h:
13865         * device-msw.c (mswindows_init_device):
13866         (mswindows_delete_device):
13867         (msprinter_init_device):
13868         (msprinter_delete_device):
13869         * frame-msw.c (mswindows_init_frame_1):
13870         (mswindows_delete_frame):
13871         (msprinter_init_frame_3):
13872         (msprinter_delete_frame): Move compatible DC to device object from
13873         frame object, for both mswindows and msprinter. Only one at a time
13874         is needed, it is a real waste to have one per frame!
13875
13876 2000-02-23  Andy Piper  <andy@xemacs.org>
13877
13878         * glyphs.c: add dynamic width and height elements.
13879         (image_instance_equal): ditto.
13880
13881         * glyphs-widget.c (widget_query_geometry): calculate width and
13882         height dynamically if required.
13883         (initialize_widget_image_instance): initialize dynamic dimensions.
13884         (widget_instantiate): pick-up dynamic dimensions.
13885
13886         * glyphs.h (struct Lisp_Image_Instance): add width and height for
13887         dynamic determination. Add appropriate macros.
13888
13889         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
13890         dimensions safe.
13891         (WINDOW_GUTTER_SIZE): ditto.
13892         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
13893
13894         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
13895         inline.
13896         (get_frame_dc): ditto.
13897
13898         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
13899         here.
13900
13901 2000-02-23  Martin Buchholz <martin@xemacs.org>
13902
13903         * XEmacs 21.2.31 is released.
13904
13905 2000-02-22  Ben Wing <ben@xemacs.org>
13906
13907         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
13908
13909 2000-02-22  Andy Piper  <andy@xemacs.org>
13910
13911         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
13912
13913 2000-02-21  Mike Sperber <mike@xemacs.org>
13914
13915         * .dbxrc:
13916         * .gdbinit:
13917         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
13918         variables.
13919
13920 2000-02-21  Mike Sperber <mike@xemacs.org>
13921
13922         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
13923
13924 2000-02-21  Martin Buchholz <martin@xemacs.org>
13925
13926         * XEmacs 21.2.30 is released.
13927
13928 2000-02-20  Martin Buchholz  <martin@xemacs.org>
13929
13930         Performance hacking.
13931         * *.c (syms_of_*):
13932         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
13933         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
13934         * emacs.c (main_1):
13935         * lisp.h (DEFUN):
13936         * console.c (DEFVAR_CONSOLE_LOCAL_1):
13937         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
13938         * symeval.h (DEFVAR_SYMVAL_FWD):
13939         * symbols.c (guts_of_unbound_marker):
13940         Make all c_readonly objects also lisp_readonly and marked for life.
13941         * lrecord.h (struct lrecord_implementation):
13942         Document flags better.
13943         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
13944         * lrecord.h (DECLARE_LRECORD):
13945         * lrecord.h (XSETRECORD):
13946         * lrecord.h (RECORDP):
13947         * lrecord.h (RECORD_TYPEP):
13948         * lrecord.h (RECORD_MARKER): New.
13949         * lrecord.h (error_check_*):
13950         * lrecord.h (CONCHECK_NONRECORD):
13951         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
13952         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
13953         * lrecord.h (set_lheader_implementation):
13954         * lrecord.h (enum lrecord_type): New.
13955         * symeval.h (SYMBOL_VALUE_MAGIC_P):
13956         * alloc.c (disksave_object_finalization_1):
13957         * alloc.c (mark_object):
13958         * alloc.c (lrecord_type_index):
13959         * alloc.c (tick_lcrecord_stats):
13960         * alloc.c (Fgarbage_collect):
13961         * alloc.c (init_alloc_once_early):
13962         * alloc.c (pdump_load):
13963         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
13964         * alloc.c (lrecord_type_index): Delete.
13965         Make lisp object type indexes be constant.
13966           Makes (byte-compile) 5% faster.
13967         Put all marker functions into their own array.
13968           Makes (garbage-collect) 5% faster.
13969         Optimize SYMBOL_VALUE_MAGIC_P.
13970           Makes (byte-compile) 2-3% faster.
13971         * config.h.in (gc_checking_assert): New.
13972         * alloc.c: Use gc_checking_assert().
13973         * .dbxrc: Make compatible with new object type implementation.
13974         * .gdbinit: Make compatible with new object type implementation.
13975         * alloc.c: Delete all symbols defined only for debugging, such as
13976         Lisp_Type_Vector and lrecord_charset.
13977
13978 2000-02-21  Andy Piper  <andy@xemacs.org>
13979
13980         * gui-msw.c (Fmswindows_shell_execute): fix file location
13981         problems.
13982
13983         * buffer.c (Fkill_buffer): remove buffer from alist buffer
13984         unshowing so that set_window_buffer doesn't undo
13985         kill_buffer_hook's hard work.
13986
13987         * glyphs-widget.c (tab_control_query_geometry): don't count the
13988         first item when calculating geometry.
13989
13990         * glyphs.c (map_subwindow): remove redundant code.
13991         (update_frame_subwindows): be more circumspect about when to
13992         update subwindows.
13993
13994         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
13995         when items haven't changed. Update faces if faces have changed as
13996         well as just the widget face.
13997         (x_tab_control_update): Update faces if faces have changed as well
13998         as just the widget face.
13999
14000 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14001
14002         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14003         registration.
14004         (build_syscolor_string): Use mswindows_color_to_string to try to
14005         get a named color.
14006         (mswindows_device_system_metrics): Reverse the foreground and
14007         background colors so that they match the documentation.
14008
14009         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14010         they match the default Windows palette.
14011         (mswindows_color_to_string): New function.
14012
14013 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14014
14015         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14016
14017 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14018
14019         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14020         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14021
14022         * symbols.c (init_symbols_once_early): Removed obsolete
14023         DATA_SEG_BITS related kludge.
14024         (defvar_magic): Ditto.
14025
14026         * malloc.c: Removed obsolete DATA_SEG_BITS
14027         * ralloc.c: Ditto.
14028         * mem-limits.h: Ditto.
14029
14030         * Makefile.in.in: Removed obsolete HAVE_SHM
14031         * emacs.c: Ditto.
14032
14033 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14034
14035         *  device-msw.c (mswindows_delete_device): Free DDE string
14036         handles.
14037
14038 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14039
14040         * keymap.c (get_keyelt):
14041         * unexnt.c (unexec):
14042         * vm-limit.c (memory_warnings):
14043         * ntheap.c (recreate_heap):
14044         * ntheap.h (UNINIT_PTR):
14045         * select-msw.c (Fmswindows_get_clipboard):
14046         (Fmswindows_set_clipboard):
14047         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14048         * objects-msw.c:
14049         * menubar-msw.c (displayable_menu_item):
14050         * glyphs-msw.c:
14051         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14052         * sysdep.c (sys_subshell):
14053         * process-nt.c (nt_create_process):
14054         * nt.c (normalize_filename):
14055         (dostounix_filename):
14056         (unixtodos_filename):
14057         * ntproc.c (win32_executable_type):
14058         * ntplay.c (play_sound_data_1):
14059         (play_sound_file):
14060         * editfns.c (get_home_directory):
14061         * event-msw.c (struct winsock_stream):
14062         (mswindows_dde_callback):
14063         * device-msw.c (msprinter_init_device):
14064         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14065
14066         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14067         mswindows_clear_toolbar were swapped!
14068
14069         * objects-msw.c:(colormap_t):
14070         (fontmap_t):
14071         * emacs.c (struct standard_args): Fixed const jumble.
14072
14073         * glyphs-widget.c (update_widget): Fixed comparison notation.
14074
14075         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14076
14077         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14078         __declspec(noreturn) syntax.
14079
14080 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14081
14082         * eldap.c (Fldap_open):
14083         (Fldap_search_basic):
14084         (Fldap_add):
14085         (Fldap_modify):
14086         Use new coding system conversion macros.
14087
14088 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14089
14090         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14091
14092 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14093
14094         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14095         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14096
14097         * eldap.c (Qadd, Qreplace): New constant symbols
14098         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14099         interruptions by XEmacs signals
14100         Remove unnecessary calls to slow_down_interrupts and
14101         speed_up_interrupts
14102         (Fldap_search_basic): Renamed from Fldap_search_internal
14103         Added new optional parameter VERBOSE that triggers the
14104         display of progress messages
14105         Remove unnecessary calls to slow_down_interrupts and
14106         speed_up_interrupts
14107         LDAP result code analysis rewritten
14108         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14109         (syms_of_eldap): Define the new symbols and functions
14110
14111
14112 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14113
14114         * realpath.c: Determine PATH_MAX maximally portably.
14115
14116         * insdel.c (bytecount_to_charcount): Optimize.
14117         The function used to be optimized for entirely ASCII sequences.
14118         Now it is optimized for successive characters from the same
14119         charset.  This also wins big for _mostly_ ASCII sequences.
14120
14121         * fileio.c (Ffile_truename): convert return from realpath() using
14122         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14123         - Rewrite GCPROing slightly.
14124
14125         * sysdep.c (sys_open): Do filename conversion, like all other
14126         sys_* functions.  Fixes bug:
14127         (let ((file-name-coding-system 'iso-8859-2))
14128            (write-region x y latin2-name))
14129         ==> writes filename using internal encoding.
14130
14131 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14132
14133         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14134         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14135         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14136         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14137         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14138         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14139         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14140         (CONST_IF_NOT_DEBUG): Delete.
14141         * alloc.c (this_one_is_unmarkable): Delete.
14142         (mark_object): Don't check for this_one_is_unmarkable. Use the
14143         c_readonly flag instead.
14144         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14145
14146 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14147
14148         * event-msw.c (mswindows_drain_windows_queue):
14149         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14150         away redundant repaint events.
14151
14152 2000-02-17  Andy Piper  <andy@xemacs.org>
14153
14154         * redisplay.h: declare mark_redisplay_structs.
14155
14156         * redisplay.c (redisplay_window):
14157         (redisplay_frame): don't check subwindows_state_changed.
14158         (mark_redisplay): mark gutters here.
14159
14160         * glyphs.c: (instantiate_image_instantiator): always layout if we
14161         haven't done so already.
14162         (allocate_image_instance): don't mark as dirty.
14163         (update_subwindow): bind inhibit_quit.
14164
14165         * gutter.c (mark_gutters): new function.
14166
14167         * glyphs-x.c (x_update_widget): Always resize to get round a
14168         widget bug.
14169
14170         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14171         breaking absolutely everything.
14172
14173         * gutter.h: declare mark_gutters.
14174
14175 2000-02-16  Martin Buchholz <martin@xemacs.org>
14176
14177         * XEmacs 21.2.29 is released.
14178
14179 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14180
14181         * fns.c (size_bit_vector): Fix computation of the size.
14182
14183 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14184
14185         * *.[ch]: Change CONST to const globally.
14186         find -name '*.[ch]' | \
14187         xargs global-replace \
14188         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
14189         - Remove vestigial references to CONST_IS_LOSING
14190
14191 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14192
14193         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
14194         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
14195         events instead of dispatching them directly.
14196         (mswindows_handle_paint): New function to do repainting.
14197         (mswindows_wnd_proc):
14198         (emacs_mswindows_handle_magic_event): Call above function.
14199
14200 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14201
14202         * objects-msw.c (mswindows_create_font_variant): Return the new
14203         font handle.
14204         (initialize_font_instance): Get font metrics from the underlined
14205         variant of the font to cope with the case where the underlined
14206         font has a bigger descent.
14207
14208 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14209
14210         * gui.c (gui_item_accelerator): Return the first underlined
14211         character in item name.
14212
14213 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14214
14215         * lisp.h: Added Qprinter.
14216
14217         * general.c (syms_of_general): Initialized it.
14218
14219         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
14220         (get_frame_dc):
14221         (get_frame_compdc): Made inline.
14222
14223         * console.h (struct console_methods): Added eject_page method.
14224
14225         * frame.h: Added FRAME_DISPLAY_P and friends.
14226         Aligned backslahes in many macros in more readable fashion.
14227         Added page_number to struct frame, and an accessor macro
14228         for it.
14229
14230         * defice.h: Added DEVICE_DISPLAY_P and friends.
14231
14232         * device.c (Fdevice_printer_p): Used these.
14233
14234         * frame.c (allocate_frame_core): Initialize page number.
14235         (Fprint_job_page_number):
14236         (Fprint_job_eject_page): Implemented.
14237
14238         * frame-msw.c (msprinter_eject_page): Added method.
14239         (msprinter_start_page): Added.
14240
14241         * window.c (Fwindow_truncated_p): Fixed docstring.
14242         (Fwindow_last_line_visible_height): Implemented.
14243
14244 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14245
14246         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
14247
14248 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14249
14250         * syntax.c (scan_words): Always advance at least one character.
14251
14252 2000-02-13  Andy Piper  <andy@xemacs.org>
14253
14254         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
14255         to make sure the glyph is in the cachels.
14256
14257         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
14258         global image instance flag.
14259         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
14260         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
14261
14262         * glyphs.c (allocate_image_instance): set dirty bits correctly.
14263         (Fset_image_instance_property): mark layout as changed.
14264         (invalidate_glyph_geometry_maybe): mark layout as changed.
14265         (glyph_width): use new NEEDS_LAYOUT macro.
14266         (glyph_ascent): ditto.
14267         (glyph_descent): ditto.
14268         (glyph_height): ditto.
14269         (image_instance_layout): mark layout as clean after laying out.
14270         (update_subwindow): don't mark layout as clean here.
14271
14272         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
14273         should no longer be needed.
14274
14275         * glyphs-x.c (x_update_widget): sanitize asserts.
14276         (x_finalize_image_instance): sanitize assignment to widgets.
14277
14278         * glyphs-widget.c (widget_instantiate): don't need to clear the
14279         layout flag here.
14280
14281 2000-02-13  Martin Buchholz  <martin@xemacs.org>
14282
14283         * sysdep.c (getcwd): Use standard prototype.
14284         * sysdep.h (getcwd): Use standard prototype.
14285
14286         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
14287         (sequence, start, end).
14288         Remove redundant type checking.
14289         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
14290         view of `caller-protects') to avoid a crash where the real fix was
14291         found elsewhere.
14292
14293 2000-02-12  Martin Buchholz  <martin@xemacs.org>
14294
14295         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
14296
14297         * s/sol2.h: Remove feature macro initialization.
14298
14299         * alloc.c (alloc_lcrecord): Add more type checking assertions.
14300         (vector_hash): New.  Code from internal_hash.
14301         * lrecord.h:
14302         Fix up allocation subsystem comments.
14303
14304         * config.h.in: Add __EXTENSIONS__ for Solaris.
14305
14306         * systime.h (EMACS_GETTIMEOFDAY): New.
14307         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
14308         Remove Solaris-specific code.
14309         Use void* for the (ignored) second arg for gettimeofday().
14310
14311         * elhash.c (hash_table_hash): Implement it, finally.
14312         * elhash.c:  Use hashcode_t.
14313
14314         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
14315         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
14316
14317         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
14318         * fns.c (size_bit_vector):
14319         * alloc.c (size_vector):
14320         (make_vector_internal):
14321         (make_bit_vector_internal):
14322         (sweep_bit_vectors_1):
14323         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
14324
14325 2000-02-10  Martin Buchholz  <martin@xemacs.org>
14326
14327         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
14328         Include strings.h to avoid warnings for bzero and strcasecmp.
14329
14330 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14331
14332         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
14333         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
14334
14335         * fns.c (size_bit_vector): New.  Declare bit vectors as a
14336         sequence.
14337
14338 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14339
14340         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
14341         use a value field instead.
14342         (symbol_value_forward_forward): Use value field.
14343         (DEFVAR_SYMVAL_FWD): Use value field.
14344         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
14345         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
14346         (DEFVAR_CONST_INT): Ditto.
14347         (DEFVAR_BOOL): Ditto.
14348         (DEFVAR_CONST_BOOL): Ditto.
14349         (DEFVAR_INT_MAGIC): Ditto.
14350         (DEFVAR_BOOL_MAGIC): Ditto.
14351
14352         * symbols.c (guts_of_unbound_marker): Use value field.
14353         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
14354         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
14355
14356         * lisp.h: Declare dumpopaque and noninteractive1.
14357
14358         * alloc.c (dumpopaque): Added.
14359         (pdump_dump_opaquevec): Added.
14360         (pdump): Call pdump_dump_opaquevec to dump opaque data.
14361         (pdump_load): Reload opaque data.  Sync noninteractive1 with
14362         noninteractive.
14363
14364 2000-02-10  Andy Piper  <andy@xemacs.org>
14365
14366         * glyphs.c (image_instance_layout): if the size changes, mark it
14367         as such.
14368
14369         * redisplay-output.c (redisplay_output_layout): Update the
14370         subwindow here.
14371         (redisplay_output_subwindow): ditto.
14372
14373         * glyphs.c (update_subwindow): make sure we reset flags for
14374         layouts as well as everything else.
14375
14376         * glyphs-widget.c (layout_layout): don't need to set the instances
14377         dimensions here.
14378
14379 2000-02-09  Martin Buchholz  <martin@xemacs.org>
14380
14381         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
14382         not HAVE_DLOPEN, which is a lower-level thing.
14383
14384         * .cvsignore: Ignore gmon.out
14385
14386 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
14387
14388         * .cvsignore: Ignore portable dumper xemacs.dmp file
14389
14390 2000-02-09  Andy Piper  <andy@xemacs.org>
14391
14392         * redisplay-output.c (redisplay_output_layout): be more clever
14393         about when we output based on the changed flags.
14394
14395         * glyphs.h (struct image_instantiator_methods): add update_method.
14396         (struct Lisp_Image_Instance): add changed flags. Declare new
14397         macros for manipulating them.
14398
14399         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
14400         (image_instance_parent_glyph): find an image_instance's parent
14401         glyph or image_instance.
14402         (image_instance_layout): mark the size as changed.
14403         (set_image_instance_dirty_p): new function. mark an image
14404         instance, plus all of its parents, as dirty.
14405         (Fset_image_instance_property): use it.
14406         (Fglyph_animated_timeout_handler): use it.
14407         (update_subwindow): call update_widget and device methods for
14408         update_subwindow. Mark all changed flags as clean.
14409         (Fresize_subwindow): mark size as changed.
14410
14411         * glyphs-x.c (x_finalize_image_instance): try and detect gc
14412         failures.
14413         (x_update_subwindow): only resize subwindows here.
14414         (x_update_widget): new function. Update all changed properties of
14415         a widget.
14416         (x_resize_subwindow): deleted.
14417         (x_widget_set_property): deleted.
14418         (x_progress_gauge_set_property): deleted.
14419         (x_progress_gauge_update): new function. Implement recorded
14420         changes.
14421         (x_tab_control_update): ditto.
14422         (x_tab_control_set_property): deleted.
14423         (console_type_create_glyphs_x): declare new functions.
14424         (image_instantiator_format_create_glyphs_x): ditto.
14425
14426         * glyphs-widget.c (widget_set_property): mark text changed.
14427         (update_widget): new function. Update properties of a widget.
14428         (widget_instantiate): for layouts make sure we set their
14429         children's parent correctly.
14430         (tab_control_set_property): new function. Record changes that will
14431         take place under redisplay's control.
14432         (progress_gauge_set_property): ditto.
14433         (image_instantiator_progress_guage): declare new functions.
14434         (image_instantiator_tab_control): ditto.
14435
14436         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
14437         now.
14438         (mswindows_update_widget): new function. Update all properties on
14439         a widget that have changed.
14440         (mswindows_button_update): new function. Update a button's set
14441         state.
14442         (mswindows_tab_control_update): new function. Update the items in
14443         a tab.
14444         (mswindows_tab_control_set_property): deleted.
14445         (mswindows_progress_gauge_update): new function. Update the
14446         progress gauge's progress.
14447         (mswindows_widget_set_property): deleted. This is all done
14448         asynchronously now.
14449         (mswindows_progress_gauge_set_property): ditto.
14450         (console_type_create_glyphs_mswindows): declare new methods.
14451         (image_instantiator_format_create_glyphs_mswindows): ditto.
14452
14453         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
14454         (msprinter_set_frame_properties): ditto.
14455
14456         * console.h (struct console_methods): Add update_widget_method.
14457
14458 2000-02-09  Andy Piper  <andy@xemacs.org>
14459
14460         * gui-msw.c (Fmswindows_shell_execute): Make
14461         mswindows-shell-execute industrial strength.
14462
14463 2000-02-08  Martin Buchholz  <martin@xemacs.org>
14464
14465         * lrecord.h: Make macro argument `props' match member function `plist'.
14466         * fns.c (Fget):
14467         * fns.c (Fput):
14468         * fns.c (Fremprop):
14469         * fns.c (Fobject_plist):
14470         * alloc.c:
14471         * symbols.c:
14472         Object property list frobbing cleanup.
14473         - Allow any lisp object (compared with `eq'), not just symbols, as
14474           keys in object plists.
14475         - Move symbol plist frobbing into symbols.c, where it belongs.
14476         - Move string plist frobbing into alloc.c, where it belongs.
14477         - Everything's an lrecord now, so no need to test for symbolp, etc.
14478         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
14479
14480         * extents.c: Reorder code to remove declarations.
14481
14482         * frame.h (store_in_alist): Remove useless declaration.
14483
14484 2000-02-07  Martin Buchholz  <martin@xemacs.org>
14485
14486         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
14487         * config.h.in: Add HAVE_XCONVERTCASE.
14488
14489 2000-02-07  Andy Piper  <andy@xemacs.org>
14490
14491         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
14492         it breaks many things.
14493
14494 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14495
14496         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
14497         actually can start a common comment type.
14498         * src/syntax.h (SYNTAX_END_P): ditto for end.
14499
14500 2000-02-07  Martin Buchholz <martin@xemacs.org>
14501
14502         * XEmacs 21.2.28 is released.
14503
14504 2000-02-06  Martin Buchholz  <martin@xemacs.org>
14505
14506         * event-Xt.c (x_keysym_to_character): New.
14507         (maybe_define_x_key_as_self_inserting_character): New.
14508         (x_has_keysym): New.
14509         Auto-define all keys on the keyboard as self-insert-key.
14510
14511 2000-02-02  Martin Buchholz  <martin@xemacs.org>
14512
14513         * menubar.c (vars_of_menubar): A small code simplification.
14514
14515         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
14516
14517         * ExternalShell.c:
14518         * ExternalClient.c:
14519         * EmacsShell-sub.c:
14520         * EmacsManager.c:
14521         * EmacsFrame.c:
14522         Use consistent style for specifying X resources.
14523
14524         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
14525         This makes (dontusethis-set-symbol-value-handler) actually usable.
14526
14527         * lrecord.h (lrecord_decription_type):
14528         * alloc.c (pdump_register_sub):
14529         (pdump_dump_data):
14530         (pdump_reloc_one):
14531         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
14532         Comply with XEmacs coding style.
14533         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
14534         args, and XD_LISP_OBJECT_ARRAY with 3 args.
14535
14536         * keymap.c (Faccessible_keymaps):
14537         Make (accessible-keymaps map "\C-h") do the Right Thing.
14538         Make (accessible-keymaps map []) do the Right Thing.
14539         Make (accessible-keymaps map "") do the Right Thing.
14540         (check_keymap_definition_loop): New function.
14541         (keymap_store_internal): Keep luser from shooting self in foot,
14542           via (define-key ctl-x-4-map "p" global-map).
14543         Remove fullness slot from struct Lisp_Keymap, since hash tables
14544         are now reliable.
14545         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
14546
14547 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14548
14549         * redisplay.c (init_redisplay): Fix small memory leak.
14550         * elhash.h:
14551         * elhash.c (pdump_reorganize_hash_table):
14552         Rename from reorganize_hash_table. Change prototype.
14553         Reuse the original memory for hentries.  Save 100k.
14554         * alloc.c (PDUMP_READ): new macro.
14555         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
14556         * alloc.c: No need to #ifndef before #undef.
14557
14558         * print.c: Allow debug_print() to print readably by modifying
14559         debug_print_readably.  Use consistent variable names.
14560
14561         * .dbxrc: Try to get things to work even if stopped in a function
14562         without source available by explicitly specifying source files.
14563 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14564
14565         * unexnt.c (_start): Removed bogus code which caused loading heap
14566         from differrent executable file.
14567         Removed bogus assignment to _fmode, which caused inconsistencies.
14568
14569 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14570
14571         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
14572         Have spawnve encapsulation regard DONT_ENCAPSULATE.
14573         Do not preliminary `#define signal sigset'.
14574
14575         * systime.h: Do not prototype environ on windows nt and cygwin,
14576         this conflicts with system header.
14577
14578         * syssignal.h: Use correct define for WINDOWSNT
14579
14580         * sysdep.h: Do not prototype environ on windows nt, this conflicts
14581         with system header.
14582
14583         * sysdep.c (near start of file): Fixed commentary and rearranged
14584         ifdefs in readable order.
14585         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
14586         (start_of_text):
14587         (end_of_text):
14588         (end_of_data): Do not compile in if using PDUMP.
14589
14590         * symsinit.h: Prototyped vars_of_nt().
14591
14592         * ntproc.c (windows9x_p): Added, instead of os_subtype.
14593         (find_child_console): Use it.
14594         (sys_kill): Use it.
14595
14596         * ntheap.h: Do not extern os_subtype.
14597
14598         * ntheap.c (cache_system_info): Do not cache unneeded:
14599         nt_major_version, nt_minor_version and os_subtype.
14600         (recreate_heap): Do not compile in when PDUMPing.
14601
14602         * nt.c (geteuid and friends): Use the new varibale
14603         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
14604         (init_user_info): Removed the above mentioned hackery.
14605         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
14606         stat has been fixed in the C runtime.
14607         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
14608
14609         * file-coding.c (struct file_coding_dump): Do not define
14610         ucs_to_mule_table in the struct if not MULE.
14611         (struct struct lrecord_description fcd_description_1): Do not dump
14612         the above.
14613
14614         * emacs.c (main_1): Call vars_of_nt().
14615         (right before Fdump_emacs_data): Don't need lastfile if using both
14616         portabe dumper and system malloc.
14617
14618         * alloc.c (Fmemory_limit): Conditionalized out.
14619         (pdump): Use OPEN_BINARY for the portable dump file.
14620         (pdump_load): Ditto.
14621
14622 2000-02-02  Mike Alexander  <mta@arbortext.com>
14623
14624         * nt.c (convert_time): Set tm_isdst before calling mktime and
14625         avoid calling it at all if the compiler supports 64 bit integers.
14626         Also initialize utc_base_ft before using it.
14627
14628 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14629
14630         * frame.c (change_frame_size_1): Take f->internal_border_width
14631         into consideration when calculating the width of the frame.
14632
14633 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14634
14635         * window.c (frame_min_height):
14636         (frame_size_valid_p):
14637         (frame_pixsize_valid_p): Added.
14638         (check_frame_size): Generalized.
14639
14640         * window.h: Prototyped the above.
14641
14642         * lisp.h:
14643         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
14644         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
14645         Deleted Vwin32_* and Vbinary_process_* unused variables.
14646
14647         * device-msw.c (msprinter_init_device): Do not get printer font
14648         list; Added DEVMODE functions.
14649
14650         * frame-msw.c: Added lots of printer code.
14651
14652         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
14653         general.c.
14654
14655         * console-msw.h: Added more msprinter device private slots.
14656
14657 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14658
14659         * event-msw.c (key_needs_default_processing_p): Added.
14660         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
14661
14662 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14663
14664         * glyphs.c (image_instance_layout): Mark image instance as clean
14665         after layout.
14666         (glyph_dirty_p): Removed redundant function.
14667         (invalidate_glyph_geometry_maybe): Added.
14668         (update_glyph_cachel_data): Call it.
14669
14670         * glyphs.h: Prototyped it.
14671
14672         * redisplay.c (add_glyph_rune): Call it.
14673         (redisplay_window): Reset glyphs cachels when frame faces have
14674         changed, thus forcing recomputation of built-in border glyphs.
14675
14676 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14677
14678         * Makefile.in.in: Make portable dumper and purify play well together.
14679         Add imperfect, but better than nothing, support for pdump.
14680         Remove xemacs.dmp when temacs is re-generated.
14681         Don't ignore errors when dumping xemacs.
14682
14683         * symbols.c (maybe_call_magic_handler): Remove one magic number.
14684
14685 2000-01-28  Andy Piper  <andy@xemacs.org>
14686
14687         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
14688         (setup_normal_frame): ditto.
14689         (setup_frame_without_minibuffer): ditto.
14690         (setup_minibuffer_frame): ditto.
14691         (delete_frame_internal): ditto.
14692         (Fmake_frame_invisible): ditto.
14693         (Ficonify_frame): ditto.
14694
14695         * window.h: change Fset_window_buffer signature.
14696
14697         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
14698         (Fset_window_buffer): allow recording of buffer if the window is
14699         the selected window.
14700         (window_loop): Use new Fset_window signature.
14701
14702 2000-01-23  Daniel Pittman  <daniel@danann.net>
14703
14704         * config.h.in: Added template for `HAVE_ATHENA_3D'
14705
14706 2000-01-29  Andy Piper  <andy@xemacs.org>
14707
14708         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
14709
14710         * gutter.c (output_gutter): Don't output if the window isn't live.
14711
14712 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14713
14714         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
14715         of 01/12/00: Moved SetFocus back here where it belongs.
14716
14717 2000-01-23  Andy Piper  <andy@xemacs.org>
14718
14719         * s/cygwin32.h: declare printer things.
14720
14721 2000-01-26  Andy Piper  <andy@xemacs.org>
14722
14723         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
14724         Alexander.
14725
14726 2000-01-24  Andy Piper  <andy@xemacs.org>
14727
14728         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
14729         (mswindows_button_instantiate): Make sure glyph is a pixmap.
14730
14731         * glyphs-widget.c (widget_instantiate): Avoid shadows.
14732
14733         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
14734
14735         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
14736
14737         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
14738         (mswindows_output_display_block): Avoid local shadows.
14739
14740         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
14741         (mswindows_enqueue_mouse_button_event): ditto.
14742         (mswindows_handle_gui_wm_command): remove declaration.
14743
14744         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
14745         warnings.
14746
14747         * console-msw.h: Avoid shadows.
14748         (mswindows_get_toolbar_button_text):
14749         (emacs_mswindows_create_stream_pair):
14750         (emacs_mswindows_delete_stream_pair):
14751         (mswindows_handle_toolbar_wm_command): declare.
14752
14753         * device-msw.c (build_syscolor_string): Avoid shadows.
14754
14755 2000-01-23  Andy Piper  <andy@xemacs.org>
14756
14757         * glyphs-widget.c (widget_instantiate): reverse the items for
14758         layouts so that children are in the expected order.
14759
14760 2000-01-28  Martin Buchholz  <martin@xemacs.org>
14761
14762         * ralloc.c: safe_bcopy ==> memmove
14763         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
14764         * s/msdos.h: Remove BCOPY macros.
14765         * insdel.c (gap_right): Remove BCOPY conditional code.
14766         * insdel.c (gap_left): Remove BCOPY conditional code.
14767         XEmacs demands a working ANSI C compiler - hence memmove.
14768
14769         * regex.c (regex_compile): Remove accidental use of trigraphs.
14770
14771 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14772
14773         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
14774         event timestamp.
14775
14776 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14777
14778         * event-msw.c (mswindows_drain_windows_queue): Added the
14779         parameter.
14780         (mswindows_need_event): Commented the call to
14781         mswindows_drain_windows_queue().
14782         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
14783         only.
14784
14785         * console-msw.h: Moved a few function prototypes here from
14786         event-msw.c.
14787
14788         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
14789         parameter from unsigned short to unsigned long.
14790         (Fmswindows_shell_execute): Added return value.
14791
14792 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14793
14794         * sysdep.c (init_system_name):
14795           process-unix.c (unix_canonicalized_host_name):
14796         Don't call freeaddrinfo() if getaddrinfo() fails.
14797
14798         * process-unix.c (unix_open_unix_network_stream):
14799         Moved the code to get a port # into address loop.
14800
14801 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14802
14803         * buffer.c (reinit_vars_of_buffer):
14804         The right place to initialize conversion_in_dynarr and
14805         conversion_out_dynarr.
14806
14807         * alloc.c (pdump): Use the real open() till sys_open() is functional.
14808
14809         * process-unix.c (unix_canonicalize_host_name): Muleize.
14810         (unix_open_network_stream): Muleize.
14811
14812         * buffer.h: Fix up prototypes for ralloc.c functions.
14813
14814 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14815         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
14816         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
14817                 instead of gethostbyname()
14818         * process-unix.c: In unix_canonicalize_host_name() and
14819                 unix_open_network_stream(), add code to use getaddrinfo()
14820                 instead of gethostbyname().
14821
14822 2000-01-27  Daniel Pittman <daniel@danann.net>
14823
14824         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
14825         libs when built with flat Athena.
14826
14827 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14828
14829         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
14830         Use coding standards for function prototypes.
14831
14832 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14833
14834         * dialog-msw.c (push_lisp_string_as_unicode):
14835         * doc.c (unparesseuxify_doc_string):
14836         * dired.c (Fuser_name_completion_1):
14837         * dired.c (Fuser_name_all_completions):
14838         * dired.c (free_user_cache):
14839         * dired.c (user_name_completion):
14840         * console-x.c (get_display_arg_connection):
14841         * minibuf.c (clear_echo_area_internal):
14842         * minibuf.c (echo_area_append):
14843         * eldap.c (Fldap_open):
14844         * eldap.c (Fldap_search_internal):
14845         * frame-x.c (x_set_frame_text_value):
14846         * frame-x.c (x_set_frame_properties):
14847         * frame-x.c (x_create_widgets):
14848         * redisplay-tty.c (term_get_fkeys_1):
14849         * objects-x.c (x_parse_nearest_color):
14850         * objects-x.c (x_valid_color_name_p):
14851         * objects-x.c (x_initialize_font_instance):
14852         * objects-x.c (x_list_fonts):
14853         * objects-x.c (x_find_charset_font):
14854         * tooltalk.c (Fadd_tooltalk_message_arg):
14855         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
14856         * tooltalk.c (Fadd_tooltalk_pattern_arg):
14857         * process-unix.c (unix_create_process):
14858         * ntproc.c (sys_spawnve):
14859         * sound.c (Fplay_sound_file):
14860         * sound.c (Fplay_sound):
14861         * buffer.c (init_initial_directory):
14862         * buffer.c (init_buffer):
14863         * editfns.c (init_editfns):
14864         * editfns.c (Ftemp_directory):
14865         * editfns.c (Fuser_full_name):
14866         * editfns.c (uncache_home_directory):
14867         * editfns.c (get_home_directory):
14868         * editfns.c (Fuser_home_directory):
14869         * editfns.c (Fformat_time_string):
14870         * editfns.c (Fcurrent_time_string):
14871         * gui-x.c (button_item_to_widget_value):
14872         * database.c (Fopen_database):
14873         * event-Xt.c (x_to_emacs_keysym):
14874         * event-Xt.c (x_event_to_emacs_event):
14875         * event-Xt.c (describe_event_window):
14876         * event-msw.c (mswindows_wnd_proc):
14877         * glyphs-eimage.c (jpeg_instantiate):
14878         * glyphs-eimage.c (gif_instantiate):
14879         * glyphs-eimage.c (png_instantiate):
14880         * glyphs-eimage.c (tiff_instantiate):
14881         * glyphs-x.c (xbm_instantiate_1):
14882         * glyphs-x.c (x_xbm_instantiate):
14883         * glyphs-x.c (x_xface_instantiate):
14884         * glyphs-x.c (autodetect_instantiate):
14885         * glyphs-x.c (cursor_font_instantiate):
14886         * glyphs-x.c (x_widget_instantiate):
14887         * glyphs-x.c (x_widget_set_property):
14888         * glyphs-x.c (x_widget_property):
14889         * glyphs-x.c (BUILD_GLYPH_INST):
14890         * print.c (write_string_to_stdio_stream):
14891         * print.c (output_string):
14892         * print.c (Falternate_debugging_output):
14893         * print.c (Fexternal_debugging_output):
14894         * glyphs-msw.c (extract_xpm_color_names):
14895         * glyphs-msw.c (mswindows_xpm_instantiate):
14896         * glyphs-msw.c (bmp_instantiate):
14897         * glyphs-msw.c (resource_name_to_resource):
14898         * glyphs-msw.c (mswindows_resource_instantiate):
14899         * glyphs-msw.c (xbm_instantiate_1):
14900         * glyphs-msw.c (mswindows_xbm_instantiate):
14901         * glyphs-msw.c (mswindows_xface_instantiate):
14902         * glyphs-msw.c (mswindows_widget_instantiate):
14903         * glyphs-msw.c (add_tree_item):
14904         * glyphs-msw.c (add_tab_item):
14905         * glyphs-msw.c (mswindows_combo_box_instantiate):
14906         * glyphs-msw.c (mswindows_widget_property):
14907         * glyphs-msw.c (mswindows_combo_box_property):
14908         * glyphs-msw.c (mswindows_widget_set_property):
14909         * console.c (stuff_buffered_input):
14910         * objects-msw.c (mswindows_initialize_color_instance):
14911         * objects-msw.c (mswindows_valid_color_name_p):
14912         * objects-msw.c (mswindows_list_fonts):
14913         * objects-msw.c (mswindows_font_instance_truename):
14914         * bytecode.c (optimize_compiled_function):
14915         * select-x.c (symbol_to_x_atom):
14916         * select-x.c (x_atom_to_symbol):
14917         * select-x.c (hack_motif_clipboard_selection):
14918         * select-x.c (selection_data_to_lisp_data):
14919         * select-x.c (lisp_data_to_selection_data):
14920         * select-x.c (Fx_get_cutbuffer_internal):
14921         * select-x.c (Fx_store_cutbuffer_internal):
14922         * buffer.h (TO_EXTERNAL_FORMAT): New function.
14923         * buffer.h (TO_INTERNAL_FORMAT): New function.
14924         * emacs.c (make_arg_list_1):
14925         * emacs.c (make_argc_argv):
14926         * emacs.c (main_1):
14927         * emacs.c (Fdump_emacs):
14928         * emacs.c (split_string_by_emchar_1):
14929         * file-coding.h:
14930         * lisp.h:
14931         * lstream.h:
14932         * symsinit.h:
14933         * device-x.c (x_init_device):
14934         * device-x.c (Fx_valid_keysym_name_p):
14935         * device-x.c (Fx_get_font_path):
14936         * device-x.c (Fx_set_font_path):
14937         * glyphs.c (bitmap_to_lisp_data):
14938         * glyphs.c (pixmap_to_lisp_data):
14939         * alloc.c (make_ext_string): Use coding system arguments.  Update
14940         all callers.
14941         * alloc.c (build_string):
14942         * callproc.c (child_setup):
14943         * callproc.c (init_callproc):
14944         * fileio.c (lisp_strerror):
14945         * fileio.c (directory_file_name):
14946         * fileio.c (Fexpand_file_name):
14947         * fileio.c (Ffile_truename):
14948         * fileio.c (Fsysnetunam):
14949         * fileio.c (Fdo_auto_save):
14950         * sysdep.c (sys_readdir):
14951         * tests.c: New file.  Allow adding C tests.
14952         Replace GET_* macros with a more comprehensible and flexible
14953         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
14954         Modify all calls.
14955         Any coding system can be used to do format conversion.
14956         Eliminate enum external_data_format.
14957         Eliminate convert_to_external_format.
14958         Eliminate convert_to_internal_format.
14959         Make sure file-name, keyboard, terminal, and ctext are always
14960         defined as coding systems or aliases.  Make
14961         file-name-coding-system, terminal-coding-system, and
14962         keyboard-coding-system magical variables that are equivalent to
14963         defining the corresponding coding system aliases.
14964
14965         * file-coding.c (Fcoding_system_canonical_name_p): New function.
14966         * file-coding.c (Fcoding_system_alias_p): New function.
14967         * file-coding.c (Fcoding_system_aliasee): New function.
14968         * file-coding.c (append_suffix_to_symbol): New function.
14969         * file-coding.c (dangling_coding_system_alias_p): New function.
14970         * file-coding.c (Ffind_coding_system):
14971         * file-coding.c (Fcopy_coding_system):
14972         * file-coding.c (encode_coding_no_conversion):
14973         * file-coding.c (syms_of_file_coding):
14974         * file-coding.c (vars_of_file_coding):
14975         Rewrite coding system alias code.
14976         Allow nested aliases, like symbolic links.
14977         Allow redefinition of coding system aliases.
14978         Prevent existence of dangling coding system aliases.
14979
14980         * dired.c (Fuser_name_completion_1):
14981         * dired.c (Fuser_name_all_completions):
14982         A crash would happen if user did QUIT in the middle of building
14983         user_name_cache.  Remove redundant code in mainline and unwind_protect.
14984
14985         * lisp.h:
14986         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
14987
14988         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
14989         an unsigned char *.  Update all callers.
14990
14991 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14992
14993         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
14994
14995 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14996
14997         * elhash.c (hentry_description): Use more portable definition.
14998         (resize_hash_table): Initialize new hentries using
14999         xnew_array_and_zero, thereby simplifying the code.
15000
15001         * mule-charset.c (make_charset): Make sure entire object is
15002         initialized, to avoid Purify warnings.
15003
15004         * alloc.c (resize_string): Fix unlikely crash with big strings.
15005
15006 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15007
15008         * realpath.c (xrealpath):
15009         Don't call getwd().
15010
15011 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15012
15013         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15014
15015 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15016
15017         * unexelfsgi.c (unexec): Change the way we decide which segment
15018         should be extended.
15019
15020         Assumption that .bss section should be outside the PT_LOADable
15021         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15022         it's present) is inside the 'data' segment. This would fail the
15023         test which was used to find a segment to grow and cover new
15024         heap. Instead of this assumption, I created another one - on IRIX
15025         the segment to grow should start below .bss and it's address
15026         should extent above the end of .bss. Once this segment is
15027         identified, it's grown to accommodate the new heap and new
15028         zero-length .bss section is added at the end of .data2.
15029
15030 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15031
15032         * eval.c (Feval): Wrong number of arguments should use original
15033         function, not the indirect_function version of it.
15034
15035 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15036
15037         * glyphs-x.c (x_button_instantiate): Don't add image if
15038         it is not a pixmap.
15039         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15040         is relative.
15041
15042 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15043
15044         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15045         declaration.
15046         (DEFVAR_INT_MAGIC): Ditto.
15047         (DEFVAR_BOOL_MAGIC): Ditto.
15048         * glyphs.h: Reindent backslash.
15049
15050 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15051
15052         * glyphs-widget.c (layout_query_geometry):
15053         (layout_layout): Use correct types for gheight, gwidth.
15054
15055 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15056
15057         * EmacsManager.c (QueryGeometry): Purified.
15058
15059 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15060
15061         * alloc.c (make_float): Make sure entire object is initialized, to
15062         avoid Purify warnings.
15063         (pdump_register_sub): Remove useless assignment.
15064         (pdump): Use xmalloc, not malloc.
15065         (pdump_load): Use xmalloc, not malloc.
15066
15067 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15068
15069         * callproc.c:
15070         * dired-msw.c:
15071         * fileio.c:
15072         * process-nt.c:
15073         * redisplay-msw.c:
15074         * sysdep.c: Removed redundant #include <windows.h>
15075
15076 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15077
15078         * frame.c (delete_frame_internal): Do not delete device when its
15079         implementation so declares.
15080         (delete_frame_internal): Set device selected frame to nil when
15081         last frame goes away.
15082
15083         * device-msw.c (msprinter_device_system_metrics): Implemented.
15084         (mswindows_device_system_metrics): Added 'device-dpi property.
15085
15086         * device.c: (Fdevice_printer_p): Added.
15087         Added 'offset-workspace device metric.
15088
15089         * console.h (device_metrics): Declared DM_offset_workspace.
15090
15091 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15092
15093         * fileio.c (Ffile_truename): Remove pointless and confusing
15094         initialization of elen.
15095
15096         * glyphs-widget.c: Compiler warning fixes.
15097
15098 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15099
15100         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15101         instead of a Lisp_Object as argument to make it consistent with
15102         the other LIVE_P macros.
15103         (CHECK_LIVE_PROCESS): New macro.
15104
15105         * process.c: Declare Qprocess_live_p.
15106         (Fprocess_live_p): New function.
15107         (create_process): Use PROCESS_LIVE_P.
15108         (read_process_output): Ditto.
15109         (set_process_filter): Ditto.
15110         (Fdelete_process): Ditto.
15111         (kill_buffer_processes): Ditto
15112         (process_send_signal): Use CHECK_LIVE_PROCESS.
15113         (Fprocess_input_coding_system): Check whether process is still
15114         alive (fix PR#1061).
15115         (Fprocess_output_coding_system): Ditto.
15116         (Fprocess_coding_system): Ditto.
15117         (Fset_process_input_coding_system): Ditto.
15118         (Fset_process_output_coding_system): Ditto.
15119
15120 2000-01-23  Andy Piper  <andy@xemacs.org>
15121
15122         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15123         layout and widget.
15124
15125         * glyphs.c (mark_image_instance): take into account changed
15126         image_instance format.
15127         (image_instance_equal): ditto.
15128         (image_instance_hash): ditto.
15129
15130         * glyphs-widget.c (widget_instantiate): Incorporate layout
15131         instantiation here. Delay layout of the layout until later.
15132         (layout_instantiate): deleted.
15133         (layout_query_geometry): new function. get the geometry of a
15134         layout.
15135         (layout_layout): layout a layout dynamically.
15136         (image_instantiator_widget): New function - splitting up
15137         image_instantiator_format_create_glyphs_widget for netwinder
15138         compilation.
15139         (image_instantiator_buttons):
15140         (image_instantiator_edit_fields):
15141         (image_instantiator_combo_box):
15142         (image_instantiator_scrollbar):
15143         (image_instantiator_progress_guage):
15144         (image_instantiator_tree_view):
15145         (image_instantiator_tab_control):
15146         (image_instantiator_labels):
15147         (image_instantiator_layout): ditto.
15148         (image_instantiator_format_create_glyphs_widget): Call preceding
15149         functions.
15150
15151 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15152
15153         * process.c (Fset_process_coding_system):
15154         * device-x.c (Fx_keysym_hash_table):
15155         Docstring fixes.
15156
15157         * lstream.c (Lstream_write): Return documented value, not 0.
15158
15159         * fileio.c (directory_file_name):
15160         (Fsubstitute_in_file_name):
15161         (Fsubstitute_insert_file_contents_internal):
15162         (Fwrite_region_internal):
15163         * emacs.c:
15164         * sysdep.c:
15165         * getloadavg.c:
15166         * systty.h:
15167         Remove vestigial APOLLO-conditional code.
15168
15169 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15170
15171         * getpagesize.h: Add guard macros.
15172         * libsst.h: Add guard macros.
15173         * libst.h: Add guard macros.
15174         * line-number.h: Add guard macros.
15175         * ndir.h: Add guard macros.
15176         * sysfloat.h: Add guard macros.
15177         * sysfile.h: Add guard macros.
15178         * sysproc.h: Add guard macros.
15179         * syswait.h: Add guard macros.
15180         * xintrinsic.h: Add guard macros.
15181         * xintrinsicp.h: Add guard macros.
15182         * xmmanager.h: Add guard macros.
15183         * xmmanagerp.h: Add guard macros.
15184         * xmprimitive.h: Add guard macros.
15185         * xmu.h: Add guard macros.
15186         * gpmevent.h: Add copyright statement. Add guard macros.
15187         * miscplay.h: Add guard macros.
15188         * *.h: Use consistent C-standards-approved guard macro names.
15189
15190         * opaque.c (make_opaque): Switch parameter order.
15191         * opaque.h (make_opaque): Switch parameter order.
15192         Update all callers.
15193         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
15194
15195         * config.h.in (type_checking_assert): Added.
15196         (bufpos_checking_assert): Added.
15197
15198 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15199
15200         * alloc.c: Harmless pdump changes.
15201         - Use countof().
15202         - spell alignment correctly.
15203         * sysdep.c: Use countof()
15204
15205 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15206
15207         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
15208         initially_selected_for_input() console method, default to 0.
15209         (semi_canonicalize_console_connection): Try to delegate to
15210         canonicalize_console_connection if no such console method.
15211         (canonicalize_console_connection): Vice versa.
15212         (print_console): Do not print nil connection.
15213
15214         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
15215         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
15216         (XDEVIMPF_FRAMELESS_OK): Added.
15217         (CONSOLE_INHERITS_METHOD): Added.
15218
15219         * console-msw.c (mswindows_canonicalize_console_connection):
15220         Added.
15221         (mswindows_canonicalize_device_connection): Added.
15222
15223         * console-msw.h (struct msprinter_device): Added this struct and
15224         accessor macros.
15225         (mswindows_device): Made fontlist a lisp object.
15226
15227         * device.c (semi_canonicalize_device_connection):  Try to delegate
15228         to canonicalize_device_connection if no such console method.
15229         (canonicalize_device_connection): Vice versa.
15230         (print_device): Do not print nil connection.
15231
15232         * device-msw.c (mswindows_init_device): Call InitCommonControls
15233         when have widgets.
15234         (mswindows_delete_device): Removed fontlist deallocation.
15235         (mswindows_mark_device): Added.
15236
15237         * events.c (event_equal): Added abort() at unreached code.
15238         (event_hash): Ditto.
15239
15240         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
15241         fallback tags of Windows devices.
15242
15243         * general.c (syms_of_general): Initialized Qmsprinter.
15244
15245         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
15246         of fallback tags of Windows devices.
15247
15248         * lisp.h: Declared Qmsprinter.
15249
15250         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
15251         of strings.
15252         (mswindows_list_fonts): Ditto.
15253         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
15254         that it can be used by both mswindows and msprinter devices.
15255         (initialize_font_instance): Added.
15256         (mswindows_initialize_font_instance): Use it.
15257         (msprinter_initialize_font_instance): Added.
15258
15259         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
15260         and implementation flags check.
15261         (redisplay_without_hooks): Changed the call to the above.
15262         (Fredraw_device): Ditto.
15263         (Fredisplay_device): Ditto.
15264
15265         * redisplay-msw.c (get_frame_dc): Implemented.
15266         (get_frame_compdc): Implemented.
15267         (many functions): Use the two functions above to get device
15268         contexts, ether for a window or a printer.
15269
15270 2000-01-21  Olivier Galibert  <galibert@pobox.com>
15271
15272         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
15273         initialization here.
15274         (init_symbols_once_early): Call it.
15275         * emacs.c (main_1): Call it.
15276         * symsinit.h: Declare it.
15277
15278 2000-01-19  Olivier Galibert  <galibert@pobox.com>
15279
15280         * alloc.c: Use a lrecord_header * in the backtrace instead of a
15281         Lisp_Object.
15282         (pdump_backtrace): Ditto.
15283         (pdump_register_object): Ditto.  Cleanup use of the pointers.
15284         (pdump_get_entry): Abort if trying to register a null pointer.
15285         (pdump_dump_data): Cleanup types when relocating.
15286         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
15287         (pdump_dump_rtables): Remove bad casts.
15288         (pdump_load): Cleanup relocation w.r.t union type.  Use a
15289         Lisp_Object instead of a EMACS_INT for the hashtable
15290         reorganization.
15291
15292 2000-01-20  Martin Buchholz  <martin@xemacs.org>
15293
15294         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
15295
15296         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
15297
15298         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
15299
15300         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
15301
15302 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15303
15304         * faces.h (FACE_STRIKETHRU_P): Added.
15305
15306         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
15307         of font variants.
15308
15309         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
15310         (mswindows_set_dc_font): New function, aware of font variants,
15311         separated from mswindows_update_dc.
15312
15313         * objects-msw.h (struct mswindows_font_instance_data): Added
15314         definition.
15315
15316         * objects-msw.c (mswindows_finalize_font_instance): Delete all
15317         cached fonts and the data structure.
15318         (mswindows_initialize_font_instance): Added creation of font data
15319         structure.
15320         (mswindows_print_font_instance): Print at least something.
15321         (mswindows_create_font_variant): Implemented.
15322         (mswindows_get_hfont): Implemented.
15323
15324 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
15325
15326         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
15327         prototyping problem with msvc.
15328
15329         * emacs.c (main_1): added syms_of_gui_mswindows() call
15330
15331         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
15332         syms_of_gui_mswindows() function
15333
15334         * symsinit.h: added the prototype for syms_of_gui_mswindows()
15335
15336 2000-01-18  Martin Buchholz <martin@xemacs.org>
15337
15338         * XEmacs 21.2.27 is released.
15339
15340 2000-01-18  Martin Buchholz  <martin@xemacs.org>
15341
15342         * glyphs-eimage.c (struct tiff_error_struct):
15343         (tiff_error_func):
15344         (tiff_warning_func):
15345         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
15346
15347         * unexmips.c:
15348         * unexhp9k3.c:
15349         * unexfreebsd.c:
15350         * unexec.c: Remove vestigial Lucid C code.
15351         * unexalpha.c:
15352         * unexaix.c:
15353         * termcap.c:
15354         * libsst.c: Ansify.
15355         Remove declarations of errno and strerror().
15356
15357         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
15358
15359         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
15360
15361 2000-01-16  Martin Buchholz  <martin@xemacs.org>
15362
15363         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
15364         Optimize.
15365
15366 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15367
15368         * md5.c:
15369         * file-coding.c:
15370         * file-coding.h:
15371         Change enum eol_type to eol_type_t.
15372
15373 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15374
15375         * gui.c (get_gui_callback): Check cons before accessing car.
15376
15377 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15378
15379         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
15380         (XSETSPECIFIER_TYPE): Ditto.
15381
15382 2000-01-17  Didier Verna  <didier@xemacs.org>
15383
15384         * redisplay.c (generate_fstring_runes): compute string size in
15385         characters, not bytes.
15386
15387 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15388
15389         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
15390
15391 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
15392
15393         * print.c (print_error_message): Call print_prepare().
15394
15395 2000-01-14  Martin Buchholz  <martin@xemacs.org>
15396
15397         * .dbxrc: Renamed from dbxrc.
15398
15399         * events.c (event_to_character):
15400         Use `assert (foo)' instead of `if (!foo) abort()'
15401
15402         * .gdbinit (xtype): Add documentation.
15403         * .gdbinit (check-temacs): New function.
15404         * .gdbinit (check-xemacs): New function.
15405         * dbxrc (check-xemacs): New function.
15406         * dbxrc (check-xemacs): New function.
15407
15408 2000-01-14  Andy Piper  <andy@xemacs.org>
15409
15410         * glyphs-widget.c (widget_query_geometry): Make sure that we
15411         calculate default dimensions correctly.
15412
15413 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15414
15415         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
15416
15417         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
15418         pdump_wire'd variable.
15419
15420         * emacs.c: (main_1): Conditionalized calls to
15421         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
15422
15423 2000-01-13  Martin Buchholz  <martin@xemacs.org>
15424
15425         * window.c (Fset_window_configuration):
15426         * sysdep.c (_start):
15427         * input-method-motif.c (res):
15428         * event-Xt.c (Xt_process_to_emacs_event):
15429         Simple compiler warning fixes.
15430
15431         * bytecode.c (funcall_compiled_function): Use the original
15432         function symbol on the backtrace list in preference to the
15433         compiled_function object in error messages.
15434
15435 2000-01-13  Andy Piper  <andy@xemacs.org>
15436
15437         * glyphs-x.c (update_widget_face): Make sure we update the widget
15438         background as well as foreground.
15439
15440 2000-01-13  Andy Piper  <andy@xemacs.org>
15441
15442         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
15443         fields to subwindow.
15444         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
15445         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
15446         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15447         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15448
15449         * glyphs-widget.c (check_valid_tab_orientation): new function.
15450         (initialize_widget_image_instance): zero orientation and
15451         justification.
15452         (widget_instantiate): pick up orientation.
15453         (tab_control_query_geometry): return appropriate values for
15454         vertical tabs.
15455
15456         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
15457         appropriate creation flags for left, right and bottom tabs.
15458
15459         * s/cygwin32.h: add tab definitions.
15460
15461 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15462
15463         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
15464         frame upon hiding a subwindow.
15465         (mswindows_button_instantiate): Changed the push button style to
15466         BS_PUSHBUTTON.
15467         (mswindows_button_instantiate): Removed button BS_NOTIFY
15468         style.
15469         (mswindows_button_instantiate): Removed redundant check for
15470         a disabled gui item.
15471         (mswindows_button_instantiate): Made use of WS_TABSTOP
15472         consistent: "operable" controls (edit, button, tree, scroll) have
15473         this style, "display-only" ones (static, progress gauge) do
15474         not. This style is currently ignored by XEmacs though. Also,
15475         removed the WS_EX_CONTROLPARENT style - it is not for children,
15476         it is for their parents!
15477         (mswindows_edit_field_instantiate): Ditto.
15478         (mswindows_progress_gauge_instantiate): Ditto.
15479         (mswindows_tree_view_instantiate): Ditto.
15480         (mswindows_tab_control_instantiate): Ditto.
15481         (mswindows_scrollbar_instantiate): Ditto.
15482         (mswindows_combo_box_instantiate): Ditto.
15483         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
15484         style to the "clip" window.
15485         (mswindows_button_instantiate): Removed compilation warning by
15486         equally typing terms of the ?: operator.
15487
15488 2000-01-12  Didier Verna  <didier@xemacs.org>
15489
15490         * redisplay.c (generate_fstring_runes): new parameter holding the
15491         last modeline-format extent.
15492         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
15493         extent, fill the glyph block with it.
15494         (generate_fstring_runes): handle these parameters.
15495         (generate_formatted_string_db): ditto.
15496
15497         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
15498         glyphs'extents in the modeline.
15499
15500 1999-01-11  Mike Woolley  <mike@bulsara.com>
15501
15502         * ntheap.c: Reduced the reserved heap space from 1Gb down to
15503         256Mb, as a workaround for the non-starting problem many people
15504         have experienced.
15505
15506 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15507
15508         * console-tty.c (Fset_console_tty_output_coding_system):
15509         Force redrawing tty frame.
15510
15511 2000-01-10  Didier Verna  <didier@xemacs.org>
15512
15513         * redisplay.c (generate_fstring_runes): fix size computation bug.
15514
15515 2000-01-09  William M. Perry <wmperry@aventail.com>
15516
15517         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
15518
15519 2000-01-09  Andy Piper  <andy@xemacs.org>
15520
15521         * glyphs-msw.c: index -> i to avoid shadows.
15522         (xbm_create_bitmap_from_data): make static.
15523         (check_valid_string_or_int): deleted.
15524         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
15525
15526         * glyphs-x.c (x_update_subwindow): remove unused args.
15527
15528         * glyphs.c (glyph_image_instance): return the thing. Don't set the
15529         back pointer - this is done in allocate_image_instance.
15530         (query_string_font): return Qnil to make the compiler happy.
15531         (unmap_subwindow): set to ~0 to make the compiler happy.
15532         (glyph_query_geometry): comment out until used.
15533         (glyph_layout): ditto.
15534
15535 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15536
15537         * insdel.c (signal_after_change): Remove extraneous unbind_to().