1c468cf04c53791b34c8b0f1cb994b8bde69a783
[chise/xemacs-chise.git] / src / ChangeLog
1 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * mule-charset.c (Qmap_jis_x0212): Renamed from
4         `Qjapanese_jisx0212'.
5         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
6         `japanese-jisx0212'.
7         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
8         `=jis-x0212'.
9
10 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
11
12         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
13         `Qjapanese_jisx0208'.
14         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
15         of `japanese-jisx0208'.
16         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
17         `=jis-x0208-1983'.
18
19 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
20
21         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
22         `Qjapanese_jisx0208_1978'.
23         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
24         of `japanese-jisx0208-1978'.
25         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
26         `=jis-x0208-1978'.
27
28 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
29
30         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
31         only for XEmacs CHISE.
32
33 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
34
35         * char-ucs.h: Compact non-ISO-IR charset-ids.
36         (LEADING_BYTE_UCS): Changed to -177.
37         (LEADING_BYTE_CONTROL_1): Changed to -77.
38         (LEADING_BYTE_UCS_BMP): Changed to -176.
39         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
40
41 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
42
43         * mule-charset.c (Qiso_ir): New variable.
44         (Fmake_charset): Recognise new property `iso-ir'.
45         (syms_of_mule_charset): Add new symbol `iso-ir'.
46
47 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
48
49         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
50         n to -n; charset-id of non ISO-IR sets are changed to positive
51         numbers.
52
53 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
54
55         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
56         for &MCS-XXXXXXXX; values.
57
58 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
59
60         * mule.c (Vxemacs_chise_version): Renamed from
61         `Vutf_2000_version'.
62         (vars_of_mule): Add new variable `xemacs-chise-version'; define
63         `utf-2000-version' as an alias for `xemacs-chise-version'.
64
65 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
66
67         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
68         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
69         defined.
70
71         * config.h.in (CHISE): New macro.
72
73 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
74
75         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
76         of `ucs'.
77         (Qmap_ucs): New variable.
78         (syms_of_mule_charset): Add new symbol `=ucs'.
79         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
80
81         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
82         (simplify_char_spec): Likewise.
83
84         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
85
86         * char-ucs.h (Qmap_ucs): New extern variable.
87
88 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
89
90         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
91         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
92         don't define it when UTF2000 is not defined.
93         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
94         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
95         when UTF2000 is not defined.
96         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
97         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
98
99 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
100
101         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
102
103         * mule-charset.c (Vcharset_ucs_gb): Deleted.
104         (Qucs_gb): Deleted.
105         (syms_of_mule_charset): Delete `ucs-gb'.
106         (complex_vars_of_mule_charset): Likewise.
107
108 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
109
110         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
111
112         * mule-charset.c (Vcharset_ucs_cns): Deleted.
113         (Qucs_cns): Deleted.
114         (syms_of_mule_charset): Delete `ucs-cns'.
115         (complex_vars_of_mule_charset): Likewise.
116
117 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
118
119         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
120
121         * mule-charset.c (Vcharset_ucs_jis): Deleted.
122         (Qucs_jis): Deleted.
123         (syms_of_mule_charset): Delete `ucs-jis'.
124         (complex_vars_of_mule_charset): Likewise.
125
126 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
127
128         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
129
130         * mule-charset.c (Vcharset_ucs_ks): Deleted.
131         (Qucs_ks): Deleted.
132         (syms_of_mule_charset): Delete `ucs-ks'.
133         (complex_vars_of_mule_charset): Likewise.
134
135 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
136
137         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
138         (Qideograph_daikanwa_2): Deleted.
139         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
140         (complex_vars_of_mule_charset): Likewise.
141
142         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
143         (LEADING_BYTE_DAIKANWA_1): Deleted.
144         (LEADING_BYTE_DAIKANWA_2): Deleted.
145         (MIN_CHAR_DAIKANWA): Deleted.
146         (MAX_CHAR_DAIKANWA): Deleted.
147
148 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
149
150         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
151         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
152         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
153
154         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
155         (Vcharset_ideograph_daikanwa): Deleted.
156         (Qideograph_hanziku_{1..12}): Deleted.
157         (Qideograph_daikanwa): Deleted.
158         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
159         Vcharset_ideograph_daikanwa.
160         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
161         `ideograph-hanziku-{1..12}'.
162         (complex_vars_of_mule_charset): Likewise.
163
164 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
165
166         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
167
168         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
169         (Qideograph_gt_pj_{1..11}): Deleted.
170         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
171         (complex_vars_of_mule_charset): Likewise.
172
173 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
174
175         * mule-charset.c (Vcharset_ucs_big5): Deleted.
176         (Vcharset_ideograph_gt): Deleted.
177         (Qucs_big5): Deleted.
178         (Qideograph_gt): Deleted.
179         (syms_of_mule_charset): Delete symbol `ucs-big5' and
180         `ideograph-gt'.
181         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
182         and `ideograph-gt'.
183
184         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
185         (LEADING_BYTE_GT): Deleted.
186         (MIN_CHAR_GT): Deleted.
187         (MAX_CHAR_GT): Deleted.
188
189 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
190
191         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
192
193 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
194
195         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
196         (save_uint16_byte_table): Likewise.
197         (save_byte_table): Likewise; convert values by it.
198         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
199         for `ideographic-structure'.
200         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
201         as the filter for `ideographic-structure'.
202
203 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
204
205         * chartab.c (put_char_composition): New function.
206         (Fput_char_attribute): Use `put_char_composition'; use
207         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
208
209         * fns.c (simplify_char_spec): New function.
210         (char_ref_simplify_spec): New function.
211         (Fchar_refs_simplify_char_specs): New function.
212         (syms_of_fns): Add new builtin function
213         `char-refs-simplify-char-specs'.
214
215 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
216
217         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
218         (Qideograph_cbeta): Deleted.
219         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
220         (complex_vars_of_mule_charset): Likewise.
221
222         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
223         (MIN_CHAR_CBETA): Comment out.
224         (MAX_CHAR_CBETA): Likewise.
225
226 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
227
228         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
229         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
230         CHISE client feature.
231
232 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
233
234         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
235
236 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
237
238         * mule-charset.c (charset_lookup_description_1): Use
239         `NUM_LEADING_BYTES' in UTF-2000.
240
241 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
242
243         * char-ucs.h (GC_CHARSETP): Deleted.
244
245 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
246
247         * char-ucs.h (MAX_CHAR_GT): Updated.
248
249 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
250
251         * text-coding.c: Sync with XEmacs 21.4.10.
252
253 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
254
255         * mule-charset.c (Vcharset_china3_jef): Deleted.
256         (Qchina3_jef): Deleted.
257         (syms_of_mule_charset): Don't define `china3-jef'.
258         (complex_vars_of_mule_charset): Likewise.
259
260         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
261         (MIN_CHAR_CHINA3_JEF): Comment out.
262         (MAX_CHAR_CHINA3_JEF): Comment out.
263
264 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
265
266         * mule-charset.c (Vcharset_ucs_gb): New variable.
267         (Qucs_gb): New variable.
268         (syms_of_mule_charset): Add new symbol `ucs-gb'.
269         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
270
271         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
272
273 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
274
275         * mule-charset.c (charset_code_point): if a coded-charset has a
276         final-byte, don't inherit the builtin range of the mother CCS.
277
278 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
279
280         * mule-charset.c (charset_code_point): Fix problem about
281         inheritance.
282
283 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
284
285         * mule-charset.c (decode_builtin_char): Reorganized.
286
287 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
288
289         * text-coding.c (char_encode_as_entity_reference): Modify for
290         `charset_code_point'.
291         (char_encode_shift_jis): Likewise.
292         (char_encode_big5): Likewise.
293         (char_encode_utf8): Likewise.
294         (char_encode_iso2022): Likewise.
295
296         * mule-charset.c (charset_code_point): Add new argument
297         `defined_only'.
298         (Fencode_char): Add new optional argument `defined_only'.
299
300         * chartab.c (put_char_table): Modify for `charset_code_point'.
301
302         * char-ucs.h (charset_code_point): Add new argument
303         `defined_only'.
304         (encode_char_1): Modify for `charset_code_point'.
305
306 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
307
308         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
309         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
310
311 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
312
313         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
314         (Qjis_x0208): Likewise.
315         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
316         XCHARSET_FINAL(charset).
317         (charset_code_point): Modify condition for final-byte based
318         builtin-chars.
319         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
320         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
321         in UTF-2000; specify `=jis-x0208' as the mother of
322         `japanese-jisx0208-1978', `japanese-jisx0208' and
323         `japanese-jisx0208-1990' in UTF-2000.
324
325 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
326
327         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
328
329 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
330
331         * text-coding.c (decode_coding_utf16): Support UTF-16.
332         (char_encode_utf16): Fixed.
333
334 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
335
336         * text-coding.c (Qutf16): New variable in MULE.
337         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
338         (Fcoding_system_type): Add `utf-16' in MULE.
339         (struct detection_state): Add a structure for utf16 in MULE.
340         (detect_coding_type): Setup st->utf16.mask in MULE.
341         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
342         MULE.
343         (reset_encoding_stream): Use `char_encode_utf16' and
344         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
345         (detect_coding_utf16): New function [incomplete].
346         (decode_coding_utf16): New function [support only UCS-2].
347         (char_encode_utf16): New function.
348         (char_finish_utf16): New function.
349         (syms_of_file_coding): Add new symbol `utf-16'; setup
350         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
351
352         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
353         UTF-2000.
354         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
355         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
356
357 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
358
359         * chartab.c (put_char_table): When a charset is specified as a
360         range in UTF-2000, don't support builtin characters.
361
362 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
363
364         * mule-charset.c (decode_defined_char): Don't refer external
365         database if Qunbound or Qnil are found.
366         (Fsave_charset_mapping_table): Don't define it if
367         HAVE_CHISE_CLIENT is not defined.
368         (Freset_charset_mapping_table): New function.
369         (load_char_decoding_entry_maybe): Store Qnil if a character is not
370         found in external database.
371         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
372         if HAVE_CHISE_CLIENT is not defined; add new builtin function
373         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
374
375 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
376
377         * text-coding.c (decode_coding_utf8): Check CCS is specified or
378         not.
379
380 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
381
382         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
383         Q_lowercase, Q_uppercase in UTF-2000.
384
385         * chartab.c (get_char_table): Add special code for the standard
386         case table to use character attribute `->downcase' and
387         `->uppercase' for case operations in UTF-2000.
388
389         * casetab.c (Qflippedcase): New variable in UTF-2000.
390         (Q_lowercase): Likewise.
391         (Q_uppercase): Likewise.
392         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
393         and `->uppercase' in UTF-2000.
394         (complex_vars_of_casetab): Assign attribute name `downcase' to
395         downcase and CANON table of Vstandard_case_table in UTF-2000;
396         assign attribute name `flippedcase' to upcase and EQV table of
397         Vstandard_case_table in UTF-2000.
398
399 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
400
401         * text-coding.c (decode_add_er_char): Support isolated-chars.
402         (char_encode_as_entity_reference): Likewise.
403
404 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
405
406         * emacs.c (Vutf_2000_lisp_directory): New variable.
407         (Vconfigure_utf_2000_lisp_directory): Likewise.
408         (complex_vars_of_emacs): Add new variable
409         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
410
411 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
412
413         * char-ucs.h (DECODE_CHAR): Delete special code for
414         `chinese-big5-1' and `chinese-big5-2'.
415
416         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
417         (Qbig5_2): Likewise.
418         (decode_defined_char): Support CONVERSION_BIG5_1 and
419         CONVERSION_BIG5_2.
420         (decode_builtin_char): Likewise.
421         (charset_code_point): Likewise.
422         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
423         'conversion in UTF-2000.
424         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
425         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
426         `chinese-big5-2' as children of `chinese-big5'.
427
428         * char-ucs.h (CONVERSION_BIG5_1): New macro.
429         (CONVERSION_BIG5_2): New macro.
430
431 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
432
433         * text-coding.c (char_encode_big5): Support entity-reference.
434
435 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
436
437         * text-coding.c (char_encode_as_entity_reference): New function.
438         (char_encode_utf8): Use `char_encode_as_entity_reference'.
439
440 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
441
442         * text-coding.c (decode_coding_big5): Support entity-reference
443         decoding feature.
444
445 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
446
447         * text-coding.c (allocate_coding_system): Initialize initial
448         charsets for CODESYS_UTF8.
449         (Fmake_coding_system): Accept charset-g0, charset-g1 and
450         charset-g2 for CODESYS_UTF8.
451         (decode_coding_utf8): Use charset-g0.
452         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
453         to force variants to map to UCS.
454
455 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
456
457         * text-coding.c (Qutf_8_mcs): New variable.
458         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
459         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
460         instead of `utf-8' in UTF-2000.
461
462 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
463
464         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
465         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
466         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
467         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
468         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
469         CONVERSION_96x96x96x96 are introduced.
470         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
471         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
472         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
473
474         * char-ucs.h (CONVERSION_94): New macro.
475         (CONVERSION_96): New macro.
476         (CONVERSION_94x94): New macro.
477         (CONVERSION_96x96): New macro.
478         (CONVERSION_94x94x94): New macro.
479         (CONVERSION_96x96x96): New macro.
480         (CONVERSION_94x94x94x60): New macro.
481         (CONVERSION_94x94x94x94): New macro.
482         (CONVERSION_96x96x96x96): New macro.
483
484 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
485
486         * chartab.c (Vcharacter_variant_table): Deleted.
487         (Fchar_variants): Use character-attribute `->ucs-variants' instead
488         of `Vcharacter_variant_table'.
489         (Fput_char_attribute): Likewise.
490         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
491         (complex_vars_of_chartab): Likewise.
492
493 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
494
495         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
496
497         * fns.c (Qideographic_structure): New variable.
498         (Qkeyword_char): New variable.
499         (ids_format_unit): New function.
500         (Fideographic_structure_to_ids): New function.
501         (syms_of_fns): Add new symbols `ideographic-structure' and
502         `:char'; add new builtin function `ideographic-structure-to-ids'.
503
504         * data.c (Fchar_ref_p): New function.
505         (syms_of_data): Add new builtin function `char-ref-p'.
506
507         * chartab.h: Add an EXFUN for `Ffind_char'.
508
509 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
510
511         * text-coding.c (Vcharacter_composition_table): Deleted.
512         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
513         in every UTF-2000.
514
515         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
516         UTF-2000.
517         (Vcharacter_composition_table): Deleted.
518         (Fget_composite_char): Use the implementation for external-DB
519         support in every UTF-2000.
520         (Fput_char_attribute): Likewise.
521         (char_attribute_system_db_file): Don't define if external-DB
522         feature is not available.
523         (Fsave_char_attribute_table): Likewise.
524         (Fmount_char_attribute_table): Likewise.
525         (Fclose_char_attribute_table): Likewise.
526         (Freset_char_attribute_table): Likewise.
527         (Fload_char_attribute_table): Likewise.
528         (syms_of_chartab): Don't define `save-char-attribute-table',
529         `mount-char-attribute-table', `reset-char-attribute-table',
530         `close-char-attribute-table' and `load-char-attribute-table' if
531         external-DB feature is not available.
532         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
533
534 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
535
536         * text-coding.c (Qcomposition): Add extern if external-DB feature
537         is supported.
538         (Vcharacter_composition_table): Don't add extern if external-DB
539         feature is supported.
540         (COMPOSE_ADD_CHAR): Modify for new data-representation of
541         character composition rule if external-DB feature is supported.
542
543         * chartab.c (Vcharacter_composition_table): Don't define if
544         external-DB feature is supported.
545         (Qcomposition): New variable.
546         (Fget_composite_char): New implementation for external-DB support.
547         (Fput_char_attribute): Use `composition' property of each
548         character instead of `Vcharacter_composition_table' to store
549         character-composition rules if external-DB feature is supported.
550         (syms_of_chartab): Add new symbol `composition'.
551         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
552         external-DB feature is supported.
553
554 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
555
556         * chartab.c (Vchar_db_stingy_mode): New variable.
557         (load_char_attribute_maybe): Close database if
558         Vchar_db_stingy_mode is not NIL.
559         (Fload_char_attribute_table_map_function): Use
560         `get_char_id_table_0' instead of `get_char_id_table'.
561         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
562
563         * chartab.h (get_char_id_table_0): New inline function.
564         (get_char_id_table): Use `get_char_id_table_0'.
565
566 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
567
568         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
569         and `COMPOSE_ADD_CHAR'.
570         (decode_coding_iso2022): Use `decode_flush_er_chars'.
571
572 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
573
574         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
575         instead of `DECODE_ADD_UCS_CHAR'.
576         (COMPOSE_ADD_CHAR): Likewise.
577
578 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
579
580         * text-coding.c (decode_flush_er_chars): New inline function.
581         (decode_add_er_char): New function.
582         (decode_coding_utf8): Use `decode_flush_er_chars' and
583         `decode_add_er_char'.
584
585 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
586
587         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
588         done before `decode_output_utf8_partial_char'.
589
590         * mule-charset.c (complex_vars_of_mule_charset): Specify
591         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
592         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
593
594 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
595
596         * mule-charset.c (decode_defined_char): New function; search
597         mother.
598         (decode_builtin_char): Don't search mother if
599         XCHARSET_MAX_CODE(charset) == 0.
600         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
601         == 0 even if code >= XCHARSET_MAX_CODE(charset).
602         (Fdecode_char): Use `decode_defined_char' instead of
603         `DECODE_DEFINED_CHAR'.
604         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
605         mother of `Vcharset_ucs_jis'.
606
607         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
608         instead of `DECODE_DEFINED_CHAR'.
609
610         * char-ucs.h (decode_defined_char): Renamed from
611         `DECODE_DEFINED_CHAR'; changed to normal function.
612         (DECODE_CHAR): Use `decode_defined_char' instead of
613         `DECODE_DEFINED_CHAR'.
614
615         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
616
617 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
618
619         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
620
621         * text-coding.c (Vcoded_charset_entity_reference_alist): New
622         variable.
623         (Quse_entity_reference): New variable.
624         (Qd): New variable.
625         (Qx): New variable.
626         (QX): New variable.
627         (coding_system_description): Add description for
628         `ccs_priority_list'.
629         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
630         (allocate_coding_system): Initialize `ccs_priority_list' in
631         UTF-2000.
632         (Fmake_coding_system): Add description about
633         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
634         (codesys).
635         (Fcoding_system_property): Accept `disable-composition' and
636         `use-entity-reference' in UTF-2000.
637         (struct decoding_stream): Add new member `er_counter' and `er_buf'
638         in UTF-2000.
639         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
640         (decode_coding_utf8): Decode entity-reference if
641         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
642         (char_encode_utf8): Encode non-Unicode characters as
643         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
644         (str->codesys).
645         (syms_of_file_coding): Add new symbols `use-entity-reference',
646         `d', `x', `X'.
647         (vars_of_file_coding): Add new variable
648         `coded-charset-entity-reference-alist'.
649         (complex_vars_of_file_coding): Declare `disable-composition' and
650         `use-entity-reference' to be coding-system-properties in UTF-2000.
651
652         * file-coding.h (struct Lisp_Coding_System): Add new member
653         `use_entity_reference' and `ccs_priority_list'.
654         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
655         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
656         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
657
658 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
659
660         * chartab.c (save_uint8_byte_table): Don't clear the table.
661         (save_uint16_byte_table): Likewise.
662         (save_byte_table): Likewise.
663         (Fmount_char_attribute_table): New function.
664         (syms_of_chartab): Add new builtin function
665         `mount-char-attribute-table'.
666
667 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
668
669         * mule-charset.c (Fsave_charset_mapping_table): Open database as
670         "w+" mode.
671         (load_char_decoding_entry_maybe): Open database as read-only mode.
672
673         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
674         open database as "w+" mode.
675         (load_char_attribute_maybe): Open database as read-only mode.
676         (Fload_char_attribute_table): Likewise.
677
678 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
679
680         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
681         (char_table_description): Delete member `db_file'.
682         (Fmake_char_table): Don't refer `ct->db_file'.
683         (Fcopy_char_table): Likewise.
684         (Fsave_char_attribute_table): Likewise.
685         (Fclose_char_attribute_table): Likewise.
686         (Freset_char_attribute_table): Likewise.
687         (load_char_attribute_maybe): Likewise.
688         (Fload_char_attribute_table): Likewise.
689
690         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
691
692 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
693
694         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
695         (Fsave_char_attribute_table): Don't check `ct->db_file' if
696         `ct->db' is living.
697         (load_char_attribute_maybe): Likewise.
698         (Fload_char_attribute_table): Likewise.
699
700 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
701
702         * chartab.c (Fclose_char_attribute_table): Set Qnil on
703         `ct->db_file' unconditionally.
704
705 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
706
707         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
708         UTF-2000.
709         (char_table_description): Add description for `db_file' and `db'
710         in UTF-2000.
711         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
712         UTF-2000.
713         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
714         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
715         (Fclose_char_attribute_table): New function.
716         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
717         (load_char_attribute_maybe): Change interface; use `cit->db_file'
718         and `cit->db'.
719         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
720         (syms_of_chartab): Add new builtin function
721         `Fclose_char_attribute_table'.
722
723 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
724
725         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
726         `db' in UTF-2000.
727         (load_char_attribute_maybe): Change interface.
728         (get_char_id_table): Modify for `load_char_attribute_maybe'.
729
730 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
731
732         * database.h: Add an EXFUN for `Fdatabase_live_p'.
733
734 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
735
736         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
737         instead of `DECODE_CHAR' for mother; don't use special code for
738         chinese-big5 to use code space of chinese-big5-1 and
739         chinese-big5-2.
740         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
741         `MAX_CHAR_BIG5_CDP' for chinese-big5.
742
743         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
744         (MAX_CHAR_BIG5_CDP): Revival.
745
746 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
747
748         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
749         the XLFD registry-encoding name of `chinese-big5'.
750
751 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
752
753         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
754         (Qchinese_big5_cdp): Deleted.
755         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
756         (complex_vars_of_mule_charset): Delete coded-charset
757         `chinese-big5-cdp'.
758
759         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
760         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
761         `CHARSET_ID_OFFSET - n' for private CCS.
762         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
763         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
764         of `MIN_LEADING_BYTE'.
765         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
766         `(CHARSET_ID_OFFSET - 97)'.
767         (MIN_CHAR_BIG5_CDP): Deleted.
768         (MAX_CHAR_BIG5_CDP): Deleted.
769
770 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
771
772         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
773
774 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
775
776         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
777         (vars_of_mule): Add new variable `utf-2000-version' [moved from
778         chartab.c].
779
780         * chartab.c (Vutf_2000_version): Moved to mule.c.
781         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
782
783 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
784
785         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
786         when HAVE_CHISE_CLIENT is not defined.
787
788         * mule.c (vars_of_mule): Provide feature `chise' when
789         HAVE_CHISE_CLIENT is defined.
790
791 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
792
793         * config.h.in (UTF2000): Add comment.
794         (HAVE_CHISE_CLIENT): New macro.
795
796 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
797
798         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
799         CONSP.
800         (Fput_char_attribute): Likewise.
801         (char_attribute_system_db_file): Encode file-name of attribute.
802         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
803         the initial value.
804
805 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
806
807         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
808         (Fsave_charset_mapping_table): Use
809         `char_attribute_system_db_file'.
810         (load_char_decoding_entry_maybe): Likewise.
811
812         * chartab.h (Qsystem_char_id): New external variable.
813         (char_attribute_system_db_file): New prototype.
814
815         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
816         (char_attribute_system_db_file): New function.
817         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
818         (Freset_char_attribute_table): Likewise.
819         (load_char_attribute_maybe): Likewise.
820         (Fload_char_attribute_table): Likewise.
821         (syms_of_chartab): Add new symbol `system-char-id'.
822
823 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
824
825         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
826         `XCHARSET_GRAPHIC(ccs)'.
827
828 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
829
830         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
831
832 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
833
834         * chartab.c (Q_ucs_variants): New variable.
835         (syms_of_chartab): Add new symbol `->ucs-variants'.
836         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
837         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
838         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
839
840         * mule-charset.c (load_char_decoding_entry_maybe): New function.
841
842         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
843         `HAVE_DATABASE' is defined.
844         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
845         `HAVE_DATABASE' is defined.
846
847 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
848
849         * chartab.c (Fsave_char_attribute_table): Don't clear internal
850         attribute-table.
851         (Freset_char_attribute_table): New function.
852         (syms_of_chartab): Add new builtin function
853         `reset-char-attribute-table'.
854
855 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
856
857         * chartab.c (load_char_attribute_maybe): Don't make directories.
858
859 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
860
861         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
862
863         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
864         for decoding-table.
865
866 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
867
868         * mule-charset.c (Fsave_charset_mapping_table): Use
869         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
870
871         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
872         instead of `XCHARSET_CHARS'.
873
874 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
875
876         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
877         (XCHARSET_BYTE_SIZE): Likewise.
878
879         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
880         mule-charset.c].
881         (XCHARSET_BYTE_SIZE): Likewise.
882
883 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
884
885         * chartab.c (Fput_char_attribute): Use exec-directory instead of
886         data-directory to store database.
887         (Fsave_char_attribute_table): Likewise.
888         (load_char_attribute_maybe): Likewise.
889         (Fload_char_attribute_table): Likewise.
890
891 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
892
893         * mule-charset.c (Fsave_charset_mapping_table): New function.
894         (syms_of_mule_charset): Add new builtin function
895         `save-charset-mapping-table'.
896
897 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
898
899         * char-ucs.h (decoding_table_check_elements): Delete prototype.
900         (get_ccs_octet_table): New inline function.
901         (put_ccs_octet_table): Likewise.
902         (decoding_table_put_char): Use `get_ccs_octet_table' and
903         `put_ccs_octet_table'.
904         (decoding_table_remove_char): Use `decoding_table_put_char'.
905         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
906
907         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
908         into encoding_table.
909         (make_charset): Use Qunbound instead Qnil as initial value of
910         decoding_table.
911
912 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
913
914         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
915         element is Qunloaded.
916         (map_over_uint16_byte_table): Likewise.
917         (map_over_byte_table): Likewise.
918         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
919         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
920         database support, load encoding-table of the specified
921         coded-charset if it is not loaded yet.
922         (save_uint8_byte_table): New function of UTF-2000 with external
923         database support.
924         (save_uint16_byte_table): Likewise.
925         (save_byte_table): Likewise.
926         (Fput_char_attribute): Don't store value into external database
927         even if the external database feature is supported in UTF-2000;
928         set `attribute' as name of char-table if the external database
929         feature is supported.
930         (Fsave_char_attribute_table): New function in UTF-2000.
931         (syms_of_chartab): Add new builtin function
932         `save-char-attribute-table' in UTF-2000.
933
934 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
935
936         * chartab.c (char_attribute_table_to_put): New variable in
937         UTF-2000.
938         (Qput_char_table_map_function): Likewise.
939         (value_to_put): Likewise.
940         (Fput_char_table_map_function): New function in UTF-2000.
941         (put_char_table): Use `Fmap_char_attribute' for
942         CHARTAB_RANGE_CHARSET in UTF-2000.
943         (Fput_char_attribute): Store symbol instead of string in
944         `XCHAR_TABLE_NAME (table)'.
945         (load_char_attribute_maybe): Likewise.
946         (syms_of_chartab): Add new symbol/function
947         `put-char-table-map-function'.
948
949 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
950
951         * database.h: Add new EXFUN for `Fmap_database'.
952
953         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
954         (syms_of_database): Likewise.
955
956         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
957         UTF-2000.
958         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
959         (XCHAR_TABLE_UNLOADED): Likewise.
960
961         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
962         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
963         HAVE_DATABASE is defined.
964         (char_attribute_table_to_load): New variable of UTF-2000 with
965         external database support.
966         (Qload_char_attribute_table_map_function): Likewise.
967         (Fload_char_attribute_table_map_function): New function of
968         UTF-2000 with external database support.
969         (Fload_char_attribute_table): New function of UTF-2000.
970         (Fmap_char_attribute): Call Fload_char_attribute_table if
971         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
972         (syms_of_chartab): Add new symbol and function
973         `load-char-attribute-table-map-function' in UTF-2000 with external
974         database support; add new function `load-char-attribute-table' in
975         UTF-2000.
976
977 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
978
979         * chartab.h (load_char_attribute_maybe): New prototype for
980         UTF-2000 with DATABASE support.
981         (get_char_id_table): Use `load_char_attribute_maybe' if
982         HAVE_DATABASE is defined.
983
984         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
985         with DATABASE support.
986
987 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
988
989         * chartab.c (Fput_char_attribute): Use S-expression as key of
990         external database.
991
992         * chartab.h (get_char_id_table): Use S-expression as key of
993         external database.
994
995 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
996
997         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
998         if an element is not loaded, load the corresponding attributes
999         from an external database.
1000         (map_over_uint16_byte_table): Likewise.
1001         (map_over_byte_table): Likewise.
1002         (map_char_table): Modify for `map_over_uint8_byte_table',
1003         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1004         element is not loaded, load the corresponding attributes from an
1005         external database.
1006         (Fput_char_attribute): Change initial values to Qunloaded.
1007
1008         * chartab.h (get_char_id_table): If a character attribute is not
1009         loaded and the attribute value is not found in an external
1010         database, store Qunbound as the attribute value.
1011
1012 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1013
1014         * chartab.c (BT_UINT8_unloaded): New macro.
1015         (UINT8_VALUE_P): Accept Qunloaded.
1016         (UINT8_ENCODE): Likewise.
1017         (UINT8_DECODE): Likewise.
1018         (BT_UINT16_unloaded): New macro.
1019         (UINT16_VALUE_P): Accept Qunloaded.
1020         (UINT16_ENCODE): Likewise.
1021         (UINT16_DECODE): Likewise.
1022         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1023         BT_UINT16_unloaded.
1024         (mark_char_table): Mark `ct->name' in UTF-2000.
1025         (char_table_description): Add `name' in UTF-2000.
1026         (Fmake_char_table): Initialize `ct->name'.
1027         (Fcopy_char_table): Copy `ct->name'.
1028         (Fput_char_attribute): Store value into an external database if
1029         HAVE_DATABASE is defined.
1030
1031         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1032         UTF-2000.
1033         (CHAR_TABLE_NAME): New macro in UTF-2000.
1034         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1035         (get_char_id_table): Try to read an external database if Qunloaded
1036         is stored in a table.
1037
1038         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1039         Qunloaded.
1040
1041 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1042
1043         * database.h: Add EXFUN definitions for Fopen_database,
1044         Fput_database, Fget_database and Fclose_database.
1045
1046         * data.c (Qunloaded): New variable in UTF-2000.
1047
1048         * lisp.h (Qunloaded): New variable in UTF-2000.
1049
1050 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1051
1052         * mule-charset.c (put_char_ccs_code_point): Modify for
1053         `decoding_table_remove_char' and `decoding_table_put_char'.
1054         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1055
1056         * char-ucs.h (decoding_table_remove_char): Change arguments to
1057         hide decoding_table vector.
1058         (decoding_table_put_char): Likewise.
1059
1060 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1061
1062         * mule-charset.c (decoding_table_remove_char): Moved to
1063         char-ucs.h.
1064         (decoding_table_put_char): Likewise.
1065
1066         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1067         from mule-charset.c].
1068         (decoding_table_remove_char): New inline function [moved from
1069         mule-charset.c].
1070         (decoding_table_put_char): Likewise.
1071
1072 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1073
1074         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1075         extension.
1076
1077 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1078
1079         * mule-charset.c (decode_builtin_char): Support mother charsets.
1080
1081 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1082
1083         * mule-charset.c (Q94x94x60): New variable.
1084         (charset_code_point): Support conversion `94x94x60'.
1085         (Fmake_charset): Likewise.
1086         (syms_of_mule_charset): Add new symbol `94x94x60'.
1087
1088         * char-ucs.h (CONVERSION_94x94x60): New macro.
1089
1090 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1091
1092         * mule-charset.c (charset_code_point): Unify code about
1093         `code-offset'.
1094
1095 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1096
1097         * mule-charset.c (charset_code_point): Merge code about builtin
1098         characters into code about mother charsets; don't use
1099         `range_charset_code_point'.
1100         (range_charset_code_point): Deleted.
1101
1102 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1103
1104         * mule-charset.c (Qcode_offset): New variable.
1105         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1106         `max-code'; accept new property `code-offset'.
1107         (syms_of_mule_charset): Add new symbol `code-offset'.
1108
1109 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1110
1111         * mule-charset.c (range_charset_code_point): Fixed.
1112
1113 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1114
1115         * mule-charset.c (decode_builtin_char): Change semantics of
1116         code-offset of coded-charset.
1117         (charset_code_point): Likewise.
1118         (range_charset_code_point): Likewise.
1119         (complex_vars_of_mule_charset): Modify for the change.
1120
1121 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1122
1123         * mule-charset.c (Fencode_char): Reverse arguments.
1124
1125         * mule-charset.c (charset_code_point): Fixed.
1126
1127 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1128
1129         * mule-charset.c (Vcharset_mojikyo): Deleted.
1130         (Vcharset_mojikyo_2022_1): Deleted.
1131         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1132         (Qmin_code): New variable in UTF-2000.
1133         (Qmax_code): Likewise.
1134         (Qmother): Likewise.
1135         (Qconversion): Likewise.
1136         (Q94x60): Likewise.
1137         (Qmojikyo): Deleted.
1138         (Qmojikyo_2022_1): Deleted.
1139         (Qmojikyo_pj_{1..22}): Deleted.
1140         (mark_charset): Mark `cs->mother'.
1141         (charset_description): Add description for `mother'.
1142         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1143         new arguments `mother' and `conversion'; use
1144         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1145         (charset_code_point): Moved from char-ucs.h; support `mother'
1146         charset feature.
1147         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1148         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1149         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1150         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1151         allow 2 as the value of `graphic' in UTF-2000; add new properties
1152         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1153         require `final' in UTF-2000; modify for `make_charset'.
1154         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1155         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1156         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1157         (Fencode_char): New function.
1158         (syms_of_mule_charset): Add new builtin function `encode-char' in
1159         UTF-2000; add new symbols `min-code', `max-code', `mother',
1160         `conversion' and `94x60'; delete symbols `mojikyo',
1161         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1162         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1163         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1164         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1165
1166         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1167         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1168
1169         * char-ucs.h (Vcharset_mojikyo): Deleted.
1170         (Vcharset_mojikyo_2022_1): Deleted.
1171         (LEADING_BYTE_MOJIKYO): Deleted.
1172         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1173         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1174         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1175         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1176         add new member `mother'; add new member `conversion'.
1177         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1178         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1179         (CHARSET_MOTHER): New macro.
1180         (CHARSET_CONVERSION): New macro.
1181         (CONVERSION_IDENTICAL): New macro.
1182         (CONVERSION_94x60): New macro.
1183         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1184         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1185         (XCHARSET_MOTHER): New macro.
1186         (XCHARSET_CONVERSION): New macro.
1187         (MIN_CHAR_MOJIKYO): Deleted.
1188         (MAX_CHAR_MOJIKYO): Deleted.
1189         (DECODE_MOJIKYO_2022): Deleted.
1190         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1191         (charset_code_point): Changed to non-inline function.
1192         (encode_char_1): Use `charset_code_point'.
1193         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1194
1195 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1196
1197         * lread.c (read_compiled_function): Fix prototype.
1198         (read_vector): Likewise.
1199
1200 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1201
1202         * lrecord.h (struct lrecord_header): Delete `older'.
1203         (set_lheader_implementation): Delete code for `older'.
1204         (set_lheader_older_implementation): Deleted.
1205         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1206         (OLDER_RECORD_P): Deleted.
1207         (OLDER_RECORD_HEADER_P): Deleted.
1208         (alloc_older_lcrecord): Deleted.
1209         (alloc_older_lcrecord_type): Deleted.
1210
1211         * alloc.c (all_older_lcrecords): Deleted.
1212         (alloc_older_lcrecord): Deleted.
1213         (disksave_object_finalization_1): Delete code for older objects.
1214         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1215         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1216
1217 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1218
1219         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1220         instead of `make_older_vector'.
1221         (put_char_ccs_code_point): Likewise.
1222         (mark_charset): Mark `cs->decoding_table'.
1223         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1224
1225         * lisp.h (make_older_vector): Deleted.
1226         (make_vector_newer): Deleted.
1227
1228         * config.h.in (HAVE_GGC): Deleted.
1229
1230         * alloc.c (make_older_vector): Deleted.
1231         (make_vector_newer_1): Deleted.
1232         (make_vector_newer): Deleted.
1233
1234 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1235
1236         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1237         (Qideograph_daikanwa_2): New variable.
1238         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1239         (complex_vars_of_mule_charset): Add new coded-charset
1240         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1241         `LEADING_BYTE_DAIKANWA'.
1242
1243         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1244         (LEADING_BYTE_DAIKANWA_1): New macro.
1245         (LEADING_BYTE_DAIKANWA_2): New macro.
1246         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1247
1248 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1249
1250         * mule-charset.c (complex_vars_of_mule_charset): Change
1251         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1252         the second revised version.
1253
1254 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1255
1256         * mule-charset.c (Vcharset_ucs_smp): New variable.
1257         (Vcharset_ucs_sip): New variable.
1258         (Qucs_smp): New variable.
1259         (Qucs_sip): New variable.
1260         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1261         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1262         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1263         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1264         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1265         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1266
1267         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1268         (LEADING_BYTE_UCS_SIP): New macro.
1269         (MIN_CHAR_SMP): New macro.
1270         (MAX_CHAR_SMP): New macro.
1271         (MIN_CHAR_SIP): New macro.
1272         (MAX_CHAR_SIP): New macro.
1273
1274 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1275
1276         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1277         utf-2000.
1278
1279 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1280
1281         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1282         value; don't store value into `encoding_table' of `Lisp_Charset'.
1283         (mark_charset): `encoding_table' was deleted.
1284         (charset_description): Likewise.
1285         (make_charset): Likewise.
1286         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1287         `put_char_ccs_code_point'.
1288
1289         * chartab.h (Fput_char_attribute): New EXFUN.
1290
1291         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1292         is unified with normal symbol space.
1293         (Fget_char_attribute): Likewise.
1294         (Fput_char_attribute): Likewise; behavior of
1295         `put_char_ccs_code_point' is changed.
1296
1297         * char-ucs.h: Include "elhash.h".
1298         (Vchar_attribute_hash_table): New external variable.
1299         (struct Lisp_Charset): Delete `encoding_table'.
1300         (CHARSET_ENCODING_TABLE): New implementation; refer
1301         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1302         `Lisp_Charset'.
1303
1304 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1305
1306         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1307         (cs) == 0.
1308
1309 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1310
1311         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1312         `chinese-big5'.
1313
1314 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1315
1316         * chartab.c (uint8_byte_table_description): New constant.
1317         (uint8-byte-table): Use `uint8_byte_table_description'.
1318         (uint16_byte_table_description): New constant.
1319         (uint16-byte-table): Use `uint16_byte_table_description'.
1320
1321 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1322
1323         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1324         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1325
1326 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1327
1328         * mule-charset.c (Vcharset_ucs_ks): New variable.
1329         (Qucs_ks): New variable.
1330         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1331         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1332
1333         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1334
1335 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1336
1337         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1338         (Fdecode_char): Likewise.
1339
1340         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1341         chartab.h.
1342         (Fdefine_char): Modify for Fdecode_char.
1343         (Ffind_char): Likewise.
1344
1345         * mule-charset.c (Fdecode_char): Add new optional argument
1346         `defined-only'.
1347         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1348
1349 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1350
1351         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1352         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1353         (allocate_coding_system): Initialize initial-charsets of
1354         CODESYS_BIG5 in XEmacs UTF-2000.
1355         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1356         CODESYS_BIG5 in XEmacs UTF-2000.
1357         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1358         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1359
1360         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1361         variables.
1362         (Qideograph_hanziku_{1 .. 12}): Likewise.
1363         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1364         .. 12}'.
1365         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1366         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1367         `ideograph-hanziku-{1 .. 12}'.
1368
1369         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1370         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1371         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1372         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1373         (DECODE_DEFINED_CHAR): New inline function.
1374         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1375
1376 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1377
1378         * mule-charset.c (Vcharset_china3_jef): Renamed from
1379         `Vcharset_japanese_jef_china3'.
1380         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1381         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1382         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1383         (syms_of_mule_charset): Rename `china3-jef' from
1384         `japanese-jef-china3'.
1385         (complex_vars_of_mule_charset): Likewise; rename
1386         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1387
1388         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1389         `LEADING_BYTE_JEF_CHINA3'.
1390         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1391         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1392
1393 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1394
1395         * mule-charset.c (encode_builtin_char_1): Comment out special code
1396         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1397
1398         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1399         (MAX_CHAR_MOJIKYO_0): Comment out.
1400         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1401         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1402         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1403         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1404
1405 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1406
1407         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1408         (Qideograph_cbeta): New variable.
1409         (encode_builtin_char_1): Comment out special code for
1410         coded-charset `mojikyo' and `japanese-jef-china3'.
1411         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1412         (complex_vars_of_mule_charset): Add new coded-charset
1413         `ideograph-cbeta'.
1414
1415         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1416         (MIN_CHAR_CBETA): New macro.
1417         (MAX_CHAR_CBETA): New macro.
1418
1419 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1420
1421         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1422         (LEADING_BYTE_JEF_CHINA3): New macro.
1423         (MIN_CHAR_JEF_CHINA3): New macro.
1424         (MAX_CHAR_JEF_CHINA3): Likewise.
1425         (DECODE_CHAR): Fixed.
1426
1427 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1428
1429         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1430         (Qjapanese_jef_china3): New variable.
1431         (encode_builtin_char_1): Support `japanese-jef-china3'.
1432         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1433         (complex_vars_of_mule_charset): Add new coded-charset
1434         `japanese-jef-china3'.
1435
1436 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1437
1438         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1439         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1440         94^4, 96^3, 96^4, 128^n and 256^n set.
1441         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1442         (map_char_table): Likewise.
1443
1444 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1445
1446         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1447         UTF-2000.
1448
1449 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1450
1451         * chartab.h (get_char_id_table): New inline function.
1452
1453         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1454         function.
1455
1456 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1457
1458         * chartab.h (decode_char_table_range): New prototype in XEmacs
1459         UTF-2000.
1460         (put_char_id_table): New inline function in XEmacs UTF-2000.
1461
1462         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1463         function.
1464         (decode_char_table_range): Delete static declaration in XEmacs
1465         UTF-2000.
1466
1467 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1468
1469         * chartab.c (put_char_id_table): Use `put_char_table'.
1470
1471 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1472
1473         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1474         (map_over_uint16_byte_table): Likewise.
1475         (map_over_byte_table): Likewise.
1476         (map_char_table): Modify for `map_over_uint8_byte_table',
1477         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1478         UTF-2000.
1479
1480 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1481
1482         * chartab.c (struct map_char_table_for_charset_arg): New
1483         structure.
1484         (map_char_table_for_charset_fun): New function.
1485         (map_char_table): Use `map_char_table' for encoding_table of
1486         `range->charset'.
1487
1488 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1489
1490         * chartab.c (map_char_table): Check a character is found in
1491         range->charset instead of non default value is defined in
1492         char-table when range is CHARTAB_RANGE_ROW.
1493
1494 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1495
1496         * chartab.c (map_char_id_table): Deleted.
1497         (Fmap_char_attribute): Use `map_char_table' instead of
1498         `map_char_id_table'.
1499
1500 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1501
1502         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1503         UTF-2000.
1504         (update_syntax_table): Deleted in XEmacs UTF-2000.
1505
1506         * syntax.c (find_defun_start): Use `syntax_table' instead of
1507         `mirror_syntax_table' in XEmacs UTF-2000.
1508         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1509         UTF-2000.
1510         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1511         XEmacs UTF-2000.
1512         (Fmatching_paren): Likewise.
1513         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1514         in XEmacs UTF-2000.
1515         (find_start_of_comment): Likewise.
1516         (find_end_of_comment): Likewise.
1517         (Fforward_comment): Likewise.
1518         (scan_lists): Likewise.
1519         (char_quoted): Likewise.
1520         (Fbackward_prefix_chars): Likewise.
1521         (scan_sexps_forward): Likewise.
1522         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1523         (update_syntax_table): Likewise.
1524
1525         * search.c (skip_chars): Use `syntax_table' instead of
1526         `mirror_syntax_table' in XEmacs UTF-2000.
1527         (wordify): Likewise.
1528         (Freplace_match): Likewise.
1529
1530         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1531         `mirror_syntax_table' in XEmacs UTF-2000.
1532         (WORDCHAR_P_UNSAFE): Likewise.
1533         (re_match_2_internal): Likewise.
1534
1535         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1536         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1537
1538         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1539         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1540
1541         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1542         XEmacs UTF-2000.
1543
1544         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1545         UTF-2000.
1546         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1547         (char_table_description): Delete `mirror_table' in XEmacs
1548         UTF-2000.
1549         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1550         UTF-2000.
1551         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1552         (Fcopy_char_table): Likewise.
1553         (put_char_table): Don't call `update_syntax_table' in XEmacs
1554         UTF-2000.
1555
1556         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1557         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1558         (casify_region_internal): Likewise.
1559
1560         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1561
1562         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1563         `mirror_syntax_table' in XEmacs UTF-2000.
1564
1565         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1566         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1567         (Fexpand_abbrev): Likewise.
1568
1569 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1570
1571         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1572
1573 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1574
1575         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1576         (map_over_uint16_byte_table): Likewise.
1577         (map_over_byte_table): Likewise.
1578         (get_char_id_table): Refer `cit->default_value'.
1579         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1580         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1581         of character-id ranges.
1582         (mark_char_table): Mark `ct->default_value'.
1583         (char_table_description): Add `default_value'.
1584         (fill_char_table): Use `default_value'.
1585         (decode_char_table_range): Decode `nil' as
1586         `CHARTAB_RANGE_DEFAULT'.
1587         (get_char_id_table): Refer `cit->default_value'.
1588         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1589         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1590         temporary hack; check value of char-table is bound or not.
1591         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1592
1593         * chartab.h (struct Lisp_Char_Table): Add new member
1594         `default_value' in XEmacs UTF-2000.
1595         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1596         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1597         UTF-2000.
1598
1599 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1600
1601         * chartab.h (Lisp_Char_ID_Table): Deleted.
1602
1603         * chartab.c (char_table_description): Fix typo.
1604         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1605         `Lisp_Char_ID_Table'.
1606
1607 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1608
1609         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1610         `CHAR_ID_TABLE_P'.
1611
1612         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1613         `CHAR_ID_TABLE_P'.
1614
1615         * chartab.h (XCHAR_ID_TABLE): Deleted.
1616         (XSETCHAR_ID_TABLE): Deleted.
1617         (CHAR_ID_TABLE_P): Deleted.
1618
1619         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1620         `CHAR_ID_TABLE_P'.
1621         (Fget_composite_char): Likewise.
1622         (put_char_table): Likewise.
1623         (add_char_attribute_alist_mapper): Fixed.
1624         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1625         `CHAR_ID_TABLE_P'.
1626         (Fget_char_attribute): Likewise.
1627         (Fget_char_attribute): Likewise.
1628         (Fmap_char_attribute): Likewise.
1629
1630         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1631         `CHAR_ID_TABLE_P'.
1632         (encode_char_1): Likewise.
1633
1634 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1635
1636         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1637         `XCHAR_ID_TABLE'.
1638
1639         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1640         instead of `XCHAR_ID_TABLE'.
1641         (remove_char_ccs): Likewise.
1642
1643         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1644         `XCHAR_ID_TABLE'.
1645         (Fget_composite_char): Likewise.
1646         (Fchar_variants): Likewise.
1647         (put_char_table): Likewise.
1648         (add_char_attribute_alist_mapper): Likewise.
1649         (Fchar_attribute_alist): Likewise.
1650         (Fget_char_attribute): Likewise.
1651         (Fput_char_attribute): Likewise.
1652         (Fmap_char_attribute): Likewise.
1653         (Fmap_char_attribute): Likewise.
1654
1655         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1656         `XCHAR_ID_TABLE'.
1657         (encode_char_1): Likewise.
1658
1659 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1660
1661         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1662         `Lisp_Char_ID_Table'.
1663         (mark_char_id_table): Deleted.
1664         (print_char_id_table): Likewise.
1665         (char_id_table_equal): Likewise.
1666         (char_id_table_hash): Likewise.
1667         (char_id_table_description): Likewise.
1668         (char_id_table): Likewise.
1669         (make_char_id_table): Use `Fmake_char_table' and
1670         `fill_char_table'.
1671         (get_char_id_table): Use `Lisp_Char_Table' instead of
1672         `Lisp_Char_ID_Table'.
1673         (put_char_id_table): Likewise.
1674         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1675         `XCHAR_ID_TABLE'.
1676         (Fremove_char_attribute): Likewise.
1677         (syms_of_chartab): Don't define type `char-id-table'.
1678
1679         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1680         (char_id_table): Likewise.
1681         (GC_CHAR_ID_TABLE_P): Likewise.
1682         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1683         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1684         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1685         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1686         (get_char_id_table): Use `Lisp_Char_Table' instead of
1687         `Lisp_Char_ID_Table'.
1688         (put_char_id_table_0): Likewise.
1689         (put_char_id_table): Likewise.
1690
1691 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1692
1693         * chartab.h: Lisp_Byte_Table related codes are moved from
1694         chartab.h.
1695
1696         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1697
1698 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1699
1700         * chartab.h: Don't include "chartab.h".
1701         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1702         (Lisp_Char_ID_Table): Likewise.
1703         (char_id_table): Likewise.
1704         (XCHAR_ID_TABLE): Likewise.
1705         (XSETCHAR_ID_TABLE): Likewise.
1706         (CHAR_ID_TABLE_P): Likewise.
1707         (GC_CHAR_ID_TABLE_P): Likewise.
1708         (get_char_id_table): Likewise.
1709
1710         * char-ucs.h: Include "chartab.h".
1711         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1712         (Lisp_Char_ID_Table): Likewise.
1713         (char_id_table): Likewise.
1714         (XCHAR_ID_TABLE): Likewise.
1715         (XSETCHAR_ID_TABLE): Likewise.
1716         (CHAR_ID_TABLE_P): Likewise.
1717         (GC_CHAR_ID_TABLE_P): Likewise.
1718         (get_char_id_table): Likewise.
1719
1720 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1721
1722         * chartab.c (copy_uint8_byte_table): New function.
1723         (copy_uint16_byte_table): New function.
1724         (copy_byte_table): New function.
1725         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1726         characters to call.
1727         (map_over_uint16_byte_table): Likewise.
1728         (map_over_byte_table): Likewise.
1729         (get_byte_table): Move prototype to chartab.h.
1730         (put_byte_table): Likewise.
1731         (put_char_id_table_0): Moved to chartab.h.
1732         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1733         (char_table_entry_equal): Likewise.
1734         (char_table_entry_hash): Likewise.
1735         (char_table_entry_description): Likewise.
1736         (char_table_entry): Likewise.
1737         (make_char_table_entry): Likewise.
1738         (copy_char_table_entry): Likewise.
1739         (get_non_ascii_char_table_value): Likewise.
1740         (map_over_charset_ascii): Likewise.
1741         (map_over_charset_control_1): Likewise.
1742         (map_over_charset_row): Likewise.
1743         (map_over_other_charset): Likewise.
1744         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1745         (print_char_table): Likewise.
1746         (char_table_equal): Likewise.
1747         (char_table_hash): Likewise.
1748         (char_table_description): Likewise.
1749         (fill_char_table): Likewise.
1750         (Fcopy_char_table): Likewise.
1751         (get_char_table): Likewise.
1752         (Fget_range_char_table): Likewise.
1753         (put_char_table): Likewise.
1754         (map_char_table): Likewise.
1755         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1756         UTF-2000.
1757
1758 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1759
1760         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1761         `Vauto_fill_chars' in XEmacs UTF-2000.
1762
1763         * chartab.h (get_byte_table): New prototype [moved from
1764         chartab.c].
1765         (put_byte_table): Likewise [moved from chartab.c].
1766         (put_char_id_table_0): New inline function [moved from chartab.c].
1767         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1768         (Lisp_Char_Table_Entry): Likewise.
1769         (char_table_entry): Likewise.
1770         (XCHAR_TABLE_ENTRY): Likewise.
1771         (XSETCHAR_TABLE_ENTRY): Likewise.
1772         (CHAR_TABLE_ENTRYP): Likewise.
1773         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1774         (NUM_ASCII_CHARS): Likewise.
1775         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1776         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1777
1778 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1779
1780         * chartab.c (get_char_id_table): Change interface.
1781         (put_char_id_table_0): New function.
1782         (put_char_id_table): Change interface; new implementation.
1783         (Fget_composite_char): Modify for interface change of
1784         `get_char_id_table'.
1785         (Fchar_variants): Likewise.
1786         (add_char_attribute_alist_mapper): Likewise.
1787         (Fchar_attribute_alist): Likewise.
1788         (Fget_char_attribute): Likewise.
1789         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1790         as same as character as the first argument like `put-char-table';
1791         modify for interface change of `put_char_id_table'.
1792         (Fremove_char_attribute): Modify for interface change of
1793         `put_char_id_table'.
1794
1795 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1796
1797         * text-coding.c: Sync up with XEmacs 21.2.41.
1798         (COMPOSE_ADD_CHAR): Modify for interface change of
1799         `get_char_id_table'.
1800
1801         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1802         change of `put_char_id_table'.
1803         (remove_char_ccs): Likewise.
1804
1805         * chartab.h (put_char_id_table): Change interface.
1806
1807         * char-ucs.h (get_char_id_table): Change interface.
1808         (charset_code_point): Modify for interface change of
1809         `get_char_id_table'.
1810         (encode_char_1): Likewise.
1811
1812 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1813
1814         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1815         argument `ccs'.
1816         (map_over_uint16_byte_table): Likewise.
1817         (map_over_byte_table): Likewise.
1818         (map_char_id_table): Add new argument `range' like
1819         `map_char_table'.
1820         (Fmap_char_attribute): Add new argument `range' like
1821         `Fmap_char_table'.
1822
1823 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1824
1825         * chartab.c (map_over_uint8_byte_table): Change interface of
1826         mapping function to use struct chartab_range instead of Emchar.
1827         (map_over_uint16_byte_table): Likewise.
1828         (map_over_byte_table): Likewise.
1829         (map_char_id_table): Likewise.
1830         (struct slow_map_char_id_table_arg): Deleted.
1831         (slow_map_char_id_table_fun): Deleted.
1832         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1833         function `slow_map_char_table_fun' instead of struct
1834         `slow_map_char_id_table_arg' and function
1835         `slow_map_char_id_table_fun'.
1836
1837 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1838
1839         * mule-charset.c: Move char-it-table related codes to chartab.c.
1840         (Vutf_2000_version): Moved to chartab.c.
1841         (Fdefine_char): Likewise.
1842         (Ffind_char): Likewise.
1843         (syms_of_mule_charset): Move types `uint8-byte-table',
1844         `uint16-byte-table', `byte-table' and `char-id-table' to
1845         chartab.c; move functions `char_attribute_list,
1846         `find_char_attribute_table, `char_attribute_alist,
1847         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1848         `map_char_attribute, `define_char, `find_char, `char_variants and
1849         `get_composite_char to chartab.c; move symbols `=>ucs',
1850         `->decomposition', `compat', `isolated', `initial', `medial',
1851         `final', `vertical', `noBreak', `fraction', `super', `sub',
1852         `circle', `square', `wide', `narrow', `small' and `font' to
1853         chartab.c.
1854         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1855         setting codes for `Vcharacter_composition_table' and
1856         `Vcharacter_variant_table' to chartab.c.
1857         (complex_vars_of_mule_charset): Move setting code for
1858         `Vchar_attribute_hash_table' to chartab.c.
1859
1860         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1861         (make_char_id_table): New prototype.
1862         (put_char_id_table): Likewise.
1863         (Fget_char_attribute): Likewise.
1864
1865         * chartab.c: Move char-id-table related code from mule-charset.c.
1866         (Vutf_2000_version): Moved from mule-charset.c.
1867
1868         * char-ucs.h (Qucs): New external variable.
1869         (put_char_ccs_code_point): New prototype.
1870         (remove_char_ccs): Likewise.
1871
1872 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1873
1874         * mule-charset.c (Vcharset_ucs_jis): New variable.
1875         (Qucs_jis): Likewise.
1876         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1877         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1878
1879         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1880
1881 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1882
1883         * mule-charset.c (map_over_uint8_byte_table): New function.
1884         (map_over_uint16_byte_table): Likewise.
1885         (map_over_byte_table): Likewise.
1886         (map_char_id_table): Likewise.
1887         (slow_map_char_id_table_fun): Likewise.
1888         (Fmap_char_attribute): Likewise.
1889         (syms_of_mule_charset): Add new function `map-char-attribute'.
1890
1891 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1892
1893         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1894         (syms_of_mule_charset): Add new function `find-char'.
1895
1896 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1897
1898         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1899         XEmacs UTF-2000.
1900         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1901         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1902         XEmacs UTF-2000.
1903         (complex_vars_of_mule_charset): Add new coded-charset
1904         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1905         `ideograph-gt-pj-*'.
1906
1907         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1908
1909 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1910
1911         * mule-charset.c (encode_builtin_char_1): Purge codes about
1912         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1913         {MIN|MAX}_CHAR_HEBREW.
1914         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1915         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1916
1917         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1918         (MAX_CHAR_GREEK): Purged.
1919         (MIN_CHAR_CYRILLIC): Purged.
1920         (MAX_CHAR_CYRILLIC): Purged.
1921         (MIN_CHAR_HEBREW): Commented out.
1922         (MAX_CHAR_HEBREW): Likewise.
1923
1924 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1925
1926         * mule-charset.c (Qto_ucs): New variable.
1927         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1928         (Fdefine_char): Likewise.
1929         (syms_of_mule_charset): Add new symbol `=>ucs'.
1930
1931 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1932
1933         * mule-charset.c (Fdecode_char): Fixed.
1934
1935 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1936
1937         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1938         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1939         "tcvn5712-1".
1940
1941 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1942
1943         * mule-charset.c (Vcharset_ucs_big5): New variable.
1944         (Qucs_big5): Likewise.
1945         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1946         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1947
1948         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1949
1950 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1951
1952         * mule-charset.c (decode_builtin_char): Check Big5 code range
1953         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1954
1955 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1956
1957         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1958         (Qchinese_gb12345): Likewise.
1959         (Fdecode_builtin_char): Fixed.
1960         (syms_of_mule_charset): Add `chinese-gb12345'.
1961         (complex_vars_of_mule_charset): Add coded-charset
1962         `chinese-gb12345'.
1963
1964         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1965         (LEADING_BYTE_CHINESE_GB12345): New macro.
1966
1967 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1968
1969         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1970         and `latin-viscii-upper' for `latin-viscii'.
1971
1972 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1973
1974         * mule-charset.c (Fdecode_builtin_char): Comment out
1975         regularization code for ISO-IR GR representation.
1976
1977 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1978
1979         * mule-charset.c (decode_builtin_char): New function; renamed from
1980         `make_builtin_char'; return -1 instead of signal.
1981         (Fdecode_builtin_char): Use `decode_builtin_char'.
1982
1983         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1984         `make_builtin_char'.
1985         (DECODE_CHAR): Use `decode_builtin_char' instead of
1986         `make_builtin_char'; use mapping table of `chinese-big5' for
1987         `chinese-big5-{1,2}'.
1988
1989 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1990
1991         * text-coding.c (char_encode_big5): New function.
1992         (char_finish_big5): Likewise.
1993         (reset_encoding_stream): Use `char_encode_big5' and
1994         `char_finish_big5' for CODESYS_BIG5.
1995         (mule_encode): Don't use `encode_coding_big5'.
1996         (encode_coding_big5): Deleted.
1997
1998 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1999
2000         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2001         0x81- in XEmacs UTF-2000.
2002         (detect_coding_big5): Likewise.
2003
2004 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2005
2006         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2007         generate character-id if the CCS property does not have
2008         corresponding predefined character.
2009         (make_builtin_char): Return -1 if corresponding predefined
2010         character is not found.
2011         (Fdecode_char): Return nil if corresponding character is not
2012         found.
2013         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2014         don't map to builtin ucs space.
2015
2016 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2017
2018         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2019         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2020
2021 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2022
2023         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2024         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2025         (Qideograph_gt): Likewise.
2026         (Qideograph_gt_pj_{1..11}): Likewise.
2027         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2028         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2029         `ideograph-gt-pj-11'.
2030         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2031         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2032         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2033
2034         * char-ucs.h (LEADING_BYTE_GT): New macro.
2035         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2036         (MIN_CHAR_GT): Likewise.
2037         (MAX_CHAR_GT): Likewise.
2038
2039 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2040
2041         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2042         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2043
2044         * doprnt.c (unsigned_int_converters): Add `c'.
2045         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2046
2047         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2048         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2049         `MIN_CHAR_MOJIKYO'.
2050         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2051         (MAX_CHAR_MOJIKYO_0): New macro.
2052         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2053
2054 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2055
2056         * mule-charset.c (Fdefine_char): Delete cemented out code.
2057         (encode_builtin_char_1): Modify for new allocation of builtin
2058         Mojikyo characters.
2059
2060         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2061
2062 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2063
2064         * mule-charset.c (Vcharset_ucs_cns): New variable.
2065         (Qucs_cns): New variable.
2066         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2067         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2068
2069 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2070
2071         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2072
2073 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2074
2075         * search.c (search_buffer): Make `charset_base_code' as
2076         character-id >> 6 to eliminate the corresponding last byte in
2077         UTF-8 representation [I'm not sure it is right thing].
2078         (boyer_moore): Likewise.
2079
2080 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2081
2082         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2083         representation in MULE.
2084
2085 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2086
2087         * text-coding.c (Fmake_coding_system): Use
2088         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2089         `EXTERNAL_PROPERTY_LIST_LOOP'.
2090
2091 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2092
2093         * text-coding.c (decode_output_utf8_partial_char): New function.
2094         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2095
2096 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2097
2098         * text-coding.c (decode_coding_utf8): Output original byte
2099         sequence if it is broken; change order of conditions.
2100
2101         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2102         of conditions.
2103
2104         * mb-multibyte.h (BYTE_ASCII_P):
2105         Use bit ops for char-signedness safety.
2106         (BYTE_C0_P): Use bit ops for char-signedness safety.
2107         (BYTE_C1_P): Use bit ops for char-signedness safety.
2108
2109         * character.h: (XCHAR_OR_CHAR_INT):
2110         Always use inline function.
2111         Remove redundant type checking assert() - XINT will abort quite
2112         nicely.
2113
2114 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2115
2116         * text-coding.c: (Fencode_shift_jis_char):
2117         (Fencode_big5_char):
2118         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2119         Replace 0 with '\0' when working with bytes.
2120         Replace initial "(" with "\(" in docstrings.
2121
2122         (Fmake_coding_system):
2123         When type is ccl and value is vector, register it with a proper
2124         symbol.  And checks whether the given ccl program is valid.
2125         (mule_decode): When calling ccl_driver, if src indicates
2126         NULL pointer, set an empty string instead.
2127         (mule_encode): Likewise.
2128
2129         (detect_eol_type):
2130         (detect_coding_sjis):
2131         (decode_coding_sjis):
2132         (detect_coding_big5):
2133         (decode_coding_big5):
2134         (detect_coding_ucs4):
2135         (decode_coding_ucs4):
2136         (detect_coding_utf8):
2137         (decode_coding_utf8):
2138         (detect_coding_iso2022):
2139         (decode_coding_iso2022):
2140         (decode_coding_no_conversion):
2141         (mule_decode):
2142         Make all detecting and decoding functions take an Extbyte * arg.
2143         (text_encode_generic):
2144         (encode_coding_big5):
2145         (encode_coding_no_conversion):
2146         (mule_encode):
2147         Make all encoding functions take a Bufbyte * arg.
2148         Use size_t instead of unsigned int for memory sizes.
2149         Only cast to unsigned char whenever dereferencing Extbyte *.
2150
2151         (struct lrecord_description fcd_description_1): Use countof.
2152         (complex_vars_of_file_coding):
2153         Use countof instead of sizeof.
2154         Use CHECK_NATNUM instead of CHECK_INT.
2155
2156 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2157
2158         * mule-charset.c (Fget_char_attribute): Add new optional argument
2159         `default-value'.
2160         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2161         (remove_char_ccs): Likewise.
2162
2163 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2164
2165         * text-coding.c (char_encode_shift_jis): New implementation in
2166         UTF-2000.
2167         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2168         ...)'.
2169
2170         * mule-charset.c (Vcharset_chinese_big5): New variable in
2171         UTF-2000.
2172         (Qchinese_big5): New variable in UTF-2000.
2173         (BIG5_SAME_ROW): New macro in UTF-2000.
2174         (make_builtin_char): Use builtin characters of
2175         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2176         characters of `Vcharset_chinese_big5'.
2177         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2178         (complex_vars_of_mule_charset): Add new coded-charset
2179         `chinese-big5' in UTF-2000.
2180
2181         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2182         (Vcharset_chinese_big5): New external variable declaration.
2183         (Vcharset_japanese_jisx0208_1990): Likewise.
2184
2185 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2186
2187         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2188         function.
2189         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2190
2191 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2192
2193         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2194         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2195         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2196         `mojikyo-pj-*'.
2197
2198 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2199
2200         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2201
2202 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2203
2204         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2205         to 0.17.
2206
2207 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2208
2209         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2210         for `CHARSET_BY_ATTRIBUTES'.
2211         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2212         `CHARSET_BY_ATTRIBUTES'.
2213
2214         * text-coding.c (struct decoding_stream): Rename member `CH' to
2215         `CPOS'.
2216         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2217         (decode_coding_sjis): Likewise.
2218         (decode_coding_big5): Likewise.
2219         (decode_coding_ucs4): Likewise.
2220         (decode_coding_utf8): Likewise.
2221         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2222         `CHARSET_BY_ATTRIBUTES'.
2223         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2224         `str->counter'; decode 3, 4 bytes sets.
2225         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2226         sets.
2227         (decode_coding_no_conversion): Use `str->cpos' instead of
2228         `str->ch'.
2229
2230         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2231         (Qmojikyo_2022_1): New variable.
2232         (make_charset): Don't use `CHARSET_TYPE_*'.
2233         (range_charset_code_point): Support coded-charset
2234         `mojikyo-2022-1'.
2235         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2236         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2237         `CHARSET_BY_ATTRIBUTES'.
2238         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2239         `CHARSET_BY_ATTRIBUTES'.
2240         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2241         (complex_vars_of_mule_charset): Add new coded-charset
2242         `mojikyo-2022-1'.
2243
2244         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2245         interface; changed to inline function.
2246
2247         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2248         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2249         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2250         (CHARSET_TYPE_94): Deleted.
2251         (CHARSET_TYPE_94X94): Deleted.
2252         (CHARSET_TYPE_96): Deleted.
2253         (CHARSET_TYPE_96X96): Deleted.
2254         (CHARSET_TYPE_128): Deleted.
2255         (CHARSET_TYPE_128X128): Deleted.
2256         (CHARSET_TYPE_256): Deleted.
2257         (CHARSET_TYPE_256X256): Deleted.
2258         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2259         to inline function.
2260         (DECODE_MOJIKYO_2022): New inline function.
2261         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2262         `Vcharset_mojikyo_2022_1'.
2263
2264 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2265
2266         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2267         instead of `EQ'.
2268         (put_byte_table): Likewise.
2269         (char_id_table_equal): Use `get_byte_table' [new implementation].
2270
2271 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2272
2273         * mule-charset.c: Include <limits.h> in UTF-2000.
2274         (BT_UINT8_MIN): New macro in UTF-2000.
2275         (BT_UINT8_MAX): New macro in UTF-2000.
2276         (BT_UINT8_t): New macro in UTF-2000.
2277         (BT_UINT8_nil): New macro in UTF-2000.
2278         (BT_UINT8_unbound): New macro in UTF-2000.
2279         (INT_UINT8_P): New inline function in UTF-2000.
2280         (UINT8_VALUE_P): New inline function in UTF-2000.
2281         (UINT8_ENCODE): New inline function in UTF-2000.
2282         (UINT8_DECODE): New inline function in UTF-2000.
2283         (mark_uint8_byte_table): New function in UTF-2000.
2284         (print_uint8_byte_table): New function in UTF-2000.
2285         (uint8_byte_table_equal): New function in UTF-2000.
2286         (uint8_byte_table_hash): New function in UTF-2000.
2287         (make_uint8_byte_table): New function in UTF-2000.
2288         (uint8_byte_table_same_value_p): New function in UTF-2000.
2289         (BT_UINT16_MIN): New macro in UTF-2000.
2290         (BT_UINT16_MAX): New macro in UTF-2000.
2291         (BT_UINT16_t): New macro in UTF-2000.
2292         (BT_UINT16_nil): New macro in UTF-2000.
2293         (BT_UINT16_unbound): New macro in UTF-2000.
2294         (INT_UINT16_P): New inline function in UTF-2000.
2295         (UINT16_VALUE_P): New inline function in UTF-2000.
2296         (UINT16_ENCODE): New inline function in UTF-2000.
2297         (UINT16_DECODE): New inline function in UTF-2000.
2298         (UINT8_TO_UINT16): New inline function in UTF-2000.
2299         (mark_uint16_byte_table): New function in UTF-2000.
2300         (print_uint16_byte_table): New function in UTF-2000.
2301         (uint16_byte_table_equal): New function in UTF-2000.
2302         (uint16_byte_table_hash): New function in UTF-2000.
2303         (make_uint16_byte_table): New function in UTF-2000.
2304         (uint16_byte_table_same_value_p): New function in UTF-2000.
2305         (print_byte_table): New function in UTF-2000.
2306         (byte-table): Use `print_byte_table' as printer.
2307         (make_byte_table): Delete second argument `older'.
2308         (byte_table_same_value_p): New function in UTF-2000.
2309         (copy_byte_table): Deleted.
2310         (get_byte_table): New function in UTF-2000.
2311         (put_byte_table): New function in UTF-2000.
2312         (print_char_id_table): New function in UTF-2000.
2313         (char-id-table): Use `print_char_id_table' as printer.
2314         (make_char_id_table): Delete second argument `older'.
2315         (get_char_id_table): Use `get_byte_table [new implementation].
2316         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2317         implementation].
2318         (Ffind_char_attribute_table): New function in UTF-2000.
2319         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2320         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2321         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2322         (syms_of_mule_charset): Add new function
2323         `find-char-attribute-table' in UTF-2000.
2324
2325         * lrecord.h (enum lrecord_type): Add
2326         `lrecord_type_uint16_byte_table' and
2327         `lrecord_type_uint8_byte_table'.
2328
2329         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2330         (Lisp_Uint8_Byte_Table): New type.
2331         (XUINT8_BYTE_TABLE): New macro.
2332         (XSETUINT8_BYTE_TABLE): New macro.
2333         (UINT8_BYTE_TABLE_P): New macro.
2334         (GC_UINT8_BYTE_TABLE_P): New macro.
2335         (struct Lisp_Uint16_Byte_Table): New structure.
2336         (Lisp_Uint16_Byte_Table): New type.
2337         (XUINT16_BYTE_TABLE): New macro.
2338         (XSETUINT16_BYTE_TABLE): New macro.
2339         (UINT16_BYTE_TABLE_P): New macro.
2340         (GC_UINT16_BYTE_TABLE_P): New macro.
2341
2342 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2343
2344         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2345         (Vcharacter_ideographic_strokes_table): Deleted.
2346         (Vcharacter_total_strokes_table): Deleted.
2347         (Vcharacter_morohashi_daikanwa_table): Deleted.
2348         (Vcharacter_decomposition_table): Deleted.
2349         (Qname): Deleted because it is duplicated.
2350         (Qideographic_radical): Deleted.
2351         (Qideographic_strokes): Deleted.
2352         (Qtotal_strokes): Deleted.
2353         (Qmorohashi_daikanwa): Deleted.
2354         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2355         `ideographic-radical', `ideographic-strokes', `total-strokes',
2356         `morohashi-daikanwa' and `->decomposition'.
2357         (Fget_char_attribute): Likewise.
2358         (Fput_char_attribute): Likewise; use `make-vector' instead of
2359         `make_older_vector' for `->decomposition' value.
2360         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2361         `ideograph-daikanwa'.
2362         (syms_of_mule_charset): Delete builtin symbols `name',
2363         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2364         `morohashi-daikanwa'.
2365         (vars_of_mule_charset): Don't setup
2366         `Vcharacter_ideographic_radical_table',
2367         `Vcharacter_ideographic_strokes_table',
2368         `Vcharacter_total_strokes_table',
2369         `Vcharacter_morohashi_daikanwa_table' and
2370         `Vcharacter_decomposition_table'.
2371
2372 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2373
2374         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2375         `make_older_vector', `make_vector_newer_1' and
2376         `make_vector_newer'.
2377
2378         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2379         `make_older_vector' and `make_vector_newer'.
2380
2381         * config.h.in (HAVE_GGC): New macro.
2382
2383 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2384
2385         * mule-charset.c (struct char_attribute_list_closure): New
2386         structure in UTF-2000.
2387         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2388         (Fchar_attribute_list): Likewise.
2389         (Fset_charset_mapping_table): Use `make_vector_newer'.
2390         (Fdecode_builtin_char): New function in UTF-2000.
2391         (syms_of_mule_charset): Add new function `char-attribute-list' and
2392         `decode-builtin-char' in UTF-2000.
2393
2394         * lisp.h (make_vector_newer): New prototype.
2395
2396         * alloc.c (make_vector_newer_1): New function.
2397         (make_vector_newer): New function.
2398
2399 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2400
2401         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2402         50100)'.
2403
2404 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2405
2406         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2407         (Vcharacter_attribute_table): Deleted.
2408         (Vcharacter_name_table): Deleted.
2409         (put_char_attribute): Deleted.
2410         (remove_char_attribute): Deleted.
2411         (struct char_attribute_alist_closure): New structure.
2412         (add_char_attribute_alist_mapper): New function.
2413         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2414         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2415         (Fget_char_attribute): Likewise.
2416         (Fput_char_attribute): Likewise.
2417         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2418         of `remove_char_attribute'.
2419         (Fdefine_char): Return character.
2420         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2421         and `Vcharacter_name_table'.
2422         (complex_vars_of_mule_charset): Likewise
2423         `Vchar_attribute_hash_table'.
2424
2425 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2426
2427         * character.h (CHARC_CHARSET): New macro.
2428         (CHARC_CHARSET_ID): New macro.
2429         (CHARC_CODE_POINT): New macro.
2430         (CHARC_COLUMNS): New macro.
2431         (CHARC_TO_CHAR): New inline function.
2432         (CHARC_EQ): New inline function.
2433         (CHARC_ASCII_EQ): New inline function.
2434         (CHARC_IS_SPACE): New inline function.
2435         (ASCII_TO_CHARC): New inline function.
2436
2437         * char-ucs.h (encode_char_2): Deleted.
2438         (ENCODE_CHAR): Use `encode_char_1' again.
2439         (breakup_char_1): Likewise.
2440         (CHAR_TO_CHARC): New inline function.
2441
2442         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2443
2444 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2445
2446         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2447         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2448         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2449         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2450         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2451         `CHARC_IS_SPACE'.
2452         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2453
2454         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2455         `CHARC_CODE_POINT'.
2456         (x_output_display_block): Use `CHARC_CHARSET' and
2457         `CHARC_ASCII_EQ'.
2458
2459         * redisplay-tty.c (tty_output_display_block): Use
2460         `CHARC_ASCII_EQ'.
2461         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2462
2463         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2464
2465         * insdel.c (find_charsets_in_charc_string): Use
2466         `CHARC_CHARSET_ID'.
2467         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2468         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2469         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2470         (convert_charc_string_into_malloced_string): Likewise.
2471
2472 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2473
2474         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2475         instead of <Emchar_dynarr *> for buf; use
2476         `convert_bufbyte_string_into_charc_dynarr' instead of
2477         `convert_bufbyte_string_into_emchar_dynarr'; use
2478         `find_charsets_in_charc_string' instead of
2479         `find_charsets_in_emchar_string'.
2480
2481         * redisplay.h:
2482         - Include "character.h".
2483         (struct rune): New member `cglyph'; delete member `chr'.
2484
2485         * redisplay.c (redisplay_text_width_charc_string): New function;
2486         delete `redisplay_text_width_emchar_string'.
2487         (rtw_charc_dynarr): New variable; renamed from
2488         `rtw_emchar_dynarr'.
2489         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2490         `rtw_emchar_dynarr'; use
2491         `convert_bufbyte_string_into_charc_dynarr' instead of
2492         `convert_bufbyte_string_into_emchar_dynarr'; use
2493         `redisplay_text_width_charc_string' instead of
2494         `redisplay_text_width_emchar_string'.
2495         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2496         instead of `rtw_emchar_dynarr'; use
2497         `convert_bufbyte_string_into_charc_dynarr' instead of
2498         `convert_bufbyte_string_into_emchar_dynarr'.
2499         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2500         `redisplay_text_width_charc_string' instead of
2501         `redisplay_text_width_emchar_string'.
2502         (create_text_block): Modify for <struct rune> change.
2503         (generate_formatted_string_db): Likewise.
2504         (create_string_text_block): Likewise.
2505         (pixel_to_glyph_translation): Likewise.
2506
2507         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2508         instead of <const Emchar *>.
2509         (x_text_width): Likewise.
2510         (x_output_display_block): Use <Charc_dynarr *> instead
2511         <Emchar_dynarr *>; modify for <structure rune> change.
2512         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2513         *>.
2514
2515         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2516         <const Emchar *>; use `charc_string_displayed_columns' instead of
2517         `emchar_string_displayed_columns'.
2518         (tty_output_display_block): Use <Charc_dynarr *> instead of
2519         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2520         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2521         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2522         `tty_output_emchar_dynarr_dynarr'.
2523         (tty_output_charc_dynarr): New function; delete
2524         `tty_output_charc_dynarr'.
2525
2526         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2527         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2528         <Emchar_dynarr *> for buf; use
2529         `convert_bufbyte_string_into_charc_dynarr' instead of
2530         `convert_bufbyte_string_into_emchar_dynarr'.
2531
2532         * frame.c (title_string_charc_dynarr): New variable; renamed from
2533         `title_string_emchar_dynarr'.
2534         (generate_title_string): Use `title_string_charc_dynarr' instead
2535         of `title_string_emchar_dynarr'; use
2536         `convert_charc_string_into_malloced_string' instead of
2537         `convert_emchar_string_into_malloced_string'.
2538         (init_frame): Use `title_string_charc_dynarr' instead of
2539         `title_string_emchar_dynarr'.
2540
2541         * console.h:
2542         - Include "character.h".
2543         (struct console_methods): Use <const Charc *> instead of <const
2544         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2545         <Emchar_dynarr *> in output_string_method.
2546
2547         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2548         <Emchar_dynarr *>.
2549
2550         * console-stream.c (stream_text_width): Use <const Charc *>
2551         instead of <const Emchar *>.
2552
2553         * character.h (Charc_dynarr): New type.
2554
2555         * char-ucs.h (structure Charc): New structure; define new type
2556         `Charc'.
2557
2558         * char-lb.h (DECODE_CHAR): New inline function.
2559         (encode_char_1): New inline function.
2560         (ENCODE_CHAR): New macro.
2561         (structure Charc): New structure; define new type `Charc'.
2562
2563         * char-1byte.h (Vcharset_control_1): New macro.
2564         (Vcharset_latin_iso8859_1): New macro.
2565         (DECODE_CHAR): New inline function.
2566         (encode_char_1): New inline function.
2567         (ENCODE_CHAR): New macro.
2568         (structure Charc): New structure; define new type `Charc'.
2569
2570         * insdel.c (find_charsets_in_charc_string): New function; delete
2571         `find_charsets_in_emchar_string'.
2572         (charc_string_displayed_columns): New function; delete
2573         `emchar_string_displayed_columns'.
2574         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2575         `convert_bufbyte_string_into_emchar_dynarr'.
2576         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2577         `convert_charc_string_into_bufbyte_dynarr'.
2578         (convert_charc_string_into_malloced_string): New function; delete
2579         `convert_charc_string_into_malloced_string'.
2580
2581         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2582         `find_charsets_in_emchar_string'.
2583         (charc_string_displayed_columns): New prototype; delete
2584         `emchar_string_displayed_columns'.
2585         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2586         `convert_charc_string_into_bufbyte_dynarr'.
2587         (convert_charc_string_into_malloced_string): New prototype; delete
2588         `convert_charc_string_into_malloced_string'.
2589
2590 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2591
2592         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2593
2594 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2595
2596         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2597
2598         * char-ucs.h: Use <short> for <Charset_ID>.
2599
2600         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2601         <Charset_ID>.
2602
2603 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2604
2605         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2606         to 0.16.
2607
2608 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2609
2610         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2611         variable.
2612         (Qmorohashi_daikanwa): New variable.
2613         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2614         for `morohashi-daikanwa' attribute.
2615         (Fget_char_attribute): Likewise.
2616         (Fput_char_attribute): Likewise.
2617         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2618         has the same value of `ideograph-daikanwa'.
2619         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2620         (vars_of_mule_charset): Setup
2621         `Vcharacter_morohashi_daikanwa_table'.
2622
2623 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2624
2625         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2626         attributes.
2627         (add_charset_to_list_mapper): Add `key' instead of
2628         `XCHARSET_NAME (value)' to return aliases.
2629
2630 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2631
2632         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2633         variable.
2634         (Vcharacter_ideographic_strokes_table): New variable.
2635         (Qideographic_radical): New variable.
2636         (Qideographic_strokes): New variable.
2637         (Fchar_attribute_alist): Use
2638         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2639         attribute; use `Vcharacter_ideographic_strokes_table' for
2640         `ideographic-strokes' attribute.
2641         (Fget_char_attribute): Likewise.
2642         (Fput_char_attribute): Likewise.
2643         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2644         `ideographic-strokes'.
2645         (vars_of_mule_charset): Setup
2646         `Vcharacter_ideographic_radical_table' and
2647         `Vcharacter_ideographic_strokes_table'.
2648
2649 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2650
2651         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2652         (Qtotal_strokes): New variable.
2653         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2654         `total-strokes' attribute.
2655         (Fget_char_attribute): Likewise.
2656         (Fput_char_attribute): Likewise.
2657         (syms_of_mule_charset): Add new symbol `total-strokes'.
2658         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2659
2660 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2661
2662         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2663         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2664         are found.
2665         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2666         `->decomposition' attribute.
2667         (Fput_char_attribute): Likewise.
2668         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2669
2670 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2671
2672         * mule-charset.c (decoding_table_check_elements): New function.
2673         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2674
2675 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2676
2677         * mule-charset.c (Fset_charset_mapping_table): Use
2678         `put_char_ccs_code_point'.
2679
2680 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2681
2682         * mule-charset.c (decoding_table_put_char): New inline function.
2683         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2684
2685 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2686
2687         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2688         (XCHARSET_BYTE_SIZE): New macro.
2689         (decoding_table_remove_char): New inline function.
2690         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2691         `decoding_table_remove_char'.
2692         (remove_char_ccs): Use `decoding_table_remove_char'.
2693         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2694
2695 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2696
2697         * mule-charset.c (Vcharacter_name_table): New variable.
2698         (Qname): New variable.
2699         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2700         attribute.
2701         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2702         `Vcharacter_name_table' for `name' attribute.
2703         (Fremove_char_attribute): Use function `remove_char_ccs'.
2704         (put_char_ccs_code_point): New function.
2705         (remove_char_ccs): New function.
2706         (syms_of_mule_charset): Add new symbol `name'.
2707         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2708
2709 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2710
2711         * mule-charset.c (make_byte_table): Add new argument `older'.
2712         (make_char_id_table): Likewise.
2713         (copy_char_id_table): Comment out because it is not used.
2714         (put_char_id_table): Modify for `make_byte_table'.
2715         (Fput_char_attribute): Make encoding_table as older object;
2716         inherit older bit of `Vcharacter_composition_table'.
2717         (mark_charset): Don't mark `cs->encoding_table'.
2718         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2719         normal object; make `Vcharacter_composition_table' as an older
2720         object; delete staticpro for `Vcharacter_composition_table'; make
2721         `Vcharacter_variant_table' as a normal object.
2722
2723         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2724         (mark_object): Don't check older object in UTF-2000.
2725
2726         * lrecord.h (struct lrecord_header): Add new member `older' in
2727         UTF-2000.
2728         (set_lheader_implementation): Setup `SLI_header->older' in
2729         UTF-2000.
2730         (set_lheader_older_implementation): New macro in UTF-2000.
2731         (OLDER_RECORD_P): New macro in UTF-2000.
2732         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2733         (alloc_older_lcrecord): New prototype in UTF-2000.
2734         (alloc_older_lcrecord_type): New macro in UTF-2000.
2735
2736 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2737
2738         * mule-charset.c (byte_table_description): Use
2739         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2740         (char_id_table_description): Delete bogus `, 1'.
2741         (Fget_char_attribute): Refer encoding_table of each coded-charset
2742         to get value of coded-charset attribute of a character.
2743         (Fput_char_attribute): Use `make_older_vector' instead of
2744         `make_vector'; use encoding_table of each coded-charset to store
2745         value of coded-charset attribute of a character.
2746         (Fremove_char_attribute): Use encoding_table of each coded-charset
2747         to store value of coded-charset attribute of a character.
2748         (mark_charset): Mark `cs->encoding_table'; don't mark
2749         `cs->decoding_table'.
2750         (charset_description): Add description of new member
2751         `encoding_table'.
2752         (make_charset): Initialize `encoding_table'.
2753
2754         * char-ucs.h (struct Lisp_Charset): Add new member
2755         `encoding_table'.
2756         (CHARSET_ENCODING_TABLE): New macro.
2757         (XCHARSET_ENCODING_TABLE): New macro.
2758         (charset_code_point): New implementation.
2759         (encode_char_1): Likewise.
2760
2761         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2762         (disksave_object_finalization_1): Call finalizers of
2763         `all_older_lcrecords' in UTF-2000.
2764         (make_older_vector): New function in UTF-2000.
2765         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2766         UTF-2000.
2767
2768         * lisp.h (make_older_vector): New prototype in UTF-2000.
2769
2770 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2771
2772         * lrecord.h (enum lrecord_type): Rename
2773         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2774
2775         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2776         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2777         `get_char_code_table'.
2778
2779         * mule-charset.c (mark_char_id_table): Renamed from
2780         `mark_char_code_table'.
2781         (char_id_table_equal): Renamed from `char_code_table_equal'.
2782         (char_id_table_hash): Renamed from `char_code_table_hash'.
2783         (make_char_id_table): Renamed from `make_char_code_table'.
2784         (copy_char_id_table): Renamed from `copy_char_code_table'.
2785         (get_char_id_table): Renamed from `get_char_code_table'.
2786         (put_char_id_table): Renamed from `put_char_code_table'.
2787         (to_char_id): Renamed from `to_char_code'.
2788
2789         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2790         `Lisp_Char_Code_Table'.
2791         (char_id_table): Renamed from `char_code_table'.
2792         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2793         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2794         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2795         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2796         (get_char_id_table): Renamed from `get_char_code_table'.
2797
2798 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2799
2800         * lrecord.h (enum lrecord_type): Rename
2801         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2802
2803         * mule-charset.c (mark_byte_table): Renamed from
2804         `mark_char_byte_table'.
2805         (byte_table_equal): Renamed from `char_byte_table_equal'.
2806         (byte_table_hash): Renamed from `byte_table_hash'.
2807         (make_byte_table): Renamed from `make_byte_table'.
2808         (copy_byte_table): Renamed from `copy_char_byte_table'.
2809
2810         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2811         `Lisp_Char_Byte_Table'.
2812         (byte_table): Renamed from `char_byte_table'.
2813         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2814         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2815         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2816         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2817
2818 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2819
2820         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2821         (dfc_convert_to_internal_format): Likewise.
2822         
2823         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2824         * text-coding.c (Fcoding_system_alias_p): New function.
2825         * text-coding.c (Fcoding_system_aliasee): New function.
2826         * text-coding.c (append_suffix_to_symbol): New function.
2827         * text-coding.c (dangling_coding_system_alias_p): New function.
2828         * text-coding.c (Ffind_coding_system):
2829         * text-coding.c (Fcopy_coding_system):
2830         * text-coding.c (encode_coding_no_conversion):
2831         * text-coding.c (syms_of_file_coding):
2832         * text-coding.c (vars_of_file_coding):
2833         Rewrite coding system alias code.
2834         Allow nested aliases, like symbolic links.
2835         Allow redefinition of coding system aliases.
2836         Prevent existence of dangling coding system aliases.
2837         Eliminate convert_to_external_format.
2838         Eliminate convert_to_internal_format.
2839         
2840         * text-coding.c: Change enum eol_type to eol_type_t.
2841
2842 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2843
2844         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2845         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2846
2847         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2848         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2849
2850 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2851
2852         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2853         `ideograph-daikanwa'.
2854
2855         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2856         (Vcharset_ucs_bmp): Likewise.
2857         (Vcharset_mojikyo): Add new extern variable definition.
2858         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2859         (Vcharset_latin_iso8859_3): Likewise.
2860         (Vcharset_latin_iso8859_4): Likewise.
2861         (Vcharset_latin_iso8859_9): Likewise.
2862         (Vcharset_latin_viscii_lower): Likewise.
2863         (Vcharset_latin_viscii_upper): Likewise.
2864         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2865         `mojikyo' code-point is used to decode.
2866         (encode_char_2): New function [to convert `mojikyo' code-point to
2867         Mojikyo font encoding].
2868         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2869         (breakup_char_1): Likewise.
2870         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2871
2872 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2873
2874         * text-coding.c (Fmake_coding_system): Add document about
2875         `disable-composition' property.
2876
2877 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2878
2879         * text-coding.c (Qdisable_composition): New variable; delete
2880         `Qcomposite'.
2881         (Fmake_coding_system): Add new property `disable-composite';
2882         delete property `composite'.
2883         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2884         instead of `!CODING_SYSTEM_COMPOSITE'.
2885         (syms_of_file_coding): Add new symbol `disable-composition';
2886         delete symbol `composite'.
2887
2888         * file-coding.h (struct Lisp_Coding_System): Add
2889         `disable_composition'; delete `enable_composition'.
2890         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2891         `CODING_SYSTEM_COMPOSITE'.
2892         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2893         `XCODING_SYSTEM_COMPOSITE'.
2894
2895 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2896
2897         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2898         to 0.15.
2899
2900 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2901
2902         * text-coding.c (Qcomposite): New variable.
2903         (Fmake_coding_system): Add new property `composite'.
2904         (struct decoding_stream): Add `combined_char_count',
2905         `combined_chars' and `combining_table' in UTF-2000.
2906         (COMPOSE_FLUSH_CHARS): New macro.
2907         (COMPOSE_ADD_CHAR): New macro.
2908         (reset_decoding_stream): Reset `str->combined_char_count' and
2909         `str->combining_table' in UTF-2000.
2910         (decode_coding_iso2022): Modify for character-decomposition.
2911         (syms_of_file_coding): Add new symbol `composite'.
2912
2913 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2914
2915         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2916         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2917         of `Vcharacter_composition_table' if `->decomposition' property
2918         has only 1 element.
2919         (Qlatin_tcvn5712): New variable.
2920         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2921         (complex_vars_of_mule_charset): Add new coded-charset
2922         `latin-tcvn5712'.
2923
2924         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2925
2926 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2927
2928         * file-coding.h (struct Lisp_Coding_System): Add
2929         `enable_composition'.
2930         (CODING_SYSTEM_COMPOSITE): New macro.
2931         (XCODING_SYSTEM_COMPOSITE): New macro.
2932
2933 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2934
2935         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2936
2937 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2938
2939         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2940         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2941
2942 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2943
2944         * mule-charset.c (Vcharset_mojikyo): New variable.
2945         (Fdefine_char): Don't use coded-charset which does not have
2946         non-builtin character range to allocate character-id.
2947         (Qmojikyo): New variable.
2948         (syms_of_mule_charset): Add new symbol `mojikyo'.
2949         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2950
2951         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2952         (LEADING_BYTE_MOJIKYO): New macro.
2953         (MIN_CHAR_MOJIKYO): New macro.
2954         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2955         (MAX_CHAR_MOJIKYO): New macro.
2956
2957 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2958
2959         * mule-charset.c (remove_char_attribute): Fixed.
2960
2961 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2962
2963         * mule-charset.c (remove_char_attribute): New function.
2964         (Fremove_char_attribute): New function.
2965         (encode_builtin_char_1): Comment out builtin-support for
2966         greek-iso8859-7 and cyrillic-iso8859-5.
2967         (Fdecode_char): Check `code' is an integer.
2968         (syms_of_mule_charset): Add `remove-char-attribute'.
2969         (MIN_CHAR_GREEK): Deleted.
2970         (MAX_CHAR_GREEK): Likewise.
2971         (MIN_CHAR_CYRILLIC): Likewise.
2972         (MAX_CHAR_CYRILLIC): Likewise.
2973         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2974         MAX_CHAR_GREEK for `greek-iso8859-7'.
2975
2976         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2977         (MAX_CHAR_GREEK): Likewise.
2978         (MIN_CHAR_CYRILLIC): Likewise.
2979         (MAX_CHAR_CYRILLIC): Likewise.
2980
2981 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2982
2983         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2984         format is used without `ucs' property.
2985         (Fdecode_char): Fix problem with GR representation.
2986         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2987         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2988
2989 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2990
2991         * mule-charset.c (make_builtin_char): New function.
2992         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2993         (Fset_charset_mapping_table): Modify for new representation of
2994         code-point.
2995         (Fdecode_char): New function.
2996         (syms_of_mule_charset): Add new builtin function `decode-char' in
2997         UTF-2000.
2998
2999         * char-ucs.h (make_builtin_char): New prototype.
3000         (DECODE_CHAR): New inline function.
3001         (MAKE_CHAR): Use `DECODE_CHAR'.
3002
3003 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3004
3005         * text-coding.c (parse_charset_conversion_specs): Use
3006         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3007         `XCHARSET_TYPE'.
3008         (iso2022_designate): Likewise.
3009
3010         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3011         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3012
3013         * mule-charset.c (Vcharset_ucs): New variable.
3014         (print_charset): Change design; use `CHARSET_CHARS' and
3015         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3016         (make_charset): Change signature to specify `chars' and
3017         `dimension' instead of `type'.
3018         (range_charset_code_point): Modify for 256^n-set.
3019         (encode_builtin_char_1): Encode as `ucs' in default.
3020         (Fmake_charset): Modify for `make_charset'.
3021         (Fmake_reverse_direction_charset): Likewise.
3022         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3023         UTF-2000.
3024         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3025         for `make_charset'.
3026
3027         * char-ucs.h (Vcharset_ucs): New variable.
3028         (LEADING_BYTE_UCS): New macro.
3029         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3030         and `chars' to `unsigned short' from `unsigned int'.
3031         (CHARSET_TYPE): Deleted.
3032         (XCHARSET_TYPE): Deleted.
3033
3034 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3035
3036         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3037
3038         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3039         (ENCODE_CHAR): New macro.
3040
3041 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3042
3043         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3044         to 0.14 (Kawachi-Katakami).
3045
3046 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3047
3048         * text-coding.c (char_encode_shift_jis): Modify for
3049         `charset_code_point'.
3050         (char_encode_iso2022): Likewise.
3051
3052         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3053         (integer) instead of list of <Lisp_Object>s (integers) as the
3054         format of code-point of a coded-charset.
3055         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3056         (encode_builtin_char_1): New function; delete
3057         `split_builtin_char'.
3058         (charset_code_point): Return <int> instead of <Lisp_Object>.
3059         (Fsplit_char): Don't use `SPLIT_CHAR'.
3060
3061         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3062         prototype for `split_builtin_char'.
3063         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3064         (charset_code_point): Likewise.
3065         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3066         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3067
3068 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3069
3070         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3071         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3072
3073 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3074
3075         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3076
3077         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3078         (MAX_CHAR_OBS_94x94): Deleted.
3079
3080 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3081
3082         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3083
3084         * char-ucs.h (MAX_CHAR_BMP): New macro.
3085
3086 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3087
3088         * text-coding.c: Sync with r21-2-24.
3089
3090 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3091
3092         * file-coding.c: Modify for UTF-2000.
3093
3094 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3095
3096         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3097         to 0.13 (Takaida).
3098
3099 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3100
3101         * mule-charset.c (split_builtin_char): Delete builtin support for
3102         `katakana-jisx0201'.
3103         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3104         BMP area in builtin representation.
3105
3106         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3107         `Vcharset_katakana_jisx0201'.
3108
3109 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3110
3111         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3112         (Qisolated): New variable.
3113         (Qinitial): New variable.
3114         (Qmedial): New variable.
3115         (Qfinal): New variable.
3116         (Qvertical): New variable.
3117         (Qsmall): New variable.
3118         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3119         `Qvertical' and `Qsmall'.
3120         (Qmojikyo_pj_[1 .. 21]): New variable.
3121         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3122         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3123         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3124         .. 21]'.
3125
3126 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3127
3128         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3129         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3130         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3131
3132 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3133
3134         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3135         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3136         BMP.
3137         (Qjapanese_jisx0208_1990): New variable.
3138         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3139         (complex_vars_of_mule_charset): Add new coded-charset
3140         `japanese-jisx0208-1990'.
3141
3142         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3143         (MIN_CHAR_JIS_X0208_1990): New macro.
3144         (MAX_CHAR_JIS_X0208_1990): New macro.
3145
3146 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3147
3148         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3149         coded-charset is not found.
3150
3151 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3152
3153         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3154         (Fdefine_char): Use `Fmake_char'.
3155
3156 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3157
3158         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3159         (Vcharset_hiragana_jisx0208): Deleted.
3160         (Vcharset_katakana_jisx0208): Deleted.
3161         (Qideograph_daikanwa): New variable.
3162         (Qhiragana_jisx0208): Deleted.
3163         (Qkatakana_jisx0208): Deleted.
3164         (split_builtin_char): Split `ideograph-daikanwa'.
3165         (Fsplit_char): New implementation for UTF-2000.
3166         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3167         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3168         (complex_vars_of_mule_charset): Add new coded-charset
3169         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3170         `katakana-jisx0208'.
3171
3172         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3173         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3174         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3175         (MIN_CHAR_DAIKANWA): New macro.
3176         (MAX_CHAR_DAIKANWA): New macro.
3177
3178 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3179
3180         * data.c (Fstring_to_number): Don't recognize floating point if
3181         base is not 10.
3182
3183 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3184
3185         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3186
3187 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3188
3189         * mule-charset.c (Qsquare): New variable.
3190         (to_char_code): Add `Qsquare'.
3191         (syms_of_mule_charset): Add new symbol `square'.
3192
3193 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3194
3195         * mule-charset.c (Qcircle): New variable.
3196         (to_char_code): Add `Qcircle'.
3197         (syms_of_mule_charset): Add new symbol `circle'.
3198
3199 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3200
3201         * mule-charset.c (Qfont): New variable.
3202         (to_char_code): Add `Qfont'.
3203         (syms_of_mule_charset): Add new symbol `font'.
3204
3205 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3206
3207         * mule-charset.c (Qsub): New variable.
3208         (to_char_code): Add `Qsub'.
3209         (syms_of_mule_charset): Add new symbol `sub'.
3210
3211 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3212
3213         * mule-charset.c (Fput_char_attribute): Convert each element of
3214         VALUE to GL position if ATTRIBUTE is a GR-set,
3215
3216 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3217
3218         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3219         coded-charset is a GR-set.
3220
3221 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3222
3223         * mule-charset.c (Fput_char_attribute): Check each element of
3224         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3225
3226 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3227
3228         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3229         UTF-2000.
3230         (Qethiopic_ucs): New variable in UTF-2000.
3231         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3232         (complex_vars_of_mule_charset): Add new coded-charset
3233         `ethiopic-ucs' in UTF-2000.
3234
3235         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3236         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3237         9)'.
3238         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3239         10)'.
3240         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3241
3242 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3243
3244         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3245         `ascii'.
3246
3247 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3248
3249         * mule-charset.c (Vcharacter_variant_table): New variable.
3250         (Q_ucs): New variable.
3251         (Fchar_variants): New function.
3252         (Fput_char_attribute): Register `->ucs' value to
3253         `Vcharacter_variant_table'.
3254         (syms_of_mule_charset): Add new function `char-variants' and new
3255         symbol `->ucs'.
3256         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3257
3258 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3259
3260         * mule-charset.c (get_char_code_table): Allow negative character
3261         code.
3262         (put_char_code_table): Likewise.
3263         (Vcharacter_composition_table): New variable.
3264         (Q_decomposition): New variable.
3265         (Qwide): New variable.
3266         (Qnarrow): New variable.
3267         (Qcompat): New variable.
3268         (QnoBreak): New variable.
3269         (Qsuper): New variable.
3270         (Qfraction): New variable.
3271         (to_char_code): New function.
3272         (Fget_composite_char): New function.
3273         (Fput_char_attribute): Register `->decomposition' value to
3274         `Vcharacter_composition_table'.
3275         (syms_of_mule_charset): Add new function `get-composite-char', new
3276         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3277         `super' and `fraction'.
3278         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3279
3280 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3281
3282         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3283         character; copy the return value.
3284
3285 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3286
3287         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3288
3289         * mule-charset.c (range_charset_code_point): Must use make_int.
3290         (split_builtin_char): New function.
3291
3292 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3293
3294         * mule-charset.c (char_byte_table): Change name from
3295         "char-code-table" to "char-byte-table".
3296         (mark_char_code_table): New function.
3297         (char_code_table_equal): New function.
3298         (char_code_table_hash): New function.
3299         (char_code_table_description): New constant.
3300         (char_code_table): New type.
3301         (make_char_code_table): New function.
3302         (copy_char_code_table): New function.
3303         (get_char_code_table): Modify for `char_code_table' type.
3304         (put_char_code_table): Likewise.
3305         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3306         (Kashiwara).
3307
3308         * char-ucs.h (char_code_table): New type.
3309         (XCHAR_CODE_TABLE): New macro.
3310         (XSETCHAR_CODE_TABLE): New macro.
3311         (CHAR_CODE_TABLE_P): New macro.
3312         (GC_CHAR_CODE_TABLE_P): New macro.
3313         (struct Lisp_Char_Code_Table): New structure.
3314
3315 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3316
3317         * mule-charset.c (Fmake_charset): Setup byte_offset for
3318         {94|96}^n-set.
3319
3320 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3321
3322         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3323         character.
3324
3325 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3326
3327         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3328         is found.
3329
3330 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3331
3332         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3333         charset, it is regarded as a charset.
3334         (put_char_attribute): New function in UTF-2000.
3335         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3336         charset, mapping-table of the charset is modified.
3337         (Fdefine_char): New function in UTF-2000.
3338         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3339         `Fput_char_attribute'.
3340         (syms_of_mule_charset): Add new function `define-char' and new
3341         symbol `ucs' in UTF-2000.
3342         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3343
3344 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3345
3346         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3347         non-UTF-2000 configuration.
3348
3349 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3350
3351         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3352         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3353
3354         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3355         deleted.
3356         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3357         (Fset_charset_mapping_table): Likewise.
3358
3359         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3360         (CHARSET_ENCODING_TABLE): Delete.
3361         (XCHARSET_ENCODING_TABLE): Delete.
3362         (charset_code_point): New interface.
3363
3364 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3365
3366         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3367         instead of `charset_get_byte1' and `charset_get_byte2'.
3368
3369         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3370         (charset_get_byte2): Deleted.
3371
3372 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3373
3374         * char-ucs.h (SPLIT_CHAR): New inline function.
3375         (breakup_char_1): Use `SPLIT_CHAR'.
3376
3377         * mule-charset.c (range_charset_code_point): New function.
3378         (charset_code_point): New function.
3379
3380         * char-ucs.h (range_charset_code_point): New interface.
3381         (breakup_char_1): Use `range_charset_code_point'.
3382
3383 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3384
3385         * mule-charset.c (Fmake_charset): Delete unused local variable
3386         `code_offset'.
3387
3388         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3389         (breakup_char_1): Find a charset and code-point in
3390         `Vcharacter_attribute_table'.
3391
3392 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3393
3394         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3395         to 0.10 (Yao).
3396
3397 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3398
3399         * mule-charset.c (Vcharacter_attribute_table): New variable.
3400         (Fchar_attribute_alist): New function.
3401         (Fget_char_attribute): New function.
3402         (Fput_char_attribute): New function.
3403         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3404         too.
3405         (syms_of_mule_charset): Add new function `char-attribute-alist',
3406         `get-char-attribute' and `put-char-attribute'.
3407         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3408
3409 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3410
3411         * mule-charset.c (Fmake_charset): Just use
3412         `get_unallocated_leading_byte'.
3413
3414         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3415         sets; don't use final-byte based number for private sets.
3416
3417 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3418
3419         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3420         integer.
3421
3422 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3423
3424         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3425         to 0.9.
3426
3427 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3428
3429         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3430         of `CHAR_LEADING_BYTE' in UTF-2000.
3431
3432         * insdel.c (find_charsets_in_bufbyte_string): Use
3433         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3434         (find_charsets_in_emchar_string): Likewise.
3435
3436         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3437         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3438
3439         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3440         (CHAR_CHARSET_ID): New macro.
3441
3442 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3443
3444         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3445         charset-id - MIN_LEADING_BYTE.
3446         (put_char_table): Likewise.
3447
3448 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3449
3450         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3451         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3452         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3453         (CHARSET_ID_OFFSET): New macro.
3454         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3455         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3456         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3457         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3458         4).
3459         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3460         5).
3461         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3462         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3463         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3464         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3465         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3466
3467 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3468
3469         * mule-charset.c (next_allocated_leading_byte): New variable in
3470         UTF-2000.
3471         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3472         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3473         (get_unallocated_leading_byte): Simply use
3474         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3475         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3476         UTF-2000.
3477
3478         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3479         (MAX_LEADING_BYTE_PRIVATE): New macro.
3480         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3481         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3482
3483 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3484
3485         * mule-charset.c (Fmake_charset): Allocate final-byte based
3486         charset-id for 94-set, 96-set and 94x94-set.
3487
3488 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3489
3490         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3491         ambiguous `else'.
3492         (Fmake_charset): Likewise.
3493         (complex_vars_of_mule_charset): Modify the font registry of
3494         `ucs-bmp' not to match `Ethiopic-Unicode'.
3495
3496 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3497
3498         * mule-charset.c (complex_vars_of_mule_charset): Add font
3499         registory of `ucs-bmp'.
3500
3501 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3502
3503         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3504         coded-charsets in `default-coded-charset-priority-list' when
3505         breaking up a character.
3506
3507         * mule-charset.c (Vcharset_latin_viscii): New variable.
3508         (Qlatin_viscii): New variable.
3509         (make_charset): Don't use `decoding_table'.
3510         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3511         byte_offset.
3512         (Fset_charset_mapping_table): New implementation.
3513         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3514         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3515         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3516         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3517         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3518         charset `latin_viscii'.
3519
3520         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3521         (CHARSET_TYPE_94X94): Change to 1 from 2.
3522         (CHARSET_TYPE_96): Change to 2 from 1.
3523         (CHARSET_TYPE_128): New macro.
3524         (CHARSET_TYPE_128X128): Change to 5 from 4.
3525         (CHARSET_TYPE_256): New macro.
3526         (CHARSET_TYPE_256X256): Change to 7 from 5.
3527         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3528
3529 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3530
3531         * text-coding.c (char_encode_shift_jis): Refer
3532         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3533         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3534
3535         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3536         (char_byte_table_equal): New function in UTF-2000.
3537         (char_byte_table_hash): New function in UTF-2000.
3538         (char_byte_table_description): New constant in UTF-2000.
3539         (char_byte_table): New type in UTF-2000.
3540         (make_char_byte_table): New function in UTF-2000.
3541         (copy_char_byte_table): New function in UTF-2000.
3542         (make_char_code_table): New macro in UTF-2000.
3543         (get_char_code_table): New function in UTF-2000.
3544         (put_char_code_table): New function in UTF-2000.
3545         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3546         (charset_description): Add setting in UTF-2000.
3547         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3548         `CHARSET_TO_BYTE1_TABLE(cs)'.
3549         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3550         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3551         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3552         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3553         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3554         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3555         `CHARSET_TO_BYTE2_TABLE(cs)'.
3556
3557         * char-ucs.h (char_byte_table): New type.
3558         (XCHAR_BYTE_TABLE): New macro.
3559         (XSETCHAR_BYTE_TABLE): New macro.
3560         (CHAR_BYTE_TABLE_P): New macro.
3561         (GC_CHAR_BYTE_TABLE_P): New macro.
3562         (struct Lisp_Char_Byte_Table): New structure.
3563         (get_char_code_table): New interface.
3564         (Emchar_to_byte_table): Deleted.
3565         (get_byte_from_character_table): Deleted.
3566         (struct Lisp_Charset): Add `encoding_table'; delete
3567         `to_byte1_table' and `to_byte2_table'.
3568         (CHARSET_ENCODING_TABLE): New macro.
3569         (CHARSET_TO_BYTE1_TABLE): Deleted.
3570         (CHARSET_TO_BYTE2_TABLE): Deleted.
3571         (XCHARSET_ENCODING_TABLE): New macro.
3572         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3573         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3574
3575 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3576
3577         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3578         `vietnamese-viscii-*'.
3579
3580 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3581
3582         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3583         (Qvietnamese_viscii_upper): New variable.
3584         (Fdefine_charset_alias): New function.
3585         (syms_of_mule_charset): Add new function `define-charset-alias'.
3586         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3587         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3588         `latin-viscii-*'.
3589
3590 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3591
3592         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3593         (MAX_CHAR_OBS_94x94): New macro.
3594         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3595         for 94x94 sets.
3596
3597         * mule-charset.c (put_byte_from_character_table): Change unit size
3598         from 128 to 256.
3599         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3600         not defined.
3601         (Fmake_reverse_direction_charset): Modify dummy argument of
3602         `make_charset' for non-UTF-2000 environment.
3603
3604 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3605
3606         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3607
3608         * mule-charset.c (destroy_byte_from_character_table): New macro.
3609         (latin_jisx0201_to_ucs): Deleted.
3610         (latin_iso8859_2_to_ucs): Deleted.
3611         (latin_iso8859_3_to_ucs): Deleted.
3612         (latin_iso8859_4_to_ucs): Deleted.
3613         (latin_iso8859_9_to_ucs): Deleted.
3614         (latin_viscii_lower_to_ucs): Deleted.
3615         (latin_viscii_upper_to_ucs): Deleted.
3616         (mark_charset): Mark `cs->decoding_table'.
3617         (Fcharset_mapping_table): Fix DOC-string.
3618         (Fset_charset_mapping_table): New function.
3619         (syms_of_mule_charset): Add nwe function
3620         `set-charset-mapping-table'.
3621         (complex_vars_of_mule_charset): Don't setup and use
3622         `latin_*_to_ucs'.
3623
3624 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3625
3626         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3627         charset.
3628
3629 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3630
3631         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3632         (Vcharset_katakana_jisx0208): New variable.
3633         (Qhiragana_jisx0208): New variable.
3634         (Qkatakana_jisx0208): New variable.
3635         (make_charset): Add new argument `byte_offset'.
3636         (charset_get_byte1): Modify for new coded-charset definition; use
3637         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3638         `XCHARSET_BYTE_OFFSET'.
3639         (Fmake_charset): Modify for `make_charset'.
3640         (Fmake_reverse_direction_charset): Likewise.
3641         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3642         `katakana-jisx0208'.
3643         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3644         `.'  in font registry of charset `katakana-jisx0201',
3645         `latin-jisx0201', `vietnamese-viscii-lower' and
3646         `vietnamese-viscii-upper'; modify DOC-string of charset
3647         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3648         registry of charset `japanese-jisx0208' not to use font for JIS
3649         X0208:1990; add new charset `hiragana-jisx0208' and
3650         `katakana-jisx0208'.
3651
3652         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3653         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3654         (struct Lisp_Charset): Add `byte_offset'.
3655         (CHARSET_BYTE_OFFSET): New macro.
3656         (XCHARSET_UCS_MIN): New macro.
3657         (XCHARSET_UCS_MAX): New macro.
3658         (XCHARSET_CODE_OFFSET): New macro.
3659         (XCHARSET_BYTE_OFFSET): New macro.
3660         (MIN_CHAR_HIRAGANA): New macro.
3661         (MAX_CHAR_HIRAGANA): New macro.
3662         (MIN_CHAR_KATAKANA): New macro.
3663         (MAX_CHAR_KATAKANA): New macro.
3664         (MAKE_CHAR): Modify for new coded-charset definition; use
3665         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3666         `XCHARSET_BYTE_OFFSET'.
3667
3668 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3669
3670         * mule-charset.c (CHAR96): Deleted.
3671         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3672         <Lisp_Object>.
3673         (latin_iso8859_2_to_ucs): Likewise.
3674         (latin_iso8859_3_to_ucs): Likewise.
3675         (latin_iso8859_4_to_ucs): Likewise.
3676         (latin_iso8859_9_to_ucs): Likewise.
3677         (latin_viscii_lower_to_ucs): Likewise.
3678         (latin_viscii_upper_to_ucs): Likewise.
3679         (latin_tcvn5712_to_ucs): Commented out.
3680         (make_charset): Change type of argument `decoding_table' from
3681         <Emchar*> to <Lisp_Object> [vector of characters].
3682         (Fmake_charset): Modify for `make_charset'.
3683         (Fmake_reverse_direction_charset): Likewise.
3684         (Fcharset_mapping_table): New function in UTF-2000.
3685         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3686         UTF-2000.
3687         (complex_vars_of_mule_charset): Modify for type change of
3688         `*_to_ucs'; modify for `make_charset'.
3689
3690         * char-ucs.h (struct Lisp_Charset): Change type of
3691         `decoding_table' from <Emchar*> to <Lisp_Object>.
3692         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3693
3694 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3695
3696         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3697         error with non-UTF-2000-Mule.
3698
3699 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3700
3701         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3702         in lisp again].
3703         (Vcharset_chinese_cns11643_4): Likewise.
3704         (Vcharset_chinese_cns11643_5): Likewise.
3705         (Vcharset_chinese_cns11643_6): Likewise.
3706         (Vcharset_chinese_cns11643_7): Likewise.
3707         (Qchinese_cns11643_3): Likewise.
3708         (Qchinese_cns11643_4): Likewise.
3709         (Qchinese_cns11643_5): Likewise.
3710         (Qchinese_cns11643_6): Likewise.
3711         (Qchinese_cns11643_7): Likewise.
3712         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3713         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3714         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3715         (complex_vars_of_mule_charset): Likewise.
3716
3717 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3718
3719         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3720         96-set.
3721         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3722         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3723
3724 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3725
3726         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3727         0xFF60.
3728         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3729         (breakup_char_1): Likewise.
3730
3731         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3732         one of them includes the specified character.
3733
3734 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3735
3736         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3737
3738 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3739
3740         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3741
3742 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3743
3744         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3745         definition for non-UTF-2000 Mule.
3746         (latin_iso8859_3_to_ucs): Likewise.
3747         (latin_iso8859_4_to_ucs): Likewise.
3748         (latin_iso8859_9_to_ucs): Likewise.
3749         (latin_jisx0201_to_ucs): Likewise.
3750         (MIN_CHAR_THAI): Likewise.
3751         (MAX_CHAR_THAI): Likewise.
3752         (MIN_CHAR_GREEK): Likewise.
3753         (MAX_CHAR_GREEK): Likewise.
3754         (MIN_CHAR_HEBREW): Likewise.
3755         (MAX_CHAR_HEBREW): Likewise.
3756         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3757         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3758         (MIN_CHAR_CYRILLIC): Likewise.
3759         (MAX_CHAR_CYRILLIC): Likewise.
3760
3761 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3762
3763         * char-ucs.h (breakup_char_1): Use
3764         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3765         thai-tis620 and katakana-jisx0201 area.
3766
3767 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3768
3769         * char-ucs.h (breakup_char_1): Use
3770         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3771         area.
3772
3773         * text-coding.c (reset_encoding_stream): Fixed.
3774         (char_encode_ucs4): Delete `& 255'.
3775
3776         * char-ucs.h (breakup_char_1): Use
3777         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3778
3779 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3780
3781         * file-coding.c (Fmake_coding_system): Don't set up
3782         `codesys->fixed.size'.
3783         (encode_coding_no_conversion): Don't refer
3784         `str->codesys->fixed.size'.
3785
3786 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3787
3788         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3789         (latin_a_char_to_byte1): Deleted.
3790         (latin_a_char_to_byte2): Deleted.
3791
3792 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3793
3794         * mule-charset.c (make_charset): Add new argument `ucs_min',
3795         `ucs_max' and `code_offset'.
3796         (charset_get_byte1): New implementation [delete specific charset
3797         depended implementations].
3798         (Fmake_charset): Modify for `make_charset'.
3799         (Fmake_reverse_direction_charset): Likewise.
3800         (complex_vars_of_mule_charset): Likewise.
3801
3802         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3803         `code_offset'.
3804         (CHARSET_UCS_MIN): New macro.
3805         (CHARSET_UCS_MAX): New macro.
3806         (CHARSET_CODE_OFFSET): New macro.
3807         (MAKE_CHAR): Delete charset depended definitions [except
3808         katakana-jisx0201].
3809
3810 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3811
3812         * char-ucs.h (breakup_char_1): Use
3813         `Vdefault_coded_charset_priority_list' for C0-Controls,
3814         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3815
3816 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3817
3818         * char-ucs.h (charset_get_byte1): New function.
3819         (XCHARSET_GET_BYTE1): Deleted.
3820         (charset_get_byte2): New function.
3821         (XCHARSET_GET_BYTE2): Deleted.
3822         (Vdefault_coded_charset_priority_list): New external variable.
3823         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3824         `Vdefault_preferred_coded_charset_list'.
3825
3826         * mule-charset.c (charset_get_byte1): New function.
3827         (charset_get_byte2): New function.
3828         (Vdefault_coded_charset_priority_list): New variable.
3829         (vars_of_mule_charset): Add new variable
3830         `default-coded-charset-priority-list'.
3831
3832 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3833
3834         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3835         (XCHARSET_GET_BYTE2): New inline function.
3836         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3837         `XCHARSET_GET_BYTE2'.
3838
3839 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3840
3841         * mule-charset.c (make_charset): Initialize
3842         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3843         NULL if table is not defined.
3844
3845 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3846
3847         * text-coding.c (char_encode_shift_jis): Use
3848         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3849         `ucs_to_latin_jisx0201'.
3850
3851         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3852         (ucs_to_latin_iso8859_2): Deleted.
3853         (ucs_to_latin_iso8859_3): Deleted.
3854         (ucs_to_latin_iso8859_4): Deleted.
3855         (ucs_to_latin_iso8859_9): Deleted.
3856         (ucs_to_latin_viscii_lower): Deleted.
3857         (ucs_to_latin_viscii_upper): Deleted.
3858         (ucs_to_latin_tcvn5712): Deleted.
3859         (make_charset): Add new argument `decoding_table'; set up
3860         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3861         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3862         `decoding_table' is defined in UTF-2000.
3863         (Fmake_charset): Modify for `make_charset'.
3864         (Fmake_reverse_direction_charset): Likewise.
3865         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3866         and `GENERATE_96_SET'.
3867
3868         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3869         (ucs_to_latin_jisx0201): Deleted.
3870         (latin_iso8859_2_to_ucs): Deleted.
3871         (ucs_to_latin_iso8859_2): Deleted.
3872         (latin_iso8859_3_to_ucs): Deleted.
3873         (ucs_to_latin_iso8859_3): Deleted.
3874         (latin_iso8859_4_to_ucs): Deleted.
3875         (ucs_to_latin_iso8859_4): Deleted.
3876         (latin_iso8859_9_to_ucs): Deleted.
3877         (ucs_to_latin_iso8859_9): Deleted.
3878         (latin_viscii_lower_to_ucs): Deleted.
3879         (ucs_to_latin_viscii_lower): Deleted.
3880         (latin_viscii_upper_to_ucs): Deleted.
3881         (ucs_to_latin_viscii_upper): Deleted.
3882         (struct Lisp_Charset): Renamed `encoding_table' to
3883         `to_byte1_table'; add `to_byte2_table'.
3884         (CHARSET_DECODING_TABLE): New macro.
3885         (CHARSET_TO_BYTE1_TABLE): New macro.
3886         (CHARSET_TO_BYTE2_TABLE): New macro.
3887         (XCHARSET_DECODING_TABLE): New macro.
3888         (XCHARSET_TO_BYTE1_TABLE): New macro.
3889         (XCHARSET_TO_BYTE2_TABLE): New macro.
3890         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3891         tables.
3892         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3893         don't use `ucs_to_*' tables.
3894
3895 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3896
3897         * text-coding.c (Fmake_coding_system): Don't set up
3898         `codesys->fixed.size'.
3899         (encode_coding_no_conversion): Use `if' instead of `switch'.
3900
3901         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3902
3903 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3904
3905         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3906         (Fmake_charset): Modify for `make_charset'.
3907         (Fmake_reverse_direction_charset): Likewise.
3908         (complex_vars_of_mule_charset): Likewise.
3909
3910 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3911
3912         * text-coding.c (char_encode_shift_jis): Use table
3913         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3914
3915 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3916
3917         * text-coding.c (text_encode_generic): Use `if' instead of
3918         `switch'.
3919         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3920         decode JIS-Latin.
3921
3922 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3923
3924         * text-coding.c (encode_coding_sjis): Deleted.
3925         (char_encode_shift_jis): New function.
3926         (char_finish_shift_jis): New function.
3927         (reset_encoding_stream): Set up `encode_char' and `finish' for
3928         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3929         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3930         (char_encode_utf8): Treat `eol_type'.
3931
3932 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3933
3934         * file-coding.c (decode_coding_iso2022): Use
3935         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3936
3937 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3938
3939         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3940         to 0.7 (Hirano).
3941
3942 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3943
3944         * char-lb.h (CHAR_COLUMNS): New macro.
3945
3946 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3947
3948         * text-coding.c (char_encode_ucs4): New function.
3949         (char_finish_ucs4): New function.
3950         (encode_coding_ucs4): Deleted.
3951         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3952         (text_encode_generic): Delete local variable `charset' and `half'.
3953         (ucs_to_mule_table): Deleted.
3954         (mule_to_ucs_table): Deleted.
3955         (Fset_ucs_char): Deleted.
3956         (ucs_to_char): Deleted.
3957         (Fucs_char): Deleted.
3958         (Fset_char_ucs): Deleted.
3959         (Fchar_ucs): Deleted.
3960         (decode_ucs4): Deleted.
3961         (mule_char_to_ucs4): Deleted.
3962         (encode_ucs4): Deleted.
3963         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3964         (decode_coding_utf8): Likewise.
3965         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3966         (char_encode_iso2022): Fixed.
3967         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3968         `Fset_char_ucs' and `Fchar_ucs'.
3969         (complex_vars_of_file_coding): Don't initialize
3970         `ucs_to_mule_table'.
3971
3972         * objects-tty.c (tty_initialize_font_instance): Don't use
3973         `XCHARSET_COLUMNS'.
3974
3975         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3976         UTF-2000.
3977
3978         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3979         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3980
3981         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3982         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3983         (emchar_string_displayed_columns): Likewise.
3984
3985         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3986         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3987         (string_column_at_point): Likewise.
3988         (Fmove_to_column): Likewise.
3989
3990         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3991         `encoding_table' and `decoding_table'.
3992         (CHARSET_REP_BYTES): Deleted.
3993         (XCHARSET_REP_BYTES): Deleted.
3994         (XCHARSET_COLUMNS): Deleted.
3995         (CHAR_COLUMNS): New macro.
3996         (lookup_composite_char): Deleted unconditionally.
3997         (composite_char_string): Likewise.
3998
3999 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4000
4001         * char-ucs.h (Emchar_to_byte_table): New type.
4002         (get_byte_from_character_table): New function interface.
4003         (Vcharset_latin_jisx0201): New variable.
4004         (latin_jisx0201_to_ucs): New variable.
4005         (ucs_to_latin_jisx0201): New variable.
4006         (Vcharset_latin_iso8859_2): New variable.
4007         (latin_iso8859_2_to_ucs): New variable.
4008         (ucs_to_latin_iso8859_2): New variable.
4009         (Vcharset_latin_iso8859_3): New variable.
4010         (latin_iso8859_3_to_ucs): New variable.
4011         (ucs_to_latin_iso8859_3): New variable.
4012         (Vcharset_latin_iso8859_4): New variable.
4013         (latin_iso8859_4_to_ucs): New variable.
4014         (ucs_to_latin_iso8859_4): New variable.
4015         (Vcharset_latin_iso8859_9): New variable.
4016         (latin_iso8859_9_to_ucs): New variable.
4017         (ucs_to_latin_iso8859_9): New variable.
4018         (Vcharset_latin_viscii_lower): New variable.
4019         (latin_viscii_lower_to_ucs): New variable.
4020         (ucs_to_latin_viscii_lower): New variable.
4021         (Vcharset_latin_viscii_upper): New variable.
4022         (latin_viscii_upper_to_ucs): New variable.
4023         (ucs_to_latin_viscii_upper): New variable.
4024         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4025         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4026         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4027         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4028         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4029         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4030         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4031         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4032         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4033         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4034
4035         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4036         (Vcharset_latin_viscii_upper): New variable.
4037         (make_byte_from_character_table): New function.
4038         (put_byte_from_character_table): New function.
4039         (get_byte_from_character_table): New function.
4040         (CHAR96): New macro.
4041         (ucs_to_latin_jisx0201): New variable.
4042         (latin_jisx0201_to_ucs): New variable.
4043         (ucs_to_latin_iso8859_2): New variable.
4044         (latin_iso8859_2_to_ucs): New variable.
4045         (ucs_to_latin_iso8859_3): New variable.
4046         (latin_iso8859_3_to_ucs): New variable.
4047         (ucs_to_latin_iso8859_4): New variable.
4048         (latin_iso8859_4_to_ucs): New variable.
4049         (ucs_to_latin_iso8859_9): New variable.
4050         (latin_iso8859_9_to_ucs): New variable.
4051         (ucs_to_latin_viscii_lower): New variable.
4052         (latin_viscii_lower_to_ucs): New variable.
4053         (ucs_to_latin_viscii_upper): New variable.
4054         (latin_viscii_upper_to_ucs): New variable.
4055         (ucs_to_latin_tcvn5712): New variable.
4056         (latin_tcvn5712_to_ucs): New variable.
4057         (Qlatin_viscii_lower): New variable.
4058         (Qlatin_viscii_upper): New variable.
4059         (syms_of_mule_charset): Set up new symbol
4060         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4061         (complex_vars_of_mule_charset): Set up new charset
4062         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4063         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4064         `ucs_to_<CHARSET>' tables.
4065
4066 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4067
4068         * text-coding.c: New file.
4069
4070 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4071
4072         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4073
4074         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4075         (MAKE_CHAR): Modify for `ucs-bmp'.
4076         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4077         non-MULE characters of BMP.
4078
4079 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4080
4081         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4082         to 0.6.
4083
4084 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4085
4086         * lstream.h:
4087         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4088         - Include character.h for `CHAR_ASCII_P'.
4089
4090         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4091
4092         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4093         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4094
4095         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4096         (BYTE_C0_P): Likewise.
4097         (BYTE_C1_P): Likewise.
4098         (Lstream_get_emchar_1): Likewise.
4099         (Lstream_fput_emchar): Likewise.
4100         (Lstream_funget_emchar): Likewise.
4101         (copy_internal_to_external): Likewise.
4102         (copy_external_to_internal): Likewise.
4103
4104         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4105         (BYTE_C0_P): Likewise.
4106         (BYTE_C1_P): Likewise.
4107         (Lstream_get_emchar_1): Likewise.
4108         (Lstream_fput_emchar): Likewise.
4109         (Lstream_funget_emchar): Likewise.
4110         (copy_internal_to_external): Likewise.
4111         (copy_external_to_internal): Likewise.
4112
4113         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4114         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4115
4116         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4117         (BYTE_ASCII_P): Moved to mb-1byte.h.
4118
4119 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4120
4121         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4122
4123         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4124         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4125         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4126         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4127         (VALIDATE_CHARPTR_FORWARD): Likewise.
4128         (simple_charptr_emchar): Moved to mb-multibyte.h.
4129         (simple_set_charptr_emchar): Likewise.
4130         (simple_charptr_copy_char): Likewise.
4131         (non_ascii_charptr_emchar): Likewise.
4132         (non_ascii_set_charptr_emchar): Likewise.
4133         (non_ascii_charptr_copy_char): Likewise.
4134         (charptr_emchar): Moved to mb-*byte.h.
4135         (set_charptr_emchar): Likewise.
4136         (charptr_copy_char): Likewise.
4137
4138         * mb-1byte.h, mb-multibyte.h: New files.
4139
4140 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4141
4142         * mb-utf-8.h (MULTIBYTE): New macro.
4143         (MAX_EMCHAR_LEN): Moved from buffer.h.
4144         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4145
4146         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4147
4148         * mb-lb.h, multibyte.h: New files.
4149
4150         * char-1byte.h (Charset_ID): Moved from buffer.h.
4151         (MIN_LEADING_BYTE): Likewise.
4152         (LEADING_BYTE_ASCII): Likewise.
4153         (NUM_LEADING_BYTES): Likewise.
4154         (CHARSETP): Likewise.
4155         (CHARSET_BY_LEADING_BYTE): Likewise.
4156         (XCHARSET_LEADING_BYTE): Likewise.
4157         (XCHARSET_GRAPHIC): Likewise.
4158         (XCHARSET_COLUMNS): Likewise.
4159         (XCHARSET_DIMENSION): Likewise.
4160         (CHAR_CHARSET): Likewise.
4161         (CHAR_LEADING_BYTE): Likewise.
4162         (BREAKUP_CHAR): Likewise.
4163         (Vcharset_ascii): Likewise.
4164
4165         * buffer.h: Include multibyte.h unconditionally.
4166         (VALID_CHARPTR_P): Moved to multibyte.h.
4167         (ASSERT_VALID_CHARPTR): Likewise.
4168         (REAL_INC_CHARPTR): Likewise.
4169         (REAL_INC_CHARBYTIND): Likewise.
4170         (REAL_DEC_CHARPTR): Likewise.
4171         (INC_CHARPTR): Likewise.
4172         (INC_CHARBYTIND): Likewise.
4173         (DEC_CHARPTR): Likewise.
4174         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4175         (VALIDATE_CHARPTR_FORWARD): Likewise.
4176         (charptr_n_addr): Likewise.
4177         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4178         (simple_charptr_emchar): Moved to multibyte.h.
4179         (simple_set_charptr_emchar): Likewise.
4180         (simple_charptr_copy_char): Likewise.
4181         (non_ascii_charptr_emchar): Likewise.
4182         (non_ascii_set_charptr_emchar): Likewise.
4183         (non_ascii_charptr_copy_char): Likewise.
4184         (charptr_emchar): Likewise.
4185         (set_charptr_emchar): Likewise.
4186         (charptr_copy_char): Likewise.
4187         (charptr_emchar_n): Likewise.
4188         (Charset_ID): Moved to char-1byte.h.
4189         (Vcharset_ascii): Likewise.
4190         (CHAR_CHARSET): Likewise.
4191         (CHAR_LEADING_BYTE): Likewise.
4192         (LEADING_BYTE_ASCII): Likewise.
4193         (NUM_LEADING_BYTES): Likewise.
4194         (MIN_LEADING_BYTE): Likewise.
4195         (CHARSETP): Likewise.
4196         (CHARSET_BY_LEADING_BYTE): Likewise.
4197         (XCHARSET_LEADING_BYTE): Likewise.
4198         (XCHARSET_GRAPHIC): Likewise.
4199         (XCHARSET_COLUMNS): Likewise.
4200         (XCHARSET_DIMENSION): Likewise.
4201         (BREAKUP_CHAR): Likewise.
4202
4203 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4204
4205         * character.h: Add document about interface for characters.
4206
4207         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4208         (MAKE_CHAR): Delete comment about
4209         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4210         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4211         (BREAKUP_CHAR): Modify name of arguments.
4212         (CHAR_CHARSET): Modify name of argument.
4213
4214         * buffer.h: Delete document about Emchar accessors.
4215
4216 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4217
4218         * character.h (CHAR_INTP): Moved from buffer.h
4219         (CHAR_OR_CHAR_INTP): Likewise.
4220         (XCHAR_OR_CHAR_INT): Likewise.
4221         (CHECK_CHAR_COERCE_INT): Likewise.
4222
4223         * buffer.h (CHAR_INTP): Moved to character.h
4224         (CHAR_OR_CHAR_INTP): Likewise.
4225         (XCHAR_OR_CHAR_INT): Likewise.
4226         (CHECK_CHAR_COERCE_INT): Likewise.
4227
4228 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4229
4230         * character.h:
4231         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4232         - Include char-1byte.h, char-lb.h or char-ucs.h.
4233
4234         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4235
4236         * buffer.h: Include character unconditionally.
4237         (valid_char_p): Moved to char-*.h.
4238         (non_ascii_valid_char_p): Moved to char-lb.h.
4239
4240         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4241
4242 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4243
4244         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4245         in UTF-2000 because it is not ported yet and not to use
4246         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4247         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4248         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4249
4250         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4251         (CHAR_ASCII_P): Moved from character.h.
4252
4253         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4254         (CHAR_ASCII_P): Likewise.
4255         (CHAR_FIELD1_MASK): Deleted.
4256         (CHAR_FIELD2_MASK): Deleted.
4257         (CHAR_FIELD3_MASK): Deleted.
4258         (MAX_CHAR_BASIC_LATIN): New macro.
4259         (CHAR_FIELD1): Deleted.
4260         (CHAR_FIELD2_INTERNAL): Deleted.
4261         (CHAR_FIELD3_INTERNAL): Deleted.
4262         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4263         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4264         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4265         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4266         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4267         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4268         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4269         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4270         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4271         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4272         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4273         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4274         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4275         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4276         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4277         (MIN_CHAR_COMPOSITION): Deleted.
4278         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4279         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4280
4281 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4282
4283         * buffer.h: Include mb-utf-8.h in UTF-2000.
4284
4285         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4286
4287         * mb-utf-8.h: New file.
4288
4289 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4290
4291         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4292         instead of `int'.
4293
4294         * mule-charset.h, buffer.h (Charset_ID): New type.
4295
4296 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4297
4298         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4299         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4300         instead of `MULE_CHAR_PRIVATE_OFFSET',
4301         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4302         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4303         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4304
4305         * character.h (Vcharset_japanese_jisx0212): New variable
4306         definition.
4307
4308 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4309
4310         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4311         (charset_by_attributes): Delete array about direction.
4312         (latin_a_char_to_charset): New variable in UTF-2000.
4313         (latin_a_char_to_byte1): New variable in UTF-2000.
4314         (latin_a_char_to_byte2): New variable in UTF-2000.
4315         (Qucs_bmp): New variable.
4316         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4317         `Bufbyte'.
4318         (next_allocated_2_byte_leading_byte): Likewise.
4319         (non_ascii_set_charptr_emchar): Likewise.
4320         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4321         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4322         `charset_by_attributes'.
4323         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4324         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4325         and `CHARSET_BY_LEADING_BYTE'.
4326         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4327         `utf-2000-version' to `vars_of_mule_charset'.
4328         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4329         define `leading-code-private-11' in UTF-2000; move setting of
4330         `utf-2000-version' from `syms_of_mule_charset'.
4331         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4332         UTF-2000.
4333
4334         * character.h (Charset_ID): New type.
4335         (LEADING_BYTE_UCS_BMP): New macro.
4336         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4337         (CHARSET_ID_OFFSET_94): New macro.
4338         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4339         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4340         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4341         final-byte.
4342         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4343         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4344         (CHARSET_ID_OFFSET_96): New macro.
4345         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4346         CHARSET_ID_OFFSET_96 and final-byte.
4347         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4348         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4349         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4350         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4351         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4352         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4353         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4354         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4355         (LEADING_BYTE_THAI_TIS620): Likewise.
4356         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4357         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4358         (CHARSET_ID_OFFSET_94x94): New macro.
4359         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4360         CHARSET_ID_OFFSET_94x94 and final-byte.
4361         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4362         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4363         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4364         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4365         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4366         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4367         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4368         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4369         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4370         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4371         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4372         (CHARSET_TYPE_128X128): New macro.
4373         (CHARSET_TYPE_256X256): New macro.
4374         (XCHARSET_PRIVATE_P): Delete unconditionally.
4375         (charset_by_attributes): Delete array about direction.
4376         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4377         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4378         (MIN_CHAR_94): New macro.
4379         (MAX_CHAR_94): New macro.
4380         (MIN_CHAR_96): New macro.
4381         (MAX_CHAR_96): New macro.
4382         (MIN_CHAR_94x94): New macro.
4383         (MAX_CHAR_94x94): New macro.
4384         (MIN_CHAR_96x96): New macro.
4385         (MAX_CHAR_96x96): New macro.
4386         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4387         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4388         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4389         - 32)'.
4390         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4391         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4392         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4393         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4394         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4395         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4396         `XCHARSET_LEADING_BYTE' to make code-point.
4397         (latin_a_char_to_charset): New variable.
4398         (latin_a_char_to_byte1): New variable.
4399         (latin_a_char_to_byte2): New variable.
4400         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4401         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4402         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4403
4404         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4405         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4406         (find_charsets_in_emchar_string): Likewise.
4407         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4408
4409         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4410         `int'.
4411         (decode_coding_iso2022): Likewise.
4412
4413         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4414         of `unsigned char'.
4415
4416         * redisplay.c (redisplay_text_width_emchar_string): Use
4417         `Charset_ID' instead of `unsigned char'.
4418         (redisplay_frame_text_width_string): Likewise.
4419
4420         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4421         `unsigned char'.
4422
4423         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4424         instead of `unsigned char'.
4425         (face_cachel_charset_font_metric_info): Likewise.
4426
4427         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4428         (get_non_ascii_char_table_value): Likewise.
4429         (get_char_table): Likewise.
4430         (put_char_table): Likewise.
4431         (map_over_other_charset): Likewise.
4432         (map_char_table): Likewise.
4433
4434         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4435         instead of `unsigned char'.
4436
4437 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4438
4439         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4440         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4441
4442         * mule-charset.c (leading_code_private_11): Don't define in
4443         UTF-2000.
4444
4445         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4446         in UTF-2000 because it is not ported yet and not to use
4447         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4448
4449 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4450
4451         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4452
4453 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4454
4455         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4456         in UTF-2000.
4457
4458         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4459         of unsigned char to store leading-byte.
4460
4461         * chartab.c (get_non_ascii_char_table_value): Don't use
4462         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4463
4464         * file-coding.c (encode_coding_big5): Delete bogus implementation
4465         in UTF2000.
4466
4467         * character.h (LEADING_BYTE_*): Delete definition for
4468         non-UTF-2000.
4469         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4470         (LEADING_BYTE_PREFIX_P): Deleted.
4471         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4472         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4473         (BUFBYTE_LEADING_BYTE_P): Deleted.
4474         (CHARSET_PRIVATE_P): Deleted unconditionally.
4475         (rep_bytes_by_first_byte): Deleted unconditionally.
4476         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4477         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4478         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4479         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4480         (CHAR_FIELD2): Deleted.
4481         (CHAR_FIELD3): Deleted.
4482         (MAKE_CHAR): Delete definition for non-UTF-2000.
4483         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4484         (breakup_char_1): New implementation.
4485         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4486         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4487
4488 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4489
4490         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4491         condition.
4492
4493 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4494
4495         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4496         (CHARSET_PRIVATE_P): Likewise.
4497         (XCHARSET_PRIVATE_P): Likewise.
4498         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4499
4500         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4501         UTF2000.
4502         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4503
4504 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4505
4506         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4507         (NUM_LEADING_BYTES): Changed from 128 to 256.
4508         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4509         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4510         UTF2000.
4511         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4512
4513         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4514         UTF2000.
4515         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4516         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4517         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4518         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4519         (Qchinese_cns11643_3): New variable in UTF2000.
4520         (Qchinese_cns11643_4): New variable in UTF2000.
4521         (Qchinese_cns11643_5): New variable in UTF2000.
4522         (Qchinese_cns11643_6): New variable in UTF2000.
4523         (Qchinese_cns11643_7): New variable in UTF2000.
4524         (syms_of_mule_charset): Define `chinese-cns11643-3',
4525         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4526         and `chinese-cns11643-7' in UTF2000.
4527         (vars_of_mule_charset): Initialize
4528         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4529         + 1 in UTF2000.
4530         (complex_vars_of_mule_charset): Setup charset
4531         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4532         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4533
4534 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4535
4536         * mule-charset.c: Move setting for `leading-code-private-11' from
4537         `syms_of_mule_charset' to `vars_of_mule_charset'.
4538
4539 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4540
4541         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4542         and `NUM_LEADING_BYTES' in assert.
4543
4544 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4545
4546         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4547         instead of 128.
4548         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4549         `NUM_LEADING_BYTES' instead of 128.
4550
4551 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4552
4553         * mule-charset.h (charset_by_leading_byte): Use
4554         `NUM_LEADING_BYTES' instead of 128.
4555         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4556
4557         * mule-charset.c (charset_by_leading_byte): Use
4558         `NUM_LEADING_BYTES' instead of 128.
4559         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4560
4561         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4562         128.
4563
4564 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4565
4566         * mule-charset.c (syms_of_mule_charset): Update to
4567         0.4 (Shin-Imamiya).
4568
4569 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4570
4571         * file-coding.c (encode_coding_sjis): New implementation for
4572         UTF2000.  (decode_coding_sjis): Ditto.
4573
4574 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4575
4576         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4577         Don't define in UTF2000.
4578
4579         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4580         defined.
4581
4582         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4583         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4584         MULE.
4585
4586 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4587
4588         * config.h.in (CHAR_IS_UCS4): New macro.
4589
4590         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4591         conventional MULE representation.
4592         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4593
4594         * mule-charset.h: Reverted to original.
4595
4596         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4597         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4598         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4599
4600         * character.h: New file.
4601
4602         * file-coding.c (Fmake_coding_system): Set 1 to
4603         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4604         defined.
4605         (encode_coding_no_conversion): New implementation for UTF2000.
4606
4607         * file-coding.h (struct Lisp_Coding_System): Add new member
4608         `fixed.size'.
4609
4610 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4611
4612         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4613         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4614         (encode_coding_iso2022): New implementation for UTF2000.
4615
4616 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4617
4618         * mule-canna.c (c2mu): New implementation for UTF2000.
4619         (m2c): Likewise.
4620
4621 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4622
4623         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4624
4625 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4626
4627         * file-coding.c (reset_encoding_stream): Set 0 to
4628         `str->iso2022.current_char_boundary' in UTF2000.
4629         (encode_utf8): Don't define in UTF2000.
4630         (encode_coding_utf8): New implementation for UTF-8 representation
4631         of UTF2000.
4632         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4633
4634 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4635
4636         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4637
4638         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4639         UTF2000.
4640         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4641
4642         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4643
4644         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4645         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4646         as UTF-8 in UTF2000.
4647         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4648         (non_ascii_valid_char_p): Don't define in UTF2000.
4649         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4650         (Lstream_get_emchar_1): Likewise.
4651         (utf-2000-version): New variable in UTF2000.
4652
4653         * lread.c (read_escape): Add new reader `u'.
4654
4655         * insdel.c (three_to_one_table): Don't define in UTF2000.
4656         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4657         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4658         UTF2000.
4659         (bytind_to_bufpos_func): Likewise.
4660         (buffer_mule_signal_inserted_region): Likewise.
4661         (vars_of_insdel): Don't initialize `three_to_one_table'.
4662         (init_buffer_text): Use `buf->text->mule_size' instead of
4663         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4664         UTF2000.
4665
4666         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4667         UTF-8 representation in UTF2000.
4668         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4669         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4670         (decode_coding_iso2022): Don't define local variable `lb' in
4671         UTF2000; don't use LEADING_BYTE in UTF2000; use
4672         `DECODE_ADD_UCS_CHAR' in UTF2000.
4673         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4674
4675         * config.h.in (UTF2000): New macro.
4676
4677         * buffer.h (struct buffer_text): Add new member `mule_size' and
4678         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4679         (valid_char_p): Return always 1 in UTF2000.
4680         (MAX_EMCHAR_LEN): 6 in UTF2000.
4681         (three_to_one_table): Don't define in UTF2000.
4682         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4683         UTF2000.
4684         (real_bytind_to_bufpos): Likewise.
4685
4686         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4687
4688 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4689
4690         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4691         representation change.
4692         (Vutf_2000_version): New variable.
4693         (leading_code_private_11): New variable.
4694         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4695         `leading-code-private-11'.
4696
4697         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4698         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4699         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4700         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4701         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4702         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4703         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4704         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4705         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4706         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4707         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4708         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4709         (MIN_CHAR_GREEK): New macro.
4710         (MAX_CHAR_GREEK): New macro.
4711         (MIN_CHAR_CYRILLIC): New macro.
4712         (MAX_CHAR_CYRILLIC): New macro.
4713         (MIN_CHAR_HEBREW): New macro.
4714         (MAX_CHAR_HEBREW): New macro.
4715         (MIN_CHAR_THAI): New macro.
4716         (MAX_CHAR_THAI): New macro.
4717         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4718         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4719         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4720         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4721         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4722         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4723         (CHAR_FIELD2): New inline function.
4724         (CHAR_FIELD3): New inline function.
4725         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4726         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4727         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4728         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4729         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4730         (MIN_CHAR_COMPOSITION): Likewise.
4731         (CHAR_LEADING_BYTE): Modified for character representation change.
4732         (MAKE_CHAR): Likewise.
4733
4734         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4735         (Vcharset_greek_iso8859_7): Likewise.
4736         (Vcharset_cyrillic_iso8859_5): Likewise.
4737         (Vcharset_hebrew_iso8859_8): Likewise.
4738         (Vcharset_thai_tis620): Likewise.
4739         (Vcharset_katakana_jisx0201): Likewise.
4740
4741 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
4742
4743         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
4744
4745 2002-12-14  Ben Wing  <ben@xemacs.org>
4746
4747         * callint.c: Declaration error.
4748         * dumper.c (pdump):
4749         * dumper.c (pdump_load): Warning fix.
4750         * process.c: GCPRO error.
4751         * glyphs.c (unmap_subwindow):
4752         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
4753         * event-stream.c (maybe_kbd_translate): Wrong argument to
4754         character_to_event().
4755
4756         * alloc.c (garbage_collect_1):
4757         * emacs.c:
4758         * emacs.c (debug_can_access_memory):
4759         * emacs.c (fatal_error_signal):
4760         * emacs.c (mswindows_handle_hardware_exceptions):
4761         * emacs.c (main_1):
4762         * emacs.c (main):
4763         * emacs.c (assert_failed):
4764         * emacs.c (syms_of_emacs):
4765         * lisp.h:
4766         * print.c:
4767         * print.c (std_handle_out_va):
4768         * print.c (write_string_to_stdio_stream):
4769         * print.c (write_fmt_string):
4770         * print.c (printing_badness):
4771         * print.c (printing_major_badness):
4772         * print.c (print_internal):
4773         * print.c (debug_print_no_newline):
4774         * print.c (debug_backtrace):
4775         Be more defensive in handling bad values when printing.  Add code
4776         from trunk involving inhibit_non_essential_printing_operations.
4777         When going down or in debug_print(), don't do external conversion
4778         and such and try really, really hard when printing to avoid core
4779         dumping.  Add force-debugging-signal, debug_break().
4780
4781 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
4782
4783         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
4784         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
4785
4786 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
4787
4788         * database.c: Fix open_database. Berkeley DB API has changed in
4789         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
4790
4791 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
4792
4793         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
4794
4795 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
4796
4797         * event-Xt.c (Xt_timeout):
4798         (Xt_timeout_callback):
4799         (emacs_Xt_add_timeout):
4800         (emacs_Xt_remove_timeout):
4801         (Xt_timeout_to_emacs_event):
4802         Turn completed_timeouts from a stack into a queue.  Fixes
4803         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
4804
4805 2002-11-07  Wolfram Gloger  <wg@malloc.de>
4806
4807         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
4808         * emacs.c (main): Assert that mmap'd allocation is disabled.
4809
4810 2002-10-14  Andy Piper  <andy@xemacs.org>
4811
4812         * glyphs-widget.c (layout_query_geometry): add in fiddle
4813         factor. Include border text in width layout calculation.
4814         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
4815
4816 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
4817
4818         * XEmacs 21.4.10 "Military Intelligence" is released.
4819
4820 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
4821
4822         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
4823         using the NAS private array SoundFileInfo that no longer exists in
4824         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
4825         and earlier.  This is broken for some versions between 1.5a and
4826         1.5f.
4827
4828 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
4829
4830         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
4831
4832         * emacs.c (shut_down_emacs): Improve crash message.
4833
4834 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
4835
4836         * file-coding.c (determine_real_coding_system): Check for coding
4837         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
4838         shebangs and Python PEP 263.
4839
4840 2002-10-08  Andy Piper  <andy@xemacs.org>
4841
4842         * glyphs-widget.c (layout_query_geometry): only resize dynamically
4843         if static sizes haven't been set.
4844
4845 2002-08-30  Mike Alexander  <mta@arbortext.com>
4846
4847         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
4848         to close a socket.
4849
4850 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
4851
4852         * callproc.c (child_setup): 21.4 doesn't have retry_close.
4853
4854 2002-09-20  Mike Sperber <mike@xemacs.org>
4855
4856         (This partially gets back my patch from 2002-07-20 without the
4857         bug.)
4858         * callproc.c (child_setup): Remove Ben's comment noting confusion
4859         over the file descriptors >= 3: close_process_descs() doesn't
4860         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
4861         * process-unix.c (unix_create_process): Call
4862         begin_dont_check_for_quit to inhibit unwanted interaction (and
4863         thus breaking of X event synchronicity) in the child.
4864
4865 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
4866
4867         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
4868         widget.
4869
4870 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
4871
4872         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
4873         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
4874         the xemacs process did not exit, but looped infinitely here.  This
4875         fixes that problem.
4876
4877 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4878
4879         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
4880         (find_context): Improve comments.
4881
4882         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
4883         (re_match_2): An XCHAR_TABLE operation was missing.
4884
4885         Many of the following changes were inspired by Andy Piper's (now
4886         obsolete) patch to make syntax-table text property lookup optional.
4887
4888         [Documentation]
4889
4890         * syntax.h (top level): Document semantics of syntax flags.
4891         * syntax.c (comstr_start, Fforward_comment): Improve comments.
4892         * syntax.c, syntax.h (top level): Document syntax cache better in
4893         comments.
4894
4895         [Instrument syntax caching (temporary change)]
4896
4897         * syntax.h (enum syntax_cache_statistics_functions, struct
4898         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
4899         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
4900         * syntax.c (scan_words, Fforward_comment, scan_lists,
4901         Fbackward_prefix_characters):
4902         * font-lock.c (find_context):
4903         Use them to instrument syntax caching. 
4904         * syntax.c (struct syntax_cache_statistics, scs_statistics,
4905         syntax_cache_statistics_function_names): New type and variables.
4906         * syntax.c (update_syntax_cache): Update and report statistics.
4907
4908         [Major syntax cache optimizations]
4909
4910         syntax.c (lookup_syntax_properties): Default off.
4911
4912         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
4913         * syntax.c (update_syntax_cache):
4914         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
4915
4916         [Minor syntax cache optimizations and code clarifications]
4917
4918         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
4919         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
4920         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
4921         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
4922         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
4923         (Code clarification.)
4924
4925         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
4926         scan_lists): Compute code from syncode, use Boolean macros instead
4927         of redundant masking operations.  (Code clarification; any decent
4928         compiler can do this optimization.)
4929
4930         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
4931         for clarity.
4932
4933         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
4934         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
4935         use F*_single_property_change instead of F*_extent_change.
4936         Currently F*_single_property_change is _much_ less efficient.
4937
4938         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
4939         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
4940         syntax_cache.object properly, don't leave Qt or Qnil.
4941         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
4942         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
4943         tests for Qt or Qnil.
4944
4945 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
4946
4947         * redisplay.c (point_in_line_start_cache): 
4948         * extents.c (print_extent_1):
4949         Fix warnings.
4950
4951         * extents.c (Fset_extent_property): Document `syntax-table' property.
4952
4953         * extents.h (Fnext_single_property_change): EXFUN it.
4954
4955 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
4956
4957         * search.c (clear_unused_search_regs): New static function.
4958         (search_buffer): 
4959         (simple_search): 
4960         (boyer_moore):
4961         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
4962         Minor clarifications in comments.
4963
4964         * regex.c (re_match_2_internal): Ensure no stale submatches.
4965
4966 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
4967
4968         * event-Xt.c (enqueue_focus_event): Add missing prototype.
4969
4970 2002-08-29  Jerry James  <james@xemacs.org>
4971
4972         * lisp.h: structrures -> structures.
4973
4974 2002-06-03  Andy Piper  <andy@xemacs.org>
4975
4976         * frame.c (frame_conversion_internal): add conversion appropriate
4977         for setting frame dimensions in pixels.
4978
4979         * console.h (struct console_methods): add device-specific widget
4980         layout functions.
4981
4982         * emacs.c (main_1): initialize glyph vars.
4983
4984         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
4985         (handle_focus_event_2): new function. Allow focus to
4986         be set to a particular window and widget.
4987         (enqueue_focus_event): new function. Create a
4988         synthetic focus event.
4989         (emacs_Xt_handle_magic_event): call
4990         handle_focus_event_2.
4991
4992         * frame.c (Fset_frame_pixel_height): new function. Allow
4993         pixel-based sizing. Does the right thing on character-oriented
4994         displays.
4995         (Fset_frame_pixel_width): ditto.
4996         (Fset_frame_pixel_size): ditto.
4997         (syms_of_frame): declare.
4998
4999         * general-slots.h: add :vertically-justify and
5000         :horizontally-justify.
5001
5002         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5003         (mswindows_widget_border_width): new function.
5004         (mswindows_combo_box_instantiate): set border widths.
5005         (console_type_create_glyphs_mswindows): declare.
5006
5007         * glyphs-widget.c:
5008         (check_valid_justification): allow vertical and horizontal
5009         justification.
5010         (widget_border_width): new function. Call device methods.
5011         (widget_instance_border_width): ditto.
5012         (logical_unit_height): new function. Determine the height of a
5013         logical-unit. Logical units are intended to provide grid-like
5014         layout for subcontrols in a layout. If the layout is
5015         :vertically-justify top then subcontrols will be positioned on
5016         logical-unit boundaries, thus allowing adjacent subcontrols to
5017         line up.
5018         (widget_logical_unit_height): ditto for widgets.
5019         (redisplay_widget): misc cleanup.
5020         (widget_spacing): new function. Call device specific
5021         methods. Intended to be the default gap between adjacent widgets.
5022         (widget_query_geometry): use new spacing functions to determine
5023         appropriate geometry.
5024         (initialize_widget_image_instance): initialize horizontal and
5025         vertical justification.
5026         (widget_instantiate): use logica-units where appropriate for
5027         sizing large widgets.
5028         (button_query_geometry): use widget_instance_border_width.
5029         (tree_view_query_geometry): ditto.
5030         (tab_control_query_geometry): ditto.
5031         (edit_field_query_geometry): new function.
5032         (layout_update): pick up :justify, :horizontally-justify and
5033         :vertically-justify none of which worked previously. :justify is
5034         used as a fallback for both horizontal and vertical justification.
5035         (layout_query_geometry): use logical units to size appropriately.
5036         (layout_layout): ditto.
5037         (Fwidget_logical_to_character_width): new function. Allow users to
5038         convert from logical units to characters so that frame sizes can
5039         be set appropriately.
5040         (Fwidget_logical_to_character_height): ditto.
5041         (syms_of_glyphs_widget): declare.
5042         (image_instantiator_edit_fields): add edit_field_query_geometry.
5043         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5044         :horizontally-justify.
5045         (specifier_vars_of_glyphs_widget): new function. Declare
5046         Vwidget_border_width which is not yet used.
5047
5048         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5049         (x_widget_border_width): new function.
5050         (x_widget_instantiate): create a sensible name for widgets.
5051         (console_type_create_glyphs_x): declare x_widget_border_width.
5052
5053         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5054         (struct Lisp_Image_Instance): add :vertically-justify and
5055         :horizontally-justify.
5056         (LAYOUT_JUSTIFY_TOP): new.
5057         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5058         (ROUND_UP): new macro. Round argument up to next integral
5059         interval.
5060
5061         * redisplay-output.c (redisplay_output_layout): misc formatting.
5062
5063         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5064
5065 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5066
5067         * XEmacs 21.4.9 "Informed Management" is released.
5068
5069 2002-08-19  Andy Piper  <andy@xemacs.org>
5070
5071         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5072         win32 format.
5073
5074         * realpath.c (xrealpath): normalize drive spec also so that dir
5075         sep chars are not mixed on cygwin.
5076
5077 2002-08-06  Jerry James  <james@xemacs.org>
5078
5079         * window.c (Fsplit_window): Count only half of the divider width
5080         against the left window when splitting horizontally. 
5081
5082 2002-06-24  Andy Piper  <andy@xemacs.org>
5083
5084         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5085         toolbar was cleared.
5086
5087         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5088         function. Split out from mswindows_output_frame_toolbars.
5089         (mswindows_output_frame_toolbars): move clear pieces to
5090         mswindows_output_frame_toolbars.
5091
5092         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5093         out from gtk_output_frame_toolbars.
5094         (gtk_output_frame_toolbars): move clear pieces to
5095         gtk_clear_frame_toolbars.
5096
5097         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5098         the frame is cleared. How this ever worked before is a mystery.
5099         (x_output_frame_toolbars): Only output toolbars.
5100         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5101
5102         * gutter.c (update_gutter_geometry):
5103         Mark frame layout changed.
5104         (update_frame_gutter_geometry, update_frame_gutters):
5105         Respect frame_layout_changed.
5106
5107         * console.h (struct console_methods): add
5108         clear_frame_toolbars_method.
5109
5110         * redisplay.c (redisplay_frame): call
5111         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5112
5113         * toolbar.h: declare update_frame_toolbars_geometry.
5114
5115         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5116         out from update_frame_toolbars.  Call clear_frame_toolbars.
5117         (update_frame_toolbars): only output, do not change geometry.
5118
5119         * redisplay.c: add frame_layout_changed.
5120
5121         * redisplay.h: add frame_layout_changed.
5122         (CLASS_RESET_CHANGED_FLAGS): set it.
5123         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5124         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5125         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5126
5127         * device.h (struct device): add frame_layout_changed.
5128         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5129
5130         * frame.h (struct frame): add frame_layout_changed.
5131         (MARK_FRAME_LAYOUT_CHANGED): new.
5132
5133 2002-06-30  Mike Alexander  <mta@arbortext.com>
5134
5135         * event-msw.c (mswindows_need_event): Don't wait for a new message
5136         if the queue is not empty.  Suggested by Paul Moore.
5137
5138 2002-06-12  Andy Piper  <andy@xemacs.org>
5139
5140         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5141         for printing on accurately.
5142
5143 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5144
5145         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5146         WM_ACTIVATE message. Make sure that the frame is visible if the
5147         window is visible. This seemss to fix the problem where XEmacs
5148         appears to freeze after switching desktops with certain virtual
5149         window managers.
5150         (debug_output_mswin_message): Added code to output message
5151         parameters for WM_WINDOWPOSCHANGED, 
5152         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5153
5154 2002-05-25  Andy Piper  <andy@xemacs.org>
5155
5156         * select-x.c (vars_of_select_x): Fix docstring of
5157         x-selection-strict-motif-ownership
5158
5159 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5160
5161         * keymap.c (get_keymap):
5162         Add comment about do_autoload GCPROs own args.
5163
5164 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5165
5166         * bytecode.c (execute_optimized_program): check_opcode ifdef
5167         ERROR_CHECK_BYTE_CODE.
5168
5169 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5170
5171         Thanks to Ben Wing and Michael Sperber.
5172
5173         * eval.c (Fcommand_execute):
5174         (Feval):
5175         (Ffuncall):
5176         (Fmacroexpand_internal):
5177         (function_argcount):
5178         callint.c (Fcall_interactively):
5179         Add comment about do_autoload GCPROs own args.
5180
5181         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5182
5183         * eval.c (Ffuncall): Extra braces to placate GCC.
5184
5185 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5186
5187         * backtrace.h (grow_specpdl):
5188         (SPECPDL_RESERVE):
5189         * EmacsFrame.c (EmacsFrameSetValues):
5190         * eval.c (grow_specpdl):
5191         * ExternalShell.c (hack_event_masks_1):
5192         * glyphs-x.c (convert_EImage_to_XImage): 
5193         (x_finalize_image_instance):
5194         * ralloc.c (page_size):
5195         (r_alloc_sbrk):
5196         * xgccache.c (gc_cache_hash):
5197         Fix unsigned comparison warnings.
5198
5199 2002-07-29  Jerry James  <james@xemacs.org>
5200
5201         * lread.c (locate_file): Any nonnegative return value indicates
5202         success if MODE is nonnegative.
5203
5204 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5205
5206         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5207         argument. 
5208
5209 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5210
5211         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5212
5213         * dumper.c (pdump_get_indirect_count):
5214         (pdump_scan_by_alignment):
5215         (pdump_dump_root_struct_ptrs):
5216         (pdump_dump_rtables):
5217         (pdump_dump_root_objects):
5218         (pdump):
5219         * nas.c (WaveOpenDataForReading):
5220         * fns.c (print_bit_vector):
5221         * font-lock.c (SINGLE_SYNTAX_STYLE):
5222         * glyphs.c (check_for_ignored_expose):
5223         (find_matching_subwindow):
5224         * glyphs-eimage.c:
5225         * imgproc.c (get_histogram):
5226         * redisplay.c (point_in_line_start_cache):
5227         * redisplay-output.c (redisplay_unmap_subwindows):
5228         * symbols.c (defsymbol_massage_name_1):
5229         (defkeyword_massage_name):
5230         (deferror_massage_name_and_message):
5231         * redisplay-x.c (x_output_string): 
5232         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5233         * frame.h (struct frame):
5234         * filelock.c (current_lock_owner):
5235         * doprnt.c (emacs_doprnt_1):
5236         * lisp.h (struct Lisp_Bit_Vector):
5237         (DO_REALLOC):
5238         Fix warnings.
5239
5240 2002-02-13  Ben Wing  <ben@xemacs.org>
5241
5242         * event-stream.c (reset_key_echo):
5243         * event-stream.c (reset_this_command_keys):
5244         * event-stream.c (execute_command_event):
5245         If console is dead as a result of C-x 5 0, then post-command stuff
5246         needs to be careful and do only non-console-specific stuff.
5247
5248 2002-07-01  Mike Sperber <mike@xemacs.org>
5249
5250         * process-unix.c (unix_send_process): Mark coding_outstream as
5251         non-open upon SIGPIPE.
5252
5253         * event-stream.c (Fnext_event): Reorder switch cases to something
5254         that makes sense.
5255
5256 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5257
5258         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
5259         Don't bogusly reinitialize ascii_character property.
5260
5261 2002-07-08  Mike Sperber <mike@xemacs.org>
5262
5263         * process.c (Fstart_process_internal): Do error checking before we
5264         fork off the child, so the child can't muck with the state of the
5265         parent.
5266
5267 2002-07-08  Mike Sperber <mike@xemacs.org>
5268
5269         * ralloc.c (init_ralloc): Allocate properly for pdump.
5270
5271 2002-06-12  Andy Piper  <andy@xemacs.org>
5272
5273         * glyphs.c (query_string_geometry): check the string.
5274
5275         * glyphs-widget.c (widget_logical_unit_height): cope with nil
5276         widget names.
5277
5278 2002-06-17  Jerry James  <james@xemacs.org>
5279
5280         * sysdll.c: Remove RTLD_GLOBAL initialization.
5281         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
5282
5283 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
5284
5285         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
5286
5287 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
5288
5289         * sysdep.c (sys_rename): Make sys_rename work for the case where
5290         Windows rename sets errno to EACCES if target file exists.
5291
5292 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
5293
5294         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5295         Fix detection of metric units to work on Win95
5296
5297 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
5298
5299         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
5300
5301 2002-04-25  Andy Piper  <andy@xemacs.org>
5302
5303         * redisplay.c (create_text_block): Remove extra comment trailer.
5304
5305 2002-04-24  Andy Piper  <andy@xemacs.org>
5306
5307         * redisplay.c (create_text_block): Don't actually add propagation
5308         data if the line ends after we have added a glyph.
5309
5310 2002-04-22  Andy Piper  <andy@xemacs.org>
5311
5312         * extents.c (extent_fragment_update): check for glyphs we have
5313         previously displayed.
5314         * extents.c (print_extent_1): warning removal.
5315         * extents.h: change prototype.
5316         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
5317         widths correctly for wide glyphs.
5318         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
5319         * redisplay.c (prop_type): add PROP_GLYPH.
5320         * redisplay.c (struct prop_block): add glyph type
5321         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
5322         to the propagation data.
5323         * redisplay.c (create_text_block): if there is a glyph in the
5324         propagation data use it to salt extent_fragment_update.
5325         * redisplay.c (create_string_text_block): ditto.
5326
5327 2002-04-13  Nix  <nix@esperi.demon.co.uk>
5328
5329         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
5330         * redisplay-output.c (compare_runes): Compare them.
5331         * redisplay.c: Update copyright date.
5332         * redisplay.c (pos_data): Add need_baseline_computation field.
5333         * redisplay.c (add_glyph_rune): Update ascent, descent, and
5334         need_baseline_computation; zero yoffset. Set max_pixmap_height
5335         for all pixmaps, not just automatically positioned ones.
5336         * redisplay.c (calculate_yoffset): New, compute yoffset values.
5337         * redisplay.c (calculate_baseline): New, compute textual baseline.
5338         * redisplay.c (add_glyph_rune): Call them.
5339         * redisplay.c (create_text_block): Likewise.
5340         * redisplay.c (create_overlay_glyph_block): Likewise.
5341         * redisplay.c (add_margin_runes): Likewise.
5342         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
5343
5344         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
5345         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
5346         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
5347         * redisplay-msw.c (mswindows_output_string): Likewise.
5348         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
5349         * redisplay-gtk.c (gtk_output_display_block): Likewise.
5350         * redisplay-x.c (x_output_display_block): Likewise.
5351
5352 2002-03-28  Ben Wing  <ben@xemacs.org>
5353
5354         * redisplay.c: Fixed bug in redisplay
5355         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
5356         and down of the lines, since they're bigger than the line
5357         size. (It was seen most obviously when there's a horizontal scroll
5358         bar, e.g. do C-h a glyph or something like that.) The problem was
5359         that the glyph-contrib-p setting on glyphs was ignored even if it
5360         was set properly, which it wasn't until now.
5361
5362 2002-04-24  Andy Piper  <andy@xemacs.org>
5363
5364         * lisp.h (Dynarr_end): Fix definition.
5365
5366 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
5367
5368         * redisplay.c (mark_redisplay): Remove call to
5369         update_frame_window_mirror.
5370
5371 2001-11-15  Andy Piper  <andy@xemacs.org>
5372
5373         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
5374         cygwin (again).
5375
5376 2002-02-13  Andy Piper  <andy@xemacs.org>
5377
5378         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
5379         we did in fact enqueue the XM_MAPFRAME event.
5380
5381 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
5382
5383         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
5384         to fix problem switching between virtual desktops under virtuawin
5385         virtual window manager.
5386
5387 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
5388
5389         * event-msw.c: Typo fix.
5390         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
5391         magic XM_MAPFRAME event has been sent.
5392
5393 2001-11-23  Andy Piper  <andy@xemacs.org>
5394
5395         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
5396
5397 2001-11-21  Andy Piper  <andy@xemacs.org>
5398
5399         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
5400         mouse events outside the frame.
5401
5402 2002-03-20  Andy Piper  <andy@xemacs.org>
5403
5404         * menubar-msw.c (mswindows_popup_menu): warning removal.
5405         * dialog-msw.c (dialog_popped_down): ditto.
5406
5407 2001-12-11  Andy Piper  <andy@xemacs.org>
5408
5409         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
5410         * dialog-msw.c (mswindows_make_dialog_box_internal): set
5411         popup_up_p.
5412         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
5413         * menubar-msw.c (mswindows_handle_wm_command): ditto.
5414         * menubar-msw.c (mswindows_popup_menu): ditto.
5415
5416 2001-10-29  Andy Piper  <andy@xemacs.org>
5417
5418         * dialog-msw.c (handle_directory_dialog_box): quit if the user
5419         cancels.
5420
5421 2002-01-03  Andy Piper  <andy@xemacs.org>
5422
5423         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
5424         letters.
5425         (xrealpath): ditto.
5426
5427 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
5428
5429         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
5430         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
5431         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5432         Detect and handle case where machine is set up for metric units
5433
5434 2002-04-02  Andy Piper  <andy@xemacs.org>
5435
5436         * dired-msw.c (mswindows_get_files): 
5437         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
5438         completely handled by XEmacs. Suggested by Thomas Vogler
5439         <mail@thomas-vogler.de>.
5440
5441 2001-11-14  Andy Piper  <andy@xemacs.org>
5442
5443         * nt.c (REG_ROOT): change registry key to XEmacs.
5444
5445 2002-04-27  Andy Piper  <andy@xemacs.org>
5446
5447         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
5448
5449 2002-04-26  Andy Piper  <andy@xemacs.org>
5450
5451         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
5452         behavior.
5453
5454 2002-03-14  Mike Alexander  <mta@arbortext.com>
5455
5456         * event-msw.c (mswindows_unwait_process): New, remove process from
5457         wait list
5458         * process-nt.c (nt_finalize_process_data): Call
5459         mswindows_unwait_process
5460         * console-msw.h: Declare mswindows_unwait_process
5461
5462 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
5463
5464         * editfns.c (Fdecode_time):
5465         (Fformat_time_string):
5466         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
5467         (make_time): Warning elimination (change arg name).
5468
5469 2001-11-24  Andy Piper  <andy@xemacs.org>
5470
5471         * window.c (Fsplit_window): Doc return type.
5472
5473 2002-04-01  Andy Piper  <andy@xemacs.org>
5474
5475         * emacs.c (Fkill_emacs): Only output message box in interactive
5476         mode.
5477
5478 2002-04-26  Andy Piper  <andy@xemacs.org>
5479  
5480         * config.h.in: pull in 21.5.x change to stop alloca warnings under
5481         cygwin.
5482
5483 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
5484
5485         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
5486         bit platform.
5487
5488 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
5489
5490         * XEmacs 21.4.8 "Honest Recruiter" is released.
5491
5492 2002-05-07  Nix  <nix@esperi.demon.co.uk>
5493
5494         Supersedes 2002-04-17 patch.
5495
5496         * process.h (PROCESS_LIVE_P): Use the process status as
5497         evidence of health, not the state of the input stream.
5498         (PROCESS_READABLE_P): Say if the process is readable
5499         from. (It may be dead nonetheless.)
5500         (CHECK_READABLE_PROCESS): Test for that condition.
5501
5502         * process.c (create_process): Use PROCESS_READABLE_P.
5503         (read_process_output, set_process_filter): Likewise.
5504
5505         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
5506         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
5507
5508         This code is #if 0'd, this is not the time to add new functions:
5509
5510         * process.c (Fprocess_readable_p): Report readability status.
5511         * process.c (Qprocess_readable_p): New, associated symbol...
5512         * process.c (syms_of_process): ... initialize it.
5513
5514 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
5515
5516         * XEmacs 21.4.7 "Economic Science" is released.
5517
5518 2002-04-17  Nix  <nix@esperi.demon.co.uk>
5519
5520         * process.h (PROCESS_LIVE_P): Use the process status as
5521         evidence of health, not the state of the input stream.
5522
5523 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
5524
5525         * sysdep.c (sys_siglist): change "signum" to "signal"
5526
5527 2001-04-21  Martin Buchholz  <martin@xemacs.org>
5528
5529         * s/darwin.h: New file.
5530         Thanks to Greg Parker <gparker@cs.stanford.edu>.
5531         
5532 2002-04-23  Andreas Jaeger  <aj@suse.de>
5533
5534         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
5535         which use lib64 for 64-bit libs.
5536         (START_FILES): Likewise.
5537
5538 2002-02-11  Mike Sperber  <mike@xemacs.org>
5539
5540         * device-x.c: 
5541         (x_IO_error_handler):
5542         (x_init_device): Temporarily keep device in static variable
5543         `device_being_initialized' so we can recover gracefully from
5544         internal XOpenDevice failure.  (XOpenDevice is documented to
5545         return NULL on failure, but sometimes calls the IO error handler
5546         instead.)
5547
5548 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
5549
5550         * dired.c (Ffile_name_all_completions): Change documentation --
5551         remove reference to completion-ignored-extensions.
5552         * dired.c (vars_of_dired): Change documentation for
5553         completion-ignored-extensions -- remove reference to
5554         file-name-all-completions.
5555
5556 2002-03-06  Jerry James  <james@xemacs.org>
5557
5558         * emodules.c (emodules_load): Fix multiple loading of same module.
5559
5560 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
5561         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
5562         RTLD_LAZY to avoid incorrect symbol binding when using nested
5563         shared libraries on Solaris.
5564
5565 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
5566
5567         * fileio.c (Ffind_file_name_handler): Improve docstring.
5568
5569 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
5570
5571         * fns.c (Fmapconcat): Improve docstring.
5572
5573 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
5574
5575         * device-gtk.c: Add prototype for
5576         emacs_gtk_selection_clear_event_handle.
5577         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
5578         selection.  Setup signal handler for "selection_clear_event"
5579         (emacs_gtk_selection_clear_event_handle).
5580
5581         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
5582         other applications owning the clipboard (based on
5583         x_handle_selection_clear).
5584
5585 2001-12-23  William M. Perry  <wmperry@gnu.org>
5586
5587         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
5588         
5589 2002-01-04  Martin Buchholz  <martin@xemacs.org>
5590
5591         * keymap.c (define_key_alternate_name): Parenthesize EQ.
5592
5593 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
5594
5595         * XEmacs 21.4.6 "Common Lisp" is released.
5596
5597 2001-12-16  Torsten Duwe  <duwe@caldera.de>
5598
5599         * search.c (Freplace_match): Add missing sub-expression functionality.
5600
5601         * buffer.c (decode_buffer): Add a check for pointer type to
5602         decode_buffer, before gcc's CSE optimization reorders a
5603         dereference in front of the allow_string test.
5604
5605 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
5606
5607         * window.c (window_loop): Fix bug that sometimes prevented
5608         window_loop() from iterating across multiple devices.  Also, at
5609         Ben's request, changed infloop-detecting code to abort() instead
5610         of silently terminating window_loop().
5611
5612 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
5613
5614         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
5615         * editfns.c (make_time): New function.
5616         (Fencode_time): Use it instead of wasteful_word_to_lisp.
5617         * lisp.h (make_time): Prototype and comment it.
5618         * dired.c (wasteful_word_to_lisp): Deprecate.
5619         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
5620
5621 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
5622
5623         * fileio.c (auto_save_1): Use current coding system, not
5624         escape-quoted.
5625
5626 2001-11-13  Ben Wing  <ben@xemacs.org>
5627
5628         * window.c:
5629         * window.c (window_truncation_on):
5630         * window.c (syms_of_window):
5631         truncate-partial-width-windows should respect the buffer being
5632         displayed, like other redisplay vars.
5633
5634 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
5635
5636         * event-stream.c (Fread_key_sequence): save current buffer.
5637
5638 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5639
5640         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
5641
5642 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5643
5644         * alloc.c (lcrecord_stats): Add space for types defined in modules.
5645
5646 2001-10-26  Mike Alexander  <mta@arbortext.com>
5647
5648         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
5649
5650 2001-10-25  Andy Piper  <andy@xemacs.org>
5651
5652         * ChangeLog:
5653         * dialog-msw.c (handle_directory_proc): new function.
5654          (handle_directory_dialog_box): new fucntion.
5655          (handle_file_dialog_box): use new directory dialog support.
5656          (mswindows_make_dialog_box_internal): ditto.
5657         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
5658         handling.
5659         (mswindows_find_frame): make global.
5660         * fileio.c (Fexpand_file_name): build fix.
5661         * general-slots.h: add Qdirectory.
5662         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
5663         handling.
5664         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
5665         cygwin not leaving win32 paths unchanged.
5666         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
5667         cygwin runtime to do path conversion.
5668         (Fmswindows_shell_execute): fix cygwin handling of URLs.
5669         (syms_of_win32): add new function.
5670         * window.c (window_loop): build fix.
5671
5672 2001-10-15  Andy Piper  <andy@xemacs.org>
5673
5674         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
5675
5676 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
5677
5678         * XEmacs 21.4.5 "Civil Service" is released.
5679
5680 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
5681
5682         * glyphs-x.c: Force buffer-tab highlight update when moving the
5683         buffer, avoiding an ugly black border, used for keyboard focus
5684         indication, on a widget that can never have keyboard focus, the
5685         buffer tab.
5686
5687 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
5688
5689         * process-unix.c (unix_open_multicast_group): Remove too much
5690         conversion between host and network byte order.
5691
5692 2001-09-10  Nix  <nix@esperi.demon.co.uk>
5693
5694         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
5695         before replacing them.
5696
5697         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
5698         operation.
5699
5700         * src/window.c (undedicate_windows): Use it.
5701         * src/window.h: Add prototype.
5702
5703 2001-09-17  Ben Wing  <ben@xemacs.org>
5704
5705         * fileio.c (normalize_filename):
5706         * fileio.c (Fexpand_file_name):
5707         Fix various C++ compile errors in Andy's recent code.
5708         
5709         * callint.c (Fcall_interactively):
5710         * editfns.c (Ftemp_directory):
5711         * editfns.c (Fuser_full_name):
5712         * emacs.c (argmatch):
5713         * lread.c (locate_file_map_suffixes):
5714         * redisplay-x.c (x_ring_bell):
5715         Fix sign-compare warnings.
5716         
5717 2001-09-08  Andy Piper  <andy@xemacs.org>
5718
5719         * fileio.c (normalize_filename): copied from nt.c
5720         * (Ffile_name_directory): enable win32 paths under cygwin.
5721         * (Ffile_name_nondirectory): ditto.
5722         * (directory_file_name): ditto.
5723         * (Fexpand_file_name): ditto.
5724         * (Ffile_truename): ditto.
5725         * (Fsubstitute_in_file_name): ditto.
5726         * (Ffile_name_absolute_p): ditto.
5727         * (Ffile_readable_p): ditto.
5728
5729 2001-09-08  Andy Piper  <andy@xemacs.org>
5730
5731         * device-msw.c (mswindows_finish_init_device): remove dde
5732         initialization.
5733         * device-msw.c (mswindows_init_dde): factor out from
5734         mswindows_finish_init_device()
5735         * device-msw.c (init_mswindows_very_early): new function
5736         initialize but don't enable dde.
5737         * emacs.c (main_1): call init_mswindows_very_early.
5738         * event-msw.c:
5739         * event-msw.c (mswindows_dde_callback): only execute when we are
5740         ready.
5741         * symsinit.h: declare init_mswindows_very_early.
5742
5743 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5744
5745         [sjt: This has been in 21.5 for months with no complaints.]
5746
5747         * console.h (struct console_methods): Added flags member.
5748         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
5749         (CONMETH_IMPL_FLAG):
5750         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
5751         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5752
5753         * device.c (window_system_pixelated_geometry): Use the above macros.
5754
5755         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
5756         implememntation flag.
5757         * device.h (DEVICE_DISPLAY_P): Use it.
5758
5759         * frame.c (delete_frame_internal): Use the above macro.
5760
5761         * redisplay.c (redisplay_device): Use it.
5762         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5763         (redisplay_frame): Ditto.
5764
5765         * device-msw.c (mswindows_device_implementation_flags): Removed.
5766         (msprinter_device_implementation_flags): Removed.
5767         (console_type_create_device_mswindows): Removed references to
5768         implementation_flags methods, set implementation flags here.
5769         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
5770
5771         * device-gtk.c (gtk_device_implementation_flags): Removed method.
5772         (console_type_create_device_gtk): Removed method declaration.
5773         Added commented out statement which semantically matches the
5774         commented out statement in the above removed method.
5775
5776 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
5777
5778         The attached patch fixes a few warnings. 
5779
5780         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
5781         * src/frame-gtk.c: guard against GNOME calls in GTK only
5782         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
5783         * src/select-gtk.c: prototype lisp_to_time
5784
5785 2001-06-08  Ben Wing  <ben@xemacs.org>
5786
5787         ------ gc-in-window-procedure fixes ------
5788         
5789         * alloc.c:
5790         * alloc.c (struct post_gc_action):
5791         * alloc.c (register_post_gc_action):
5792         * alloc.c (run_post_gc_actions):
5793         * alloc.c (garbage_collect_1):
5794         Create "post-gc actions", to avoid those dreaded "GC during window
5795         procedure" problems.
5796
5797         * event-msw.c:
5798         Abort, clean and simple, when GC in window procedure.  We want
5799         to flush these puppies out.
5800
5801         * glyphs-msw.c:
5802         * glyphs-msw.c (finalize_destroy_window):
5803         * glyphs-msw.c (mswindows_finalize_image_instance):
5804         Use a post-gc action when destroying subwindows.
5805
5806         * lisp.h:
5807         Declare register_post_gc_action().
5808
5809         * scrollbar-msw.c:
5810         * scrollbar-msw.c (unshow_that_mofo):
5811         Use a post-gc action when unshowing scrollbar windows, if in gc.
5812
5813         * redisplay.c (mark_redisplay):
5814         Add comment about the utter evilness of what's going down here.
5815
5816         ------ cygwin setitimer fixes ------
5817         
5818         * Makefile.in.in (sheap_objs):
5819         * Makefile.in.in (profile_objs):
5820         * Makefile.in.in (objs):
5821         Compile profile.c only when HAVE_SETITIMER.
5822         
5823         * nt.c (mswindows_sigset):
5824         * nt.c (mswindows_sighold):
5825         * nt.c (mswindows_sigrelse):
5826         * nt.c (mswindows_sigpause):
5827         * nt.c (mswindows_raise):
5828         * nt.c (close_file_data):
5829         Style fixes.
5830         
5831         * nt.c:
5832         Move setitimer() emulation to win32.c, because Cygwin needs it too.
5833         
5834         * profile.c:
5835         * profile.c (Fstart_profiling):
5836         * profile.c (Fstop_profiling):
5837         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
5838         instead of just plain setitimer().
5839         
5840         * signal.c:
5841         * signal.c (set_one_shot_timer):
5842         * signal.c (alarm):
5843         Define qxe_setitimer() as an encapsulation around setitimer() --
5844         call setitimer() directly unless Cygwin or MS Win, in which case
5845         we use our simulated version in win32.c.
5846         
5847         * systime.h:
5848         * systime.h (struct itimerval):
5849         * systime.h (ITIMER_REAL):
5850         Prototype mswindows_setitimer() and qxe_setitimer().  Long
5851         comment about "qxe" and the policy regarding encapsulation.
5852
5853         * win32.c:
5854         * win32.c (setitimer_helper_proc):
5855         * win32.c (setitimer_helper_period):
5856         * win32.c (setitimer_helper):
5857         * win32.c (mswindows_setitimer):
5858         Move setitimer() emulation here, so Cygwin can use it.
5859         Rename a couple of functions and variables to be longer and more
5860         descriptive.  In setitimer_helper_proc(), send the signal
5861         using either mswindows_raise() or (on Cygwin) kill().  If for
5862         some reason we are still getting lockups, we'll change the kill()
5863         to directly invoke the signal handlers.
5864
5865         ------ windows shell fixes ------
5866         
5867         * callproc.c:
5868         * ntproc.c:
5869         Comments about how these two files must die.
5870
5871         * callproc.c (init_callproc):
5872         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
5873         not just COMSPEC. (more correct and closer to FSF.) Don't
5874         force a value for SHELL into the environment. (Comments added
5875         to explain why not.)
5876         
5877         * nt.c (init_user_info):
5878         Don't shove a fabricated SHELL into the environment.  See above.
5879
5880 2001-06-01  Ben Wing  <ben@xemacs.org>
5881
5882         * Makefile.in.in (ldflags):
5883         eliminate that pesky "defaulting to 00401000" warning.
5884         * nt.h:
5885         eliminate warnings.
5886
5887 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
5888
5889         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
5890         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
5891
5892 2001-04-24  Jerry James <james@xemacs.org>
5893
5894         * faces.h: pass parameters to Fadd_spec_to_specifier in the
5895         correct order.
5896
5897 2001-06-01  Ben Wing  <ben@xemacs.org>
5898
5899         * event-msw.c (debug_mswin_messages):
5900         conditionalize the messages that were causing compile errors.
5901         (if only macros could generate #ifdef statements ...)
5902
5903 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
5904
5905         * XEmacs 21.4.4 "Artificial Intelligence" is released.
5906
5907 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5908
5909         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
5910
5911 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5912
5913         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
5914         * process-unix.c (unix_canonicalize_host_name):
5915         sysdep.c (init_system_name):
5916         Use it to conditionally support IPv6 canonicalization.
5917
5918 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
5919
5920         * event-msw.c:
5921         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
5922
5923 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
5924
5925         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
5926         attempt is made to scroll when no scroll bar is available.
5927
5928 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5929
5930         * input-method-motif.c (XIM_delete_frame): New callback.
5931         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
5932         got deleted from 21.4.3.)
5933
5934 2001-06-01  Ben Wing  <ben@xemacs.org>
5935
5936         * nt.c (mswindows_utime):
5937         * nt.c (close_file_data):
5938         fix off-by-one-indirection error.
5939
5940 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
5941
5942         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
5943         because set_file_times() now takes Lisp_Object path, instead of
5944         char*.
5945         * nt.c: Include buffer.h.
5946         * nt.c (convert_from_time_t): New.
5947         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
5948         not set mtime correctly.
5949         * nt.h: Declare mswindows_utime().
5950         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
5951         path, instead of char*.
5952         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
5953
5954 2001-05-30  Ben Wing  <ben@xemacs.org>
5955
5956         For 21.4:
5957
5958         (Stephen, just take all event-msw.c patches.  This includes
5959         the "iconify" fix below.)
5960
5961         * event-msw.c:
5962         * event-msw.c (mswindows_dequeue_dispatch_event):
5963         * event-msw.c (assert):
5964         * event-msw.c (emacs_mswindows_quit_p):
5965         * event-msw.c (debug_mswin_messages):
5966         * event-msw.c (debug_output_mswin_message):
5967         * event-msw.c (vars_of_event_mswindows):
5968         Fix yet more problems with C-g handling.
5969         Implement debug-mswindows-events.
5970         
5971 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5972
5973         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
5974         
5975 2001-05-23  Ben Wing  <ben@xemacs.org>
5976
5977         * event-msw.c (winsock_writer):
5978         * event-msw.c (winsock_closer):
5979         prior kludgy code was clobbering the buffer, thinking it was
5980         "unused" space to store an unneeded return value; instead, use
5981         the variable we've already got staring us in the face.
5982
5983 2001-05-17  Andy Piper  <andy@xemacs.org>
5984
5985         * sysfile.h: don't assume that file attributes are boolean
5986
5987 2001-05-23  Ben Wing  <ben@xemacs.org>
5988
5989         * device-msw.c (msprinter_init_device):
5990         signal an error rather than crash with an unavailable network
5991         printer (from Mike Alexander).
5992         
5993         * event-msw.c:
5994         * event-msw.c (struct winsock_stream):
5995         * event-msw.c (winsock_writer):
5996         * event-msw.c (winsock_closer):
5997         * event-msw.c (make_winsock_stream_1):
5998         cleanup headers.  fix (hopefully) an error with data corruption
5999         when sending to a network connection.
6000
6001         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6002         to handle the ~user prefix by (a) always assuming we're referencing
6003         ourselves and not even verifying the user -- hence any file with
6004         a tilde as its first char is invalid! (b) if there wasn't a slash
6005         following the filename, the pointer was set *past* the end of
6006         file and we started reading from uninitialized memory.  Now we
6007         simply treat these as files, always.
6008
6009         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6010         
6011 2001-05-19  Ben Wing  <ben@xemacs.org>
6012
6013         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6014
6015         * process-nt.c:
6016         * process-nt.c (vars_of_process_nt):
6017         remove unused mswindows-quote-process-args.  rec for 21.4.
6018         
6019 2001-05-12  Ben Wing  <ben@xemacs.org>
6020
6021         * event-msw.c (mswindows_dde_callback):
6022         * event-msw.c (mswindows_wnd_proc):
6023         eliminate cygwin warnings.
6024
6025 2001-05-06  Ben Wing  <ben@xemacs.org>
6026
6027         * console-msw.h:
6028         * device-msw.c:
6029         * device-msw.c (print_dialog_worker):
6030         * device-msw.c (mswindows_handle_print_dialog_box):
6031         * device-msw.c (syms_of_device_mswindows):
6032         * dialog-msw.c (mswindows_make_dialog_box_internal):
6033         * general-slots.h:
6034         implement printing the selection when it's selected.
6035
6036 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6037
6038         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6039
6040 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6041
6042         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6043         EMACS_INT is signed.
6044
6045 2001-04-15  Michael Lausch  <mla@1012surf.net>
6046
6047         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6048         gtk_widget_request_size() to give scrollbar >0 width for
6049         GTK >1.2.8.
6050
6051 2001-05-30  William M. Perry  <wmperry@gnu.org>
6052
6053         * event-gtk.c: Check for buttons as modifier keys.
6054
6055 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6056
6057         * s\mingw32.h:
6058         Properly find MinGW's <process.h> inside Cygwin's restructured
6059         include directories.  Don't try to include <cygwin/version.h>
6060         since we are dropping support for MinGW in versions of Cygwin
6061         earlier than b21.
6062         * nt.c:
6063         Drop support for MinGW in versions of Cygwin before b21.
6064         * sysdep.c:
6065         Properly find MinGW's <process.h> inside Cygwin's restructured
6066         include directories.
6067         * syswindows.h:
6068         Drop support for MinGW in versions of Cygwin before b21.
6069         * unexcw.c:
6070         Even though a.out.h is no longer detected by configure, allow
6071         MinGW to use it until we figure out how to do the job with Win32.
6072
6073 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6074
6075         * syntax.c (find_start_of_comment):
6076         Fix `unbalanced parentheses' bug when dealing with mixed comment
6077         styles in c++/java/etc. mode
6078
6079 2001-05-29  Mike Alexander  <mta@arbortext.com>
6080
6081         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6082         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6083
6084 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6085
6086         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6087
6088 2001-03-31  Mike Sperber <mike@xemacs.org>
6089
6090         * search.c (Freplace_match): Support FSF-style specification of
6091         match subexpression when applied to a buffer.
6092
6093 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6094
6095         * event-stream.c (is_scrollbar_event): add missing semicolon
6096
6097 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6098
6099         * Makefile.in.in: Use TAR macro instead of hardcoding
6100           tar.  Allows use of GNU tar instead of system tar
6101
6102 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6103
6104         * event-stream.c (is_scrollbar_event): add missing semicolon
6105
6106 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6107
6108         * XEmacs 21.4.3 "Academic Rigor" is released.
6109
6110 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6111
6112         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6113
6114 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6115
6116         * buffer.c (Vcase_fold_search): Remove obsolete
6117           comment about non ASCII case-fold-search.  This
6118           bug has been fixed by case-table changes.
6119
6120 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6121
6122         * event-msw.c: Restore include of events-mod.h.
6123
6124 2001-04-22   zhaoway  <zw@debian.org>
6125
6126         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6127         !HAVE_SCROLLBARS.
6128
6129 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6130
6131         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6132
6133 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6134
6135         * mule-charset.c (Fmake_charset): Add missing else.
6136
6137 2001-04-23  Ben Wing  <ben@xemacs.org>
6138
6139         * event-msw.c (FAKE_MOD_QUIT):
6140         * event-msw.c (mswindows_dequeue_dispatch_event):
6141         * event-msw.c (mswindows_wnd_proc):
6142         * event-msw.c (emacs_mswindows_quit_p):
6143         Get critical quit working.
6144
6145 2001-05-05  Ben Wing  <ben@xemacs.org>
6146
6147         * console-msw.h:
6148         * device-msw.c:
6149         * device-msw.c (mswindows_get_default_margin):
6150         * frame-msw.c (mswindows_size_frame_internal):
6151         * frame-msw.c (msprinter_init_frame_1):
6152         * frame-msw.c (vars_of_frame_mswindows):
6153         Change top/bottom margin defaults to 0.5 inches.
6154
6155 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6156
6157         Fix link error with gcc 3.0 on Linux.
6158         * terminfo.c (UP): Remove.
6159         * terminfo.c (BC): Remove.
6160         * terminfo.c (PC): Remove.
6161         They weren't used, and in any case, these symbols should be
6162         defined in the *library*.
6163
6164 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6165
6166         * s/aix4.h: Fix crash with xlc -O3.
6167         Improve comment explaining how -O3 works.
6168
6169 2001-04-15  Ben Wing  <ben@xemacs.org>
6170
6171         * event-stream.c:
6172         * event-stream.c (Fnext_event):
6173         * event-stream.c (is_scrollbar_event):
6174         * event-stream.c (execute_command_event):
6175         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6176         crash' problem.  His fix introduces other problems.  We filter
6177         out scrollbar events specifically, making them somewhat invisible
6178         to command-building, and not appearing in `this-command-keys'.
6179         More work is still needed (see comments in event-stream.c), but
6180         this fixes all the major problems.
6181
6182 2001-04-20  Ben Wing  <ben@xemacs.org>
6183
6184         * .cvsignore: Added stuff for Windows.
6185
6186 2001-04-28  Ben Wing  <ben@xemacs.org>
6187
6188         * buffer.c (Ferase_buffer):
6189         * editfns.c (buffer_insert1):
6190         * editfns.c (Finsert_before_markers):
6191         * editfns.c (Finsert_string):
6192         * editfns.c (Finsert_char):
6193         * editfns.c (Fdelete_region):
6194         * editfns.c (Fwiden):
6195         * editfns.c (Fnarrow_to_region):
6196         remove bogus lines setting zmacs_region_stays to 0.
6197         
6198 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6199
6200         * process-unix.c (unix_open_network_stream): If connect() fails
6201         invalidate file descriptor after closing it.
6202
6203 2001-03-08  Mike Alexander  <mta@arbortext.com>
6204
6205         * event-msw.c (mswindows_need_event_in_modal_loop):
6206         Don't dispatch a message if we didn't get one.
6207         (mswindows_need_event):
6208         Terminate the correct process when one exits instead of the first
6209         one on Vprocess_list and look for process termination when in
6210         mswindows_protect_modal_loop.
6211
6212 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6213
6214         * XEmacs 21.4.1 "Copyleft" is released.
6215
6216 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6217
6218         * input-method-motif.c (XIM_delete_frame): New callback.
6219         (XIM_init_frame): Register it.
6220
6221 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6222
6223         * XEmacs 21.4.0 "Solid Vapor" is released.
6224
6225 2001-04-15  Ben Wing  <ben@xemacs.org>
6226
6227         * cmdloop.c (call_command_loop):
6228         Fix braino in bit-rotting code.
6229         
6230 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6231
6232         * extents.c (Fset_extent_endpoints): Force creation of extent info
6233         in buffer_or_string.
6234
6235         * extents.c (process_extents_for_insertion_mapper): Correctly
6236         check for open-open zero-length extents.
6237
6238 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6239
6240         * lisp.h: New typedefs Memory_count, Element_count.
6241         * regex.c:
6242         * regex.h:
6243         Sign-compare warning elimination: several unsigned -> signed.
6244         Based on work by Ben Wing <ben@xemacs.org>.
6245
6246 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6247
6248         * XEmacs 21.2.47 "Zephir" is released.
6249
6250 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6251
6252         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6253
6254 2001-04-03  Mike Sperber <mike@xemacs.org>
6255
6256         * search.c: Revert previous patch due because of release.
6257
6258 2001-03-30  Ben Wing  <ben@xemacs.org>
6259
6260         * s\cygwin32.h:
6261         Add missing killpg prototype.
6262
6263         * elhash.c:
6264         Add a comment about fixing problems when a new entry is added
6265         while mapping.
6266
6267         * frame-msw.c (mswindows_init_frame_1):
6268         Fix compile warnings.
6269
6270         * menubar.c (vars_of_menubar):
6271         Provide `menu-accelerator-support' to indicate that we properly
6272         support %_ in menu specifications, so that package code can
6273         conditionalize on this (and remove %_ from menu specifications
6274         on older versions).
6275
6276         * event-msw.c:
6277         * scrollbar-msw.c:
6278         * scrollbar-msw.c (can_scroll):
6279         * scrollbar-msw.h:
6280         Fix handling of mouse wheel under Windows to follow standards --
6281         now scrolls window under pointer, not selected window.
6282
6283 2001-03-31  Mike Sperber <mike@xemacs.org>
6284
6285         * search.c (Freplace_match): Support FSF-style specification of
6286         match subexpression when applied to a buffer.
6287
6288 2001-03-15  Martin Buchholz  <martin@xemacs.org>
6289
6290         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
6291         function to modify KEYMAP, so map over a copy of the hash table.
6292
6293 2001-03-21  Martin Buchholz <martin@xemacs.org>
6294
6295         * XEmacs 21.2.46 "Urania" is released.
6296
6297 2001-03-20  Dan Holmsand  <dan@eyebee.com>
6298
6299         * realpath.c (xrealpath): Make file-truename work with symlinks to
6300         /cygdrive paths on cygwin. Always lowercase drive-letters on
6301         native windows.
6302         (cygwin_readlink): Don't try to find canonical filename unless
6303         file exists.
6304
6305 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
6306
6307         * ChangeLog: Log GTK merge.
6308
6309         * dumper.c:
6310         * select-x.c:
6311         * specifier.c:
6312         * symeval.h:
6313         Revert gratuitous whitespace changes from GTK merge.
6314
6315         * emacs.c: Document end of complex #ifdef @ l. 1495.
6316
6317
6318 2001-03-12  Andy Piper  <andy@xemacs.org>
6319
6320         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
6321         have to do likewise.
6322
6323 2001-03-12  Andy Piper  <andy@xemacs.org>
6324
6325         * sysdep.c: we only support mingw now.
6326
6327 2001-03-09  Andy Piper  <andy@xemacs.org>
6328
6329         * unexcw.c (copy_executable_and_dump_data_section): making approx
6330         overrun a warning only.
6331
6332 2001-03-10  William M. Perry  <wmperry@aventail.com>
6333
6334         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
6335         satisfy Stephen's identical-after-cpp plea.
6336
6337 2001-03-02  Ben Wing  <ben@xemacs.org>
6338
6339         * cmds.c:
6340         * cmds.c (Fforward_char):
6341         * syntax.c:
6342         * window.c:
6343
6344         Augment documentation of the most common motion commands to make
6345         note of the shifted-motion support.
6346         
6347 2001-03-02  Ben Wing  <ben@xemacs.org>
6348
6349         * nt.c (mswindows_fstat):
6350         * nt.c (mswindows_stat):
6351         * search.c (boyer_moore):
6352         Fix compile warnings under Windows.
6353         
6354         * sysdep.c (sys_readdir):
6355         Fix buggy filename-conversion code under Mule.
6356
6357 2001-03-09  William M. Perry  <wmperry@aventail.com>
6358
6359         * Makefile.in.in:
6360         * config.h.in:
6361         * console.c:
6362         * console.h:
6363         * device.c:
6364         * device.h:
6365         * dragdrop.c:
6366         * emacs.c:
6367         * event-stream.c:
6368         * events.c:
6369         * events.h:
6370         * faces.c:
6371         * frame.h:
6372         * general-slots.h:
6373         * glyphs.c:
6374         * gutter.c:
6375         * inline.c:
6376         * lisp.h:
6377         * lrecord.h:
6378         * make-src-depend:
6379         * redisplay-output.c:
6380         * redisplay.c:
6381         * symsinit.h:
6382         * sysfile.h:
6383         * toolbar.c:
6384         * window.c:
6385         The Great GTK Merge.
6386
6387         * ChangeLog.GTK:
6388         * console-gtk.c:
6389         * console-gtk.h:
6390         * device-gtk.c:
6391         * emacs-marshals.c:
6392         * emacs-widget-accessors.c:
6393         * event-gtk.c:
6394         * frame-gtk.c:
6395         * gccache-gtk.c:
6396         * gccache-gtk.h:
6397         * glade.c:
6398         * glyphs-gtk.c:
6399         * glyphs-gtk.h:
6400         * gtk-glue.c:
6401         * gtk-xemacs.c:
6402         * gtk-xemacs.h:
6403         * gui-gtk.c:
6404         * gui-gtk.h:
6405         * menubar-gtk.c:
6406         * native-gtk-toolbar.c:
6407         * objects-gtk.c:
6408         * objects-gtk.h:
6409         * redisplay-gtk.c:
6410         * scrollbar-gtk.c:
6411         * scrollbar-gtk.h:
6412         * select-gtk.c:
6413         * toolbar-gtk.c:
6414         * ui-byhand.c:
6415         * ui-gtk.c:
6416         * ui-gtk.h:
6417         The Great GTK Merge: new files.
6418
6419 2001-02-26  Ben Wing  <ben@xemacs.org>
6420
6421         Reapplied Lstream change.
6422
6423 2001-02-26  Ben Wing  <ben@xemacs.org>
6424
6425         Undid the last change, since it is more controversial than I
6426         thought.  It should be back in at some point soon.
6427         
6428 2001-02-25  Ben Wing  <ben@xemacs.org>
6429
6430         * buffer.c:
6431         * callproc.c (Fold_call_process_internal):
6432         * event-msw.c (ntpipe_slurp_reader):
6433         * event-msw.c (ntpipe_shove_writer):
6434         * event-msw.c (winsock_reader):
6435         * event-msw.c (winsock_writer):
6436         * file-coding.c:
6437         * file-coding.c (detect_eol_type):
6438         * file-coding.c (detect_coding_type):
6439         * file-coding.c (determine_real_coding_system):
6440         * file-coding.c (Fdetect_coding_region):
6441         * file-coding.c (decoding_reader):
6442         * file-coding.c (decoding_writer):
6443         * file-coding.c (mule_decode):
6444         * file-coding.c (Fdecode_coding_region):
6445         * file-coding.c (encoding_reader):
6446         * file-coding.c (encoding_writer):
6447         * file-coding.c (mule_encode):
6448         * file-coding.c (Fencode_coding_region):
6449         * file-coding.c (detect_coding_sjis):
6450         * file-coding.c (decode_coding_sjis):
6451         * file-coding.c (encode_coding_sjis):
6452         * file-coding.c (detect_coding_big5):
6453         * file-coding.c (decode_coding_big5):
6454         * file-coding.c (encode_coding_big5):
6455         * file-coding.c (detect_coding_ucs4):
6456         * file-coding.c (decode_coding_ucs4):
6457         * file-coding.c (encode_coding_ucs4):
6458         * file-coding.c (detect_coding_utf8):
6459         * file-coding.c (decode_coding_utf8):
6460         * file-coding.c (encode_coding_utf8):
6461         * file-coding.c (detect_coding_iso2022):
6462         * file-coding.c (decode_coding_iso2022):
6463         * file-coding.c (encode_coding_iso2022):
6464         * file-coding.c (decode_coding_no_conversion):
6465         * file-coding.c (encode_coding_no_conversion):
6466         * glyphs-x.c (write_lisp_string_to_temp_file):
6467         * gpmevent.c (tty_get_foreign_selection):
6468         * lisp.h:
6469         * lstream.c:
6470         * lstream.c (Lstream_flush_out):
6471         * lstream.c (Lstream_adding):
6472         * lstream.c (Lstream_write_1):
6473         * lstream.c (Lstream_write):
6474         * lstream.c (Lstream_raw_read):
6475         * lstream.c (Lstream_read_more):
6476         * lstream.c (Lstream_read):
6477         * lstream.c (Lstream_unread):
6478         * lstream.c (Lstream_fputc):
6479         * lstream.c (stdio_reader):
6480         * lstream.c (stdio_writer):
6481         * lstream.c (filedesc_reader):
6482         * lstream.c (filedesc_writer):
6483         * lstream.c (lisp_string_reader):
6484         * lstream.c (struct fixed_buffer_stream):
6485         * lstream.c (make_fixed_buffer_input_stream):
6486         * lstream.c (make_fixed_buffer_output_stream):
6487         * lstream.c (fixed_buffer_reader):
6488         * lstream.c (fixed_buffer_writer):
6489         * lstream.c (struct resizing_buffer_stream):
6490         * lstream.c (resizing_buffer_writer):
6491         * lstream.c (dynarr_writer):
6492         * lstream.c (lisp_buffer_reader):
6493         * lstream.c (lisp_buffer_writer):
6494         * lstream.h:
6495         * lstream.h (lstream_implementation):
6496         * lstream.h (struct lstream):
6497         * md5.c (Fmd5):
6498         * process-nt.c (nt_send_process):
6499         * process-unix.c (unix_send_process):
6500         
6501         Correct Lstream lossage due to mixing of signed and unsigned
6502         quantities.  All Lstream uses of size_t and ssize_t are now a
6503         single signed data type Lstream_data_count.  This fixes problems
6504         under Windows with sending large quantities of data to a process,
6505         and may well fix other subtle bugs.
6506
6507 2001-02-23  Martin Buchholz <martin@xemacs.org>
6508
6509         * XEmacs 21.2.45 "Thelxepeia" is released.
6510
6511 2001-02-21  Martin Buchholz  <martin@xemacs.org>
6512
6513         * lisp-union.h (XSETINT): 
6514         (XSETCHAR):
6515         (XSETOBJ): 
6516         Reverse previous change of 2001-02-06.
6517
6518 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
6519
6520         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
6521         buffers.
6522         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6523         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
6524         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
6525         * regex.c (POS_AS_IN_BUFFER): removed
6526         * regex.c (re_search_2):
6527         * regex.c (re_match_2):
6528         Don't use an offset of 1 when calculating buffer positions, since
6529         `BI_BUF_BEGV' does it already.
6530
6531 2001-02-18  Wim Dumon  <wim@easics.be>
6532
6533         * insdel.c (prepare_to_modify_buffer): Also check for
6534         supersession when clash-detection is enabled. 
6535
6536 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
6537
6538         * regex.c (re_match_2_internal):
6539         Convert temp characters from 'const unsigned char' to 're_char'.
6540         Fix crashing bug with extended characters under mule.
6541         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
6542         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
6543         font-lock, pdump, and new syntax-table code.
6544         * syntax.c (find_start_of_comment):
6545         (find_end_of_comment):
6546         (forward-comment):
6547         Fix crashing bugs involving moving beyond end of buffer.
6548         * syntax.c (find_start_of_comment):
6549         Fixed logic to allow proper detection of cases where the same
6550         character is used to end both a two-char comment start and a
6551         two-char comment end sequence. Fixes `(forward-comment -1)'.
6552         * syntax.c (find_start_of_comment):
6553         Return position just past last comment-end character for all cases
6554         (previously was only done for two-char comment-end sequences).
6555         * syntax.c (forward-comment):
6556         Take value returned from `find_end_of_comment', rather than
6557         incrementing it.
6558         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6559         Properly deal with BUFFERP (syntax_cache.object)
6560
6561 2001-02-17  Martin Buchholz  <martin@xemacs.org>
6562
6563         * alloc.c (Fgarbage_collect): 
6564         * alloc.c (make_bit_vector_from_byte_vector):
6565         -Wsign-compare-correctness.
6566
6567 2001-02-16  Martin Buchholz  <martin@xemacs.org>
6568
6569         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
6570         (XSETCHAR): Likewise.
6571         (XSETOBJ): Likewise.
6572
6573 2001-02-15  Martin Buchholz  <martin@xemacs.org>
6574
6575         * mule-canna.c (canna-func-delete_previous): 
6576         Rename to canna-func-delete-previous.
6577
6578 2001-02-14  Martin Buchholz  <martin@xemacs.org>
6579
6580         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
6581
6582 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
6583
6584         * font-lock.c (find_context): Fix C++ compile errors introduced by
6585         recent patch
6586
6587 2001-02-13  Martin Buchholz  <martin@xemacs.org>
6588
6589         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
6590         pragma, but earlier ones barf on the same pragma.
6591
6592 2001-02-06  Mike Sperber <mike@xemacs.org>
6593
6594         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
6595         `configure-mule-lisp-directory'.
6596
6597 2001-02-12  Martin Buchholz  <martin@xemacs.org>
6598
6599         Make sure dump-id.c is compiled in the same way as other .c's.
6600         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
6601         * dump-id.h: Remove.
6602         * emacs.c: Move dump-id.h into dumper.h.
6603         * dumper.h: Move dump-id.h into dumper.h.
6604         * Makefile.in.in:
6605         Use standard .c.o rule for building dump-id.o.
6606         Remove preprocessor flags from link command.
6607         Add dump-id.o to ${otherobjs} if PDUMP.
6608
6609 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
6610
6611         Port FSF 20.7 syntax table improvements.
6612         * syntax.c.
6613         * syntax.h.
6614
6615         Fixups for new syntax table stuff.
6616         * dired.c: Include syntax.c.
6617         (Fdirectory_files): Initialize regex_match_object and
6618         regex_emacs_buffer.
6619         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
6620         and Fget_char_property.
6621
6622         Use ported FSF 20.7 syntax table improvements.
6623         * font-lock.c.
6624         * regex.c.
6625         * search.c.
6626         
6627 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6628
6629         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
6630         Unixware's enum boolean from sys/types.h.
6631
6632 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6633
6634         Fix support for building with latest Purify.
6635         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
6636         (PURIFY_FLAGS): Likewise.
6637
6638 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6639
6640         * fileio.c (lisp_string_set_file_times): New.
6641         * fileio.c (Fcopy_file): Use it.
6642         Fixes bug:
6643         (copy-file filename non-ascii-filename t t)
6644         ==> No such file or directory, non-ascii-filename
6645
6646 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6647
6648         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
6649         USHRT_MAX seems clearer than ~0 anyways.
6650
6651 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6652
6653         dumper improvements.  Inspired by Olivier.
6654         * dumper.c (pdump_max_align): New.
6655         * dumper.c (pdump_add_entry): Use pdump_max_align.
6656         * dumper.c (pdump_get_entry_list): Likewise.
6657         * dumper.c (pdump_scan_by_alignment): Likewise.
6658         Don't iterate through unnecessary alignments.
6659         * dumper.c (pdump_file_get): No need to align result of malloc().
6660         * dumper.c (pdump_mallocadr): Remove.  
6661         The result of malloc() is guaranteed to be maximally aligned.
6662         * dumper.c: s/elmt/elt/g;
6663         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
6664         * dumper.c (pdump_alert_undump_object): Likewise.
6665         * dumper.c (pdump_align_table): 
6666         Don't support alignments > 64.
6667         Store ALIGNOF's, not shift counts, in table.
6668
6669 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6670
6671         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
6672         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
6673         * systime.h: Use HAVE_UTIME.
6674         * sysdep.c (struct utimbuf): Remove.
6675         * sysdep.c (set_file_times): Prefer utime() to utimes().
6676         * config.h.in (HAVE_UTIME): New.
6677         * config.h.in (HAVE_UTIME_H): Remove.
6678         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
6679
6680 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6681
6682         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
6683
6684 2001-02-08  Martin Buchholz  <martin@xemacs.org>
6685
6686         * s/irix6-0.h: Use the standard system memmove, not bcopy.
6687
6688 2001-02-08  Martin Buchholz <martin@xemacs.org>
6689
6690         * XEmacs 21.2.44 "Thalia" is released.
6691
6692 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6693
6694         Fixes crashes in kill-emacs on some systems.
6695         * process-unix.c (unix_kill_child_process):
6696         It's OK for kill() to fail with ESRCH.
6697
6698 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6699
6700         Contortions to make .gdbinit tricks work on most systems.
6701         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
6702         * alloc.c (dbg_valmask): Make non-const.
6703         * alloc.c (dbg_typemask): Make non-const.
6704         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
6705         * alloc.c (dbg_valbits): Make non-const.
6706         * alloc.c (dbg_gctypebits): Make non-const.
6707         * .gdbinit (decode_object): Make it work with AIX cc.
6708
6709 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6710
6711         * elhash.c (make_general_lisp_hash_table):
6712         Use simpler and more efficient calloc to clear entries.
6713
6714 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6715
6716         * window.c (window_scroll): Work around an AIX C compiler bug.
6717         Fixes 'scroll-up' does nothing problem with xlC.
6718
6719 2001-02-05  Martin Buchholz  <martin@xemacs.org>
6720
6721         * .gdbinit: Remove obsolete comment.
6722
6723 2001-01-31  Mike Alexander  <mta@arbortext.com>
6724
6725         * select.c (Fown_selection_internal): Set owned_p for device
6726         method correctly.
6727
6728 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6729
6730         Port to g++ 2.97.
6731         "not" cannot be used as a macro name as it is an operator in C++
6732         * config.h.in: Stop #defining `not'.
6733         * chartab.c (check_category_char): not ==> not_p
6734         * chartab.h: Likewise.
6735         * regex.c (re_match_2_internal): Likewise.
6736
6737 2001-02-02  Martin Buchholz  <martin@xemacs.org>
6738
6739         * lisp-disunion.h: Fix up comments.
6740
6741 2001-01-31  Martin Buchholz  <martin@xemacs.org>
6742
6743         * keymap.c (define_key_check_and_coerce_keysym):
6744         (syms_of_keymap):
6745         Support mouse-6 and mouse-7 bindings in the obvious way.
6746
6747 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6748
6749         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
6750
6751 2001-01-30  Martin Buchholz  <martin@xemacs.org>
6752
6753         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
6754         Previous patch missed DEFVAR_INT_MAGIC.
6755         Make sure future DEFVAR_foo use correct types.
6756         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
6757         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
6758         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
6759         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
6760         * (DEFVAR_INT): Likewise.
6761         * redisplay.c (vertical_clip): Should be of type Fixnum.
6762         * redisplay.c (horizontal_clip): Likewise.
6763         * lisp.h (dump_add_opaque_int): New.
6764         (dump_add_opaque_fixnum): New.
6765
6766 2001-01-29  Andy Piper  <andy@xemacs.org>
6767
6768         * glyphs-widget.c (check_valid_int_or_function): allow symbols
6769         since they can be eval'ed
6770
6771 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6772
6773         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
6774         Oops, XEmacs redefines `class'.  Use `typename' instead.
6775
6776 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6777
6778         * dumper.c: Fix C++ compile errors.
6779
6780 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6781
6782         * tparam.c: Use correct prototypes.
6783
6784 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6785
6786         * sysproc.h: #include util.h for NetBSD's openpty.
6787
6788 2001-01-27  Martin Buchholz  <martin@xemacs.org>
6789
6790         More 64-bit correctness.
6791         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
6792         Use a typedef `fixnum' for the type used for DEFVAR_INT.
6793         Fix up comments.
6794         This finally finishes the 64-bit SGI port.
6795         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
6796         * symbols.c: Fix up comments and type casts.
6797         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
6798         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
6799         * symeval.h (Fixnum): New type.
6800         * symeval.h (symbol_value_type): Fix up comment.
6801
6802         * commands.h:
6803         * nt.c:
6804         * emacs.c:
6805         * data.c:
6806         * redisplay.c:
6807         * abbrev.c:
6808         * dired-msw.c:
6809         * event-Xt.c:
6810         * eldap.c:
6811         * window.c:
6812         * sound.c:
6813         * event-stream.c:
6814         * eval.c:
6815         * buffer.c:
6816         * mule-canna.c: A million DEFVAR_INTs here...
6817         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
6818         * extents.c:
6819         * cmdloop.c:
6820         * lisp.h:
6821         * select-x.c:
6822         * console-x.h:
6823         * event-msw.c:
6824         * mule-wnnfns.c:
6825         * hpplay.c:
6826         * ralloc.c:
6827         * alloc.c:
6828         * keymap.c:
6829         * profile.c:
6830         s/int/Fixnum/g in DEFVAR_INT declarations.
6831
6832 2001-01-26  Martin Buchholz  <martin@xemacs.org>
6833
6834         Port pdump to SGI alignment-sensitive environment.
6835         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
6836         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
6837         properly aligned.
6838         Define and use aligned reading and writing macros.
6839         Use buffered stdio instead of posix i/o for faster dumping.
6840         Eliminate kludgy 256 byte space for header.
6841         Read and write from dump file using structs for alignment safety.
6842         * dumper.c (pdump_align_stream): New.
6843         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
6844         * dumper.c (PDUMP_READ_ALIGNED): New.
6845         * dumper.c (PDUMP_WRITE_ALIGNED): New.
6846         * dumper.c (pdump_static_Lisp_Object): New struct.
6847         * dumper.c (pdump_static_pointer): New struct.
6848         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
6849         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
6850         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
6851         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
6852
6853         * dumper.c (pdump_backtrace):
6854         * dumper.c (pdump_get_indirect_count):
6855         * dumper.c (pdump_register_object):
6856         * dumper.c (pdump_register_struct):
6857         * dumper.c (pdump_reloc_one):
6858         * dumper.c (pdump_scan_by_alignment):
6859         * dumper.c (pdump_dump_from_root_struct_ptrs):
6860         * dumper.c (pdump_dump_opaques):
6861         * dumper.c (pdump_dump_rtables):
6862         * dumper.c (pdump_dump_from_root_objects):
6863         * dumper.c (pdump):
6864         * dumper.c (pdump_load_finish):
6865         Use aligned reading and writing.
6866
6867         * dumper.c (pdump_free): Make static.
6868         * dumper.c (pdump_hFile): Likewise.
6869         * dumper.c (pdump_hMap): Likewise.
6870
6871 2001-01-26  Martin Buchholz <martin@xemacs.org>
6872
6873         * XEmacs 21.2.43 "Terspichore" is released.
6874
6875 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6876
6877         Type fiddling for window_config.saved_windows_count
6878         * window.c (struct window_config): 
6879         Make saved_windows_count member unsigned.
6880         * window.c (sizeof_window_config_for_n_windows): 
6881         Make parameter unsigned.
6882         * window.c (mark_window_config):
6883         * window.c (window_config_equal):
6884         * window.c (free_window_configuration):
6885         * window.c (Fset_window_configuration):
6886         * window.c (count_windows):
6887         * window.c (Fcurrent_window_configuration):
6888         * window.c (reinit_vars_of_window):
6889         Update all callers and users.
6890
6891 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6892
6893         Alignment correctness for flexible arrays.
6894         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
6895         Make alignment-correct. Add interesting comments.
6896         * alloc.c (size_vector):
6897         * alloc.c (make_vector_internal):
6898         * alloc.c (make_bit_vector_internal):
6899         * alloc.c (sweep_bit_vectors_1):
6900         * fns.c (size_bit_vector):
6901         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
6902         * window.c (sizeof_window_config_for_n_windows): 
6903         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
6904
6905 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6906
6907         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
6908
6909 2001-01-23  Andy Piper  <andy@xemacs.org>
6910
6911         * select.c (Fown_selection_internal): pass owned_p
6912
6913         * select-msw.c (mswindows_own_selection): New Signature.
6914
6915         * console.h (struct console_methods): add owned_p to
6916         _own_selection.
6917
6918         * select-x.c (x_own_selection): pass owned_p
6919         (hack_motif_clipboard_selection): use owned_p
6920         (vars_of_select_x): new variable -
6921         x_selection_strict_motif_ownership.
6922
6923 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6924
6925         * specifier.h (specifier_data_offset): Remove pointless parens.
6926         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
6927
6928 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6929
6930         Make Lisp_Object sizeof methods be alignment-correct.
6931         pdump must restore objects to the same alignment as the C compiler
6932         assumes.  It really matters on SGIs.
6933         * lstream.c (aligned_sizeof_lstream): New.
6934         (sizeof_lstream): Use aligned_sizeof_lstream.
6935         (Lstream_new): Likewise.
6936         * opaque.c (aligned_sizeof_opaque): New.
6937         (sizeof_opaque): Use aligned_sizeof_opaque.
6938         (make_opaque): Likewise.
6939         * specifier.c (aligned_sizeof_specifier): New.
6940         (sizeof_specifier): Use aligned_sizeof_specifier.
6941         (make_specifier_internal): Likewise.
6942
6943 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6944
6945         * lstream.h (struct lstream): Use max_align_t for trailing data.
6946         * specifier.h (struct Lisp_Specifier): Likewise.
6947
6948 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6949
6950         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
6951         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
6952         (CCL_SUSPEND): Likewise.
6953         (CCL_INVALID_CMD): Likewise.
6954         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
6955         (ccl_driver): Likewise.
6956         (CCL_WRITE_CHAR): Macro hygiene.
6957         (CCL_WRITE_STRING): Macro hygiene.
6958
6959 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6960
6961         Port "portable" dumper to SunOS 4 and HP-UX.
6962         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
6963         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
6964         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
6965
6966 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6967
6968         * lisp.h (ALIGNOF): A better definition for C++.
6969
6970 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6971
6972         Macro hygiene.
6973         Fix printf warnings: int format, long int arg.
6974         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
6975         (PUSH_FAILURE_POINT): Use correct printf formats.
6976         (POP_FAILURE_POINT): Use correct printf formats.  
6977         Use do {...} while (0)
6978
6979 2001-01-20  Martin Buchholz <martin@xemacs.org>
6980
6981         * XEmacs 21.2.42 "Poseidon" is released.
6982
6983 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6984
6985         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
6986
6987 2001-01-19  Martin Buchholz  <martin@xemacs.org>
6988
6989         De-kludgify FIXED_TYPE free list frobbing.
6990         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
6991         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
6992         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
6993         * alloc.c (Lisp_Free): New pseudo lisp object definition.
6994         * alloc.c (LRECORD_FREE_P): New.
6995         * alloc.c (MARK_LRECORD_AS_FREE): New.
6996         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
6997         * alloc.c (STRUCT_FREE_P): Deleted.
6998         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
6999         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7000         * alloc.c (STRING_CHARS_FREE_P): New.
7001         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7002         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7003         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7004         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7005         * alloc.c (resize_string): Use new definitions.
7006         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7007         * alloc.c (verify_string_chars_integrity): Use new definitions.
7008         * alloc.c (compact_string_chars): Use new definitions.
7009         * alloc.c: Update monster comments.
7010         * lrecord.h (lrecord_type): Add some new lrecord types for
7011         alloc.c's use.
7012
7013 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7014
7015         Improve alignment hackery.
7016         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7017         (max_align_t): Moved from opaque.h - general purpose.
7018         (ALIGN_PTR): Use size_t, not long.
7019         * opaque.h (max_align_t): Move to lisp.h.
7020
7021 2001-01-18  Norbert Koch  <nk@LF.net>
7022
7023         * gui.h: Fix and add prototypes to fix build problems.
7024
7025 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7026
7027         temacs is going away, so `dump-temacs' is now a bad name.
7028         * .dbxrc (dump-temacs): Rename to `dmp'.
7029         * .gdbinit (dump-temacs): Rename to `dmp'.
7030
7031 2001-01-17  Andy Piper  <andy@xemacs.org>
7032
7033         * glyphs.c (print_image_instance): comment to make martin happy.
7034
7035         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7036         change.
7037
7038         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7039         activation.
7040         (mswindows_tab_control_redisplay): warning suppression.
7041
7042         * glyphs-widget.c (widget_update): re-write to cope with updated
7043         items.
7044         (widget_instantiate): use new gui_item functions.
7045         (tab_control_update): deleted.
7046         (progress_gauge_update): deleted.
7047         (image_instantiator_progress_guage): take out update reference.
7048         (image_instantiator_tree_view): ditto.
7049         (image_instantiator_tab_control): ditto.
7050
7051         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7052         Right the new way.
7053         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7054         return whether anything was changed.
7055         (update_gui_item_keywords): as it sounds.
7056
7057         * gui.h: declare widget_gui_parse_item_keywords.
7058
7059         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7060         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7061
7062 2001-01-17  Martin Buchholz <martin@xemacs.org>
7063
7064         * XEmacs 21.2.41 "Polyhymnia" is released.
7065
7066 2001-01-16  Didier Verna  <didier@xemacs.org>
7067
7068         * glyphs.c (image_instantiate): don't use fallbacks when
7069         instantiating a face's background pixmap by inheritance.
7070
7071 2001-01-14  Mike Sperber <mike@xemacs.org>
7072
7073         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7074         Conditionalize accordingly.
7075
7076 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7077
7078         * dumper.c (pdump_file_get): Fix a compiler warning.
7079
7080 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7081
7082         Make Purify happy when pdumping.
7083         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7084         iniitalizing all bits of new lisp object memory.
7085         * symbols.c (Fmake_local_variable): Likewise.
7086         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7087         * symbols.c (Fdefvaralias): Likewise.
7088         * mule-charset.c (vars_of_mule_charset): Likewise.
7089
7090 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7091         Add the `-nd' flag when running pre-dump operations under the debugger.
7092         * .dbxrc (run-temacs): Add `-nd'.
7093         * .dbxrc (update-elc): Likewise.
7094         * .dbxrc (dump-temacs): Likewise.
7095         * .gdbinit (run-temacs): Likewise.
7096         * .gdbinit (check-temacs): Likewise.
7097         * .gdbinit (update-elc): Likewise.
7098         * .gdbinit (dump-temacs): Likewise.
7099
7100 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7101
7102         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7103         export OBJECT_MODE=64
7104         configure --pdump --use-union-type=no
7105         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7106         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7107
7108         * miscplay.c (sndcnv8U_2mono):
7109         Avoid two uses of `++' in the same expression.
7110         Suppresses a GCC warning.
7111
7112 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7113
7114         Make sure future compilers don't miscompile alloc.c.
7115         * alloc.c:
7116         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7117         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7118
7119 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7120
7121         * dumper.c: A little post-pdump-rename comment fixup.
7122
7123 2001-01-09  Jerry James  <james@eecs.ku.edu>
7124
7125         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7126
7127 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7128
7129         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7130         script:
7131         #!/bin/sh
7132         replace_symbol () {
7133           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7134         }
7135
7136         replace_symbol pdump_wire_lists pdump_weak_object_chains
7137         replace_symbol pdump_wire_list dump_add_weak_object_chain
7138
7139         replace_symbol pdump_wires pdump_root_objects
7140         replace_symbol pdump_wire dump_add_root_object
7141
7142         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7143         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7144
7145         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7146         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7147         replace_symbol dumpstructinfo pdump_root_struct_ptr
7148         replace_symbol dumpstruct dump_add_root_struct_ptr
7149
7150         replace_symbol dumpopaque dump_add_opaque
7151         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7152         replace_symbol dumpopaqueinfos pdump_opaques
7153         replace_symbol dumpopaqueinfo pdump_opaque
7154
7155         replace_symbol nb_structdump nb_root_struct_ptrs
7156         replace_symbol nb_opaquedump nb_opaques
7157
7158         replace_symbol align_table pdump_align_table
7159         replace_symbol dump_header pdump_header
7160
7161         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7162         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7163
7164
7165 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7166
7167         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7168         optimizing bytecount_to_charcount().
7169
7170 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7171
7172         * config.h.in:
7173         (HAVE_DLFCN_H): Removed.
7174         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7175
7176 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7177
7178         Portable dumper maintainability improvements.
7179         * alloc.c (staticpro):
7180         * alloc.c (staticpro_nodump):
7181         * alloc.c (garbage_collect_1):
7182         * alloc.c (reinit_alloc_once_early):
7183         * alloc.c (init_alloc_once_early):
7184         * alloc.c: Move dumper functions to alloc.c.
7185         * dumper.c (pdump_backtrace):
7186         * dumper.c (pdump_dump_structs):
7187         * dumper.c (pdump_dump_opaques):
7188         * dumper.c (pdump_dump_rtables):
7189         * dumper.c (pdump_dump_wired):
7190         * dumper.c (pdump):
7191         * dumper.c (pdump_load_check):
7192         * dumper.c (pdump_load_finish):
7193         * dumper.c (pdump_file_unmap):
7194         * dumper.c (pdump_file_get):
7195         * dumper.c (pdump_resource_free):
7196         * dumper.c (pdump_resource_get):
7197         * dumper.c (pdump_file_free):
7198         * dumper.c (pdump_file_try):
7199         * dumper.c (pdump_load):
7200         Remove fixed size limits on staticpro(), staticpro_nodump(),
7201         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7202         Remove custom code for dumping lrecord_implementations_table - use
7203         dumpopaque instead.
7204         Remove (most of the) custom code for dumping staticpros - dump it
7205         like any other dynarr.
7206
7207         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7208         * dumper.c: Moved functions from alloc.c.
7209         * alloc.c (dumpstruct): Moved to dumper.c.
7210         * alloc.c (dumpopaque): Likewise.
7211         * alloc.c (pdump_wire): Likewise.
7212         * alloc.c (pdump_wire_list): Likewise.
7213
7214         * lisp.h (Dynarr_sizeof): New.
7215         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7216         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7217         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7218
7219         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7220         * lisp.h (dumpopaque): ditto.
7221         * lisp.h (pdump_wire): ditto.
7222         * lisp.h (pdump_wire_list): ditto.
7223
7224 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7225
7226         * make-src-depend (PrintPatternDeps):
7227         Use `sort' to make output independent of perl version.
7228
7229 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7230
7231         Port to Netbsd 1.5.
7232         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7233         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7234
7235 2001-01-03  Didier Verna  <didier@xemacs.org>
7236
7237         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7238         that `focus_frame' is alive before thinking of calling
7239         `redisplay_redraw_cursor' on it.
7240
7241 2001-01-08  Martin Buchholz <martin@xemacs.org>
7242
7243         * XEmacs 21.2.40 is released.
7244
7245 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7246
7247         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7248
7249 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7250
7251         * alloc.c (dbg_valmask): Make const.
7252         * alloc.c (dbg_typemask): Make const.
7253         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7254         * alloc.c (dbg_valbits): Make const.
7255         * alloc.c (dbg_gctypebits): Make const.
7256
7257 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
7258
7259         * redisplay-x.c (x_bevel_area):
7260         redisplay.h (struct rune):
7261         Typo fixes in comments.
7262
7263 2001-01-05  Andy Piper  <andy@xemacs.org>
7264
7265         * glyphs-x.c (x_redisplay_widget): use size changed for offset
7266         adjustment.
7267
7268         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
7269
7270 2001-01-05  Martin Buchholz  <martin@xemacs.org>
7271
7272         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
7273
7274         * mule-ccl.c (stack_idx_of_map_multiple):
7275         Non const global data must not be initialized!
7276         Found by MIYASHITA Hisashi.
7277
7278 2001-01-02  Andy Piper  <andy@xemacs.org>
7279
7280         * frame.c (change_frame_size): make sure frame size is always
7281         marked as changed.
7282
7283         * glyphs.c (image_instance_layout): minor code reuse.
7284
7285         * window.c (Fcurrent_window_configuration): revert previous
7286         change.
7287
7288 2001-01-02  Martin Buchholz  <martin@xemacs.org>
7289
7290         * glyphs.h:
7291         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
7292
7293 2000-12-31  Andy Piper  <andy@xemacs.org>
7294
7295         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
7296         when widget gets unmapped.
7297
7298         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
7299         function. Make sure widgets losing focus don't just drop it.
7300         (handle_focus_event_1): record the widget with focus.
7301
7302 2000-12-31  Andy Piper  <andy@xemacs.org>
7303
7304         * window.c (allocate_window): use
7305         make_image_instance_cache_hash_table.
7306         (make_dummy_parent): ditto.
7307         (Fset_window_configuration): ditto.
7308
7309         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
7310
7311         * glyphs.c (process_image_string_instantiator): use
7312         INSTANTIATOR_TYPE.
7313         (get_image_instantiator_governing_domain): ditto.
7314         (normalize_image_instantiator): ditto.
7315         (instantiate_image_instantiator): ditto.
7316         (make_image_instance_1): ditto.
7317         (image_instantiate): ditto. Key on glyph *and* instantiator type.
7318         (instantiator_eq_equal): new function for use with instance hash
7319         tables.
7320         (instantiator_eq_hash): ditto.
7321         (make_image_instance_cache_hash_table): create a suitable hash
7322         table for storing image instances.
7323
7324         * elhash.h (hash_table_weakness): new internal weakness type
7325         HASH_TABLE_KEY_CAR_VALUE_WEAK.
7326         declare new functions.
7327
7328         * elhash.c (finish_marking_weak_hash_tables): introduce yet
7329         another weakness type for glyphs.
7330         (make_standard_lisp_hash_table): new function split out from
7331         make_general_lisp_hash_table.
7332         (make_lisp_hash_table): call make_standard_lisp_hash_table.
7333         (hash_table_instantiate): ditto.
7334         (Fmake_hash_table): ditto.
7335
7336 2000-12-31  Martin Buchholz <martin@xemacs.org>
7337
7338         * XEmacs 21.2.39 is released.
7339
7340 2000-12-29  Andy Piper  <andy@xemacs.org>
7341
7342         * menubar.c (menubar_visible_p_changed): signal the frame changed.
7343
7344         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
7345         the frame has changed so that we pick up geometry changes such as
7346         menubar visibility.
7347
7348 2000-12-28  Andy Piper  <andy@xemacs.org>
7349
7350         * lastfile.c (my_ebss): make a char array so we can pad the
7351         bss. Fixes cygwin unexec.
7352
7353         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
7354
7355 2000-12-26  Andy Piper  <andy@xemacs.org>
7356
7357         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
7358         comments and try and be more precise about a non-/SIGIO world.
7359         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
7360         SIGIO.
7361
7362         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
7363         we don't normalize to zero width or height.
7364
7365 2000-12-24  Andy Piper  <andy@xemacs.org>
7366
7367         * Makefile.in.in (ldflags): add -mwindows when appropriate.
7368
7369 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
7370
7371         * s/sco5.h: SCO 5 has pty support.
7372
7373 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
7374
7375         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
7376         input-method-xlib.c contains whole contents of input-method-xfs.c,
7377         so we can use input-method-xlib.c's code for USE_XFONTSET
7378         using #ifdefs.
7379         * input-method-xfs.c: removed.
7380
7381 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
7382
7383         * file-coding.h (enum coding_category_type): reorder enumerators to
7384         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
7385         (now one greater than largest real coding_category_type enumerator).
7386         * file-coding.c (coding_category_symbol, coding_category_by_priority,
7387         coding_category_system, fcd_descriptihon_1, decode_coding_category,
7388         Fcoding_category_list, Fset_coding_priority_list,
7389         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
7390         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
7391
7392 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7393
7394         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
7395         * redisplay-output.c (redisplay_output_window): Clear top of window
7396         when face is changed.
7397         * redisplay-x.c (x_redraw_exposed_window): Call
7398         redisplay_clear_top_of_window.
7399         * redisplay.h: Publish redisplay_clear_top_of_window.
7400
7401 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7402
7403         * buffer.c (Fkill_buffer): Map over all devices.
7404         * window.c (window_loop): Remove UNSHOW_BUFFER code.
7405         (list_windows): New function.
7406         (list_all_windows): Ditto.
7407         (Freplace_buffer_in_windows): Use them.
7408
7409 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
7410
7411         * database.c (berkdb_subtype): Recognize new subtype `queue'.
7412         (Fopen_database): Use `db_create' instead of `db_open'.
7413         (syms_of_database): Initialize Qqueue.
7414
7415 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7416
7417         * buffer.c (common_init_complex_vars_of_buffer): Initialize
7418         buffer_local_face_property.
7419         * buffer.h (struct buffer): New member buffer_local_face_property.
7420         * window.c (Fset_window_buffer):  Mark window's face as changed
7421         when buffer has buffer local face.
7422         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
7423         * objects.c (color_after_change): Set buffer_local_face_property
7424         when locale of face specifier is buffer.
7425         * objects.c (font_after_change): Ditto.
7426         * objects.c (face_boolean_after_change): Ditto.
7427         * glyphs.c (image_after_change): Ditto.
7428
7429 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7430
7431         * nt.c (mswindows_fstat): Report file permissions, volume serial
7432         number, etc. Code adapted from FSF Emacs 20.7.
7433
7434 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7435
7436         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
7437         of stat when we don't have symbolic links, to make sure
7438         mswindows_stat is called on mswindows.
7439
7440 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7441
7442         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
7443
7444 2000-12-12  Martin Buchholz  <martin@xemacs.org>
7445
7446         * doprnt.c (emacs_doprnt_1): More printing fixes.
7447         Make printing of numbers compatible with libc and FSF Emacs.
7448         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
7449         Use the system printf to do most of the hard work of formatting,
7450         instead of doprnt_1().
7451         Calculate memory to allocate for format string.
7452         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
7453         (doprnt_1): Cleaner code and documentation.
7454
7455 2000-12-01  Jerry James  <james@eecs.ukans.edu>
7456
7457         * Makefile.in.in: Use the loop variable to install headers.
7458
7459 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7460
7461         * window.c (Fsplit_window): Don't invalidate face cache.
7462
7463 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7464
7465         * minibuf.c (Fall_completions): Undo the previous change
7466         which removed checking elements start with space.
7467
7468 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7469
7470         * mule-canna.c: Didier suppression.
7471
7472 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7473
7474         * mule-canna.c: rename static unsigned char buf[] to key_buffer
7475         (warning suppression).  Add English comment translations.
7476
7477 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7478
7479         * unexelfsgi.c (unexec): Better test for mmap failure.
7480
7481 2000-12-05  Martin Buchholz <martin@xemacs.org>
7482
7483         * XEmacs 21.2.38 is released.
7484
7485 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7486
7487         * redisplay.c (bar-cursor): Make a user variable.
7488
7489         * symsinit.h: Add init_postgresql_from_environment.
7490
7491 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7492
7493         * regex.c: Convert to clean C.
7494
7495 2000-12-05  Dan Holmsand  <dan@eyebee.com>
7496
7497         * realpath.c:
7498         Don't #include sysfile.h. Revert to duplicating PATH_MAX
7499         initialization.
7500         (sys_readlink): renamed to system_readlink to avoid conflict with
7501         the other sys_readlink.
7502
7503 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
7504
7505         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
7506
7507 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
7508
7509         * postgresql.c (init_postgresql_from_environment): new function.
7510         (vars_of_postgresql): Move code initializing Lisp variables out and
7511         into init_postgresql_from_environment.
7512         emacs.c (main_1): Call init_postgresql_from_environment if and only
7513         if running a dumped XEmacs.
7514
7515 2000-08-31  Dan Holmsand  <dan@eyebee.com>
7516
7517         * buffer.c: Make find-file-compare-truenames default to true on
7518         windows.
7519
7520         * realpath.c (win32_abs_start):
7521         (cygwin_readlink):
7522         (win32_readlink): New functions.
7523         (xrealpath): Return really real filenames on windows.
7524
7525         * fileio.c (Ffile_truename): Make file-truename work on windows.
7526
7527 2000-11-29  Didier Verna  <didier@xemacs.org>
7528
7529         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
7530         * faces.c (update_face_cachel_data): use it.
7531         * faces.c (add_face_cachel): use it. Complete background pixmap
7532         frobbing in face cache if `update_face_cachel_data' has not done so.
7533
7534 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
7535
7536         * search.c (string_match_1): Don't set last_thing_searched
7537         when search failed.
7538
7539 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
7540
7541         * buffer.c: Include casetab.h
7542         (common_init_complex_vars_of_buffer): Use new case-table object.
7543         * buffer.h: Include casetab.h
7544         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
7545         (DOWNCASE_TABLE_OF): Ditto.
7546         * bufslots.h: Remove char-tables and add case-table.
7547         * casetab.c: Include casetab.h
7548         (CASE_TABLE_P): Removed.
7549         (mark_case_table): New function.
7550         (allocate_case_table): New function.
7551         (Fcase_table_p): Use new case-table.
7552         (case_table_char): New function.
7553         (Fget_case_table): Ditto.
7554         (Fput_case_table): Ditto.
7555         (Fput_case_table_pair): Ditto.
7556         (Fcopy_case_table): Ditto.
7557         (Fcurrent_case_table): Return case-table.
7558         (Fstandard_case_table): Return case-table.
7559         (Fset_case_table): Fix doc-string.
7560         (set_case_table): Use case-table
7561         (syms_of_casetab): DEFSUBR new functions.
7562         (complex_vars_of_casetab): Set up standard case-table.
7563         * casetab.h: New file.
7564         * editfns.c: Include casetab.h
7565         (Fcompare_buffer_substrings): Use case-table.
7566         * inline.c: Include casetab.h
7567         * lisp.h: Remove bogus extern.
7568         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
7569         * search.c: Include casetab.h
7570         (TRANSLATE_ASCII): Removed.
7571         (TRANSLATE): Unconditionally translate character.
7572         (looking_at_1): Use case-table.
7573         (string_match_1): Ditto.
7574         (fast_string_match): Ditto.
7575         (search_command): Ditto.
7576         (search_buffer): Separate boyer_moore.  Check whether
7577         boyer_moore is possible.
7578         (simple_search): New function.
7579         (boyer_moore): Separated from search_buffer. Translate char.
7580
7581 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7582
7583         * regex.c (RE_TR_ASCII): Removed.
7584         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
7585         (PATFETCH): Call PATFETCH_RAW.
7586         (PATFETCH_RAW): Fetch Emchar.
7587         (PATUNFETCH): Decrement charptr.
7588         (GET_BUFFER_SPACE): Rename b to buf_end.
7589         (BUF_PUSH): Ditto.
7590         (BUF_PUSH_2): Ditto.
7591         (BUF_PUSH_3): Ditto.
7592         (EXTEND_BUFFER): Ditto.
7593         (SET_LIST_BIT): Ditto.
7594         (regex_compile): Ditto.  Translate non ASCII char.
7595         (compile_range): Ditto.
7596         (re_search_2): Ditto.
7597         (re_match_2_internal): Compare Emchar.
7598         (bcmp_translate): Ditto.
7599
7600 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
7601
7602         * lisp.h (basic char/int typedefs):  comment improvement.
7603
7604 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
7605
7606         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
7607         unstomp inhibit_site_lisp.  Improve comments.
7608
7609 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
7610
7611         * mule-charset.c (Fcharset_property):  improve type checking, comments.
7612
7613 2000-11-28  Andy Piper  <andy@xemacs.org>
7614
7615         * redisplay-output.c (redisplay_output_subwindow): make sure we do
7616         clipped display for windows in the gutter also.
7617         (redisplay_display_boxes_in_window_p): change semantics of return
7618         codes to be more intuitive.
7619
7620         * gutter.h: declare display_boxes_in_gutter_p.
7621
7622         * gutter.c (display_boxes_in_gutter_p): new function for
7623         redisplay.
7624
7625 2000-11-22  Andy Piper  <andy@xemacs.org>
7626
7627         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
7628         autodetect domain.
7629
7630 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
7631
7632         * callproc.c (Fold_call_process_internal):
7633         * gpm.c (Freceive_gpm_event):
7634         (tty_get_foreign_selection): Might be just warning supression.
7635         * fileio.c (Fwrite_region_internal):
7636         (Fset_visited_file_modtime):
7637         * keymap.c (event_matches_key_specifier_p):
7638         Initialize GCPROed variable.
7639
7640         * menubar-x.c (command_builder_find_menu_accelerator):
7641         Initialize before use.
7642
7643 2000-11-23  Andy Piper  <andy@xemacs.org>
7644
7645         * unexcw.c (unexec): make the resulting executable executable.
7646
7647 2000-11-21  Martin Buchholz  <martin@xemacs.org>
7648
7649         * doc.c (get_doc_string):
7650         Use size_t, not int, for result of XSTRING_LENGTH.
7651
7652         * cmds.c (Fdelete_char):
7653         * cmds.c (Fpoint_at_eol):
7654         * cmds.c (Fself_insert_command):
7655         Use EMACS_INT, not int, for result of XINT.
7656         Someday, someone will want to insert more than 2**31 identical characters.
7657
7658         * cmds.c (Fdelete_char):
7659         * cmds.c (Fdelete_backward_char):
7660         * syntax.c (Fforward_word):
7661         * syntax.c (Fforward_comment):
7662         Make COUNT argument optional, for consistency with forward-char et al.
7663
7664 2000-11-22  Martin Buchholz  <martin@xemacs.org>
7665
7666         * lisp.h:
7667         * print.c (long_to_string):
7668         Return a useful value: the pointer at end of data written.
7669
7670         * doprnt.c:
7671         Use `static const char * const' for constant strings.
7672         (union printf_arg): Delete `i', `ui' members.
7673         (get_doprnt_args):
7674         (emacs_doprnt_1):
7675         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
7676         Do all printf-ing via the `l' specifier.
7677         Use EMACS_INT instead of int.
7678         Optimize.
7679
7680 2000-11-20  Didier Verna  <didier@xemacs.org>
7681
7682         * faces.c (update_face_cachel_data): don't frob the background
7683         pixmap when the window is being created. The face is needed but
7684         does not exist yet.
7685
7686 2000-11-20  Andy Piper  <andy@xemacs.org>
7687
7688         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
7689         messing with a debug environment.
7690
7691 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7692
7693         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
7694
7695 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7696
7697         * casetab.c (Fcase_table_p): Fix compile error and crash.
7698
7699 2000-11-18  Philip Aston  <philipa@mail.com>
7700
7701         * s/cygwin32.h: Cygwin has SVR4-like pty support.
7702
7703 2000-11-18  Martin Buchholz  <martin@xemacs.org>
7704
7705         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
7706         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
7707
7708 2000-11-17  Martin Buchholz  <martin@xemacs.org>
7709
7710         * config.h.in: Define HAVE_ELF_H if elf.h exists.
7711         * unexelf.c: Use HAVE_ELF_H.
7712         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
7713         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
7714         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
7715         Greg Harrington <greg_harrington@hotmail.com> provided a machine
7716         for testing.
7717         So this is an unexelfsgi.c from a different line of development.
7718
7719 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7720
7721         * regex.c (RE_TR_ASCII): New function.
7722         (RE_TRANSLATE): Call it.
7723
7724 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7725
7726         * buffer.h (TRT_TABLE_OF): Remove assert.
7727         (IN_TRT_TABLE_DOMAIN): Removed.
7728
7729 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7730
7731         * free-hook.c (log_gcpro):
7732         (show_gcprohist): Add support for GCPRO5.
7733
7734 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
7735
7736         * emacs.c (main_1): Improve -sd error message when --pdump=no.
7737
7738 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
7739
7740         * symeval.h: Declare flush_all_buffer_local_cache.
7741
7742         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
7743         (flush_buffer_local_cache): Added.
7744         (flush_all_buffer_local_cache): Added.
7745
7746         * lrecord.h: Remove unused XD_LO_RESET_NIL.
7747
7748         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
7749         (pdump_dump_data): Ditto.
7750         (pdump_reloc_one): Ditto.
7751         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
7752         before dumping.
7753
7754
7755 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7756
7757         * buffer.c: Remove if 0'ed entry.
7758         * buffer.h: Rewrite TRT to use char-table.
7759         * bufslots.h: Remove mirror tables.
7760         * casetab.c: Remove mirror tables.
7761         (CASE_TABLE_P): New macro.
7762         (Fcase_table_p): Element of a case table is string or char-table.
7763         (make_mirror_trt_table): Removed.
7764         (set_case_table): Setup char-table from strings for backward
7765         compatibility.
7766         * dired.c (Fdirectory_files):
7767         * dired-msw.c: (mswindows_get_files):
7768         * lisp.h: Change prototype of re_pattern_buffer.
7769         * regex.c: (RE_TRANSLATE): New macro.
7770         (TRANSLATE_P): Ditto.
7771         Change translate to type RE_TRANSLATE_TYPE.
7772         * regex.h: Define RE_TRANSLATE_TYPE
7773         * search.c (TRANSLATE): New macro.
7774         (TRANSLATE_ASCII): New macro.
7775         Translate table is changed to Lisp_Object.
7776         (signal_failure): Inhibit return.
7777
7778 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7779
7780         * device-msw.c:
7781         * eldap.c:
7782         * event-Xt.c:
7783         * event-stream.c:
7784         * print.c:
7785         Do UNGCPRO before return.
7786
7787 2000-11-14  Martin Buchholz <martin@xemacs.org>
7788
7789         * XEmacs 21.2.37 is released.
7790
7791 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7792
7793         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
7794         Add comments about discarded return value.
7795
7796 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
7797
7798         * callint.c:
7799         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
7800
7801 2000-10-27  Andy Piper  <andy@xemacs.org>
7802
7803         * gutter.c (Fset_default_gutter_position): default left and right
7804         gutters to visible.
7805         (calculate_gutter_size): calculate resonable heuristic for left
7806         and right gutter sizes.
7807         (specifier_vars_of_gutter): change left and right gutter sizes to
7808         autodetect.
7809         (calculate_gutter_size_from_display_lines): new function.
7810         (output_gutter): check for resizing on left and right gutters.
7811         (clear_gutter): don't special case top and left gutters.
7812         (specifier_vars_of_gutter): use new signature for
7813         set_specifier_caching.
7814
7815         * glyphs-x.c (x_redisplay_widget): spelling fix.
7816         * glyphs.c (specifier_vars_of_glyphs):
7817         * menubar.c (specifier_vars_of_menubar):
7818         * redisplay.c (specifier_vars_of_redisplay):
7819         * toolbar.c (specifier_vars_of_toolbar):
7820         * window.c (specifier_vars_of_window):
7821         * scrollbar.c (specifier_vars_of_scrollbar):
7822         (complex_vars_of_scrollbar): use new signature for
7823         set_specifier_caching.
7824
7825         * specifier.c (set_specifier_caching): include recompute flag.
7826         (recompute_one_cached_specifier_in_window): always recompute if
7827         flag set.
7828         (recompute_one_cached_specifier_in_frame): ditto.
7829
7830         * specifier.h (struct specifier_caching): add recompute flag.
7831
7832 2000-10-24  Andy Piper  <andy@xemacs.org>
7833
7834         * unexcw.c (copy_executable_and_dump_data_section): add new
7835         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
7836         5.0 happy.
7837
7838 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7839
7840         * console-x.h (x_device): New member modifier_release_time.
7841         * event-Xt.c (x_handle_sticky_modifiers):
7842         Bound interval modifier keys are sticky.
7843         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
7844         * events.h: extern it.
7845
7846 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7847
7848         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
7849
7850 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7851
7852         * event-stream.c (execute_command_event): Preserve current_events
7853         and the like when event is misc-user-event.
7854         Inhibit quit during the call to maybe_echo_keys.
7855
7856 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
7857
7858         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
7859         symlink when buffer is killed.
7860         (inhibit_clash_detection): New variable.
7861
7862 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7863
7864         * console.c (Fset_input_method): Trigger redisplay on tty.
7865
7866 2000-11-07  Martin Buchholz  <martin@xemacs.org>
7867
7868         * process.c (Fprocess_status): Revert to previous behavior:
7869         (process-status "nosuchprocess") ==> nil
7870
7871 2000-11-06  Martin Buchholz  <martin@xemacs.org>
7872
7873         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
7874         Work around another GCC 2.95.2 optimizer bug.
7875
7876 2000-11-02  Martin Buchholz  <martin@xemacs.org>
7877
7878         * process.c (Fget_process): Use LIST_LOOP_2.
7879         (kill_buffer_processes): Use LIST_LOOP_2.
7880
7881         * minibuf.c (Fall_completions):
7882         Delete old non-functional code for FSF fourth argument.
7883
7884         * frame.c (frame_matches_frame_spec):
7885         Renamed from `frame_matches_frametype'.  Update all callers.
7886         (device_matches_device_spec):
7887         Renamed from 'device_matches_console_spec'.  Update all callers.
7888
7889         * doc.c (Fsubstitute_command_keys):
7890         Remove buffer overflow crash.  Small code cleanups.
7891
7892         * casetab.c (check_case_table): Simpler code.
7893
7894         * window.c (Freplace_buffer_in_windows):
7895         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
7896         (and similar implementation) as Fdelete_windows_on.
7897         Update all callers.
7898
7899         * alloc.c (Fmake_list):
7900         * alloc.c (make_vector):
7901         * alloc.c (Fmake_vector):
7902         * alloc.c (make_bit_vector):
7903         * alloc.c (Fmake_bit_vector):
7904         * alloc.c (Fbit_vector):
7905         * alloc.c (Fmake_string):
7906         * alloc.c (Fpurecopy):
7907         * alloc.c (Fmemory_limit):
7908         * buffer.c:
7909         * buffer.c (Fget_buffer):
7910         * buffer.c (Fkill_buffer):
7911         * buffer.c (complex_vars_of_buffer):
7912         * bytecode.c (Fcompiled_function_stack_depth):
7913         * callint.c (Fprefix_numeric_value):
7914         * event-stream.c:
7915         * event-stream.c (Fread_key_sequence):
7916         * casetab.c:
7917         * casetab.c (Fcase_table_p):
7918         * casetab.c (check_case_table):
7919         * casetab.c (Fset_case_table):
7920         * casetab.c (Fset_standard_case_table):
7921         * chartab.c:
7922         * chartab.c (Fchar_table_type):
7923         * chartab.c (Freset_char_table):
7924         * chartab.c (Fget_char_table):
7925         * chartab.c (Fget_range_char_table):
7926         * chartab.c (Fput_char_table):
7927         * chartab.c (Fmap_char_table):
7928         * chartab.c (Fcategory_table_p):
7929         * chartab.c (Fcheck_category_at):
7930         * chartab.c (Fchar_in_category_p):
7931         * chartab.c (Fcategory_table):
7932         * chartab.c (Fcopy_category_table):
7933         * chartab.c (Fset_category_table):
7934         * chartab.c (Fcategory_designator_p):
7935         * chartab.c (Fcategory_table_value_p):
7936         * cmds.c (Fdelete_char):
7937         * cmds.c (Fdelete_backward_char):
7938         * cmds.c (Fself_insert_command):
7939         * cmds.c (Fself_insert_internal):
7940         * console.c (Fvalid_console_type_p):
7941         * console.c (Fcdfw_console):
7942         * console.c (Fconsole_type):
7943         * console.c (Fconsole_name):
7944         * console.c (Fconsole_device_list):
7945         * console.c (Fconsole_on_window_system_p):
7946         * data.c:
7947         * data.c (Feq):
7948         * data.c (Fold_eq):
7949         * data.c (Fsubr_interactive):
7950         * data.c (Fchar_to_int):
7951         * data.c (Fint_to_char):
7952         * data.c (Fsetcar):
7953         * data.c (Fsetcdr):
7954         * data.c (Fnumber_to_string):
7955         * data.c (Fstring_to_number):
7956         * data.c (Frem):
7957         * database.c (mark_database):
7958         * database.c (finalize_database):
7959         * database.c (Fdatabase_live_p):
7960         * database.c (Fdatabasep):
7961         * device-x.c (Fx_get_resource):
7962         * device.c (Fdfw_device):
7963         * dired.c:
7964         * dired.c (Ffile_name_completion):
7965         * dired.c (Ffile_name_all_completions):
7966         * dired.c (Fuser_name_completion):
7967         * dired.c (Fuser_name_completion_1):
7968         * dired.c (Fuser_name_all_completions):
7969         * doc.c (Fdocumentation):
7970         * doc.c (Fdocumentation_property):
7971         * doc.c (Fsubstitute_command_keys):
7972         * editfns.c:
7973         * editfns.c (Fchar_to_string):
7974         * editfns.c (Fstring_to_char):
7975         * editfns.c (Ftemp_directory):
7976         * editfns.c (Finsert_char):
7977         * editfns.c (Fbuffer_substring_no_properties):
7978         * editfns.c (Fnarrow_to_region):
7979         * editfns.c (Fchar_equal):
7980         * editfns.c (Fchar_Equal):
7981         * editfns.c (Ftranspose_regions):
7982         * emacs.c (Fdump_emacs):
7983         * eval.c (Fthrow):
7984         * eval.c (Fcommand_execute):
7985         * eval.c (Fautoload):
7986         * eval.c (Fbacktrace):
7987         * eval.c (Fbacktrace_frame):
7988         * events.c:
7989         * events.c (Fcopy_event):
7990         * events.c (Fcharacter_to_event):
7991         * events.c (Fevent_button):
7992         * events.c (Fevent_process):
7993         * extents.c:
7994         * extents.c (Fnext_extent_change):
7995         * extents.c (Fextent_property):
7996         * faces.c (Ffacep):
7997         * faces.c (Fmake_face):
7998         * file-coding.c:
7999         * file-coding.c (Fencode_shift_jis_char):
8000         * file-coding.c (Fencode_big5_char):
8001         * fileio.c (Ffile_name_directory):
8002         * fileio.c (Ffile_name_nondirectory):
8003         * fileio.c (Ffile_name_as_directory):
8004         * fileio.c (Fdirectory_file_name):
8005         * fileio.c (Ffile_truename):
8006         * fileio.c (Fsubstitute_in_file_name):
8007         * fileio.c (Ffile_modes):
8008         * fileio.c (Fset_file_modes):
8009         * fileio.c (Fset_default_file_modes):
8010         * fileio.c (Fverify_visited_file_modtime):
8011         * floatfns.c (Facos):
8012         * floatfns.c (Fasin):
8013         * floatfns.c (Fatan):
8014         * floatfns.c (Fcos):
8015         * floatfns.c (Fsin):
8016         * floatfns.c (Ftan):
8017         * floatfns.c (Fbessel_j0):
8018         * floatfns.c (Fbessel_j1):
8019         * floatfns.c (Fbessel_jn):
8020         * floatfns.c (Fbessel_y0):
8021         * floatfns.c (Fbessel_y1):
8022         * floatfns.c (Fbessel_yn):
8023         * floatfns.c (Ferf):
8024         * floatfns.c (Ferfc):
8025         * floatfns.c (Flog_gamma):
8026         * floatfns.c (Fexp):
8027         * floatfns.c (Fexpt):
8028         * floatfns.c (Flog):
8029         * floatfns.c (Flog10):
8030         * floatfns.c (Fsqrt):
8031         * floatfns.c (Fcube_root):
8032         * floatfns.c (Facosh):
8033         * floatfns.c (Fasinh):
8034         * floatfns.c (Fatanh):
8035         * floatfns.c (Fcosh):
8036         * floatfns.c (Fsinh):
8037         * floatfns.c (Ftanh):
8038         * floatfns.c (Fabs):
8039         * floatfns.c (Ffloat):
8040         * floatfns.c (Flogb):
8041         * floatfns.c (Fceiling):
8042         * floatfns.c (Ffloor):
8043         * floatfns.c (Fround):
8044         * floatfns.c (Ftruncate):
8045         * floatfns.c (Ffceiling):
8046         * floatfns.c (Fffloor):
8047         * floatfns.c (Ffround):
8048         * floatfns.c (Fftruncate):
8049         * fns.c (Fstring_equal):
8050         * fns.c (Fstring_lessp):
8051         * fns.c (concat2):
8052         * fns.c (concat3):
8053         * fns.c (vconcat2):
8054         * fns.c (vconcat3):
8055         * fns.c (Fsubstring):
8056         * fns.c (Fassoc):
8057         * fns.c (Fold_assoc):
8058         * fns.c (assoc_no_quit):
8059         * fns.c (Fassq):
8060         * fns.c (Fold_assq):
8061         * fns.c (assq_no_quit):
8062         * fns.c (Frassoc):
8063         * fns.c (Fold_rassoc):
8064         * fns.c (Frassq):
8065         * fns.c (Fold_rassq):
8066         * fns.c (rassq_no_quit):
8067         * fns.c (Fremassoc):
8068         * fns.c (remassoc_no_quit):
8069         * fns.c (Fremassq):
8070         * fns.c (remassq_no_quit):
8071         * fns.c (Fremrassoc):
8072         * fns.c (Fremrassq):
8073         * fns.c (remrassq_no_quit):
8074         * fns.c (Fsort):
8075         * fns.c (Fplist_get):
8076         * fns.c (Fplist_put):
8077         * fns.c (Fplist_remprop):
8078         * fns.c (Fplist_member):
8079         * fns.c (Flax_plist_get):
8080         * fns.c (Flax_plist_put):
8081         * fns.c (Flax_plist_remprop):
8082         * fns.c (Flax_plist_member):
8083         * fns.c (Fequal):
8084         * fns.c (Fold_equal):
8085         * fns.c (Frequire):
8086         * fns.c (Fbase64_encode_region):
8087         * fns.c (Fbase64_encode_string):
8088         * fns.c (Fbase64_decode_region):
8089         * frame.c:
8090         * frame.c (frame_matches_frame_spec):
8091         * frame.c (device_matches_device_spec):
8092         * frame.c (next_frame):
8093         * frame.c (previous_frame):
8094         * frame.c (Fnext_frame):
8095         * frame.c (Fprevious_frame):
8096         * frame.c (Fframe_property):
8097         * frame.c (Fset_frame_height):
8098         * frame.c (Fset_frame_size):
8099         * frame.h:
8100         * glyphs.c:
8101         * glyphs.c (if):
8102         * glyphs.c (decode_error_behavior_flag):
8103         * glyphs.c (Fmake_image_instance):
8104         * indent.c (Findent_to):
8105         * intl.c (Fignore_defer_gettext):
8106         * keymap.c (Fkeymapp):
8107         * keymap.c (Flookup_key):
8108         * lread.c:
8109         * lread.c (Fload_internal):
8110         * lread.c (Feval_buffer):
8111         * lread.c (Feval_region):
8112         * macros.c (Fexecute_kbd_macro):
8113         * marker.c (set_marker_internal):
8114         * marker.c (Fset_marker):
8115         * marker.c (set_marker_restricted):
8116         * marker.c (Fcopy_marker):
8117         * marker.c (noseeum_copy_marker):
8118         * menubar.c:
8119         * menubar.c (Fpopup_menu):
8120         * minibuf.c:
8121         * mule-charset.c (Fcharset_name):
8122         * mule-charset.c (Fchar_charset):
8123         * mule-charset.c (Fchar_octet):
8124         * mule-charset.c (Fsplit_char):
8125         * mule-wnnfns.c (Fwnn_open):
8126         * mule-wnnfns.c (Fwnn_dict_comment):
8127         * mule-wnnfns.c (Fwnn_quit_henkan):
8128         * mule-wnnfns.c (Fwnn_word_toroku):
8129         * mule-wnnfns.c (Fwnn_word_sakujo):
8130         * mule-wnnfns.c (Fwnn_word_use):
8131         * mule-wnnfns.c (Fwnn_hindo_set):
8132         * objects.c:
8133         * objects.c (Fmake_color_instance):
8134         * objects.c (Fmake_font_instance):
8135         * print.c (Fwrite_char):
8136         * process.c:
8137         * process.c (mark_process):
8138         * process.c (print_process):
8139         * process.c (get_process_from_usid):
8140         * process.c (Fprocessp):
8141         * process.c (Fprocess_live_p):
8142         * process.c (Fget_process):
8143         * process.c (Fget_buffer_process):
8144         * process.c (get_process):
8145         * process.c (Fprocess_id):
8146         * process.c (Fprocess_name):
8147         * process.c (Fprocess_command):
8148         * process.c (init_process_io_handles):
8149         * process.c (start_process_unwind):
8150         * process.c (Fstart_process_internal):
8151         * process.c (Fopen_multicast_group_internal):
8152         * process.c (Fset_process_window_size):
8153         * process.c (read_process_output):
8154         * process.c (send_process):
8155         * process.c (Fprocess_tty_name):
8156         * process.c (Fset_process_buffer):
8157         * process.c (Fprocess_buffer):
8158         * process.c (Fprocess_mark):
8159         * process.c (set_process_filter):
8160         * process.c (Fset_process_filter):
8161         * process.c (Fprocess_filter):
8162         * process.c (Fprocess_send_region):
8163         * process.c (Fprocess_send_string):
8164         * process.c (exec_sentinel):
8165         * process.c (Fset_process_sentinel):
8166         * process.c (Fprocess_sentinel):
8167         * process.c (status_notify):
8168         * process.c (Fprocess_status):
8169         * process.c (Fprocess_exit_status):
8170         * process.c (process_send_signal):
8171         * process.c (Fprocess_send_eof):
8172         * process.c (deactivate_process):
8173         * process.c (remove_process):
8174         * process.c (Fdelete_process):
8175         * process.c (kill_buffer_processes):
8176         * process.c (Fprocess_kill_without_query):
8177         * process.c (Fprocess_kill_without_query_p):
8178         * rangetab.c:
8179         * rangetab.c (Fget_range_table):
8180         * rangetab.c (Fput_range_table):
8181         * rangetab.c (Fremove_range_table):
8182         * rangetab.c (Fclear_range_table):
8183         * search.c:
8184         * search.c (Fskip_chars_forward):
8185         * search.c (Fskip_chars_backward):
8186         * search.c (Fskip_syntax_forward):
8187         * search.c (Fskip_syntax_backward):
8188         * search.c (search_command):
8189         * search.c (Freplace_match):
8190         * search.c (Fregexp_quote):
8191         * select.c (Fown_selection_internal):
8192         * select.c (Fselection_owner_p):
8193         * select.c (Fselection_exists_p):
8194         * select.c (Fget_selection_internal):
8195         * specifier.c:
8196         * symbols.c:
8197         * symbols.c (Fintern):
8198         * symbols.c (Fintern_soft):
8199         * symbols.c (Funintern):
8200         * symbols.c (Fapropos_internal):
8201         * symbols.c (Fset_default):
8202         * syntax.c:
8203         * syntax.c (Fsyntax_table_p):
8204         * syntax.c (Fcopy_syntax_table):
8205         * syntax.c (Fset_syntax_table):
8206         * syntax.c (Fchar_syntax):
8207         * syntax.c (syntax_match):
8208         * syntax.c (Fmatching_paren):
8209         * syntax.c (Fforward_word):
8210         * syntax.c (scan_lists):
8211         * syntax.c (Fscan_lists):
8212         * syntax.c (Fscan_sexps):
8213         * syntax.c (Fparse_partial_sexp):
8214         * toolbar.c (Fcheck_toolbar_button_syntax):
8215         * tooltalk.doc:
8216         * window.c:
8217         * window.c (Fwindowp):
8218         * window.c (Fwindow_live_p):
8219         * window.c (Fwindow_point):
8220         * window.c (Fdelete_window):
8221         * window.c (Fnext_window):
8222         * window.c (Fprevious_window):
8223         * window.c (Fother_window):
8224         * window.c (window_loop):
8225         * window.c (Fget_lru_window):
8226         * window.c (Fsplit_window):
8227         * window.c (Fenlarge_window):
8228         * window.c (Fenlarge_window_pixels):
8229         * window.c (Fshrink_window):
8230         * window.c (Fshrink_window_pixels):
8231         * window.c (change_window_height):
8232         * window.c (Fwindow_configuration_p):
8233         * window.c (Fcurrent_window_configuration):
8234         * window.h:
8235         * casefiddle.c (casify_object):
8236         * casefiddle.c (Fupcase):
8237         * casefiddle.c (Fdowncase):
8238         * casefiddle.c (Fcapitalize):
8239         * casefiddle.c (Fupcase_initials):
8240         * casefiddle.c (casify_region_internal):
8241         * casefiddle.c (casify_region):
8242         * casefiddle.c (Fupcase_region):
8243         * casefiddle.c (Fdowncase_region):
8244         * casefiddle.c (Fcapitalize_region):
8245         * casefiddle.c (Fupcase_initials_region):
8246         * casefiddle.c (Fupcase_word):
8247         * casefiddle.c (Fdowncase_word):
8248         * casefiddle.c (Fcapitalize_word):
8249         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8250         Replace 0 with '\0' when working with bytes.
8251         Replace initial "(" with "\(" in docstrings.
8252
8253 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8254
8255         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8256
8257         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
8258
8259 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8260
8261         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
8262
8263 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8264
8265         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
8266         correctly.
8267
8268 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8269
8270         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
8271         (inhibit_auto_save_session): New variable.
8272         (vars_of_fileio): Declare and initialize them.
8273         * fileio.c (Fdo_auto_save): Don't create session file if
8274         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
8275
8276 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8277
8278         * sgiplay.c (play_internal): C++ compilability.
8279         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
8280         * callproc.c (Fold_call_process_internal):
8281         Remove unused vars `env', `first'.
8282         * scrollbar.c (update_scrollbar_instance):
8283         #### unused var `current_window'.
8284         * redisplay-tty.c: Put currently unused vars insert_mode_on,
8285         etc. within #ifdef NOT_YET.
8286         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
8287         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
8288         * specifier.c (specifier_instance):
8289         #### unused var `tag'.
8290         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
8291
8292 2000-10-27  Martin Buchholz  <martin@xemacs.org>
8293
8294         * fns.c (Fbutlast):
8295         * fns.c (list_sort):
8296         * fns.c (Ffillarray):
8297         * fns.c (bytecode_nconc2):
8298         * fns.c (Fnconc):
8299         * fns.c (mapcar1):
8300         * fns.c (Fmapconcat):
8301         Be pedantically 64-bit correct.  For the time when someone will
8302         want to have a list with length > 2**32.
8303
8304         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8305         Work around MIPSpro compiler bug.
8306
8307         * process-unix.c (unix_kill_child_process): Add snarky comment.
8308         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
8309
8310         * config.h.in: Oops, _getpt ==> _getpty
8311
8312 2000-10-26  Martin Buchholz  <martin@xemacs.org>
8313
8314         * config.h.in:
8315         * regex.c:
8316         Use void*, not char*, as return type of alloca().
8317
8318         * alloc.c (free_marker): Side effect inside assert expression!
8319
8320 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
8321
8322         * mule-charset.c (Fset_charset_ccl_program): To check
8323         if the given ccl program is valid, use setup_ccl_program()
8324         instead of CHECK_VECTOR().
8325         (Fmake_charset): Likewise.
8326
8327 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
8328
8329         * faces.c (get_extent_fragment_face_cache_index):
8330         Fix cachel.merged_faces memory leak.
8331
8332 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
8333
8334         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
8335         Reset MSB of octets obtained by DECODE_SJIS
8336         because of the incompatibility with Emacs.
8337         (ccl_driver)<CCL_ENCODE_SJIS>:
8338         Set MSB of octets before passing them to
8339         ENCODE_SJIS because of the incompatibility
8340         with Emacs.
8341
8342 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
8343
8344         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
8345         (DECLARE_LRECORD): Undo the last change.
8346         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
8347
8348 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
8349
8350         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
8351         the implementation to lrecord_implementations_table.
8352
8353 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
8354
8355         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
8356         initial value of `lrecord_type_##c_name' and
8357         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
8358         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
8359         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
8360         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
8361         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
8362
8363 2000-10-17  Martin Buchholz  <martin@xemacs.org>
8364
8365         * miscplay.c (sndcnv8S_2mono):
8366         (sndcnv2monounsigned):
8367         (sndcnvULaw_2linear):
8368         (sndcnv16swap):
8369         Remove implementation-defined behavior.
8370
8371 2000-10-12  Martin Buchholz  <martin@xemacs.org>
8372
8373         * input-method-xlib.c: Warning suppression.
8374
8375 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
8376
8377         * mule-ccl.c: Sync up with Emacs 21.0.90.
8378         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
8379         Do nothing.
8380         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
8381         Likewise.
8382         (ccl_driver[WriteMultibyteChar2]): Bug fix.
8383         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
8384         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
8385         leading char belongs to official 2-dimensional charset.
8386         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
8387         write the given character as is.  Otherwise,
8388         if it is a multibyte char, convert it by
8389         non_ascii_set_charptr_emchar, then write it.
8390         (CCL_WRITE_STRING): Likewise.
8391         (ccl_get_compiled_code): New function.
8392         (setup_ccl_program): When ccl_prog is invalid,
8393         return -1.
8394         (Fregister_code_conversion_map): New function.
8395         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
8396
8397         * mule-ccl.h: Sync up with Emacs 21.0.90.
8398         (Fregister_ccl_program): export it.
8399
8400         * redisplay-msw.c (separate_textual_runs):
8401         If ccl program is not valid, don't do ccl conversion.
8402
8403         * redisplay-x.c (separate_textual_runs): Ditto.
8404
8405         * file-coding.c (Fmake_coding_system):
8406         When type is ccl and value is vector, register it
8407         with a proper symbol.  And checks whether the
8408         given ccl program is valid.
8409         (mule_decode): When calling ccl_driver, if src indicates
8410         NULL pointer, set an empty string instead.
8411         (mule_encode): Likewise.
8412
8413 2000-10-11  Martin Buchholz  <martin@xemacs.org>
8414
8415         The following large batch of changes gets us back to a state of
8416         C++ compilability.  Extbyte is now a char, which means that
8417         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
8418
8419         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
8420
8421         * sound.c (Fplay_sound): Type correctness.
8422
8423         * select-x.c (hack_motif_clipboard_selection): Type correctness.
8424         (x_get_window_property): Type correctness.
8425         (receive_incremental_selection): unsigned char ==> Extbyte
8426         (selection_data_to_lisp_data): unsigned char ==> Extbyte
8427         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
8428         (Fx_store_cutbuffer_internal): Type correctness.
8429
8430         * process-unix.c (try_to_initialize_subtty): Type correctness.
8431
8432         * objects-x.c (x_print_color_instance): Type correctness.
8433         (x_print_font_instance): Type correctness.
8434         (x_list_fonts): SExtbyte ==> Extbyte.
8435         (valid_x_font_name_p): SExtbyte ==> Extbyte.
8436         (x_find_charset_font): SExtbyte ==> Extbyte.
8437         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
8438         (truename_via_XListFonts): SExtbyte ==> Extbyte.
8439         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
8440         Use bufbyte_strcmp.
8441
8442         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
8443         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
8444         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
8445         (BYTE_C0_P): Use bit ops for char-signedness safety.
8446         (BYTE_C1_P): Use bit ops for char-signedness safety.
8447         (CHARSET_BY_LEADING_BYTE):
8448         (CHARSET_BY_ATTRIBUTES):
8449         Always use inline function.
8450         Use type_checking_assert.
8451         Hide chlook.
8452
8453         * mule-charset.c (non_ascii_charptr_copy_char):
8454         Modify to work with both ASCII and non-ASCII characters.
8455         Improve docs and variable names.
8456         Replace over-clever fall-through switch with a simple loop.
8457         (Lstream_get_emchar_1):
8458         Replace over-clever fall-through switch with a simple loop.
8459
8460         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8461         Warning suppression.
8462
8463         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
8464         the return value of Lstream_getc, which could be EOF as well.
8465
8466         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
8467
8468         * lisp.h: Make Extbyte a char, not unsigned char, so that external
8469         APIs can be used on Extbytes without casts.  Risky!
8470         (SExtbyte): Remove.
8471         (UExtbyte): Remove.
8472
8473         * input-method-xlib.c (XIM_init_device):
8474         Use Xlib.h instead of IntrinsicP.h.
8475         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
8476         which will break in X11R7.
8477         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
8478         to call XRegisterIMInstantiateCallback with correct types.
8479
8480         * gui-x.c (button_item_to_widget_value): Type correctness.
8481
8482         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
8483
8484         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
8485         (xbm_instantiate_1): Type correctness.
8486         (BUILD_GLYPH_INST):  Type correctness.
8487
8488         * fileio.c (Fsubstitute_in_file_name): Type correctness.
8489
8490         * file-coding.c:
8491         (decode_coding_sjis):
8492         (decode_coding_big5):
8493         (decode_coding_ucs4):
8494         (decode_coding_utf8):
8495         (decode_coding_iso2022):
8496         (decode_coding_no_conversion):
8497         Make all decoding functions take an Extbyte * arg.
8498         (encode_coding_sjis):
8499         (encode_coding_big5):
8500         (encode_coding_ucs4):
8501         (encode_coding_utf8):
8502         (encode_coding_iso2022):
8503         (encode_coding_no_conversion):
8504         Make all encoding functions take a Bufbyte * arg.
8505         Use size_t instead of unsigned int for memory sizes.
8506         Only cast to unsigned char whenever dereferencing Extbyte *.
8507
8508         * doc.c (unparesseuxify_doc_string): Type correctness.
8509
8510         * console-x.c (split_up_display_spec):
8511         Rewrite without using details of internal string representation.
8512         (x_semi_canonicalize_device_connection): Type correctness.
8513
8514         * config.h.in:
8515         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
8516         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
8517         (HAVE_XFREE386): Removed.
8518
8519         * buffer.h (DEC_CHARPTR): `const' correctness.
8520         (bufbyte_strcmp): New.
8521         (bufbyte_memcmp): New.
8522
8523         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
8524
8525         * buffer.h (XCHAR_OR_CHAR_INT):
8526         Always use inline function.
8527         Remove redundant type checking assert() - XINT will abort quite nicely.
8528
8529 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8530
8531         * search.c (Freplace_match): Set newtext to an empty string.
8532
8533 2000-10-10  Martin Buchholz  <martin@xemacs.org>
8534
8535         * s/decosf1-3.h: Remove #include of stropts.h
8536         * s/ptx.h: Remove #include of stropts.h
8537         * s/usg5-4.h: Remove #include of stropts.h
8538         * sysproc.h:
8539         * config.h.in:
8540         Use stropts.h, not sys/stropts.h.
8541         Use strtio.h, not sys/strtio.h.
8542
8543 2000-10-04  Martin Buchholz <martin@xemacs.org>
8544
8545         * XEmacs 21.2.36 is released.
8546
8547 2000-09-21  Andy Piper  <andy@xemacs.org>
8548
8549         * glyphs-x.c (x_redisplay_widget): make sure non-structural
8550         changes still involve copying the widget tree.
8551         (update_widget_face): make sure a change is register in the widget
8552         tree. Call update_tab_widget_face appropriately.
8553         (update_tab_widget_face): ditto.
8554         (x_tab_control_redisplay): make sure non-structural changes still
8555         involve copying the widget tree.
8556
8557 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
8558
8559         * lread.c (locate_file): Check the path element is non-nil.
8560
8561 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8562
8563         * lisp.h: Warning suppression for SCO compilers.
8564
8565         * redisplay-tty.c (reset_tty_modes): Fix crash.
8566         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
8567
8568 2000-09-27  Martin Buchholz  <martin@xemacs.org>
8569
8570         Big signal/process handling overhaul.  Bugs fixed:
8571         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
8572         M-x comint-kill-subjob should work for both values nil and t of
8573         process-connection-type. It was broken on most platforms.
8574         Testing on Irix and Cygwin still needed.  Other plaforms tested.
8575         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
8576         * process-unix.c: Signal/Process handling overhaul.
8577         (pty_name): make 64 bytes, as `expect' does, for paranoia.
8578         (allocate_pty): Use all available modern methods of allocating
8579         ptys, falling back to old style BSD allocation as a last resort.
8580         Use allegedly more secure Unix98 pty allocation by default.
8581         (allocate_pty_the_old_fashioned_way): New. the last resort.
8582         (unix_create_process): Push ptem, ldterm, ttcompat where
8583         available.  Autoconfiscate.
8584         (try_to_initialize_subtty): New.
8585         (unix_kill_child_process): Proper signal handling for ptys on most
8586         platforms, using special knowledge of AIX, BSD, etc...
8587         (unix_create_process): Always disconnect_controlling_terminal() for
8588         subprocesses, whether using ptys or not.
8589         * process.h: Remove old getpt-dependent PTY code.
8590         * process.c (Fprocess_send_signal): New, obvious generic function.
8591         (decode_signal): New.
8592         (Finterrupt_process):
8593         (Fkill_process):
8594         (Fquit_process):
8595         (Fstop_process):
8596         (Fcontinue_process):
8597         (Fsignal_process): Use decode_signal.
8598         (process_send_signal):
8599         Many docstring corrections.
8600         Allow any signal to be sent to a process object.
8601         * config.h.in: Add symbols for big signal/process overhaul.
8602         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
8603         * sysproc.h: Include process-related headers, where available:
8604         sys/stropts.h sys/strtio.h pty.h libutil.h
8605         * s/irix4-0.h:
8606         * s/irix5-0.h:
8607         * s/cygwin32.h:
8608         * s/gnu.h:
8609         * s/linux.h:
8610         * s/hpux.h:
8611         * s/aix3-1.h:
8612         Remove old S&M pty stuff.
8613         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
8614         * systty.h: Simplify cpp hackery, improve comments.
8615         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
8616
8617         * editfns.c (Fformat_time_string):
8618         Be a little more paranoid with the return value of ctime.
8619
8620         * fileio.c (check_executable):
8621         (check_writable):
8622         Use symbolic constants X_OK, W_OK.
8623
8624         * console-x.c (split_up_display_spec): Fix a warning.
8625
8626 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8627
8628         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
8629         * ntproc.c (sys_spawnve): make_string ==> build_string
8630         Small clarity improvements.
8631
8632 2000-09-30  Martin Buchholz  <martin@xemacs.org>
8633
8634         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
8635
8636         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
8637
8638         * config.h.in (HAVE_STRCASECMP): Remove.
8639
8640 2000-09-29  Martin Buchholz  <martin@xemacs.org>
8641
8642         * redisplay-output.c (redisplay_output_pixmap):
8643         Cleaner and possibly more 64-bit correct code.
8644
8645 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
8646
8647         * dumper.c (pdump_load_finish): move restoration of
8648         `noninteractive1' to emacs.c (main_1).
8649         * emacs.c (main_1): protect LISP-visible command-line flags
8650         from pdump_load().
8651
8652 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
8653
8654         * Makefile.in.in (versionclean):  Use EXE_TARGET and
8655         DUMP_TARGET instead of literal program names.
8656
8657 2000-09-20  Martin Buchholz  <martin@xemacs.org>
8658
8659         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
8660
8661 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8662
8663         * *: Spelling mega-patch
8664
8665 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8666
8667         * fns.c (bad_bad_turtle):
8668         Delete "Eek!" comment, since we fixed the bug to which it refers.
8669
8670 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8671
8672         * alloca.c: Replace REGISTER with register.
8673
8674 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
8675
8676         * file-coding.c (ucs_to_char): Use countof.
8677
8678 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8679
8680         * file-coding.c: (ucs_to_char):
8681         (complex_vars_of_file_coding):
8682         Use countof instead of sizeof.
8683         Use CHECK_NATNUM instead of CHECK_INT.
8684
8685         * sysdep.c (strcasecmp): Remove.
8686         * device-x.c (ascii_strcasecmp): New.
8687         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
8688         Avoid using non-standard non-portable strcasecmp.
8689
8690 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8691
8692         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
8693         * font-lock.c: remove reference to emacsfns.h.
8694         * search.c: small doc improvement.
8695         * event-Xt.c: correct file names in comments.
8696         * console-x.h Correct file names in comments.
8697         * frame.c: Correct file names in comments.
8698         * event-stream.c: remove Energize from comments.
8699
8700 2000-09-15  Martin Buchholz  <martin@xemacs.org>
8701
8702         * symeval.h (DEFERROR_STANDARD):
8703         (DEFERROR):
8704         (DEFSYMBOL):
8705         (DEFSYMBOL_NO_DUMP):
8706         (DEFSYMBOL_MULTIWORD_PREDICATE):
8707         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
8708         (DEFKEYWORD):
8709         The construct &##name is not sensible C.
8710         Fixes compilation errors with Unixware native compiler.
8711
8712 2000-09-14  Martin Buchholz  <martin@xemacs.org>
8713
8714         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
8715         (next_frame_internal): Removed.  We now just have next_frame.
8716         (next_frame):
8717         Write a simpler and cleaner one-pass algorithm.
8718         Remove called_from_delete_device arg and #ifdefed-out code.
8719         (previous_frame):
8720         Renamed from prev_frame.  Update callers.
8721         Cleaned up to have an analogous implementation to next_frame.
8722         (other_visible_frames_internal): Remove the
8723         called_from_delete_device bogus arg, and hence, remove this
8724         function.  Just use other_visible_frames().
8725
8726         * window.c (Fnext_window):
8727         Prettify docstring.
8728         Since next_frame() is guaranteed to return a frame, remove check
8729         for nil inserted in previous patch.
8730         (Fprevious_window):
8731         Prettify docstring.
8732         Make code look more like Fnext_window.
8733         (window_loop):
8734         Respect the `console' arg when iterating through windows.
8735         Fixes bug: (get-buffer-window buffer t device) not respecting
8736         the `device' arg.
8737         This function needs more work, as others have pointed out.
8738
8739         * frame.h: Rename prev_frame to previous_frame.
8740         device_matches_console_spec no longer takes a `frame' arg.
8741
8742         * s/gnu.h:
8743         * s/linux.h:
8744         * s/hpux.h:
8745         Use EMACS_BLOCK_SIGNAL instead of sigblock.
8746         From "Golubev I. N." <gin@mo.msk.ru>.
8747
8748         * make-src-depend: Fix typo.
8749
8750 2000-09-13  Martin Buchholz  <martin@xemacs.org>
8751
8752         * window.c (Fnext_window):
8753         next_frame() might return nil, not a frame.
8754         Fixes this crash:
8755         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8756
8757         * frame.c (next_frame_internal):
8758         We've passed a frame if we've passed its device.
8759         Fixes this crash:
8760         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8761 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
8762
8763 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8764
8765         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8766         Allow option to suppress accelerators in menu/dialog items.
8767         (populate_or_checksum_helper): Pass dialog title through above.
8768
8769 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8770
8771         * event-msw.c (mswindows_key_to_emacs_keysym):
8772         Add "pause" key, fix "menu" key.
8773
8774 2000-09-09  Martin Buchholz  <martin@xemacs.org>
8775
8776         * eval.c (reinit_vars_of_eval):
8777         Increase max_lisp_eval_depth to 1000,
8778         required for thai-xtis.el to byte-compile under some circumstances.
8779
8780 2000-09-04  Martin Buchholz  <martin@xemacs.org>
8781
8782         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
8783         From Kenichi Handa.
8784
8785 2000-09-01  Martin Buchholz  <martin@xemacs.org>
8786
8787         * make-src-depend: Make the generated Makefiles smaller.
8788
8789         * s/hpux.h (SETUP_SLAVE_PTY):
8790         Provide a %d in the format string for the errno argument.
8791
8792         * editfns.c (Ftemp_directory):
8793         Warning fix.
8794         Avoid buffer overrun on very long file name.
8795
8796         * input-method-xlib.c (XIM_init_device):
8797         6th parameter of XRegisterIMInstantiateCallback has different
8798         pointer types on different OSes, so simply cast to (void *).
8799
8800         * unexhp9k800.c: Warning fixes.  Fiddly changes.
8801
8802         * sysdll.c (dll_open):
8803         shl_load will hang hard if passed a NULL filename.
8804         Simply return NULL for compatibility with dlopen.
8805         * sysdll.c: Conform to XEmacs coding standards.
8806
8807         * sysdep.c (get_pty_max_bytes):
8808         Support pty input lines longer than 512 bytes on HP-UX 10.20.
8809
8810 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8811
8812         * tooltalk.c: Add #include <syssignal.h>
8813
8814 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
8815
8816         * s/hpux.h: Don't use undefined function sigunblock().
8817
8818 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8819
8820         * config.h.in: Add HAVE_BALLOON_HELP.
8821         * emacs.c: Use HAVE_BALLOON_HELP.
8822         * Makefile.in.in (x_objs):
8823         Make Balloon Help conditional on finding shape.h.
8824
8825 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
8826
8827         * syntax.c (regex_emacs_buffer_p): New variable.
8828         * syntax.h (regex_emacs_buffer_p): extern.
8829         * search.c (looking_at_1):
8830         (string_match_1):
8831         (fast_string_match):
8832         (search_buffer): Set regex_emacs_buffer_p.
8833         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
8834         when before_dot, at_dot, after_dot.
8835
8836 2000-08-23  Andy Piper  <andy@xemacs.org>
8837
8838         * gui-x.c (popup_selection_callback): Only set action_occurred
8839         when we really have an image instance.
8840         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8841
8842 2000-08-23  Andy Piper  <andy@xemacs.org>
8843
8844         * gui-msw.c (mswindows_handle_gui_wm_command): set
8845         action_occurred.
8846         * gui-x.c (popup_selection_callback): ditto.
8847
8848         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
8849         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
8850         (struct Lisp_Image_Instance): add action_occurred flag.
8851
8852         * glyphs.c (redisplay_subwindow): use action_occurred flag.
8853         (image_instance_changed): ditto.
8854         (reset_frame_subwindow_instance_cache): only unmap windows - do
8855         not remove them from the cache also.
8856
8857         * glyphs-widget.c (tab_control_update): better debug.
8858         (progress_gauge_update): ditto.
8859         (layout_update): ditto.
8860         (layout_instantiate): ditto.
8861         (tab_control_order_only_changed): cope with null pending items.
8862
8863         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
8864         debug. Force selection of an item when an action occurred. Cope
8865         with null pending_items.
8866         (mswindows_progress_gauge_redisplay): better debug.
8867         * glyphs-x.c (x_tab_control_redisplay): ditto.
8868
8869         * redisplay.c (redisplay_frame): reset the frame cache if the
8870         frame is garbaged.
8871
8872         * window.c (Fset_window_configuration): potentially re-enable
8873         frame cache reset.
8874         (window_unmap_subwindows): need to finalize instances here since
8875         it is only used in mark_window_as_deleted.
8876
8877 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
8878
8879         * nas.c (SndOpenDataForReading):
8880         nas.c (WaveOpenDataForReading):
8881         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
8882         Somehow escaped from the 2000-08-14 patch.
8883
8884 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
8885
8886         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
8887         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
8888
8889 2000-08-21  Andy Piper  <andy@xemacs.org>
8890
8891         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
8892         window if it is not already displayed.
8893
8894         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
8895         it is not already displayed.
8896
8897         * window.c (Fset_window_configuration): don't reset the frame
8898         cache.
8899
8900         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
8901         instances from the frame cache if we are actually finalizing them.
8902         (reset_frame_subwindow_instance_cache): reset frame cache only
8903         after unmapping everything.
8904         (map_subwindow): set displayed flag after mapping.
8905
8906 2000-08-21  Martin Buchholz  <martin@xemacs.org>
8907
8908         * data.c (indirect_function):
8909         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
8910
8911         * eval.c (function_argcount):
8912         Use original function when signaling errors.
8913
8914 2000-08-18  Andy Piper  <andy@xemacs.org>
8915
8916         * frame.c (delete_frame_internal): use new
8917         free_frame_subwindow_instances name.
8918
8919         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
8920         (add_tab_item): make return type correct.
8921         (mswindows_tab_control_instantiate): assert index of tab.
8922         (mswindows_tab_control_redisplay): Re-code to use
8923         gui_item_equal_sans_selected and gui_item_list_find_selected.
8924
8925         * glyphs-widget.c (tab_control_update): Correct comment.
8926
8927         * window.c (window_unmap_subwindows): use new
8928         unmap_subwindow_instance_cache_mapper.
8929         (window_unmap_subwindows_cache_mapper): deleted.
8930         (Fset_window_configuration): comparisons should now be with
8931         EQ. Preserve the subwindow instance cache across configuration
8932         changes.
8933         (allocate_window): ditto.
8934         (make_dummy_parent): ditto.
8935
8936         * glyphs.c (free_frame_subwindow_instances): rename from
8937         free_frame_subwindow_instance_cache. finalize all instances rather
8938         than just those in the display cache.
8939         (finalize_all_subwindow_instances): walk windows unmapping and
8940         finalizing subwindows.
8941         (unmap_subwindow_instance_cache_mapper): moved from
8942         window.c. Allow finalization as well as unmapping.
8943
8944         * gui.c (gui_item_list_find_selected): new function.
8945
8946         * gui.h (gui_item_list_find_selected): declare.
8947
8948         * glyphs-x.c (x_tab_control_redisplay): pick tab
8949         explicitly. Re-code to use gui_item_equal_sans_selected and
8950         gui_item_list_find_selected.
8951
8952         * glyphs-x.h: add lwlib-utils.h
8953
8954         * buffer.c (Frecord_buffer): undo previous change.
8955
8956 2000-08-09  Vin Shelton  <acs@xemacs.org>
8957
8958         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
8959         possible.  Create temporary files more securely.  The patch was
8960         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
8961         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
8962         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
8963         for details.
8964
8965 2000-08-07  Ben Wing  <ben@xemacs.org>
8966
8967         * getloadavg.c: remove duplicate (and windows-breaking)
8968         includes of fcntl.h and sys/file.h.
8969
8970         * nt.c: remove duplicate getloadavg() definition.
8971
8972         * sysdll.h (Qdll_filename_encoding): add missing stand-in
8973         encodings.
8974
8975 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8976
8977         * eval.c (function_argcount): If function needs to be autoloaded
8978         actually use the loaded definition.
8979         GCPRO function.
8980
8981 2000-08-05  Ben Wing  <ben@xemacs.org>
8982
8983         * getloadavg.c: add prototype for getloadavg().  remove
8984         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
8985         of the code).  remove duplicate header includes.
8986
8987         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
8988
8989         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
8990         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
8991         useful load average.
8992
8993         * alloc.c (reinit_alloc_once_early): removed references to
8994         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
8995         the lisp vars are the only things referencing the malloc_sbrk_*
8996         vars, and they were already if 0'd out.  these vars only exist
8997         in the older malloc.c, which is basically unused, and they're
8998         only for informational purposes.
8999
9000         * m\*.h: removed useless VIRT_ADDR_VARIES.
9001
9002         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9003
9004 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9005
9006         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9007         color if the image is a mono pixmap.
9008
9009 2000-07-30  Ben Wing  <ben@xemacs.org>
9010
9011         * Makefile.in.in (release):
9012         Remove stray @.
9013
9014         * buffer.c (directory_is_current_directory):
9015         * dired-msw.c (mswindows_get_files):
9016         * dired.c:
9017         * dired.c (Fdirectory_files):
9018         * dired.c (file_name_completion_stat):
9019         * dired.c (Ffile_attributes):
9020         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9021         preprocessor tricks, to avoid problems on some machines
9022         (e.g. SCO).
9023
9024         * callproc.c (egetenv): GC docs.
9025
9026         * console-msw.h:
9027         * console-msw.h (struct mswindows_dialog_id):
9028         * lrecord.h (lrecord_type):
9029         New object for use with MSW dialogs.
9030
9031         * console.h (struct console_methods):
9032         New enable/disable frame methods, for proper modal dialogs.
9033
9034         * device-msw.c (msprinter_default_printer): Fix to follow
9035         proper Mule conventions.
9036
9037         * device-msw.c:
9038         * device-msw.c (signal_open_printer_error):
9039         * device-msw.c (msprinter_init_device):
9040         * device-msw.c (ensure_not_printing):
9041         * device-msw.c (plist_get_margin):
9042         * device-msw.c (Fmsprinter_select_settings):
9043         * device-msw.c (finalize_devmode):
9044         * device-msw.c (Fmsprinter_settings_despecialize):
9045         * device-msw.c (signal_enum_priner_error):
9046         * extents.c (decode_extent):
9047         * extents.c (decode_map_extents_flags):
9048         * extents.c (decode_extent_at_flag):
9049         * extents.c (Fextent_at):
9050         * extents.c (Fextents_at):
9051         * extents.c (symbol_to_glyph_layout):
9052         [[[[2]]]] Use structured errors.
9053
9054         * dialog-msw.c:
9055         * dialog-msw.c (mswindows_is_dialog_msg):
9056         * dialog-msw.c (mark_mswindows_dialog_id):
9057         * dialog-msw.c (dialog_proc):
9058         * dialog-msw.c (handle_question_dialog_box):
9059         * dialog-msw.c (syms_of_dialog_mswindows):
9060         Define new object to clean up marking; use it as a dialog identifier.
9061         Call new delete-dialog-box-hook.
9062
9063         * dialog-x.c (dbox_selection_callback):
9064         * dialog-x.c (dbox_descriptor_to_widget_value):
9065         * dialog-x.c (x_make_dialog_box_internal):
9066         Call new delete-dialog-box-hook.
9067         Return an id.
9068
9069         * dialog.c:
9070         * dialog.c (syms_of_dialog):
9071         * dialog.c (vars_of_dialog):
9072         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9073
9074         * eval.c:
9075         * eval.c (signal_call_debugger):
9076         when noninteractive, output stack traces on the console instead
9077         of in a (never-seen) buffer.
9078
9079         * eval.c (signal_type_error):
9080         * eval.c (invalid_argument_2):
9081         * lisp.h:
9082         new funs for use w/structured errors.
9083
9084         * event-Xt.c:
9085         * event-Xt.c (x_to_emacs_keysym):
9086         * event-Xt.c (describe_event):
9087         * event-Xt.c (emacs_Xt_event_handler):
9088         * event-Xt.c (vars_of_event_Xt):
9089         * event-msw.c:
9090         * event-msw.c (mswindows_wnd_proc):
9091         * event-msw.c (vars_of_event_mswindows):
9092         rename {x,mswindows}-debug-events to debug-{}-events for
9093         consistency with other debug-foo variables.
9094
9095         * event-stream.c:
9096         document next-event more clearly.
9097
9098         * fileio.c (Ffile_name_directory):
9099         * fileio.c (Ffile_name_nondirectory):
9100         * fileio.c (Funhandled_file_name_directory):
9101         * fileio.c (file_name_as_directory):
9102         * fileio.c (Ffile_name_as_directory):
9103         * fileio.c (directory_file_name):
9104         * fileio.c (Fdirectory_file_name):
9105         * fileio.c (Fmake_temp_name):
9106         * fileio.c (Ffile_truename):
9107         * fileio.c (Fsubstitute_in_file_name):
9108         * fileio.c (expand_and_dir_to_file):
9109         * fileio.c (barf_or_query_if_file_exists):
9110         * fileio.c (check_executable):
9111         * fileio.c (Ffile_exists_p):
9112         * fileio.c (Ffile_writable_p):
9113         * fileio.c (Ffile_directory_p):
9114         * fileio.c (Ffile_regular_p):
9115         * fileio.c (Ffile_modes):
9116         * fileio.c (Ffile_newer_than_file_p):
9117         * fileio.c (Fverify_visited_file_modtime):
9118         * fileio.c (Fset_visited_file_modtime):
9119         * fileio.c (auto_save_1):
9120         (1). (2).
9121         fix up gcpro's.
9122
9123         * frame-msw.c:
9124         * frame-msw.c (mswindows_init_frame_1):
9125         * frame-msw.c (mswindows_enable_frame):
9126         * frame-msw.c (error_frame_unsizable):
9127         * frame-msw.c (msprinter_init_frame_1):
9128         * frame-msw.c (msprinter_init_frame_3):
9129         * frame-msw.c (console_type_create_frame_mswindows):
9130         (2).
9131         implement new enable/disable frame methods.
9132
9133         * frame-x.c:
9134         * frame-x.c (x_enable_frame):
9135         * frame-x.c (console_type_create_frame_x):
9136         implement new enable/disable frame methods.
9137
9138         * frame.c:
9139         * frame.c (Fdisable_frame):
9140         * frame.c (syms_of_frame):
9141         * frame.h (struct frame):
9142         implement new enable/disable frame methods/functions.
9143
9144         * general-slots.h:
9145         add initial-focus.
9146
9147         * glyphs-msw.c (mswindows_widget_instantiate):
9148         comment that initial-focus should be implemented.
9149
9150         * glyphs-widget.c:
9151         * glyphs-widget.c (check_valid_instantiator):
9152         * glyphs-widget.c (check_valid_orientation):
9153         * glyphs-widget.c (check_valid_tab_orientation):
9154         * glyphs-widget.c (check_valid_justification):
9155         * glyphs-widget.c (check_valid_border):
9156         * glyphs-widget.c (check_valid_callback):
9157         * glyphs-widget.c (check_valid_int_or_function):
9158         * glyphs-widget.c (check_valid_string_or_vector):
9159         * glyphs-widget.c (check_valid_item_list_1):
9160         * glyphs-widget.c (widget_validate):
9161         * glyphs-widget.c (combo_box_validate):
9162         * glyphs-widget.c (widget_instantiate):
9163         * glyphs-widget.c (syms_of_glyphs_widget):
9164         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9165         * glyphs-widget.c (image_instantiator_combo_box):
9166         * glyphs-widget.c (image_instantiator_scrollbar):
9167         * glyphs-widget.c (image_instantiator_tab_control):
9168         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9169         (2).
9170         support (unimplemented) keyword initial-focus.
9171         reindent long macros.
9172
9173         * glyphs-x.c (x_redisplay_widget):
9174         * glyphs-x.c (x_button_instantiate):
9175         * glyphs-x.c (x_button_redisplay):
9176         * glyphs-x.c (x_progress_gauge_instantiate):
9177         * glyphs-x.c (x_edit_field_instantiate):
9178         * glyphs-x.c (x_combo_box_instantiate):
9179         * glyphs-x.c (x_tab_control_instantiate):
9180         * glyphs-x.c (x_label_instantiate):
9181         * gui-x.c:
9182         * gui-x.c (button_item_to_widget_value):
9183         * gui-x.c (gui_items_to_widget_values_1):
9184         * gui-x.c (gui_item_children_to_widget_values):
9185         * gui-x.c (gui_items_to_widget_values):
9186         * gui-x.h:
9187         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9188         add new flag to gui-parsing routines to indicate whether
9189         accelerator specs should be supported.
9190
9191         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9192
9193         * glyphs.h (struct Lisp_Image_Instance):
9194         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9195         add initial-focus flag.
9196
9197         * gui.c:
9198         * gui.c (syms_of_gui):
9199         * gui.c (vars_of_gui):
9200         clean up menu-no-selection-hook.
9201
9202         * gui.h:
9203         support delete-dialog-box-hook.
9204
9205         * lread.c (Fload_internal):
9206         * lread.c (locate_file_in_directory_mapper):
9207         (1).
9208
9209         * lrecord.h:
9210         * lrecord.h (struct toolbar_button):
9211         * lrecord.h (syms_of_toolbar):
9212         document how to create a new object.
9213
9214         * menubar-msw.c (mswindows_char_is_accelerator):
9215         may be called on frames w/o menus.
9216
9217         * menubar.c (vars_of_menubar):
9218         clean up :filter docs.
9219
9220         * nt.c (readdir):
9221         * ntproc.c:
9222         (1).
9223
9224         * process-nt.c:
9225         * process-nt.c (validate_signal_number):
9226         * process-nt.c (signal_cannot_launch):
9227         * process-nt.c (nt_create_process):
9228         * process-nt.c (nt_send_process):
9229         * process-nt.c (nt_kill_child_process):
9230         * process-nt.c (nt_open_network_stream):
9231         * process-nt.c (syms_of_process_nt):
9232         (2).
9233         delete quote-handling.  call new lisp code that does it better.
9234
9235         * process-unix.c (connect_to_file_descriptor):
9236         * process-unix.c (allocate_pty):
9237         * process-unix.c (unix_send_process):
9238         * process-unix.c (unix_kill_child_process):
9239         * process-unix.c (unix_open_network_stream):
9240         * process-unix.c (unix_open_multicast_group):
9241         (1). (2).
9242
9243         * process.c:
9244         * process.c (Fstart_process_internal):
9245         (2).  need to canonicalize process path even if absolute.
9246
9247         * select-msw.c (symbol_to_ms_cf):
9248         * select-msw.c (ms_cf_to_symbol):
9249         * select-msw.c (cf_is_autofreed):
9250         * select-msw.c (mswindows_destroy_selection):
9251         * select.c:
9252         * select.c (syms_of_select):
9253         * select.h:
9254         support dibv5, fix bugs. (from Mike Alexander)
9255
9256         * select.c (Fget_selection_internal):
9257         * select.c (select_convert_out):
9258
9259         * sysdep.c:
9260         * sysdep.c (xemacs_stat):
9261         renamed.
9262
9263         * sysdep.c (mkdir):
9264         * sysdep.c (rmdir):
9265         but keep original stat() here because we provide encapsulation
9266         around these funs.
9267
9268         * sysfile.h:
9269         * sysfile.h (fstat):
9270         remove stat garbage.
9271
9272         * syswindows.h:
9273         fix X/MSW conflict.
9274         don't include tchar.h.  it's inappropriate because it makes
9275         compile-time distinctions when we want runtime distinctions.
9276         (we provide our own tchar replacements)
9277
9278         * toolbar.c:
9279         use default object printer for toolbar-button.
9280
9281         * unexcw.c:
9282         make sure we don't encapsulate.
9283
9284         * window.c (vars_of_window):
9285         emphasize that temp-buffer-show-hook is obsolete.
9286
9287 2000-08-05  Martin Buchholz  <martin@xemacs.org>
9288
9289         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
9290         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
9291
9292         * events.c (Fevent_timestamp_lessp):
9293         Not 64-bit clean.  Use EMACS_INT, not int.
9294
9295 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
9296
9297         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
9298         unsigned int and changed the last enum to
9299         lrecord_type_last_built_in_type.
9300         (lrecord_implementations_table): changed prototype to know how
9301         long the array is supposed to be.
9302         (lrecord_type_count): new unsigned int to keep track of the
9303         current number of lisp lrecord types.
9304         (DEFINE_EXTERNAL_LRECORD):
9305         (DECLARE_EXTERNAL_LRECORD): Added these two for external
9306         dynamic-modules to declare new lisp types. They are the same
9307         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
9308         int for each new type, and increment lrecord_type_count by 1.
9309
9310         * alloc.c (lrecord_implementations_table): Changed to reference
9311         lrecord_type_last_built_in_type for the size of the array.
9312         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
9313
9314 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9315
9316         * glyphs.h (check_valid_item_list): Renamed from
9317         check_valid_item_list_1.
9318
9319 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
9320
9321         * select.c (Qselect_coerce): New.
9322         * select.c (Vselection_coercion_alist): New.
9323         * select.c (syms_of_select): Declare.
9324         * select.c (get-selection-internal): Use it.
9325         Use the new select-coerce functionality.
9326
9327         * select.c (select_coerce): New.
9328         * select.h (select_coerce): Declare.
9329         New function to coerce one type of data into another.
9330
9331 2000-08-03  Martin Buchholz  <martin@xemacs.org>
9332
9333         * callproc.c (Fcall_process_internal):
9334         (Fcall_process_internal):
9335         * process-unix.c (unix_create_process):
9336         Save and restore the value of errno, so that error messages are accurate.
9337
9338 2000-08-01  Martin Buchholz  <martin@xemacs.org>
9339
9340         * elhash.c (print_hash_table):
9341         Fix printing of hash tables to also use `key-and-value' instead of `t'.
9342         Prettify docstrings and indentation.
9343
9344 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9345
9346         * window.c (Fwindow_pixel_edges): Subtract frame border and
9347         gutter size.
9348
9349 2000-07-31  Andy Piper  <andy@xemacs.org>
9350
9351         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
9352         will acknowledge the change.
9353
9354         * glyphs.h: declare tab_control_order_only_changed.
9355
9356         * glyphs-x.c (x_tab_control_redisplay): use
9357         tab_control_order_only_changed.
9358
9359         * glyphs-widget.c (tab_control_order_only_changed): new function.
9360
9361         * glyphs-msw.c (mswindows_tab_control_redisplay): use
9362         tab_control_order_only_changed.
9363
9364         * gui.c (gui_item_equal_sans_selected): new function.
9365         (gui_item_equal): use it.
9366
9367         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
9368         :properties in favor of :items..
9369
9370         * glyphs-widget.c (check_valid_item_list): rename from
9371         check_valid_item_list_1.
9372         (check_valid_item_list_1): renamed.
9373         (combo_box_validate): deprecate :properties in favor of :items.
9374         (widget_instantiate): ditto.
9375         (tab_control_update): ditto.
9376         (image_instantiator_combo_box): ditto.
9377         (image_instantiator_tree_view): ditto.
9378         (image_instantiator_tab_control): ditto.
9379         (layout_post_instantiate): remove dead code.
9380
9381         * print.c (debug_print_no_newline): only write to debugger if in
9382         WIN32_NATIVE.
9383
9384         * elhash.c (Fmake_hash_table): update doc string.
9385
9386         * event-msw.c (mswindows_wnd_proc): don't allow processing of
9387         messages whilst in GC. This at least stops XEmacs crashing but has
9388         the potential for wierd behaviour.
9389
9390 2000-07-31  Martin Buchholz  <martin@xemacs.org>
9391
9392         * config.h.in:
9393         Make existence of s&m files optional.
9394
9395         * s/bsd386.h: Remove HAVE_GETLOADAVG.
9396         * s/freebsd.h: Remove HAVE_GETLOADAVG.
9397         * s/gnu.h: Remove HAVE_GETLOADAVG.
9398         * s/netbsd.h: Remove HAVE_GETLOADAVG.
9399         * s/sol2.h: Remove HAVE_GETLOADAVG.
9400         * lisp.h: Remove getloadavg() declaration.
9401         * fns.c:
9402         Include <sys/loadavg.h> if available.
9403         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
9404         * config.h.in:  Group together getloadavg()-related macros.
9405         Use only configure-time tests to detect getloadavg().
9406
9407 2000-07-30  Martin Buchholz  <martin@xemacs.org>
9408
9409         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
9410
9411 2000-07-25  Andy Piper  <andy@xemacs.org>
9412
9413         * syswindows.h: add tchar.h for native builds.
9414
9415         * frame.c (syms_of_frame): remove set-glyph-image.
9416
9417         * general-slots.h: add Qset_glyph_image.
9418
9419         * glyphs-widget.c (layout_update): add domain arg to
9420         set-glyph-image.
9421         (syms_of_glyphs_widget): remove set-glyph-image.
9422
9423 2000-07-23  Ben Wing  <ben@xemacs.org>
9424
9425         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
9426         Vpopup_frame_list.
9427
9428 2000-07-22  Andy Piper  <andy@xemacs.org>
9429
9430         * symsinit.h: add syms_of_win32().
9431
9432         * gui-msw.c (syms_of_gui_mswindows): remove
9433         Fmswindows_shell_execute.
9434         (Fmswindows_shell_execute): moved to win32.c.
9435
9436         * emacs.c (main_1): add syms_of_win32 ().
9437
9438         * win32.c (init_potentially_nonexistent_functions): rewrite in
9439         compiler-friendly terms.
9440         (Fmswindows_shell_execute): move here from gui-msw.c.
9441         (syms_of_win32): new.
9442
9443         * device-msw.c (Fmswindows_printer_list): clean up args to
9444         EnumPrinters.
9445         Don't include tchar under cygwin or mingw.
9446         (msprinter_default_printer): make cygwin-friendly.
9447
9448 2000-07-21  Andy Piper  <andy@xemacs.org>
9449
9450         * glyphs-widget.c (image_instantiator_tree_view): use tab
9451         control's update function.
9452         (layout_property): new function. Retrieve items.
9453
9454         * glyphs-msw.c (mswindows_tree_view_redisplay): new
9455         function. Re-populate the tree view from the pending items.
9456
9457         * glyphs.c (instantiate_image_instantiator): Make sure the domain
9458         is designated the parent if the domain is an image instance. This
9459         is needed so that dirtiness can be cascade up the hierarchy and
9460         thus for layout children to be redisplayed correctly.
9461         (allocate_image_instance): rename glyph -> parent.
9462
9463         * redisplay.h: change redisplay_output_layout signature.
9464
9465         * redisplay-msw.c (mswindows_output_display_block): use domain
9466         arg.
9467
9468         * redisplay-x.c (x_output_display_block): use domain arg.
9469
9470 2000-07-10  Andy Piper  <andy@xemacs.org>
9471
9472         * window.c (Fset_window_configuration): add comment.
9473
9474         * redisplay-output.c (compare_runes):
9475         (redisplay_output_subwindow): redisplay rather than update subwindow.
9476         (redisplay_output_layout): ditto.
9477
9478         * redisplay-msw.c (mswindows_frame_output_end):
9479         (mswindows_frame_output_end): make defer window pos optional.
9480
9481         * lisp.h: add Flast.
9482
9483         * glyphs.h (struct image_instantiator_methods): add dest_mask top
9484         normalize method. Change update method to be for changed
9485         instantiators. Add redisplay method. Change signature of layout
9486         method.
9487         (struct Lisp_Image_Instance): add instantiator.
9488         (IMAGE_INSTANCE_INSTANTIATOR): new.
9489         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
9490         (XIMAGE_INSTANCE_INSTANTIATOR): new.
9491         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
9492
9493         * glyphs.c:
9494         (find_instantiator_differences): new function.
9495         (Fset_instantiator_property): new convenience function.
9496         (check_image_instance_structure): strictly check for vector
9497         instantiators.
9498         (normalize_image_instantiator): make non-static.
9499         (instantiate_image_instantiator): pass on dest_mask and use new
9500         signatures for image_instance_layout and friends.
9501         (mark_image_instance): mark the instantiator. Mark the subwindow
9502         face not the widget face.
9503         (image_instance_equal): add instantiator.
9504         (image_instance_hash): ditto.
9505         (allocate_image_instance): ditto.
9506         (Fset_image_instance_property): removed.
9507         (Fimage_instance_file_name): ditto.
9508         (Fcolorize_image_instance): ditto.
9509         (image_instance_layout): add offsets to be set.
9510         (update_image_instance): new function. update an image instance
9511         from its changed instantiator.
9512         (inherit_normalize): add dest_mask.
9513         (xbm_normalize): ditto.
9514         (xface_normalize): ditto.
9515         (xpm_normalize): ditto.
9516         (text_update): set_property -> update.
9517         (image_instantiate): use the glyph identity as a hash key, not the
9518         instantiator.
9519         (glyph_width): use new image_instance_layout signature.
9520         (glyph_ascent): ditto.
9521         (glyph_descent): ditto.
9522         (glyph_height): ditto.
9523         (glyph_query_geometry): ressurrect.
9524         (glyph_layout): ditto.
9525         (redisplay_subwindow): update -> redisplay.
9526         (syms_of_glyphs): add Fset_instantiator_property.
9527         (image_instantiator_format_create): set_property -> update.
9528
9529         * glyphs-x.c:
9530         (autodetect_normalize): add dest_maks to signature.
9531         (x_redisplay_subwindow): update -> redisplay.
9532         (x_redisplay_widget): ditto.
9533         (x_button_redisplay): ditto.
9534         (x_progress_gauge_redisplay): ditto.
9535         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
9536         stacking order.
9537         (console_type_create_glyphs_x): update -> redisplay.
9538         (image_instantiator_format_create_glyphs_x): ditto.
9539
9540         * glyphs-widget.c:
9541         (check_valid_instantiator): disallow glyphs in the instantiator,
9542         they must now be vectors.
9543         (check_valid_instantiator_list): ditto.
9544         (glyph_instantiator_to_glyph): use internal symbol rather than
9545         intern.
9546         (widget_update): renamed from widget_set_property. Call cascaded
9547         update methods.
9548         (redisplay_widget): renamed from update_widget.
9549         (widget_layout): image_instance_layout now takes position as well
9550         as size.
9551         (widget_normalize): ditto.
9552         (widget_instantiate): ditto.
9553         (tab_control_query_geometry) ditto.:
9554         (tab_control_update): renamed from tab_control_set_property.
9555         (progress_gauge_update): set_property -> update.
9556         (layout_normalize): rewrite so that child instantiators are
9557         normalized also.
9558         (layout_update): new function. Create glyphs from the normalized
9559         children and cope with any other layout keywords. We do not
9560         instantiate children here that will be take care of by
9561         redisplay_output_layout.
9562         (layout_instantiate): call layout_update and not much else.
9563         (layout_post_instantiate): not sure whether this is needed
9564         anymore.
9565         (layout_query_geometry): query glyph geometry rather than
9566         image_instance geometry.
9567         (layout_layout): set offsets from pass in parameters. Use glyph
9568         geometry and layout functions rather than image instance ones.
9569         (native_layout_layout): ditto.
9570         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
9571         (image_instantiator_widget): set_property -> update.
9572         (image_instantiator_buttons): ditto.
9573         (image_instantiator_progress_guage): ditto.
9574         (image_instantiator_tab_control): ditto.
9575         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
9576         (image_instantiator_layout): add update method.
9577
9578         * glyphs-msw.c (bmp_normalize):
9579         (mswindows_resource_normalize): add dest_mask so that it can be
9580         proprogated by layout_normalize.
9581         (begin_defer_window_pos): make optional because it may not be the
9582         right thing to do and it introduces differences with X.
9583         (mswindows_unmap_subwindow): ditto.
9584         (mswindows_map_subwindow): ditto.
9585         (mswindows_redisplay_subwindow): renamed from
9586         mswindows_update_subwindow.
9587         (mswindows_redisplay_widget): ditto.
9588         (mswindows_button_redisplay): renamed from
9589         mswindows_button_update. Update is now what the instantiation
9590         function does for a changed instantiator.
9591         (mswindows_progress_gauge_instantiate): set the progress value
9592         here if appropriate.
9593         (mswindows_tab_control_redisplay): cope with re-ordering of the
9594         members of the tab widget by simply selecting the new top
9595         widget. This makes things appear ok if you click on a tab.
9596         (mswindows_combo_box_instantiate): image_instance_layout now takes
9597         position as well as size.
9598         (mswindows_progress_gauge_redisplay): renamed from
9599         mswindows_progress_gauge_update.
9600         (console_type_create_glyphs_mswindows): fix update -> redisplay.
9601         (image_instantiator_format_create_glyphs_mswindows): ditto.
9602
9603         * glyphs-eimage.c (jpeg_normalize):
9604         (gif_normalize):
9605         (png_normalize):
9606         (tiff_normalize): add dest_mask so that it can be proprogated by
9607         layout_normalize.
9608
9609         * elhash.c:
9610         (print_hash_table):
9611         (hash_table_weakness_validate):
9612         (decode_hash_table_weakness):
9613         (Fhash_table_weakness):
9614         (Fhash_table_type):
9615         (syms_of_elhash): use Ben's naming scheme for hashtable types..
9616
9617         * console.h (struct console_methods): move update_* to
9618         redisplay_*.
9619
9620 2000-07-20  Ben Wing  <ben@xemacs.org>
9621
9622         * *.[ch] (XSETOBJ): remove unused middle argument.
9623         lisp-disunion.h: correct wrap_object() to one argument.
9624
9625 2000-07-15  Ben Wing  <ben@xemacs.org>
9626
9627         * s/cygwin32.h:
9628         * s/cygwin32.h (CYGWIN_CONV_PATH):
9629         Add missing logb prototype for v1.1.
9630         Use post-b20 names and alias to pre-b20 names when pre-b20.
9631
9632         * s/windowsnt.h: [5].
9633
9634 2000-07-15  Ben Wing  <ben@xemacs.org>
9635
9636         * Makefile.in.in (x_objs):
9637         * Makefile.in.in (sheap_objs):
9638         * Makefile.in.in (objs):
9639         added win32.o, cosmetic cleanups.
9640
9641         * alloc.c (Fmake_byte_code):
9642         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
9643         etc. macros which declare their own args now.
9644
9645         * alloc.c (syms_of_alloc):
9646         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
9647
9648         * buffer.c:
9649         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
9650
9651         * buffer.c (Fget_file_buffer):
9652         Fixed GCPRO problem.
9653
9654         * buffer.c (get_truename_buffer):
9655         Fixed comment about GC checking.
9656
9657         * buffer.c (syms_of_buffer):
9658         Undeclared those dedicated frame funs.
9659         [2].
9660
9661         * buffer.h:
9662         Define convenience macros for internal/external conversions.
9663         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
9664         and Qenvironment_variable_encoding for cleaner code.
9665
9666         * bufslots.h:
9667         Remove dedicated-frame; in lisp.
9668
9669         * bytecode.c (funcall_compiled_function):
9670         [1].
9671
9672         * bytecode.c (syms_of_bytecode):
9673         [2].
9674
9675         * console-msw.c:
9676         * console-msw.c (mswindows_show_console): Rewrote.
9677
9678         * console-msw.c (Fmswindows_debugging_output): New.
9679         Sends to OutputDebugString (special MSWin debugger interface).
9680
9681         * console-msw.c (Fmswindows_message_box):
9682         Fixed stupid bugs so it works when called from kill-emacs.
9683
9684         * console-msw.c (syms_of_console_mswindows):
9685         Declare Fmswindows_debugging_output.
9686
9687         * console-msw.h:
9688         New MSWin prototypes.
9689
9690         * console-msw.h (struct mswindows_frame):
9691         New entry last-click-mods for improved button-modifier support.
9692
9693         * console-msw.h (FRAME_MSWINDOWS_POPUP):
9694         New struct entry `popup' with corresponding accessor.
9695
9696         * console-x.c:
9697         * console-x.c (split_up_display_spec):
9698         * console-x.c (get_display_arg_connection):
9699         * console-x.c (x_semi_canonicalize_console_connection):
9700         * console-x.c (x_canonicalize_device_connection):
9701         [[[6]]]: Change char to more specific type.
9702         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
9703
9704         * console-x.c (x_semi_canonicalize_console_connection):
9705         * console-x.c (x_canonicalize_device_connection):
9706         [[[9]]]: Fix up error signalling to use new structured error system.
9707
9708         * console-x.h:
9709         [[[4]]]: Define codesys aliases:
9710         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
9711         Qx_color_name_encoding, Qx_display_name_encoding.
9712
9713         * console.h (struct console_methods):
9714         New method make_dialog_box_internal supersedes older
9715         popup_dialog_box method.
9716
9717         * data.c:
9718         Define many new errors, part of new structured errors.
9719
9720         * data.c (init_errors_once_early):
9721         * data.c (syms_of_data):
9722         [2].
9723
9724         * device-msw.c (mswindows_init_device):
9725         [[[5]]]: Cleanup to support NT 3.51.
9726
9727         * device-msw.c (decode_devmode): Cleanup.
9728
9729         * device-msw.c (mswindows_handle_print_setup_dialog_box):
9730         * device-msw.c (mswindows_handle_print_dialog_box):
9731         * device-msw.c (mswindows_handle_page_setup_dialog_box):
9732         * device-msw.c (syms_of_device_mswindows):
9733         Delete the dialog box primitives recently introduced by Kirill and
9734         instead interface to general dialog box interface.
9735
9736         * device-x.c:
9737         * device-x.c (compute_x_app_name):
9738         * device-x.c (x_init_device):
9739         * device-x.c (Fx_valid_keysym_name_p):
9740         * device-x.c (Fx_set_font_path):
9741         [6].
9742         [7].
9743
9744         * device.h (wrap_device): New.
9745         First of its kind; meant to replace XSETDEVICE.
9746
9747         * dialog-msw.c: Many file-dialog symbols.
9748
9749         * dialog-msw.c (mswindows_register_popup_frame): New.
9750         * dialog-msw.c (mswindows_is_dialog_msg): New.
9751         For supporting kbd traversal in dialog boxes.
9752
9753         * dialog-msw.c (dialog_proc):
9754         Support hitting ESC in dialogs.
9755
9756         * dialog-msw.c (struct):
9757         Common dialog box errors.
9758
9759         * dialog-msw.c (handle_file_dialog_box): New.
9760         Add file dialog code.
9761
9762         * dialog-msw.c (handle_question_dialog_box):
9763         Redo existing code to support new question dialog syntax.
9764
9765         * dialog-msw.c (console_type_create_dialog_mswindows):
9766         We support new dialog console method.
9767
9768         * dialog-msw.c (syms_of_dialog_mswindows):
9769         * dialog-msw.c (vars_of_dialog_mswindows):
9770         New file dialog symbols, vars.
9771
9772         * dialog-x.c:
9773         * dialog-x.c (maybe_run_dbox_text_callback):
9774         * dialog-x.c (dbox_descriptor_to_widget_value):
9775         * dialog-x.c (x_make_dialog_box_internal):
9776         * dialog-x.c (console_type_create_dialog_x):
9777         Mule-ize entire file.
9778         Redo to support question dialog syntax.
9779         [6].
9780
9781         * dialog.c:
9782         * dialog.c (Fmake_dialog_box_internal):
9783         * dialog.c (syms_of_dialog):
9784         Kill old popup-dialog-box, replace with new primitive.
9785         Just call device method or signal error.
9786
9787         * eldap.c (Fldap_open):
9788         * eldap.c (Fldap_search_basic):
9789         * eldap.c (Fldap_add):
9790         * eldap.c (Fldap_modify):
9791         [1].
9792         [7].
9793
9794         * emacs.c:
9795         * emacs.c (make_arg_list_1):
9796         * emacs.c (make_arg_list):
9797         Mule-ize call to dll_init().
9798         [6].
9799         [8].
9800
9801         * emacs.c (make_argc_argv):
9802         * emacs.c (free_argc_argv):
9803         * emacs.c (init_cmdargs):
9804         * emacs.c (main_1):
9805         * emacs.c (Fkill_emacs):
9806         * emacs.c (Fdump_emacs):
9807         Update comments about what can be used in syms_* etc.
9808         Call init_win32() when necessary.
9809         Fix up MS Win dialog box in kill-buffer to actually work right.
9810         [7].
9811
9812         * eval.c:
9813         * eval.c (For):
9814         * eval.c (Fand):
9815         * eval.c (Fprogn):
9816         * eval.c (Fprog1):
9817         * eval.c (Fprog2):
9818         * eval.c (FletX):
9819         * eval.c (Flet):
9820         * eval.c (condition_case_3):
9821         * eval.c (Feval):
9822         * eval.c (function_argcount):
9823         * eval.c (funcall_lambda):
9824         [1].
9825
9826         * eval.c (type_error): New.
9827         * eval.c (maybe_type_error): New.
9828         * eval.c (continuable_type_error): New.
9829         * eval.c (maybe_continuable_type_error): New.
9830         * eval.c (type_error_with_frob): New.
9831         * eval.c (maybe_type_error_with_frob): New.
9832         * eval.c (continuable_type_error_with_frob): New.
9833         * eval.c (maybe_continuable_type_error_with_frob): New.
9834         New functions for use with structured errors.
9835
9836         * event-Xt.c:
9837         * event-Xt.c (x_event_to_emacs_event):
9838         Buttons are now modifiers too.
9839
9840         * event-Xt.c (emacs_Xt_current_event_timestamp):
9841         Implement new event method.
9842         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
9843
9844         * event-msw.c:
9845         * event-msw.c (ntpipe_shove_writer): [5].
9846         * event-msw.c (mswindows_enqueue_mouse_button_event):
9847         * event-msw.c (mswindows_drain_windows_queue):
9848         * event-msw.c (mswindows_wnd_proc): [7].
9849         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
9850         * event-msw.c (mswindows_modifier_state):
9851         Throughout: support new button modifiers.
9852
9853         * event-msw.c (emacs_mswindows_current_event_timestamp):
9854         Implement new event method.
9855         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
9856
9857         * event-stream.c:
9858         * event-stream.c (event_stream_current_event_timestamp): New.
9859         * event-stream.c (maybe_kbd_translate): New functionality.
9860         * event-stream.c (vars_of_event_stream):
9861         Document new kbd-translate-table functionality.
9862
9863         * event-stream.c (Fcurrent_event_timestamp): New.
9864         New primitive for use in fabricated events.
9865         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
9866
9867         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
9868
9869         * events.c:
9870         * events.c (Fmake_event):
9871         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
9872         [1].
9873         [9].
9874
9875         * events.c (format_event_object): fix gcc warnings.
9876
9877         * events.c (Fevent_timestamp): Document new primitives.
9878
9879         * events.c (TIMESTAMP_HALFSPACE): New.
9880
9881         * events.c (Fevent_timestamp_lessp): New.  New primitive for
9882         comparing timestamps correctly (half-space algorithm).
9883
9884         * events.c (Fevent_modifier_bits): Doc fix.
9885
9886         * events.c (Fevent_modifiers): Major doc addition.
9887         * events.c (event_x_y_pixel_internal): Typo fix.
9888         * events.c (syms_of_events): Declare new primitives.
9889
9890         * events.h:
9891         Update long comment for button modifiers, timestamps.
9892
9893         * events.h (struct event_stream):
9894         New current_event_timestamp method.
9895
9896         * extents.c:
9897         * extents.c (extent_in_region_p):
9898         * extents.c (decode_extent):
9899         * extents.c (Fset_extent_parent):
9900         * extents.c (decode_map_extents_flags):
9901         Fix gcc warnings.
9902         [9].
9903
9904         * extents.c (struct extent_at_arg):
9905         * extents.c (decode_extent_at_flag):
9906         * extents.c (extent_at_mapper):
9907         * extents.c (extent_at_bytind):
9908         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
9909         * extents.c (Fextents_at): New primitive. [9].
9910         * extents.c (symbol_to_glyph_layout): [9].
9911         Support new primitive `extents-at'.
9912
9913
9914         * extents.c (get_text_property_bytind):
9915         extent_at_bytind has another arg.
9916         [9].
9917
9918         * extents.c (syms_of_extents): New primitive.
9919
9920         * file-coding.c (Fmake_coding_system): [1].
9921         * file-coding.c (subsidiary_coding_system): fix gcc warning
9922         * file-coding.c (syms_of_file_coding): [2].
9923
9924         * fileio.c (Fexpand_file_name):
9925         * fileio.c (Fsysnetunam):
9926         * fileio.c (Ffile_exists_p):
9927         * fileio.c (Ffile_executable_p):
9928         * fileio.c (Fverify_visited_file_modtime):
9929         Clean up GCPROing.
9930
9931         * fileio.c (syms_of_fileio): [2].
9932
9933         * filelock.c (lock_file_1):
9934         * filelock.c (current_lock_owner):
9935         * filelock.c (lock_if_free):
9936         * filelock.c (lock_file):
9937         * filelock.c (unlock_file):
9938         Clean up GCPROing.
9939
9940         * fns.c (concat): Fix gcc warning.
9941
9942         * fns.c (Fmember):
9943         * fns.c (Fold_member):
9944         * fns.c (Fmemq):
9945         * fns.c (Fold_memq):
9946         * fns.c (memq_no_quit):
9947         * fns.c (Fassoc):
9948         * fns.c (Fold_assoc):
9949         * fns.c (Fassq):
9950         * fns.c (Fold_assq):
9951         * fns.c (assq_no_quit):
9952         * fns.c (Frassoc):
9953         * fns.c (Fold_rassoc):
9954         * fns.c (Frassq):
9955         * fns.c (Fold_rassq):
9956         * fns.c (rassq_no_quit):
9957         * fns.c (Fdelete):
9958         * fns.c (Fold_delete):
9959         * fns.c (Fdelq):
9960         * fns.c (Fold_delq):
9961         * fns.c (delq_no_quit):
9962         * fns.c (Fremassoc):
9963         * fns.c (Fremassq):
9964         * fns.c (remassq_no_quit):
9965         * fns.c (Fremrassoc):
9966         * fns.c (Fremrassq):
9967         * fns.c (remrassq_no_quit):
9968         * fns.c (Freverse):
9969         * fns.c (mapcar1):
9970         [1].
9971
9972         * frame-msw.c (mswindows_init_frame_1):
9973         * frame-msw.c (mswindows_delete_frame):
9974         Register popups with dialog code so keyboard traversing works.
9975
9976         * frame-tty.c (tty_raise_frame_no_select): [1].
9977
9978         * frame-x.c:
9979         * frame-x.c (x_set_frame_text_value):
9980         * frame-x.c (x_set_frame_properties):
9981         * frame-x.c (x_create_widgets):
9982         [7].
9983
9984         * frame.c:
9985         * frame.c (Fmouse_pixel_position): Minor doc fixes.
9986
9987         * frame.h (wrap_frame): New.
9988         Macro like wrap_device.
9989
9990         * general.c:
9991         * general.c (SYMBOL):
9992         * general.c (syms_of_general):
9993         Major reorg.  This is now just a wrapper and symbols themselves
9994         are listed in general-slots.h.
9995
9996         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
9997         * glyphs-msw.c (mswindows_resource_instantiate): [5].
9998
9999         * glyphs-msw.c (mswindows_native_layout_instantiate):
10000         Add DS_CONTROL so keyboard traversal will work.
10001
10002         * glyphs-widget.c:
10003         * glyphs-widget.c (syms_of_glyphs_widget):
10004         Move some symbols to general-slots.h.
10005
10006         * glyphs-x.c:
10007         * glyphs-x.c (xbm_instantiate_1):
10008         * glyphs-x.c (x_xbm_instantiate):
10009         * glyphs-x.c (x_xface_instantiate):
10010         * glyphs-x.c (autodetect_instantiate):
10011         * glyphs-x.c (cursor_font_instantiate):
10012         * glyphs-x.c (x_update_widget):
10013         * glyphs-x.c (x_widget_instantiate):
10014         * glyphs.c (bitmap_to_lisp_data):
10015         * glyphs.c (pixmap_to_lisp_data):
10016         [7].
10017
10018         * glyphs.c (syms_of_glyphs):
10019         [2].
10020
10021         * gui-x.c:
10022         * gui-x.c (print_widget_value):
10023         * gui-x.c (menu_separator_style_and_to_external):
10024         * gui-x.c (add_accel_and_to_external):
10025         * gui-x.c (button_item_to_widget_value):
10026         * gui-x.c (gui_items_to_widget_values_1):
10027         * gui-x.c (gui_items_to_widget_values):
10028         * gui-x.c (syms_of_gui_x):
10029         * gui-x.c (vars_of_gui_x):
10030         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10031         [9].
10032
10033         * gui-x.h:
10034         Muleize, prototype changes matching gui-x.c.
10035
10036         * gui.c:
10037         * gui.c (separator_string_p):
10038         * gui.c (gui_item_add_keyval_pair):
10039         * gui.c (make_gui_item_from_keywords_internal):
10040         * gui.c (signal_too_long_error):
10041         * gui.c (parse_gui_item_tree_item):
10042         * gui.c (syms_of_gui):
10043         * gui.c (vars_of_gui):
10044         * gui.h:
10045         menu-no-selection-hook moved here (used by MSWin).
10046         Move some symbols to general-slots.h.
10047         [6].
10048         [9].
10049
10050         * insdel.c (get_buffer_pos_char):
10051         * insdel.c (get_buffer_range_char):
10052         Add GC comments.
10053
10054         * keymap.c (keymap_lookup_directly):
10055         * keymap.c (keymap_store):
10056         * keymap.c (ensure_meta_prefix_char_keymapp):
10057         * keymap.c (describe_map):
10058         * keymap.h:
10059         Support new button modifiers.
10060
10061         * lisp-disunion.h (wrap_object):
10062         * lisp-disunion.h (XSETOBJ):
10063         Rename make_obj to wrap_object.
10064
10065         * lisp-union.h:
10066         * lisp-union.h (make_int):
10067         * lisp-union.h (make_char):
10068         Support wrap_object.
10069
10070         * lisp.h:
10071         * lisp.h (LIST_LOOP):
10072         * lisp.h (EXTERNAL_LIST_LOOP):
10073         * lisp.h (LIST_LOOP_2):
10074         * lisp.h (EXTERNAL_LIST_LOOP_1):
10075         * lisp.h (EXTERNAL_LIST_LOOP_2):
10076         * lisp.h (EXTERNAL_LIST_LOOP_3):
10077         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10078         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10079         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10080         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10081         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10082         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10083         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10084         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10085         * lisp.h (struct Lisp_Symbol):
10086         * lisp.h (maybe_continuable_error_with_frob):
10087         Fix up section comments.
10088         Add new types for char to indicate usage.
10089         Delete symbols auto-generated from general-slots.h.
10090         Add prototypes for structured error functions.
10091         Add long comments describing looping macros and change interface
10092         so that lvalues are automatically declared.
10093         Add NO_DECLARE macro in case callers want to declare lvalues
10094         themselves.
10095
10096         * lread.c (read_syntax_error):
10097         * lread.c (continuable_read_syntax_error):
10098         * lread.c (read_structure):
10099         * lread.c (sequence_reader):
10100         * lread.c (read_list_conser):
10101         * lread.c (read_compiled_function):
10102         Rename syntax_error and continuable_syntax_error to avoid clash
10103         with same-named structured error functions.
10104
10105         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10106         * menubar-msw.c (populate_menu_add_item):
10107         * menubar-msw.c (populate_or_checksum_helper):
10108         [5].
10109         [9].
10110
10111         * menubar-x.c:
10112         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10113         Mule-ize whole file.
10114
10115         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10116
10117         * mule-charset.c (Fmake_charset):
10118         * mule-wnnfns.c (Fwnn_set_param):
10119         [1].
10120
10121         * ntproc.c (create_child):
10122         * ntproc.c (Fwin32_set_current_locale):
10123         Add comments portending doom.
10124
10125         * objects-msw.c:
10126         * objects-msw.c (old_font_enum_callback_2):
10127         * objects-msw.c (font_enum_callback_1):
10128         * objects-msw.c (mswindows_enumerate_fonts):
10129         [5].
10130
10131         * objects-x.c:
10132         * objects-x.c (allocate_nearest_color):
10133         * objects-x.c (x_parse_nearest_color):
10134         * objects-x.c (x_initialize_color_instance):
10135         * objects-x.c (x_print_color_instance):
10136         * objects-x.c (x_finalize_color_instance):
10137         * objects-x.c (x_valid_color_name_p):
10138         * objects-x.c (x_initialize_font_instance):
10139         * objects-x.c (x_print_font_instance):
10140         * objects-x.c (valid_x_font_name_p):
10141         * objects-x.c (truename_via_FONT_prop):
10142         * objects-x.c (truename_via_random_props):
10143         * objects-x.c (truename_via_XListFonts):
10144         * objects-x.c (x_font_truename):
10145         * objects-x.c (x_font_instance_truename):
10146         * objects-x.c (x_font_instance_properties):
10147         * objects-x.c (x_list_fonts):
10148         * objects-x.c (x_find_charset_font):
10149         Mule-ize entire file.
10150         [7].
10151
10152         * objects-x.h:
10153         Mule-verify.
10154
10155         * print.c:
10156         * print.c (std_handle_out_external):
10157         * print.c (debug_print_no_newline):
10158         * print.c (syms_of_print):
10159         Output to all debugger kinds in debug-print.
10160         Fix console-output code under MSWin to actually work.
10161
10162         * process-nt.c (send_signal):
10163         * process-nt.c (nt_create_process):
10164         Use newer Unicode macros.
10165
10166         * process-unix.c (unix_create_process):
10167         * process-unix.c (unix_canonicalize_host_name):
10168         * process-unix.c (unix_open_network_stream):
10169         [7].
10170
10171         * scrollbar-x.c:
10172         Mule-verify.
10173
10174         * search.c (syms_of_search):
10175         [2].
10176
10177         * select-msw.c (mswindows_destroy_selection):
10178         Use LIST_LOOP_2.
10179
10180         * select-x.c (symbol_to_x_atom):
10181         [7].
10182
10183         * select.c (syms_of_select):
10184         [2].
10185
10186         * sound.c (Fplay_sound_file):
10187         [7].
10188
10189         * specifier.c:
10190         * specifier.c (decode_specifier_type):
10191         * specifier.c (Fvalid_specifier_locale_type_p):
10192         * specifier.c (check_valid_locale_or_locale_type):
10193         * specifier.c (decode_locale):
10194         * specifier.c (decode_locale_type):
10195         * specifier.c (decode_locale_list):
10196         * specifier.c (check_valid_domain):
10197         * specifier.c (decode_specifier_tag_set):
10198         * specifier.c (Fcanonicalize_tag_set):
10199         * specifier.c (Fdefine_specifier_tag):
10200         * specifier.c (Fspecifier_tag_predicate):
10201         * specifier.c (check_valid_inst_list):
10202         * specifier.c (check_valid_spec_list):
10203         * specifier.c (decode_how_to_add_specification):
10204         * specifier.c (check_modifiable_specifier):
10205         * specifier.c (specifier_add_spec):
10206         * specifier.c (boolean_validate):
10207         * specifier.c (display_table_validate):
10208         [9].
10209
10210         * specifier.c (syms_of_specifier):
10211         Move some symbols to general-slots.h.
10212         [2].
10213
10214         * symbols.c:
10215         * symbols.c (Fmapatoms):
10216         * symbols.c (Fapropos_internal):
10217         Add GCPROs.
10218
10219         * symbols.c (set_default_buffer_slot_variable):
10220         * symbols.c (set_default_console_slot_variable):
10221         [1].
10222
10223         * symbols.c (defsymbol_massage_name_1):
10224         * symbols.c (defkeyword_massage_name):
10225         * symbols.c (deferror_1):
10226         * symbols.c (deferror):
10227         * symbols.c (deferror_massage_name_and_message):
10228         * symeval.h:
10229         * symeval.h (DEFSYMBOL):
10230         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10231
10232         * symbols.c (syms_of_symbols):
10233         [2].
10234
10235         * symsinit.h:
10236         * symsinit.h (init_win32): New.
10237         Also new is syms_of_dialog_mswindows.
10238
10239         * syswindows.h:
10240         Add new Unicode macros, missing Cygwin wide-char functions,
10241         convenience conversion macros for Qmswindows_tstr, macros for
10242         encapsulating required MSWin <-> Cygwin filename conversions,
10243         prototype for dynamically-extracted (not in NT 3.51) functions.
10244
10245         * toolbar-x.c:
10246         Mule-verify.
10247
10248         * tooltalk.c (Fadd_tooltalk_message_arg):
10249         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10250         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10251         [7].
10252
10253         * tooltalk.c (syms_of_tooltalk):
10254         [2].
10255
10256         * unexnt.c:
10257         * unexnt.c (unexec):
10258         Fix up headers, declaration of unexec() to be more standard.
10259
10260 2000-07-20  Martin Buchholz  <martin@xemacs.org>
10261
10262         * offix.h: Revert change to guard macros - they're used in offix.c!
10263
10264 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10265
10266         * lisp.h: Defsubred Fdelete.
10267
10268         * console-msw.h:  (msprinter_default_printer): Added.
10269
10270         * console-msw.c (msprinter_canonicalize_console_connection):
10271         (msprinter_canonicalize_device_connection): Added.
10272
10273         * device-msw.c (msprinter_default_printer):
10274         (Fmswingows_get_default_printer):
10275         (signal_enum_priner_error):
10276         (Fmswingows_printer_list): Added.
10277
10278 2000-07-19  Martin Buchholz <martin@xemacs.org>
10279
10280         * XEmacs 21.2.35 is released.
10281
10282 2000-07-19  Martin Buchholz  <martin@xemacs.org>
10283
10284         * select-x.c (x_handle_selection_request):
10285         Text selected in xemacs and pasted into xterm failed to appear.
10286         Spelling fixes and cosmetic changes.
10287
10288 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10289
10290         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
10291         XEmacs frame (fix for doubling chars in dialog boxes).
10292
10293 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10294
10295         * select.c (select_convert_in, select_convert_out):
10296         Don't call intern() every time.
10297
10298         * select.c (Qselect_convert_in, Qselect_convert_out): New.
10299         * select.c (vars_of_select): Initialise them.
10300
10301 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10302
10303         * select.c (selection-coercible-types): New.
10304
10305         * select.c (own-selection-internal):
10306         * select.c (get-selection-internal):
10307         MULE bug fix - these should default to COMPOUND_TEXT and not
10308         STRING for MULE. I think.
10309
10310         * select.c (select_convert_out): Use selection-coercible-types
10311         to find types that we can attempt to perform coercions on.
10312
10313 2000-07-18  Martin Buchholz  <martin@xemacs.org>
10314
10315         * mule-wnnfns.c:
10316         * mule-canna.c:
10317         Add coding: cookie to identify encoding.
10318
10319         * mule-canna.c (CANNA_mode_keys): make static.
10320         Use proper prototypes, even for functions of no arguments.
10321         Remove external prototype for Fding().
10322
10323         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
10324
10325         * select.c (syms_of_select): Add missing DEFSUBR.
10326
10327 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10328
10329         * select.c (get_selection_internal, own_selection_internal):
10330         Make the type default to STRING, rather than placing a nil type
10331         into Vselection_alist.
10332
10333 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10334
10335         * gpmevent.c (tty_selection_exists_p):
10336         * gpmevent.c (tty_own_selection):
10337         Updated parameter lists.
10338
10339 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
10340
10341         * select.h (selection-alist): Removed declaration.
10342
10343         * select.h (get_local_selection):
10344         * select.c (get_local_selection):
10345         Made static.
10346
10347         * select.h (convert_selection): Removed declaration.
10348         * select.c (convert_selection): Removed.
10349         This function belongs in Lisp.
10350
10351         * select.h (select_convert_in): Declare.
10352         * select.h (select_convert_out): Declare.
10353         * select.c (select_convert_in): New.
10354         * select.c (select_convert_out): New.
10355         New conversion functions for other files to call.
10356
10357         * select.h (select_notify_buffer_kill): Declare.
10358         * select.c (select_notify_buffer_kill): New.
10359         New functions that get called from kill-buffer.
10360
10361         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
10362         X-specific lisp code.
10363
10364         * select.h: Declare some of the lisp-visible functions for
10365         external use.
10366
10367         * select.c (clean_local_selection_data): Removed. This was
10368         a disgusting function, and previously should have been in
10369         select-x.c in any case. The functionality is now provided
10370         in select-convert-from-integer (select.el).
10371
10372         * select.c (available-selection-types): Fixed stupidity where
10373         INTEGER and ATOM got added twice. Also add STRING when we see an
10374         extent.
10375
10376         * select.c (get-selection-internal): Removed symbol stripping. No
10377         longer causes conversion when data comes from the internal cache.
10378
10379         * select.c (syms_of_select): Added new functions.
10380
10381         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
10382         error checking - previously this called abort!
10383
10384         * select-x.c (x_own_selection): Changed comment.
10385
10386         * select-x.c (x_handle_selection_request): Use select_convert_out.
10387         Don't mess with selection-alist; it's an internal variable of select.c.
10388
10389         * select-x.c (x_get_foreign_selection): Use select_convert_in.
10390
10391         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
10392         rather than messing with selection-alist.
10393
10394         * select-msw.c (mswindows_get_foreign_selection):
10395         Use TO_INTERNAL_FORMAT rather than hacking.
10396
10397 2000-07-14  Martin Buchholz  <martin@xemacs.org>
10398
10399         * process-unix.c (unix_open_multicast_group):
10400         (unix_open_multicast_group): Remove useless casts.
10401
10402 2000-07-13  Martin Buchholz  <martin@xemacs.org>
10403
10404         * sound.c (Fplay_sound): Fix `unused variable' warning.
10405
10406         * emacs.c (main): Use correct type for _environ on SCO5.
10407
10408 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
10409
10410         * console.h (own_selection_method):
10411         * console.h (selection_exists_p_method):
10412         * console.h (available_selection_types_method): New.
10413         * console.h (register_selection_data_type_method): New.
10414         * console.h (selection_data_type_name): New.
10415
10416         * console-msw.h (mswindows_destroy_selection): Declare it.  New
10417         function & alist to track GlobalAlloc()'d handles that need
10418         releasing when the clipboard data gets replaced or emptied.
10419
10420         * event-msw.c (mswindows_wnd_proc): Call it.
10421
10422         * lisp.h, general.c (Qappend): New symbol representing a
10423         `how-to-add' mode.
10424
10425         * select.c (own-selection-internal):
10426         * select.c (selection-exists-p):
10427         * select.c (available-selection-types): New.
10428         * select.c (register-selection-data-type): New.
10429         * select.c (selection-data-type-name): New.  New functions to deal
10430         with device-specific selection data formats.
10431         * select.c (selection-converter-out-alist): Renamed.
10432         * select.c (selection-converter-in-alist): New.
10433         * select.c (selection-appender-alist): New.  Added new alists.
10434         * select.c (syms_of_select, vars_of_select): Added new symbols &
10435         variables.
10436         * select.c (get_local_selection): Split.
10437         * select.c: Removed spurious type checking - selections may now be
10438         of any type, not just strings.
10439         * select.c (own-selection-internal):
10440
10441         * select.h, select.c (convert_selection): New. Created
10442         convert_selection() function based on get_local_selection().
10443         * select.h, select.c (QCF_*): New symbols representing mswindows
10444         clipboard formats.
10445         * select.h, select.c (Qreplace_all, Qreplace_existing): New
10446         symbols representing `how-to-add' modes.
10447
10448         * select-msw.c (x_sym_p): New.
10449         * select-msw.c (symbol_to_ms_cf): New.
10450         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
10451         symbols & clipboard formats. Can also handle string names.
10452         * select-msw.c (mswindows_own_selection):
10453         * select-msw.c (mswindows_selection_exists_p):
10454         Added `data-type' parameter. Use it.
10455         * select-msw.c (mswindows_available_selection_types): New.
10456         * select-msw.c (mswindows_register_selection_data_type): New.
10457         * select-msw.c (mswindows_selection_data_type_name): New.
10458         * select-msw.c (mswindows_own_selection):
10459         * select-msw.c (mswindows_get_foreign_selection):
10460         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
10461         * select-msw.c (console_create_select_mswindows): Added new methods.
10462         * select-msw.c (mswindows_destroy_selection): New.
10463         * select-msw.c (Vhandle_alist): New list.
10464         * select-msw.c (mswindows_own_selection):
10465
10466         * select-x.c (x_own_selection):
10467         * select-x.c (x_selection_exists_p):
10468         * select-x.c: Added some comments about maybe using new
10469         functionality.
10470         * select-x.c (x_own_selection):
10471
10472         * specifier.c: Remove definition of Qappend (now in general.c)
10473         * specifier.c (syms_of_specifier): Remove Qappend.
10474
10475 2000-07-12  Martin Buchholz  <martin@xemacs.org>
10476
10477         * config.h.in: Add socklen_t.
10478
10479         * s/decosf4-0.h: No special compiler flags needed or desired.
10480         In particular, undefine _BSD for DEC OSF 4.0.
10481
10482 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10483
10484         * redisplay-msw.c (msprinter_frame_output_end): Added.
10485         (console_type_create_redisplay_mswindows): Referred the above.
10486
10487         * frame.c (setup_frame_without_minibuffer): Do not create a
10488         default minibuffer frame on a printer device.
10489
10490         * frame-msw.c (apply_dc_geometry): Added.
10491         (msprinter_start_page):
10492         (msprinter_init_frame_3):
10493         (msprinter_eject_page): Use it.
10494
10495         * console-msw.h (struct msprinter_frame): Added pix_left and top,
10496         and removed residual duplex and orientation properties.
10497
10498 2000-07-11  Martin Buchholz  <martin@xemacs.org>
10499
10500         * eval.c (function_argcount): Work around a DEC CC compiler bug.
10501
10502         * unexalpha.c: Remove system prototypes from C sources!
10503
10504 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
10505
10506         * eval.c: Remove references to M-x edit-options in DEFUNs for
10507         `defvar' and `defconst'.
10508
10509 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10510
10511         * config.h.in: Remove SMART_INCLUDE hackery.
10512
10513         PostgreSQL hacking:
10514         * config.h.in: Don't use SMART_INCLUDE.
10515
10516         * postgresql.h: Include libpq-fe.h here.  Fix typo.
10517         * inline.c: Simply #include "postgresql.h"
10518         * postgresql.c:
10519         - Don't use SMART_INCLUDE
10520         - Use simply "const".
10521         - Use standard doc string conventions.
10522         - Use correct type for result of PQstatus.
10523
10524 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10525
10526         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
10527
10528         C++ compilation changes.
10529         * config.h.in (EXTERN_C): Define.
10530         * config.h.in (not): This is also a C++ keyword.
10531         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
10532         * cm.c: Use EXTERN_C.
10533         * redisplay-tty.c: Use EXTERN_C.
10534         * sysdep.c: Use EXTERN_C.  Remove Gould support.
10535
10536 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10537
10538         * general.c: Remove duplicate definition for Qfunction.
10539
10540 2000-07-08  Ben Wing  <ben@xemacs.org>
10541
10542         * device-msw.c (msprinter_init_device):
10543         * device-msw.c (sync_printer_with_devmode):
10544         * device-msw.c (handle_devmode_changes):
10545         * device-msw.c (print_dialog_worker):
10546         * device-msw.c (Fmsprinter_apply_settings):
10547         * device-msw.c (hash_devmode):
10548         * device-msw.c (Fmsprinter_settings_despecialize):
10549         use Qmswindows_tstr, not Qctext.
10550
10551         * vm-limit.c (check_memory_limits):
10552         avoid infinite loop printing warning messages.
10553
10554 2000-07-05  Craig Lanning  <lanning@scra.org>
10555
10556         * Makefile.in.in: Add support for including the Windows resources
10557         when building with the cygwin and mingw targets.
10558
10559         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
10560         not set or not correct.
10561         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
10562         (init_initial_directory): Don't try to use $PWD on the
10563         WIN32_NATIVE target.
10564
10565         * s\cygwin32.h:
10566         [[Add -mwindows to eliminate console window.]] not required --ben
10567         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10568         (MAIL_USE_POP): removed; now handled by configure.
10569
10570         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
10571         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
10572         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10573         (MAIL_USE_POP): removed; now handled by configure.
10574         (ENCAPSULATE_STAT): from Dan Holmsand, added.
10575         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
10576         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
10577         constant string.
10578         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
10579         up from <winsock.h> via systime.h.
10580         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
10581         (getpagesize): from Dan Holmsand, added.
10582         Added #endif which was left dangling by Ben's mega patch; added
10583         comment to help prevent this in the future.
10584
10585         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
10586
10587 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10588
10589         * console-msw.h (struct mswindows_device): Removed unnecessary
10590         cached device geometry values.
10591         Added update_tick and an accessor macro.
10592         (Lisp_Devmode): Added lrecord declaration.
10593         (struct msprinter_device): Contain devmode as a Lisp object.
10594         Added mswindows_get_selected_frame_hwnd();
10595
10596         * console.h (struct console_methods): Indentation nitpicking.
10597
10598         * device-msw.c (mswindows_init_device): Do not initialize geometry
10599         cache. Initialize update tick.
10600         (mswindows_device_system_metrics): Ask the device for its geometry.
10601         (global_free_2_maybe):
10602         (devmode_to_hglobal):
10603         (handle_printer_changes):
10604         (ensure_not_printing):
10605         (print_dialog_worker):
10606         (Fmsprinter_print_setup_dialog):
10607         (Fmsprinter_print_dialog):
10608         (plist_get_margin):
10609         (plist_set_margin):
10610         (Fmsprinter_page_setup_dialog): Added functions.
10611         (sync_printer_with_devmode):
10612         (handle_devmode_changes):
10613         (Fmsprinter_get_settings):
10614         (Fmsprinter_select_settings):
10615         (Fmsprinter_apply_settings):
10616         (allocate_devmode):
10617         (Fmsprinter_settings_copy):
10618         (Fmsprinter_settings_despecialize):
10619         (print_devmode):
10620         (finalize_devmode):
10621         (equal_devmode):
10622         (hash_devmode): Added functions
10623         (syms_of_device_mswindows): Init devmode lrecord class.
10624
10625         * device.h: Added an exfun for find-device.
10626
10627         * event-msw.c (mswindows_wnd_proc): Do not update the cached
10628         geometry; although, recreate the device compatible DC.
10629
10630         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
10631         (msprinter_init_frame_3):
10632         (msprinter_frame_property):
10633         (msprinter_internal_frame_property_p):
10634         (msprinter_frame_properties):
10635         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
10636         print job properties (will move to device settings).
10637
10638         * lisp.h: Added symbols.
10639
10640         * general.c (syms_of_general): Declared them.
10641
10642         * hash.c (string_hash): Added.
10643
10644         * lrecord.h (lrecord_type): Added devmode lrecord type.
10645
10646 2000-07-02  Mike Sperber <mike@xemacs.org>
10647
10648         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
10649         FreeBSD 4.0.
10650
10651 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
10652
10653         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
10654         integer.
10655
10656 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
10657
10658         * data.c (Fstring_to_number): Don't recognize floating point if
10659         base is not 10.
10660
10661 2000-06-22  Martin Buchholz  <martin@xemacs.org>
10662
10663         * glyphs-widget.c (tab_control_query_geometry):
10664         (widget_query_geometry):
10665         (button_query_geometry):
10666         * glyphs.c (text_query_geometry):
10667         Enforce type correctness.
10668
10669 2000-06-18  Martin Buchholz  <martin@xemacs.org>
10670
10671         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
10672         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
10673
10674 2000-06-17  Martin Buchholz  <martin@xemacs.org>
10675
10676         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
10677         conflicts with gcc's fixincluded version of FOO.h.
10678
10679         * glyphs.h (image_instance_geometry): Remove trailing `,'
10680
10681 2000-06-08  Mike Alexander  <mta@arbortext.com>
10682
10683         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
10684         (shove_thread): Don't write the same output twice
10685         (make_ntpipe_output_stream): Increase priority of shove thread
10686         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
10687         chance to run
10688         (ntpipe_shove_closer): Don't delete the pipe until we're done with
10689         it.
10690
10691 2000-06-12  Ben Wing  <ben@xemacs.org>
10692
10693         * s\mingw32.h (sigset):
10694         * s\windowsnt.h (sigset):
10695         rename msw_ to mswindows_ for consistency with general convention.
10696
10697 2000-06-12  Ben Wing  <ben@xemacs.org>
10698
10699         * console-msw.c:
10700         * console-msw.c (mswindows_get_console_hwnd):
10701         * console-msw.c (mswindows_ensure_console_allocated):
10702         * console-msw.c (mswindows_hide_console):
10703         * console-msw.c (mswindows_show_console):
10704         * console-msw.c (mswindows_ensure_console_buffered):
10705         * console-msw.c (mswindows_output_console_string):
10706         * console-msw.c (mswindows_windows9x_p):
10707         * console-msw.h:
10708         * device-msw.c (mswindows_get_workspace_coords):
10709         * device-msw.c (mswindows_device_system_metrics):
10710         * dialog-msw.c (mswindows_popup_dialog_box):
10711         * event-msw.c (mswindows_wnd_proc):
10712         * frame-msw.c (mswindows_size_frame_internal):
10713         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10714         * menubar-msw.c (displayable_menu_item):
10715         * menubar-msw.c (mswindows_char_is_accelerator):
10716         * nt.c:
10717         * nt.c (mswindows_sigset):
10718         * nt.c (mswindows_sigrelse):
10719         * nt.c (mswindows_sigpause):
10720         * nt.c (mswindows_raise):
10721         * nt.c (timer_proc):
10722         * ntproc.c:
10723         * ntproc.c (find_child_console):
10724         * ntproc.c (sys_kill):
10725         * print.c:
10726         * print.c (std_handle_out_external):
10727         * process-nt.c (find_child_console):
10728         * process-nt.c (send_signal_the_95_way):
10729         * process-nt.c (ensure_console_window_exists):
10730         * process-nt.c (nt_create_process):
10731         * syssignal.h:
10732         rename msw_ to mswindows_ for consistency with general convention.
10733
10734         * emacs.c:
10735         * dumper.c:
10736         include nt.h, not syswindows.h.
10737
10738         * nt.c (mswindows_fstat):
10739         * nt.c (mswindows_stat):
10740         prefix mswindows_ instead of attempting to directly override the
10741         library functions.  fix declarations.
10742
10743         * nt.h:
10744         include syswindows.h.  move some sysdep.h stuff here.
10745
10746         * ntheap.h:
10747         include syswindows.h, not <windows.h>.
10748
10749         * ntplay.c:
10750         clean up headers.
10751
10752         * sysdep.c:
10753         clean up headers.
10754
10755         * sysdep.c (sys_fstat):
10756         * sysdep.c (sys_stat):
10757         call mswindows versions when appropriate.
10758
10759         * sysdep.h:
10760         move mswin decls to nt.h.
10761
10762         * syswindows.h:
10763         add long comment describing appropriate use of the various windows
10764         headers.
10765
10766 2000-06-11  Ben Wing  <ben@xemacs.org>
10767
10768         * device-x.c: Correct doc string for sixth arg of x-get-resource.
10769
10770 2000-06-10  Ben Wing  <ben@xemacs.org>
10771
10772         * Makefile.in.in (release):
10773         Correction to make sure xemacs.exe always dumped when correct.
10774
10775         * alloca.c:
10776         * balloon_help.c:
10777         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
10778
10779         * buffer.c (set_buffer_internal):
10780         [[[[2]]]]: Remove HAVE_FEP code.
10781
10782         * buffer.c (init_initial_directory):
10783         [3].
10784
10785         * bytecode.c:
10786         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
10787         individual files.
10788
10789         * callproc.c:
10790         * callproc.c (call_process_cleanup):
10791         * callproc.c (Fold_call_process_internal):
10792         * callproc.c (child_setup):
10793         * callproc.c (getenv_internal):
10794         * callproc.c (init_callproc):
10795         * callproc.c (vars_of_callproc):
10796         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
10797         __CYGWIN32__ -> CYGWIN.
10798         DOS_NT -> WIN32_NATIVE.
10799         Remove MSDOS support/references, converting to WIN32_NATIVE
10800           where correct.
10801         __MINGW32__ -> MINGW.
10802         Fix windows.h includes.
10803         Remove bogus HAVE_NTGUI.
10804
10805         * config.h.in:
10806         [2].
10807
10808         * console-msw.c:
10809         mswindows_message_outputted added for use in allowing startup
10810         errors on the console to be seen.
10811
10812         * console-msw.c (msw_ensure_console_allocated):
10813         * console-msw.c (msw_output_console_string):
10814         * console-msw.c (DHEADER):
10815         * console-msw.c (DOPAQUE_DATA):
10816         * console-msw.c (DEVENT):
10817         * console-msw.c (DCONS):
10818         * console-msw.c (DCONSCDR):
10819         * console-msw.c (DSTRING):
10820         * console-msw.c (DVECTOR):
10821         * console-msw.c (DSYMBOL):
10822         * console-msw.c (DSYMNAME):
10823         Fix warnings.
10824
10825         * console-stream.c (stream_init_console):
10826         Fix text/binary problems.
10827
10828         * device-msw.c:
10829         * device-msw.c (mswindows_finish_init_device):
10830         * device-msw.c (mswindows_delete_device):
10831         [1].
10832
10833         * device.c (handle_asynch_device_change):
10834         [3].
10835
10836         * dgif_lib.c:
10837         * dgif_lib.c (DGifOpenFileName):
10838         * dgif_lib.c (DGifOpenFileHandle):
10839         * dgif_lib.c (DGifGetLine):
10840         * dgif_lib.c (DGifGetPixel):
10841         Added config.h/lisp.h, fix up includes.
10842         [1].
10843
10844         * dired-msw.c:
10845         [4].
10846
10847         * dired.c:
10848         * dired.c (file_name_completion):
10849         * dired.c (Ffile_attributes):
10850         * dired.c (syms_of_dired):
10851         [1].
10852
10853         * dumper.c:
10854         * dumper.c (pdump_file_unmap):
10855         * dumper.c (pdump_load):
10856         [1].
10857
10858         * editfns.c:
10859         * editfns.c (Ftemp_directory):
10860         * editfns.c (user_login_name):
10861         * editfns.c (Fuser_real_login_name):
10862         * editfns.c (get_home_directory):
10863         [1].
10864
10865         * elhash.c (finish_marking_weak_hash_tables):
10866         [[[[5]]]]: Fix GCC warnings.
10867
10868         * emacs.c:
10869         * emacs.c (mswindows_handle_hardware_exceptions):
10870         * emacs.c (make_arg_list_1):
10871         * emacs.c (main_1):
10872         * emacs.c (Fkill_emacs):
10873         * emacs.c (Fdump_emacs):
10874         [1].
10875         Fix problems with nested crashes, add long comment.
10876
10877         * event-Xt.c (init_event_Xt_late):
10878         [1].
10879
10880         * event-msw.c:
10881         * event-msw.c (mswindows_dde_callback):
10882         * event-msw.c (mswindows_handle_sticky_modifiers):
10883         * event-msw.c (mswindows_wnd_proc):
10884         [1].
10885         [5].
10886
10887         * events.c (character_to_event):
10888         [1].
10889
10890         * fileio.c:
10891         * fileio.c (Ffile_name_directory):
10892         * fileio.c (Ffile_name_nondirectory):
10893         * fileio.c (directory_file_name):
10894         * fileio.c (Fexpand_file_name):
10895         * fileio.c (Fsubstitute_in_file_name):
10896         * fileio.c (Ffile_name_absolute_p):
10897         * fileio.c (check_executable):
10898         * fileio.c (Ffile_readable_p):
10899         * fileio.c (Ffile_accessible_directory_p):
10900         * fileio.c (Ffile_modes):
10901         * fileio.c (Funix_sync):
10902         * fileio.c (vars_of_fileio):
10903         [1]. [4].
10904
10905         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
10906
10907         Expand getdefdir defn.
10908         Fix bogus rename() comment.
10909
10910         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
10911         to use standard XEmacs include files, e.g. sysfile.h, rather
10912         than system-specific includes.
10913
10914         * fns.c:
10915         * fns.c (Fsubseq):
10916         [5]. [6].
10917
10918         * frame.c (vars_of_frame):
10919         [1].
10920
10921         * getloadavg.c:
10922         * getloadavg.c (getloadavg):
10923         [1]. [6].
10924         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
10925         (We don't use it elsewhere in the code; just add a comment.)
10926
10927         * gif_io.c:
10928         [6].
10929         Add config.h.
10930
10931         * glyphs-msw.c:
10932         * glyphs-msw.c (mswindows_resource_instantiate):
10933         [1].
10934
10935         * glyphs-x.c (x_native_layout_instantiate):
10936         [5].
10937
10938         * gui-msw.c (Fmswindows_shell_execute):
10939         [1].
10940
10941         * insdel.c:
10942         [4].
10943
10944         * lisp.h:
10945         [4]. [5].
10946
10947         * lread.c (locate_file_in_directory_mapper):
10948         [1].
10949
10950         * lstream.c:
10951         [4].
10952
10953         * mem-limits.h:
10954         * mem-limits.h (get_lim_data):
10955         [1].
10956
10957         * menubar-msw.c:
10958         [4].
10959
10960         * ndir.h:
10961         [1].
10962
10963         * nt.c:
10964         * nt.c (getwd):
10965         * nt.c (closedir):
10966         * nt.c (rva_to_section):
10967         * nt.c (mswindows_executable_type):
10968         [1]. [6].
10969         Fix closedir() defn.
10970
10971         * nt.h:
10972         [[[[8]]]]: *_OK defs moved to sysfile.h.
10973
10974         * ntproc.c:
10975         [6]. [7].
10976
10977         * objects-x.c:
10978         [4].
10979
10980         * print.c:
10981         * print.c (std_handle_out_external):
10982         [1]. [4].
10983
10984         * process-nt.c:
10985         * process-nt.c (nt_create_process):
10986         [6].
10987         try to fix process quoting somewhat.
10988
10989         * process-unix.c (unix_create_process):
10990         [1].
10991
10992         * process.c:
10993         * process.c (vars_of_process):
10994         Add Vnull_device.
10995
10996         * process.h:
10997         [1].
10998
10999         * realpath.c:
11000         * realpath.c (xrealpath):
11001         [1].
11002
11003         * redisplay-tty.c (init_tty_for_redisplay):
11004         [3].
11005
11006         * redisplay.c:
11007         [4]. [6].
11008
11009         * scrollbar-msw.c:
11010         [4].
11011
11012         * sheap.c:
11013         * sheap.c (more_static_core):
11014         * sheap.c (report_sheap_usage):
11015         [5]. [6].
11016
11017         * signal.c:
11018         * signal.c (alarm_signal):
11019         [1]. [6].
11020
11021         * sound.c:
11022         [6].
11023
11024         * strftime.c:
11025         * strftime.c (zone_name):
11026         [1]. [5].
11027
11028         * symsinit.h (init_sunpro):
11029         [1].
11030
11031         * syscommctrl.h:
11032         commctrl.h not in Cygwin b20.1.
11033
11034         * sysdep.c:
11035         * sysdep.c (endif):
11036         * sysdep.c (sys_subshell):
11037         * sysdep.c (init_baud_rate):
11038         * sysdep.c (emacs_get_tty):
11039         * sysdep.c (emacs_set_tty):
11040         * sysdep.c (tty_init_sys_modes_on_device):
11041         * sysdep.c (init_system_name):
11042         * sysdep.c (sys_open):
11043         * sysdep.c (interruptible_open):
11044         * sysdep.c (sys_fopen):
11045         * sysdep.c (sys_mkdir):
11046         * sysdep.c (sys_rename):
11047         * sysdep.c (get_process_times_1):
11048         [1]. [6].
11049
11050         * sysdep.h:
11051         [1].
11052
11053         * sysdir.h:
11054         * sysdir.h (DIRENTRY_NONEMPTY):
11055         [1]. [6].
11056
11057         * sysdll.c (dll_init):
11058         * sysdll.h:
11059         [1].
11060
11061         * sysfile.h:
11062         [1]. [6]. [8].
11063         added text/binary defs.
11064
11065         * sysfloat.h:
11066         [1].
11067
11068         * sysproc.h:
11069         * sysproc.h (EDESTADDRREQ):
11070         * sysproc.h (poll_fds_for_input):
11071         [1]. [6].
11072
11073         * syspwd.h:
11074         [6].
11075
11076         * syssignal.h:
11077         [1].
11078
11079         * systime.h:
11080         [1]. [6].
11081
11082         * systty.h:
11083         [1].
11084
11085         * syswindows.h:
11086         [1].
11087         Always define WIN32_LEAN_AND_MEAN.
11088
11089         * unexcw.c (unexec):
11090         [5].
11091
11092         * unexec.c:
11093         * unexec.c (copy_text_and_data):
11094         * unexec.c (adjust_lnnoptrs):
11095         [1].
11096
11097         * unexnt.c:
11098         * unexnt.c (_start):
11099         [1].
11100
11101 2000-06-07  Ben Wing  <ben@xemacs.org>
11102
11103         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11104         was used only as a model.  We've long since extracted any useful
11105         logic or code out of this. (I just did an exhaustive search.)
11106
11107         * s\msdos.h: Removed.
11108
11109         * s\windows95.h: Removed.
11110
11111 2000-06-10  Ben Wing  <ben@xemacs.org>
11112
11113         * s\cygwin32.h:
11114         [1]. [5].
11115         Don't use extern with fun defs.
11116
11117         * s\mingw32.h:
11118         [1]. [7].
11119         Remove nt\inc include.
11120         Remove getdisk, getdefdir. (The former is unused, the latter
11121         expanded in fileio.h.)
11122
11123         * s\windowsnt.h:
11124         * s\windowsnt.h (WIN32_NATIVE):
11125         * s\windowsnt.h (HAVE_STRCASECMP):
11126         [1]. [7].
11127         Add long comment about preprocessor changes.
11128         Remove getdisk, getdefdir. (The former is unused, the latter
11129         expanded in fileio.h.)
11130
11131 2000-06-10  Ben Wing  <ben@xemacs.org>
11132
11133         * m\arm.h:
11134         * m\delta.h:
11135         * m\intel386.h:
11136         * m\sequent.h:
11137         * m\template.h:
11138         * m\windowsnt.h:
11139         [1].
11140         Remove bogus/unused NO_SOCK_SIGIO.
11141
11142 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11143
11144         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11145         not an Emchar.
11146
11147 2000-06-04  Mike Sperber <mike@xemacs.org>
11148
11149         * casetab.c (set_case_table): For `set-standard-case-table',
11150         actually deposit the new case tables where the rest of XEmacs can
11151         see them.
11152
11153 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11154
11155         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11156
11157 2000-06-05  Ben Wing  <ben@xemacs.org>
11158
11159         * callproc.c (child_setup): Don't do close_load_descs() under
11160         MS Windows.  Put in a comment explaining why.
11161
11162 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11163
11164         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11165         Toolkit shell" which breaks `kill-compilation' on Windows NT
11166         native, retaining STDERR handling improvements.
11167
11168 2000-06-01  Andreas Jaeger  <aj@suse.de>
11169
11170         * s/s390.h: Support for S390, based on a patch by Martin
11171         Schwidefsky <schwidefsky@de.ibm.com>.
11172
11173 2000-05-30  Andy Piper  <andy@xemacs.org>
11174
11175         * window.c (allocate_window):
11176         (make_dummy_parent):
11177         (Fset_window_configuration): use new hashtable type.
11178
11179         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11180         (struct image_instantiator_methods):
11181         (struct Lisp_Image_Instance): make instance geometry signed.
11182
11183         * glyphs.c (instantiate_image_instantiator):
11184         (image_instance_query_geometry):
11185         (image_instance_layout):
11186         (image_instance_layout):
11187         (query_string_geometry):
11188         (text_query_geometry):
11189         (image_instantiate):
11190         (image_instantiate):
11191         (cache_subwindow_instance_in_frame_maybe):
11192         (subwindow_query_geometry): make instance geometry signed.
11193
11194         * glyphs-widget.c (widget_query_geometry):
11195         (widget_layout):
11196         (button_query_geometry):
11197         (tree_view_query_geometry):
11198         (tab_control_query_geometry):
11199         (layout_query_geometry):
11200         (layout_layout):
11201         (native_layout_layout): make instance geometry signed.
11202
11203 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11204
11205         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11206         constant.
11207
11208         * general.c (syms_of_general): Add Qfull_assoc symbol.
11209
11210         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11211         correctly.
11212         (decode_weak_list_type): Decode full-assoc type.
11213         (encode_weak_list_type): Encode full-assoc type.
11214         (Fmake_weak_list): Update doc string.
11215
11216 2000-05-30  Andy Piper  <andy@xemacs.org>
11217
11218         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11219
11220         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11221         (decode_hash_table_weakness): ditto.
11222         (Fhash_table_weakness): ditto.
11223         (Fhash_table_type): ditto.
11224         (finish_marking_weak_hash_tables): ditto.
11225         (hash_table_weakness_validate): ditto.
11226         (syms_of_elhash): ditto.
11227
11228 2000-05-28  Martin Buchholz <martin@xemacs.org>
11229
11230         * XEmacs 21.2.34 is released.
11231
11232 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11233
11234         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11235         start cache.
11236         (updating_line_start_cache): Gone.
11237         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11238         generic code to force a minimum of 1 line laid out in the
11239         CMOTION_DISP case.
11240
11241 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11242
11243         * glyphs.c (instantiate_image_instantiator): Check for initialized
11244         height & width no longer special cases IMAGE_NOTHING.
11245         (nothing_instantiate): Set height and width of instance.
11246
11247 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11248
11249         * unexelf.c (unexec): Search for ".data" section.
11250         Initialize new_data2_offset from old_data_index.
11251         Remove redundant check for ElfW.
11252
11253 2000-05-23  Andy Piper  <andy@xemacs.org>
11254
11255         * glyphs.c (get_image_instantiator_governing_domain): allow more
11256         specific domains as the governing domain rather than expecting an
11257         exact match. This fixes problems with layouts.
11258
11259 2000-05-22  Andy Piper  <andy@xemacs.org>
11260
11261         * redisplay-output.c (compare_runes): check for non-images
11262
11263         * glyphs.c (set_glyph_dirty_p): ditto.
11264         (update_glyph_cachel_data): ditto.
11265
11266         * glyphs-widget.c (layout_post_instantiate): ditto.
11267         (layout_post_instantiate): ditto.
11268
11269         * event-msw.c (mswindows_wnd_proc): warning removal.
11270
11271 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
11272
11273         * s\mingw32.h: Added #undef for CLASH_DETECTION.
11274
11275         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
11276
11277         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
11278
11279         * nt.c (rva_to_section): mingw32 needs rva_to_section.
11280         (mswindows_executable_type): mingw32 now has enough headers for
11281         this to work.
11282
11283 2000-05-20  Andy Piper  <andy@xemacs.org>
11284
11285         * console-msw.c (mswindows_output_last_error): ; -> ,
11286
11287 2000-05-12  Andy Piper  <andy@xemacs.org>
11288
11289         * console-msw.c (FROB): compare ints with ints.
11290
11291 2000-05-11  Andy Piper  <andy@xemacs.org>
11292
11293         * glyphs-x.c (x_finalize_image_instance): make minimal build
11294         happy.
11295
11296 2000-05-20  Ben Wing  <ben@xemacs.org>
11297
11298         * event-Xt.c:
11299         * event-Xt.c (vars_of_event_Xt):
11300         move modifier-keys-are-sticky to event-stream.c.
11301
11302         * event-msw.c:
11303         * event-msw.c (mswindows_enqueue_mouse_button_event):
11304         * event-msw.c (key_needs_default_processing_p):
11305         * event-msw.c (XEMSW_LCONTROL):
11306         * event-msw.c (mswindows_handle_sticky_modifiers):
11307         * event-msw.c (FROB):
11308         * event-msw.c (clear_sticky_modifiers):
11309         * event-msw.c (output_modifier_keyboard_state):
11310         * event-msw.c (output_alt_keyboard_state):
11311         * event-msw.c (mswindows_wnd_proc):
11312         * event-msw.c (mswindows_modifier_state):
11313         * event-msw.c (emacs_mswindows_handle_magic_event):
11314         implement sticky modifiers.
11315
11316         * event-stream.c:
11317         * event-stream.c (vars_of_event_stream):
11318         move modifier-keys-are-sticky here.
11319
11320         * lisp.h:
11321         add CHECK_FUNCTION.
11322
11323         * rangetab.c:
11324         implement map-range-table.
11325
11326
11327 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
11328
11329         * redisplay-tty.c (reset_tty_modes):
11330         (tty_redisplay_shutdown): Adjust argument type to
11331         tty_frame_output_end.
11332
11333 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11334
11335         * eval.c (Fbacktrace): Don't output a line with only right
11336         parenthesis.
11337
11338 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
11339
11340         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
11341         (Fpq_reset_poll): Ditto.
11342
11343 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
11344
11345         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
11346
11347 2000-05-16  Ben Wing  <ben@xemacs.org>
11348
11349         * buffer.c:
11350         * buffer.c (dfc_convert_to/from_internal_format):
11351         * buffer.c (reinit_vars_of_buffer):
11352         Fix conversion functions to allow reentrancy.
11353
11354         * console-msw.c:
11355         * console-msw.c (mswindows_output_last_error):
11356         New fun, generally useful -- output a human-readable
11357         version of GetLastError() on the console.
11358
11359         * console-msw.h:
11360         * console-msw.h (struct mswindows_frame):
11361         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
11362
11363         * console-stream.c (stream_output_begin):
11364         * console-stream.c (stream_output_end):
11365         * console-stream.c (stream_output_vertical_divider):
11366         * console-stream.c (stream_clear_region):
11367         * console-stream.c (stream_flash):
11368         * console-stream.c (console_type_create_stream):
11369         Delete blank stream methods, not needed.
11370
11371         * console.h (struct console_methods):
11372         Split begin/end methods into window and frame.
11373
11374         * event-msw.c:
11375         * event-msw.c (mswindows_handle_paint):
11376         * event-msw.c (output_alt_keyboard_state):
11377         * event-msw.c (mswindows_wnd_proc):
11378         * event-msw.c (vars_of_event_mswindows):
11379         Comment about problems with ignored-expose.
11380         Define mswindows-debug-events; not really implemented.
11381
11382         * frame-msw.c (mswindows_init_frame_1):
11383         random cleanups.
11384
11385         * glyphs-msw.c:
11386         * glyphs-msw.c (begin_defer_window_pos):
11387         * glyphs-msw.c (mswindows_unmap_subwindow):
11388         * glyphs-msw.c (mswindows_map_subwindow):
11389         * glyphs-msw.c (mswindows_resize_subwindow):
11390         Use DeferWindowPos to reduce flashing when mapping/unmapping.
11391
11392         * glyphs.c (make_image_instance_1):
11393         Fix crash.
11394
11395         * gutter.c (Fredisplay_gutter_area):
11396         Use new begin/end methods.
11397
11398         * lisp.h (Dynarr_new2):
11399         New creation fun.
11400
11401         * redisplay-msw.c:
11402         * redisplay-msw.c (mswindows_frame_output_begin):
11403         * redisplay-msw.c (mswindows_frame_output_end):
11404         * redisplay-msw.c (console_type_create_redisplay_mswindows):
11405         New begin/end methods -- handle DeferWindowPos.
11406
11407         * redisplay-output.c (redisplay_move_cursor):
11408         * redisplay-output.c (redraw_cursor_in_window):
11409         * redisplay-output.c (redisplay_update_line):
11410         * redisplay-output.c (redisplay_output_window):
11411         New begin/end methods.
11412
11413         * redisplay-tty.c:
11414         * redisplay-tty.c (tty_frame_output_begin):
11415         * redisplay-tty.c (tty_frame_output_end):
11416         * redisplay-tty.c (console_type_create_redisplay_tty):
11417         New begin/end methods.
11418
11419         * redisplay-x.c:
11420         * redisplay-x.c (x_window_output_begin):
11421         * redisplay-x.c (x_window_output_end):
11422         * redisplay-x.c (console_type_create_redisplay_x):
11423         New begin/end methods.
11424
11425         * redisplay.c (redisplay_frame):
11426         * redisplay.c (Fredisplay_echo_area):
11427         New begin/end methods.
11428         use MAYBE_DEVMETH for clear_frame; it may not exist.
11429
11430         * window.h (WINDOW_XFRAME):
11431         WINDOW_XFOO macros -- get locale and decode struct pointer.
11432
11433
11434 2000-05-12  Ben Wing  <ben@xemacs.org>
11435
11436         * emacs.c:
11437         * emacs.c (ensure_no_quitting_from_now_on):
11438         * emacs.c (fatal_error_signal):
11439         * emacs.c (mswindows_handle_hardware_exceptions):
11440         * emacs.c (main):
11441         * emacs.c (Fkill_emacs):
11442         * emacs.c (shut_down_emacs):
11443         * emacs.c (assert_failed):
11444         various improvements in fatal error handling.
11445
11446         * eval.c:
11447         move preparing_for_armageddon to emacs.c.
11448
11449         * lisp.h:
11450         declare fatal_error_in_progress.
11451
11452         * print.c:
11453         * print.c (std_handle_out_external):
11454         * print.c (std_handle_out_va):
11455         * print.c (stderr_out):
11456         * print.c (stdout_out):
11457         use console under mswin when no standard output.
11458         don't do code conversion during fatal error.
11459
11460         * scrollbar.c (Fscrollbar_page_up):
11461         * scrollbar.c (Fscrollbar_page_down):
11462         fix missing else.  reindent.
11463
11464 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
11465
11466         Emergency fix.
11467
11468         * glyphs.h (GLYPH_CACHEL_DESCENT):
11469         (GLYPH_CACHEL_DESCENT):
11470         (GLYPH_CACHEL_DESCENT):
11471         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
11472         used in case these are inline functions.
11473         Use more absurd values to error check.
11474
11475         include window.h for error check functions.
11476
11477 2000-05-11  Ben Wing  <ben@xemacs.org>
11478
11479         * cmdloop.c (Freally_early_error_handler):
11480         Display message box under windows; otherwise, message will disappear
11481         before it can be viewed.
11482
11483         * console-msw.c:
11484         * console-msw.c (Fmswindows_message_box):
11485         * console-msw.c (FROB):
11486         * console-msw.c (syms_of_console_mswindows):
11487         Define new fun `mswindows-message-box'.
11488         #### I will merge this into `popup-dialog-box'; just give me
11489         a bit of time.
11490
11491         * general.c:
11492         * general.c (syms_of_general):
11493         Some new symbols used in `mswindows-message-box'.
11494
11495         * glyphs.c:
11496         * glyphs.c (Fset_image_instance_property):
11497         put warning in this fun.
11498
11499         * glyphs.h:
11500         * glyphs.h (GLYPH_CACHEL_WIDTH):
11501         * glyphs.h (GLYPH_CACHEL_ASCENT):
11502         * glyphs.h (GLYPH_CACHEL):
11503         * glyphs.h (GLYPH_CACHEL_GLYPH):
11504         define error-checking versions to try to catch a bug i've seen --
11505         redisplay gets in an infinite loop because the glyph width of the
11506         continuation glyph is 65535.
11507
11508         * lisp.h:
11509         Extern message-box stuff.
11510
11511         * window.c (allocate_window):
11512         * window.c (make_dummy_parent):
11513         * window.c (Fset_window_configuration):
11514         Use EQUAL not EQ for subwindow caches to make them work a bit
11515         better. (Something is still very broken.)
11516
11517
11518 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11519
11520         * glyphs.c (image_instantiate): Suppress gcc warnings.
11521         (Fmake_image_instance): Fix doc string.
11522         * specifier.c (Fmake_specifier): Ditto.
11523
11524 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
11525
11526         * paths.h.in (PATH_LOCK): Removed.
11527         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
11528         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
11529
11530 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
11531
11532         * fns.c (Ffeaturep): Update e-mail address in doc-string.
11533         Document (featurep '(and xemacs 21.02)).
11534
11535 2000-05-09  Ben Wing  <ben@xemacs.org>
11536
11537         * buffer.c (complex_vars_of_buffer):
11538         update modeline-format doc.
11539
11540         * device.h:
11541         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
11542
11543         * emacs.c:
11544         timeline of all released versions of Emacs, for use in creating
11545         authorship comments and in synching up.
11546
11547         * glyphs-widget.c (image_instantiator_buttons):
11548         * glyphs-widget.c (image_instantiator_edit_fields):
11549         * glyphs-widget.c (image_instantiator_combo_box):
11550         * glyphs-widget.c (image_instantiator_scrollbar):
11551         * glyphs-widget.c (image_instantiator_progress_guage):
11552         * glyphs-widget.c (image_instantiator_tree_view):
11553         * glyphs-widget.c (image_instantiator_tab_control):
11554         * glyphs-widget.c (image_instantiator_labels):
11555         * glyphs-widget.c (image_instantiator_layout):
11556         * glyphs-widget.c (image_instantiator_native_layout):
11557         rename decode_domain method to governing_domain.
11558
11559         * glyphs.c:
11560         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
11561         * glyphs.c (add_entry_to_device_ii_format_list):
11562         make sure we don't put an entry more than once into the list.
11563         * glyphs.c (check_instance_cache_mapper):
11564         *************************************************************
11565         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11566         HAVE BEEN GETTING.
11567         *************************************************************
11568         * glyphs.c (get_image_instantiator_governing_domain):
11569         clean up, expand on new concept of governing domain.
11570         * glyphs.c (instantiate_image_instantiator):
11571         * glyphs.c (allocate_image_instance):
11572         use governing_domain instead of cache_domain in naming.
11573         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
11574         * glyphs.c (make_image_instance_1):
11575         * glyphs.c (Fmake_image_instance):
11576         allow for any domain (not just device), and process the
11577         governing domain correctly.  very big doc fix.
11578         * glyphs.c (Fimage_instance_domain):
11579         new primitive, to retrieve the governing domain of an image instance.
11580         * glyphs.c (image_instantiate):
11581         use new governing_domain stuff.  this fixes a crash you could get
11582         by instantiating certain widget glyphs in frame locales. (should
11583         signal an error instead of crashing.)
11584         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
11585         * glyphs.c (Fglyphp): clean up doc.
11586         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
11587         * glyphs.c (syms_of_glyphs):
11588         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
11589         * glyphs.c (image_instantiator_format_create): add some comments about
11590         bogus code.
11591         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
11592         for current-display-table. (Apparently Hrjove implemented in 1998 a
11593         design I wrote up in 1996, but didn't update the doc string.)
11594
11595         * glyphs.h: clean up a doc string.
11596         * glyphs.h (governing_domain):
11597         * glyphs.h (struct image_instantiator_methods):
11598         changes for governing_domain stuff.
11599
11600         * gutter.c:
11601         * gutter.c (Fgutter_specifier_p):
11602         * gutter.c (Fgutter_size_specifier_p):
11603         * gutter.c (Fgutter_visible_specifier_p):
11604         * objects.c:
11605         * objects.c (Fcolor_specifier_p):
11606         * objects.c (Ffont_specifier_p):
11607         * objects.c (Fface_boolean_specifier_p):
11608         doc strings moved to make-*-specifier.
11609
11610         * redisplay.c (add_disp_table_entry_runes_1):
11611         * redisplay.c (generate_fstring_runes):
11612         * redisplay.c (screen):
11613         add random comments and doc strings.
11614
11615         * specifier.c:
11616         * specifier.c (Fmake_specifier):
11617         major overhaul of this doc string.
11618
11619         * specifier.c (Fvalid_specifier_domain_p):
11620         comment about the bogosity of image instances being domains.
11621         * specifier.c (decode_domain):
11622         now non-static, used in glyphs.c.
11623         * specifier.c (specifier_instance):
11624         comment about the bogosity of image instances being domains.
11625         * specifier.c (Fgeneric_specifier_p):
11626         move doc string to make-generic-specifier.
11627         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
11628         rebackslashify.
11629
11630         * specifier.h:
11631         * specifier.h (DOMAIN_FRAME):
11632         * specifier.h (DOMAIN_LIVE_P):
11633         * specifier.h (DOMAIN_XDEVICE):
11634         rebackslashify.
11635         add comments about problems with these macros.
11636         prototype for decode_domain.
11637
11638         * toolbar.c:
11639         * toolbar.c (Ftoolbar_specifier_p):
11640         move doc string to `make-toolbar-specifier'.
11641
11642         * window.c (window_unmap_subwindows_cache_mapper):
11643         *************************************************************
11644         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11645         HAVE BEEN GETTING.
11646         *************************************************************
11647
11648 2000-05-09  Andy Piper  <andy@xemacs.org>
11649
11650         * glyphs.h: declare reset_frame_subwindow_instance_cache.
11651
11652         * window.c (Fset_window_configuration): reset the frame subwindow
11653         cache and re-initialize the window subwindow caches.
11654
11655         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
11656
11657 2000-05-09  Ben Wing  <ben@xemacs.org>
11658
11659         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
11660         DWORD.
11661
11662 2000-04-26  Mike Woolley  <mike@bulsara.com>
11663
11664         * ntheap.c: Changed recreate_heap to limit the amount reserved
11665         for the heap to that which is actually available. Also now
11666         displays a message box (with some dignostics) in the event that
11667         it still can't start.
11668
11669 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11670
11671         * callproc.c (Fold_call_process_internal): GCPRO path
11672
11673 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
11674
11675         Patch by Bill Perry.
11676
11677         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
11678         back data instead of #ifdef.
11679         (Fscrollbar_page_down): ditto.
11680
11681 2000-05-07  Ben Wing  <ben@xemacs.org>
11682
11683         * buffer.h:
11684         Kludge for defining Qmswindows_tstr.
11685
11686         * nt.c:
11687         * nt.c (open_input_file):
11688         * nt.c (open_output_file):
11689         * nt.c (rva_to_section):
11690         * nt.c (mswindows_executable_type):
11691         Move all memory-mapped-file routines here (some were in unexnt.c,
11692         which is bad because they are used by process-nt.c, and unexnt
11693         won't be around when portable dumping).  Synched the above routines
11694         with FSF 20.6.
11695
11696         * nt.h:
11697         Removed ifdef'd out bogus code.
11698         Fixed some prototypes.
11699
11700         * nt.h (file_data):
11701         * nt.h (OFFSET_TO_RVA):
11702         * nt.h (RVA_TO_OFFSET):
11703         * nt.h (RVA_TO_PTR):
11704         Moved the memory-mapped-file structures, macros and prototypes
11705         here, to parallel nt.c.  ntheap.h should really be removed
11706         entirely, and it's a non-portable-dumper specific file.
11707
11708         * ntheap.h (round_to_next):
11709         Moved the memory-mapped-file structures, macros and prototypes
11710         to nt.h.
11711
11712         * ntproc.c (compare_env):
11713         Moved rva_to_section and mswindows_executable_type to nt.c.
11714         Moved compare_env to process-nt.c.
11715         ntproc.c will die, one day.
11716
11717         * ntproc.c (sys_spawnve):
11718         Account for win32_ -> mswindows_.
11719
11720         * process-nt.c:
11721         * process-nt.c (struct nt_process_data):
11722         * process-nt.c (ensure_console_window_exists):
11723         * process-nt.c (compare_env):
11724         * process-nt.c (nt_create_process):
11725         * process-nt.c (nt_kill_process_by_pid):
11726         * process-nt.c (syms_of_process_nt):
11727         * process-nt.c (vars_of_process_nt):
11728         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
11729         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
11730         changes).  Eliminate our old `nt-quote-process-args' mechanism.
11731         Synch up nt_create_process with FSF 20.6 sys_spawnve.
11732         Move compare_env here from ntproc.c.
11733
11734         * process.c (Fprocess_send_region):
11735         Takes an optional fourth argument, BUFFER, which should fix some
11736         problems with call-process.
11737
11738         * syscommctrl.h:
11739         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
11740
11741         * syswindows.h:
11742         Move ICC_BAR_CLASSES to syscommctrl.h.
11743         Add preliminary macros for MSWindows/Mule.  More to come.
11744
11745         * unexnt.c:
11746         * unexnt.c (unexec):
11747         open_output_file moved to nt.c.
11748
11749
11750 2000-05-05  Andy Piper  <andy@xemacs.org>
11751
11752         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
11753         instance from the frame cache also since GC may catch up too late
11754         to make frame deletion sane.
11755
11756 2000-05-04  Andy Piper  <andy@xemacs.org>
11757
11758         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
11759         (x_finalize_image_instance): ungcpro on deletion.
11760
11761         * glyphs.c (image_instantiator_format_create): give pointers a
11762         query geometry method so that the geometry is at least set.
11763
11764         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
11765         initialize layouts if using widgets.
11766
11767 2000-05-03  Andy Piper  <andy@xemacs.org>
11768
11769         * nt.c: remove bogus reference to sysmmsystem.h
11770
11771         * gui-x.c (popup_selection_callback): fix no selection abort.
11772
11773 2000-05-02  Andy Piper  <andy@xemacs.org>
11774
11775         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
11776         (mswindows_widget_instantiate): ditto.
11777
11778         * glyphs-widget.c (initialize_widget_image_instance): initialize
11779         children correctly.
11780         (widget_instantiate): cope with children and items in the same
11781         instance.
11782
11783         * glyphs.c (mark_image_instance): cope with children as a first
11784         class member.
11785         (image_instance_equal): ditto.
11786         (image_instance_hash): ditto.
11787         (image_instance_changed): ditto.
11788
11789 2000-04-30  Andy Piper  <andy@xemacs.org>
11790
11791         * glyphs.c (subwindow_query_geometry): new function. Return some
11792         defaults.
11793         (subwindow_instantiate): don't assign dimensions if none have been
11794         given.
11795         (image_instantiator_format_create): add subwindow_query_geometry.
11796         (print_image_instance): cope with layouts as widgets.
11797
11798 2000-04-29  Andy Piper  <andy@xemacs.org>
11799
11800         * frame.c (delete_frame_internal): call
11801         free_frame_subwindow_instance_cache so that all subwindows are
11802         finalized before their parent.
11803         (mark_frame): remove subwindow_cachels.
11804         (Fmake_frame): remove subwindow_cachel manipulation.
11805         (allocate_frame_core): subwindow_instance_cache is a weak list.
11806         (delete_frame_internal): set subwindow_instance_cache to nil.
11807
11808         * glyphs-msw.c (mswindows_finalize_image_instance): make double
11809         finalization safe.
11810         (mswindows_finalize_image_instance): use the device
11811         not the domain as the domain may have died already.
11812
11813         * glyphs-x.c (x_finalize_image_instance): ditto.
11814         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
11815         HEIGHT.
11816
11817         * redisplay-output.c (redisplay_unmap_subwindows): update for
11818         subwindow instance cache as a weak list.
11819         (redisplay_unmap_subwindows_maybe): ditto.
11820         (redisplay_unmap_subwindows_except_us): ditto.
11821
11822         * glyphs.c (unmap_subwindow): error checking will check the domain
11823         so don't deal with it here. Don't use cachels anymore.
11824         (map_subwindow): ditto.
11825         (update_subwindow_cachel_data): remove old accessor names.
11826         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
11827         (Fresize_subwindow): don't update cachel.
11828         (mark_subwindow_cachels):
11829         (update_subwindow_cachel_data):
11830         (add_subwindow_cachel):
11831         (get_subwindow_cachel_index):
11832         (update_subwindow_cachel):
11833         (reset_subwindow_cachels):
11834         (mark_subwindow_cachels_as_not_updated): deleted.
11835         (cache_subwindow_instance_in_frame_maybe): new function. Add a
11836         subwindow instance to the frame cache.
11837         (find_matching_subwindow): update for subwindow instance cache as
11838         a weak list.
11839         (update_widget_instances): ditto.
11840         (image_instance_type_to_mask):inlined.
11841         (free_frame_subwindow_instance_cache): new function. finalize all
11842         subwindows that are instantiated.
11843
11844         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
11845         of cachel information.
11846         (IMAGE_INSTANCE_DISPLAY_X):
11847         (IMAGE_INSTANCE_DISPLAY_Y):
11848         (IMAGE_INSTANCE_DISPLAY_WIDTH):
11849         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
11850         (XIMAGE_INSTANCE_DISPLAY_X):
11851         (XIMAGE_INSTANCE_DISPLAY_Y):
11852         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
11853         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
11854         remove subwindow_cachel structure and function references.
11855         (image_instance_type_to_mask): inline from glyphs.c
11856
11857         * redisplay.c (redisplay_frame): remove subwindow_cachel
11858         references.
11859
11860         * frame.h (struct frame): remove subwindow_cachels.
11861         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
11862
11863         * frameslots.h: add subwindow_instance_cache.
11864
11865         * window.c (replace_window): check subwindow cache of replacement.
11866         (window_unmap_subwindows_cache_mapper):
11867         (window_unmap_subwindows): new functions. Unmap all subwindows
11868         cached on this window.
11869         (mark_window_as_deleted): unmap all subwindows.
11870
11871 2000-04-27  Andy Piper  <andy@xemacs.org>
11872
11873         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
11874
11875         * glyphs-widget.c (widget_layout): return something.
11876         (layout_layout): return something. Fail if not initialized.
11877         (layout_query_geometry): ditto.
11878         (image_instantiator_native_layout): new function. Initialized the
11879         native layout type.
11880         (widget_instantiate): don't do layout stuff here.
11881
11882         * glyphs.c (instantiate_image_instantiator): reorded calling or
11883         instantiate and post_instantiate with layout in between.
11884         (image_instance_layout): be more selective about deciding whether
11885         the layout has been done or not.
11886
11887         * glyphs.h (struct image_instantiator_methods): return a value
11888         from layout_method.
11889
11890 2000-04-26  Andy Piper  <andy@xemacs.org>
11891
11892         * glyphs.c (allocate_image_instance): make initial width and
11893         height unspecified. Set initialized to 0.
11894
11895         * syscommctrl.h new file. Encapsulates commctrl.h.
11896
11897         * syswindows.h new file. Encapsulates windows.h.
11898
11899         * ntplay.c: use new syswindows.h and syscommctrl.h header.
11900         * nt.c: ditto.
11901         * console-msw.h: ditto.
11902
11903         * redisplay-tty.c (tty_output_display_block): remove layout references.
11904
11905         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
11906         window handle rather than just the frame.
11907
11908         * glyphs.c (mark_image_instance): remove layout references.
11909         (print_image_instance): ditto.
11910         (image_instance_equal): ditto.
11911         (image_instance_hash): ditto.
11912         (decode_image_instance_type): ditto.
11913         (encode_image_instance_type): ditto.
11914         (image_instantiate): ditto.
11915         (allocate_glyph): ditto.
11916         (Fimage_instance_height): ditto.
11917         (Fimage_instance_width): ditto.
11918         (update_subwindow): ditto.
11919
11920         * redisplay-x.c (x_output_display_block): recode for layouts as
11921         widgets.
11922
11923         * redisplay-output.c (redisplay_output_layout): recode for layouts
11924         as widgets.
11925         (compare_runes): remove layout references.
11926
11927         * redisplay-msw.c (mswindows_output_display_block): recode for
11928         layouts as widgets.
11929
11930         * glyphs-widget.c (image_instantiator_layout): remove
11931         layout_possible_dest_types.
11932         (layout_possible_dest_types): deleted.
11933
11934         * glyphs.h (image_instance_type): remove layout references.
11935         (struct Lisp_Image_Instance): ditto. Add initialized flag.
11936         (IMAGE_INSTANCE_INITIALIZED): new accessor.
11937         (XIMAGE_INSTANCE_INITIALIZED): ditto.
11938
11939 2000-04-25  Andy Piper  <andy@xemacs.org>
11940
11941         * glyphs-widget.c (image_instantiator_buttons):
11942         (image_instantiator_edit_fields):
11943         (image_instantiator_combo_box):
11944         (image_instantiator_scrollbar):
11945         (image_instantiator_progress_guage):
11946         (image_instantiator_tree_view):
11947         (image_instantiator_tab_control):
11948         (image_instantiator_labels):
11949         (image_instantiator_layout): call default post_instantiate method.
11950         (widget_post_instantiate): new function. Simply lays out the
11951         widgets.
11952
11953         * glyphs.h (struct image_instantiator_methods): add
11954         post_instantiate method.
11955
11956         * glyphs.c (instantiate_image_instantiator): add post_instantiate
11957         method calls.
11958
11959 2000-04-23  Andy Piper  <andy@xemacs.org>
11960
11961         * glyphs.h (struct image_instantiator_methods): add
11962         decode_domain_method.
11963         (struct Lisp_Image_Instance): remove subwindow frame - it can be
11964         derived from the domain.
11965         (IMAGE_INSTANCE_FRAME): new accessor.
11966         (XIMAGE_INSTANCE_FRAME): ditto.
11967
11968         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
11969         instead of _SUBWINDOW_FRAME.
11970         (finalize_image_instance): ditto.
11971         (Fimage_instance_foreground): ditto.
11972         (Fimage_instance_background): ditto.
11973         (image_instantiate): ditto.
11974         (update_subwindow_cachel): ditto.
11975         (update_subwindow): ditto.
11976         (unmap_subwindow): ditto.
11977         (map_subwindow): ditto
11978         (subwindow_instantiate): ditto.
11979         * glyphs-msw.c (mswindows_update_widget): ditto.
11980         (mswindows_progress_gauge_instantiate): ditto.
11981         (mswindows_tab_control_update): ditto.
11982         * glyphs-x.c (x_update_widget): ditto.
11983         (x_widget_instantiate): ditto.
11984         (x_tab_control_instantiate): ditto.
11985         (x_tab_control_update): ditto.
11986         * event-msw.c (mswindows_wnd_proc): ditto
11987
11988         * glyphs-widget.c (image_instantiator_layout): use
11989         subwindow_decode_domain.
11990         (image_instantiator_buttons): ditto.
11991         (image_instantiator_edit_fields): ditto.
11992         (image_instantiator_combo_box): ditto.
11993         (image_instantiator_scrollbar): ditto.
11994         (image_instantiator_progress_guage): ditto.
11995         (image_instantiator_tree_view): ditto.
11996         (image_instantiator_tab_control): ditto.
11997         (image_instantiator_labels): ditto.
11998         (image_instantiator_layout): ditto.
11999
12000         * glyphs.c: add instance error checking to many functions.
12001         (instantiate_image_instantiator): decode device from cache_domain.
12002         (image_instantiate): partially rewrite by using
12003         decode_image_instantiator_domain to determine what domain the
12004         instance needs to be cached in.
12005         (decode_image_instantiator_domain): new function. Determine what
12006         domain the image needs to be cached in.
12007         (check_window_subwindow_cache): new error checking function.
12008         (check_instance_cache_mapper): ditto.
12009         (check_image_instance_structure): ditto.
12010         (subwindow_decode_domain): new function. Encodes a window as a
12011         subwindow's cache domain.
12012         (image_instantiator_format_create): use it for text and
12013         subwindows.
12014
12015 2000-04-21  Andy Piper  <andy@xemacs.org>
12016
12017         * glyphs.c (image_instance_device): new function.
12018         (image_instance_frame): new function.
12019         (image_instance_window): new function.
12020         (image_instance_live_p): new function.
12021
12022         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12023         cache to nil.
12024
12025         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12026         (IMAGE_INSTANCE_DOMAIN): new accessor.
12027         (XIMAGE_INSTANCE_DOMAIN): ditto.
12028
12029         * glyphs-x.c (x_finalize_image_instance): device->domain.
12030
12031         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12032         (mswindows_finalize_image_instance): ditto.
12033
12034         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12035         (gif_instantiate): ditto.
12036         (png_instantiate): ditto.
12037         (tiff_instantiate): ditto.
12038
12039         * glyphs.c (instantiate_image_instantiator): use domain rather
12040         than device.
12041         (mark_image_instance): device -> domain.
12042         (print_image_instance): ditto.
12043         (finalize_image_instance): ditto.
12044         (image_instance_equal): ditto.
12045         (allocate_image_instance): ditto.
12046         (Fcolorize_image_instance): ditto.
12047         (query_string_geometry): ditto.
12048         (image_instantiate): ditto
12049         (query_string_font): ditto.
12050         (image_instantiate): ditto.
12051         (update_subwindow): ditto.
12052         (unmap_subwindow): ditto.
12053         (map_subwindow): ditto.
12054         (subwindow_instantiate): ditto.
12055
12056         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12057         (DOMAIN_FRAME): ditto.
12058         (DOMAIN_WINDOW): ditto.
12059         (DOMAIN_LIVE_P): ditto.
12060         (XDOMAIN_DEVICE): ditto.
12061         (XDOMAIN_FRAME): ditto.
12062         (XDOMAIN_WINDOW): ditto.
12063
12064         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12065         a valid specifier domain.
12066
12067 2000-04-19  Andy Piper  <andy@xemacs.org>
12068
12069         * glyphs-widget.c (syms_of_glyphs_widget): remove
12070         widget-callback-current-channel.
12071         (vars_of_glyphs_widget): ditto.
12072         * glyphs.h: ditto
12073
12074         * gui.c (get_gui_callback): revert to previous behaviour.
12075
12076 2000-04-18  Andy Piper  <andy@xemacs.org>
12077
12078         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12079         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12080         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12081
12082         * glyphs.c (image_instance_equal): add margin_width.
12083         (image_instance_hash): ditto.
12084
12085         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12086         (layout_query_geometry): ditto.
12087         (layout_layout): ditto.
12088         (syms_of_glyphs_widget): add margin-width.
12089         (image_instantiator_layout): allow margin-width.
12090
12091         * glyphs.c (update_widget_instances): make a normal function.
12092         (syms_of_glyphs): remove Qupdate_widget_instances.
12093         * glyphs.h: ditto.
12094
12095         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12096         so that we don't corrupt ideas about the last event or
12097         command. Remove widget-callback-current-channel fiddling.
12098         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12099
12100 2000-05-01  Martin Buchholz <martin@xemacs.org>
12101
12102         * XEmacs 21.2.33 is released.
12103
12104 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12105
12106         * make-src-depend: Allow dots in header file name.
12107
12108 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12109
12110         * mule-charset.h (struct charset_lookup): Add
12111         next_allocated_1_byte_leading_byte and
12112         next_allocated_2_byte_leading_byte.
12113         * mule-charset.c: Move above two variables so that those values
12114         will be dumped.
12115
12116 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12117
12118         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12119         when string length is zero.
12120         (find_charsets_in_emchar_string): Ditto.
12121
12122 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12123
12124         * lisp.h: extern Qdialog and Qmenubar.
12125
12126         * gui-x.c: added events.h.
12127                 also fixed typo which made the file uncompilable.
12128
12129         * general.c: Added Qmenubar and Qdialog
12130
12131 2000-04-28  Ben Wing  <ben@xemacs.org>
12132
12133         * frame-msw.c (mswindows_init_frame_1):
12134         * frame-msw.c (mswindows_mark_frame):
12135         * event-msw.c (mswindows_enqueue_dispatch_event):
12136         * console-msw.h:
12137         * console-msw.h (struct mswindows_frame):
12138         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12139         there are now three hash tables for callbacks.
12140         mswindows_enqueue_dispatch_event is no longer static.
12141
12142         * dialog-x.c (maybe_run_dbox_text_callback):
12143         * dialog-x.c (dbox_descriptor_to_widget_value):
12144         switch to new cons3 form for callbacks.
12145
12146         * glyphs-msw.c (mswindows_register_gui_item):
12147         * glyphs-msw.c (mswindows_widget_instantiate):
12148         * glyphs-msw.c (add_tree_item):
12149         * glyphs-msw.c (add_tab_item):
12150         new image instance parameter, so it can be passed to callback-ex.
12151         respect :callback-ex as well as :callback.
12152
12153         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12154         add :callback-ex.
12155
12156         * glyphs.c (print_image_instance):
12157         prettify, e.g. now prints widget type.
12158
12159         * gui-x.h:
12160         certain funs have new image instance parameter.
12161
12162         * gui.c:
12163         * gui.c (get_gui_callback):
12164         * gui.c (gui_item_add_keyval_pair):
12165         * gui.c (gui_item_init):
12166         * gui.c (gui_add_item_keywords_to_plist):
12167         * gui.c (mark_gui_item):
12168         * gui.c (gui_item_hash):
12169         * gui.c (gui_item_equal):
12170         * gui.c (copy_gui_item):
12171         * gui.c (syms_of_gui):
12172         recognize callback-ex in a number of places.
12173         also, fix the annoying "can't get out of yes-no dialog" bug.
12174
12175         * gui.h:
12176         * gui.h (struct Lisp_Gui_Item):
12177         recognize callback-ex in a number of places.
12178
12179         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12180         new parameter in button_item_to_widget_value.
12181
12182         * glyphs-x.c (x_update_widget):
12183         * glyphs-x.c (x_button_instantiate):
12184         * glyphs-x.c (x_button_update):
12185         * glyphs-x.c (x_progress_gauge_instantiate):
12186         * glyphs-x.c (x_edit_field_instantiate):
12187         * glyphs-x.c (x_combo_box_instantiate):
12188         * glyphs-x.c (x_tab_control_instantiate):
12189         * glyphs-x.c (x_label_instantiate):
12190         new image instance parameter in various places.
12191
12192         * event-Xt.c:
12193         * event-Xt.c (enqueue_Xt_dispatch_event):
12194         this fun gets exported.
12195
12196         * gui-msw.c:
12197         * gui-msw.c (mswindows_handle_gui_wm_command):
12198         handle both :callback and :callback-ex, and generate our own
12199         event because it's one of the callback-ex arguments.
12200
12201         * gui-x.c:
12202         * gui-x.c (popup_selection_callback):
12203         handle both :callback and :callback-ex, and generate our own
12204         event because it's one of the callback-ex arguments.
12205         * gui-x.c (button_item_to_widget_value):
12206         * gui-x.c (gui_items_to_widget_values_1):
12207         * gui-x.c (gui_item_children_to_widget_values):
12208         * gui-x.c (gui_items_to_widget_values):
12209         new image instance parameter in various places.
12210
12211         * fns.c (Freplace_list):
12212         fix small typo in doc string.
12213
12214         * lisp.h:
12215         declare enqueue_Xt_dispatch_event.
12216
12217 2000-04-28  Ben Wing  <ben@xemacs.org>
12218
12219         * buffer.c:
12220         * buffer.c (Frecord_buffer):
12221         * buffer.c (syms_of_buffer):
12222         delete record-buffer-hook.
12223
12224         * fns.c:
12225         * fns.c (Freplace_list):
12226         * fns.c (syms_of_fns):
12227         new primitive replace-list.
12228
12229         * frameslots.h:
12230         slot for old buffer-alist.
12231
12232         * lisp.h:
12233         exfun replace-list.
12234
12235         * redisplay.c:
12236         * redisplay.c (redisplay_frame):
12237         * redisplay.c (syms_of_redisplay):
12238         * redisplay.c (vars_of_redisplay):
12239         new hook buffer-list-changed-hook.
12240         call it.
12241
12242 2000-04-27  Ben Wing  <ben@xemacs.org>
12243
12244         * extents.h: extern in_modeline_generation.
12245
12246         * redisplay.c (generate_formatted_string_db): set
12247         in_modeline_generation.
12248
12249         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12250         flags if in modeline generation.  otherwise frame-modified-tick
12251         is ticked far too often.
12252         Declare in_modeline_generation.
12253
12254 2000-04-26  Ben Wing  <ben@xemacs.org>
12255
12256         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12257         option.
12258         (vars_of_emacs): add quick-build as an error-checking option.
12259         A bit kludgy, but there doesn't seem much point in creating
12260         a real var for this.
12261
12262         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
12263
12264 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12265
12266         * redisplay.h (struct display_line): Add a new variable,
12267         line_continuation.
12268
12269         * redisplay.c (create_text_block): Set dl->line_continuation if
12270         the line continues.
12271         (create_string_text_block): Ditto.
12272         (regenerate_window_incrementally): Use line_continuation instead
12273         of searching continuation glyph.
12274         (add_margin_runes): Call add_glyph_rune.
12275         (add_glyph_rune): Handle margin glyph.
12276
12277 2000-04-20  Martin Buchholz  <martin@xemacs.org>
12278
12279         * filelock.c (fill_in_lock_file_name):
12280         ANSIfy.
12281         Check for IS_ANY_SEP instead of '/'.
12282         (lock_file_1):
12283         Avoid generating gratuitous garbage.  Call user_login_name() directly.
12284         Never check errno without first seeing that system call failed.
12285         (unlock_file): Add GCPRO.
12286         (Flock_buffer): Fix docstring.
12287         (Ffile_locked_p): Fix docstring.  Add GCPRO.
12288
12289 2000-04-19  Martin Buchholz  <martin@xemacs.org>
12290
12291         * sysdep.c (get_pty_max_bytes):
12292         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
12293         strings longer than 252 bytes.
12294
12295         * md5.c: Unconditionally include ANSI header <limits.h>
12296
12297         * glyphs-x.c (convert_EImage_to_XImage):
12298         * lisp-union.h (union Lisp_Object):
12299         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
12300
12301 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
12302
12303         * filelock.c (current_lock_owner): Remove unused variable o, p.
12304
12305 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
12306
12307         * callint.c: Remove multiply defined symbol Qlet
12308         (syms_of_callint): ditto.
12309
12310 2000-04-14  Andy Piper  <andy@xemacs.org>
12311
12312         * general.c (syms_of_general): add last-command, this-command, let
12313         and funcall.
12314
12315         * lisp.h: declare various symbols.
12316
12317         * glyphs.h: declare Qwidget_callback_current_channel;
12318
12319         * glyphs-widget.c (syms_of_glyphs_widget): add
12320         Qgui_callback_current_channel.
12321         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
12322
12323         * gui-msw.c (mswindows_handle_gui_wm_command): bind
12324         widget-callback-current-channel when invoking the interactive
12325         arg. Also bind last-command and next-command when invoking the
12326         widget updates.
12327         * gui-x.c (popup_selection_callback): ditto.
12328
12329         * gui.c (get_gui_callback): massage args so that we are always
12330         calling eval. This allows us to add our own variable bindings
12331         outside.
12332
12333         * glyphs-x.c (x_button_instantiate): use
12334         gui_items_to_widget_values since this is GC safe.
12335         (x_progress_gauge_instantiate): ditto.
12336         (x_edit_field_instantiate): ditto.
12337         (x_label_instantiate): ditto.
12338
12339         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
12340         (emacs_Xt_event_widget_focus_out): new function
12341         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
12342         focus.
12343         (emacs_Xt_event_add_widget_actions): new function. add focus
12344         functions as actions.
12345         (init_event_Xt_late): use it.
12346
12347 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
12348
12349         * event-stream.c (Fdispatch_event): Doc fix.
12350
12351 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
12352
12353         * postgresql.c: Remove all references to PQsetenv*.
12354
12355         * postgresql.h: Remove references to PGsetenvHandler object.
12356         * lrecord.h (lrecord_type): Ditto.
12357
12358 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12359
12360         * glyphs-msw.h (struct mswindows_image_instance_data): Added
12361         real_heigh and real_width members, and accessor macros for these.
12362
12363         * glyphs-msw.c (init_image_instance_geometry): New function.
12364         (init_image_instance_from_dibitmap): Use it.
12365         (mswindows_resource_instantiate): Use it.
12366         (init_image_instance_from_xbm_inline): Use it.
12367         (mswindows_initialize_image_instance_mask): Use real bitmap
12368         geometry.
12369         (mswindows_create_resized_bitmap): Ditto.
12370         (mswindows_create_resized_mask): Ditto.
12371
12372         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
12373         and bitmap to their surface size.
12374
12375 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
12376
12377         * process-unix.c (unix_send_process): Guard against process MIA
12378         after Faccept_process_output.
12379
12380 2000-04-11  Ben Wing  <ben@xemacs.org>
12381
12382         * eval.c (unbind_to_hairy): fix brokenness introduced by
12383         nanosecond speed improvements.
12384
12385 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
12386
12387         * sunplay.c (init_device): To play sounds correctly, the device
12388         apparently needs to be initialized at least once by XEmacs.  Make
12389         it so.
12390
12391 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12392
12393         * redisplay.c (add_margin_runes): Add text image glyph
12394           handling.
12395
12396 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
12397
12398         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
12399         gcc is newer than 2.5.
12400
12401 2000-04-06  Colin Rafferty  <colin@xemacs.org>
12402
12403         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
12404
12405         * fns.c (size_bit_vector):
12406         * alloc.c (size_vector):
12407         (make_vector_internal):
12408         (make_bit_vector_internal):
12409         (sweep_bit_vectors_1):
12410         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
12411
12412 2000-04-06  Andy Piper  <andy@xemacs.org>
12413
12414         * gmalloc.c (malloc): undo previous change.
12415         (malloc): ditto.
12416         (free): ditto.
12417         (realloc): ditto.
12418
12419 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
12420
12421         * line-number.c (buffer_line_number): Revert to former version.
12422
12423 2000-04-06  Andy Piper  <andy@xemacs.org>
12424
12425         * gmalloc.c (malloc): add error checking.
12426         (malloc): ditto.
12427         (free): ditto.
12428         (realloc): ditto.
12429
12430         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
12431         button_item_to_widget_value arg.
12432
12433         * glyphs-x.c (x_button_instantiate): add extra
12434         button_item_to_widget_value arg.
12435         (x_progress_gauge_instantiate): ditto.
12436         (x_edit_field_instantiate): ditto.
12437         (x_label_instantiate): ditto.
12438
12439         * gui-x.c (gui_items_to_widget_values_1): add extra
12440         button_item_to_widget_value arg.
12441         (button_item_to_widget_value): add extra menu_item_p arg.
12442
12443         * gui-x.h: change signature of button_item_to_widget_value.
12444
12445         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
12446         button_item_to_widget_value arg.
12447
12448 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
12449
12450         * buffer.h (struct buffer): auto_save_modified should be long.
12451
12452 2000-04-05  Andy Piper  <andy@xemacs.org>
12453
12454         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
12455         type.
12456         (button_query_geometry): give a little more room so that athena
12457         buttons fit.
12458
12459 2000-04-05  Andy Piper  <andy@xemacs.org>
12460
12461         * faces.c (complex_vars_of_faces): The widget face should inherit
12462         the font of the gui-element face.
12463
12464 2000-04-04  Andy Piper  <andy@xemacs.org>
12465
12466         * glyphs-x.c (x_button_update): new function. unconditionally
12467         update a button's state when the instance is dirty.
12468         (image_instantiator_format_create_glyphs_x): add x_button_update.
12469         (x_widget_instantiate): remove old resize cruft.
12470
12471 2000-04-02  Andy Piper  <andy@xemacs.org>
12472
12473         * frame.c (change_frame_size_1): The introduction of gutters means
12474         that we need to allow 0 as a potential frame dimension.
12475
12476 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12477
12478         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
12479         image glyph if allow_cursor.
12480         (add_hscroll_rune): Don't allow cursor to border glyph.
12481         (create_text_block): Ditto.
12482
12483         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
12484         text not in buffer.
12485         (redisplay_output_layout): Call ensure_face_cachel_complete for
12486         text image glyph.
12487
12488
12489 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12490
12491         * redisplay.c (add_glyph_rune): Adding text image as text runes.
12492
12493         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
12494         not in buffer
12495
12496         * redisplay-tty.c (tty_output_display_block): Delete the routine
12497         for text image glyph
12498         * redisplay-x.c (x_output_display_block): ditto
12499         * redisplay-msw.c (mswindows_output_display_block): ditto
12500
12501 2000-02-02  Mike Alexander  <mta@arbortext.com>
12502
12503         Note: Some of these were committed by accident as part of other
12504         patches.
12505
12506         * regex.c (regex_compile): Avoid compiler warnings.
12507
12508         * ntproc.c (sys_spawnve): Avoid compiler warnings.
12509
12510         * nt.h: Declare term_ntproc correctly.
12511
12512         * nt.c: Remove incorrect declaration of get_home_directory which
12513         is declared correctly in lisp.h.
12514
12515         * keymap.c (get_keyelt): Avoid compiler warnings.
12516         (raw_lookup_key_mapper): Avoid compiler warnings.
12517
12518         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
12519
12520         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
12521
12522         * filemode.c (mode_string): Avoid compiler warnings.
12523
12524         * file-coding.c (Fcoding_system_aliasee): Add return statement to
12525         avoid warning.
12526
12527         * events-mod.h: Undef some things that winuser.h defines differently.
12528
12529         * data.c (Faset): Avoid compiler warnings.
12530
12531         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
12532
12533 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12534
12535         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
12536         Fall through to simple beep on error.
12537         Replace "extern" by real header file.
12538
12539         * linuxplay.c: Use nativesound.h
12540         (play_sound_data): Return error code. Be less verbose on error.
12541
12542         * sunplay.c: Use nativesound.h
12543         (play_sound_data): Return error code. Be less verbose on error.
12544
12545         * ntplay.c: Use nativesound.h
12546         (play_sound_data): Return fake error code
12547
12548         * sgiplay.c: Use nativesound.h
12549         (play_sound_data): Return error code
12550
12551         * hpplay.c: Use nativesound.h, partially implement
12552         new error code. Break compilation until finished.
12553         (play_sound_data): error code.
12554
12555         * nativesound.h (play_sound_file):
12556           (play_sound_data): Prototype in new header.
12557
12558 2000-03-31  Andy Piper  <andy@xemacs.org>
12559
12560         * glyphs-widget.c: (button_query_geometry): new function. Adjust
12561         for toggle and radio buttons.
12562         (image_instantiator_buttons): use it.
12563
12564 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12565
12566         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
12567         (x_update_horizontal_scrollbar_callback): Return if no mirror was
12568         found. Scrollbar event probably belonged to some old config.
12569
12570 2000-03-31  Andy Piper  <andy@xemacs.org>
12571
12572         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
12573         than 1.
12574         (initialize_widget_image_instance): default layout to
12575         LAYOUT_HORIZONTAL rather than 0.
12576         (widget_instantiate): reverse the item list at the end rather than
12577         every iteration.
12578         (layout_layout): re-code for the border text at the front of the
12579         item list rather than at the end.
12580         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
12581         provided by the user.
12582         (widget_query_geometry): comment.
12583
12584 2000-03-30  Andy Piper  <andy@xemacs.org>
12585
12586         * glyphs-widget.c (image_instantiator_layout): allow standard
12587         widget keywords in layouts.
12588
12589         * gutter.c (output_gutter): cope with nil gutter contents.
12590
12591         * frame.c (Fset_frame_properties): add gutter docs.
12592
12593 2000-03-29  Andy Piper  <andy@xemacs.org>
12594
12595         * toolbar-msw.c (TBSTYLE_FLAT): add.
12596         (mswindows_output_toolbar): minor fiddling.
12597
12598 2000-03-29  Andy Piper  <andy@xemacs.org>
12599
12600         * gutter.c (output_gutter): force gutter size recalculation if
12601         what we are trying to display won't fit.
12602         (update_gutter_geometry): new function. A per-gutter version of
12603         update_frame_gutter_geometry.
12604         (update_frame_gutter_geometry): use it.
12605         (redraw_exposed_gutter): add extra debugging output.
12606
12607 2000-03-28  Mike Alexander  <mta@arbortext.com>
12608
12609         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
12610         (pdump_file_unmap): Implement it on Windows
12611         (pdump_file_get): Save alocated handles for pdump_file_unmap
12612
12613 2000-03-28  Andy Piper  <andy@xemacs.org>
12614
12615         * gui.c (get_gui_callback): treat Quit specially.
12616
12617 2000-03-27  Andy Piper  <andy@xemacs.org>
12618
12619         * glyphs.c (image_instantiate): be careful to check in the same
12620         way we assigned.
12621
12622 2000-03-27  Didier Verna  <didier@xemacs.org>
12623
12624         * config.h.in: define the proper SMART_INCLUDE macro.
12625         handle renaming of `foo_h_path' to `foo_h_file'.
12626
12627         * database.c: ditto.
12628
12629         * emacs.c: ditto.
12630
12631         * linuxplay.c: ditto.
12632
12633         * terminfo.c: ditto.
12634
12635         * tooltalk.h: ditto.
12636
12637 2000-03-27  Andy Piper  <andy@xemacs.org>
12638
12639         * glyphs-msw.c (mswindows_update_widget): make sure the widget
12640         gets updated whenever the face might have changed.
12641
12642 2000-03-26  Mike Alexander  <mta@arbortext.com>
12643
12644         * dumper.c (pdump_resource_free): Fix the comment.
12645
12646 2000-03-21  Olivier Galibert  <galibert@pobox.com>
12647
12648         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
12649
12650 2000-03-22  Mike Alexander  <mta@arbortext.com>
12651
12652         * dumper.c: Include Windows headers on Windows
12653         (pdump_resource_free): Add a body to the function
12654         (pdump_load): exe_name -> exe_path and add some comments.
12655
12656 2000-03-25  Mike Alexander  <mta@arbortext.com>
12657
12658         * gui.c (copy_gui_item_tree): Return a value in all cases
12659
12660 2000-03-21  Didier Verna  <didier@xemacs.org>
12661
12662         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
12663         lwlib/config.h.in.
12664         (SMART_INCLUDE): new macro.
12665         (POSTGRES_INCLUDE): new macro to include postgresql headers from
12666         the proper location.
12667
12668         * postgresql.c: use it.
12669
12670         * inline.c: ditto.
12671
12672 2000-03-24  Andy Piper  <andy@xemacs.org>
12673
12674         * gutter.c (redraw_exposed_gutters): must be "in display" when we
12675         do this.
12676
12677 2000-03-24  Andy Piper  <andy@xemacs.org>
12678
12679         * redisplay-output.c (compare_runes): use image_instance_changed
12680         to detect changes. Do not depend on glyphs_changed, only depend on
12681         dirtiness.
12682          (redisplay_output_layout): add debug messages.
12683         (compare_runes): ditto.
12684
12685         * glyphs.h: declare new functions.
12686         (struct Lisp_Image_Instance): remove percent and associated
12687         accessors.
12688
12689         * gui.h: declare new copying functions.
12690
12691         * gui.c (copy_gui_item_tree): new function.
12692         (copy_gui_item): new function.
12693         (gui_item_id_hash): revert to standard hash.
12694         (gui_item_hash): ditto.
12695         (gui_item_hash_internal): deleted.
12696         (mark_gui_item): mark value.
12697         (gui_item_add_keyval_pair): add value.
12698         (gui_item_init): ditto.
12699         (gui_add_item_keywords_to_plist): ditto.
12700         (gui_item_equal): ditto.
12701         (syms_of_gui): add Q_value.
12702
12703         * glyphs-x.c (x_progress_gauge_update): use pending items and
12704         value for setting the state.
12705         (x_update_widget): don't set items from pending here.
12706
12707         * glyphs-widget.c (update_widget): update items here.
12708         (progress_gauge_set_property): use items for storing value. Put
12709         new value in pending items.
12710
12711         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
12712         items for new value. Convert percent -> value.
12713         (mswindows_tab_control_update): don't update items here.
12714
12715         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
12716         (update_subwindow): ditto.
12717         (image_instance_changed): new function. Compare hash values and
12718         past and present widget items.
12719         (image_instantiate): We more careful about where we instantiate
12720         things.
12721         (image_instantiate): add error checking.
12722
12723         * gutter.c (syms_of_gutter): use -hook.
12724
12725 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
12726
12727         * console-tty.c (Fset_console_tty_input_coding_system): Use
12728         Qkeyboard.
12729         (Fset_console_tty_output_coding_system): Use Qterminal.
12730         (tty_init_console): Use Qkeyboard and Qterminal.
12731
12732 2000-03-21  Ben Wing  <ben@xemacs.org>
12733
12734         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
12735         From Mike Alexander <mta@arbortext.com>.
12736
12737 2000-03-21  Ben Wing  <ben@xemacs.org>
12738
12739         * event-msw.c (mswindows_need_event): Horrible kludge to fix
12740         process brokenness.  Proper implementation to come.
12741         * callproc.c:
12742         Rename call-process-internal to old-call-process-internal.
12743         New impl. in process.el.
12744
12745 2000-03-21  Martin Buchholz  <martin@xemacs.org>
12746
12747         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
12748
12749 2000-03-20  Andy Piper  <andy@xemacs.org>
12750
12751         * glyphs.c (full_list_hash): make hashes of the same elements in
12752         different orders return different values.
12753
12754 2000-03-20  Martin Buchholz <martin@xemacs.org>
12755
12756         * XEmacs 21.2.32 is released.
12757
12758 2000-03-20  Martin Buchholz  <martin@xemacs.org>
12759
12760         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
12761         (DFC_MALLOC_USE_CONVERTED_DATA):
12762         Add aliasing-safe casts to allow use with char* or unsigned char*
12763         lvalues.
12764
12765         * eldap.c (Fldap_open):
12766         (Fldap_search_basic):
12767         (Fldap_add):
12768         (Fldap_modify):
12769         Make C++-compilable.
12770         Make sure GCPRO'ed variables are initialized.
12771         Use temp variables to avoid repeated calls to Flength.
12772
12773 2000-03-16  Martin Buchholz  <martin@xemacs.org>
12774
12775         * sysfile.h:
12776         Make sure PATH_MAX is always defined.
12777         Include limits.h for PATH_MAX.
12778         Deprecate use of MAXPATHLEN.
12779
12780 2000-03-10  Martin Buchholz  <martin@xemacs.org>
12781
12782         * emacs.c: Add reinit_vars_of_fileio.
12783         * symsinit.h: Add reinit_vars_of_fileio.
12784         * fileio.c (reinit_vars_of_fileio): New.
12785         * fileio.c (Fmake_temp_name):
12786         Initialize temp_name random number from microseconds to make
12787         collisions even less likely.  Initialize always at process startup
12788         time.  (make-temp-name) used to return the same file name twice in
12789         a row when PDUMP.
12790         Random stylistic fiddling.
12791         Comment fixes.
12792
12793 2000-03-20  Andy Piper  <andy@xemacs.org>
12794
12795         * glyphs.c (image_instantiate): allow text glyphs to be
12796         instantiated in the minibuffer window.
12797
12798 2000-03-19  Andy Piper  <andy@xemacs.org>
12799
12800         * glyphs.c (image_instance_hash): be careful about which items we
12801         hash on.
12802
12803         * glyphs-widget.c (tab_control_set_property): record into pending
12804         items rather than the actual items.
12805
12806         * glyphs-x.c (x_update_widget): use pending items to update with.
12807
12808         * glyphs-msw.c (mswindows_tab_control_update): use pending items
12809         to update with.
12810
12811         * glyphs.c (mark_image_instance): mark pending items.
12812
12813         * window.c (Fset_window_configuration): record the buffer.
12814         (Fselect_window): totally revert previous change which breaks many
12815         things.
12816
12817 2000-03-18  Andy Piper  <andy@xemacs.org>
12818
12819         * glyphs-msw.c (mswindows_tab_control_update): force selected
12820         item.
12821
12822         * glyphs.c (image_instantiate): don't allow the minibuffer as a
12823         window domain cache, otherwise we get inconsistencies at
12824         startup. There is something fishy at startup which can lead to the
12825         minibuffer being the selected window when the gutter content is
12826         instantiated.
12827
12828         * gui.c (parse_gui_item_tree_list): add probably unnecessary
12829         gcpros.
12830         (parse_gui_item_tree_children): ditto.
12831         (parse_gui_item_tree_item): ditto.
12832
12833         * glyphs.c (Fupdate_widget_instances): return something.
12834
12835 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
12836
12837         * window.c (Fselect_window): Undo 2000-03-17 change.
12838
12839 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
12840
12841         * postgresql.c (Fpq_setenv): Remove this turkey when linking
12842         against v7.0 libraries.  Insta-coredump city until the postgres
12843         folks fix it.
12844
12845 2000-03-17  Andy Piper  <andy@xemacs.org>
12846
12847         * faces.c (complex_vars_of_faces): don't give the widget face an
12848         inherited background pixmap.
12849
12850         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
12851         selected item.
12852
12853         * event-stream.c (Fdispatch_non_command_events): return something.
12854
12855         * gutter.c (output_gutter): use widget face.
12856         (clear_gutter): ditto.
12857
12858         * NEWS: adjust again.
12859
12860         * window.c (Fselect_window): make sure this runs to completion to
12861         avoid oddities with Fset_window_configuration.
12862         (Fcurrent_window_configuration): in general do not save the
12863         minibuffer as the selected window.
12864
12865         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
12866
12867 2000-03-16  Olivier Galibert  <galibert@pobox.com>
12868
12869         * emacs.c (Frunning_temacs_p): Revert previous patch.
12870         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
12871
12872 2000-03-16  Andy Piper  <andy@xemacs.org>
12873
12874         * glyphs-x.c (x_tab_control_update): if no widget values then
12875         return.
12876
12877         * NEWS: update for new features.
12878
12879         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
12880         synthetic event to the native system.
12881         (reinit_vars_of_event_Xt): set force_event_pending to
12882         emacs_Xt_force_event_pending.
12883
12884         * events.h (struct event_stream): add force_event_pending.
12885
12886         * specifier.c (recompute_one_cached_specifier_in_window): add
12887         comment.
12888
12889         * redisplay.c (redisplay_frame): don't call
12890         update_frame_subwindows. Reset subwindow cachels when
12891         subwindows_changed, removing this was an optimization too far.
12892
12893         * redisplay-output.c (compare_runes): reorganize so that we catch
12894         glyph changes when we want them. Set optimize_output when this
12895         would help layouts.
12896         (redisplay_output_layout): remove frame_really_changed, use
12897         optimize_output instead.
12898
12899         * redisplay-msw.c (mswindows_output_display_block): reset
12900         optimize_output after outputting a glyph.
12901         * redisplay-x.c (x_output_display_block): ditto.
12902         * redisplay-tty.c (tty_output_display_block): ditto.
12903
12904         * gutter.c: (specifier_vars_of_gutter): use new spec changed
12905         functions.
12906         (gutter_specs_changed): do specific gutter positions.
12907         (top_gutter_specs_changed): new function. Only update the
12908         specified gutter specs.
12909         (bottom_gutter_specs_changed): ditto.
12910         (left_gutter_specs_changed): ditto.
12911         (right_gutter_specs_changed): ditto.
12912
12913         * gui.c (gui_item_hash_internal): new function, does a real hash.
12914         (gui_item_id_hash): use it.
12915         (gui_item_hash): hash the eval'ed gui_item.
12916
12917         * gui-x.c (popup_selection_callback): send an eval event to call
12918         Fupdate_widget_instances.
12919
12920         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
12921         to call Fupdate_widget_instances.
12922
12923         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
12924         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
12925
12926         * glyphs.c: (update_frame_subwindows): deleted.
12927         (Fupdate_widget_instances): new function for updating the dirty
12928         state of widgets that might have changed.
12929         (syms_of_glyphs): add Qupdate_widget_instances.
12930         (full_list_hash): hash a list completely.
12931         (image_instance_hash): use it for items and properties.
12932
12933         * frame-msw.c (mswindows_size_frame_internal): remove unused
12934         variable.
12935
12936         * faces.h (struct face_cachel): fix comment.
12937
12938         * event-stream.c (Fdispatch_non_command_events): new
12939         function. Process non-command events, forcing an event cycle
12940         beforehand.
12941         (syms_of_event_stream): declare.
12942         (event_stream_force_event_pending): new function. Force an event
12943         on the native event queue so that an event cycle will occur next
12944         time we check.
12945
12946         * event-msw.c:
12947         (struct ntpipe_shove_stream):
12948         (mswindows_enqueue_dispatch_event):
12949         (mswindows_dequeue_dispatch_event):
12950         (mswindows_cancel_dispatch_event):
12951         (mswindows_pump_outstanding_events):
12952         (mswindows_drain_windows_queue):
12953         (mswindows_handle_paint):
12954         (mswindows_wnd_proc):
12955         (mswindows_key_to_emacs_keysym):
12956         (get_process_input_waitable):
12957         (emacs_mswindows_delete_stream_pair): re-indent file.
12958         (mswindows_need_event): do not process further fds if the windows
12959         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
12960         fixes the 100% cpu problem.
12961         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
12962
12963 2000-03-15  Olivier Galibert  <galibert@pobox.com>
12964
12965         * alloc.h: New.
12966         * dumper.h: New.
12967         * dumper.c: New.
12968
12969         * emacs.c: Moved dump file searching to dumper.c.
12970         (Frunning_temacs_p): Fixed.
12971
12972         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
12973         last_lrecord_type_index_assigned.
12974
12975 2000-02-20  Olivier Galibert  <galibert@pobox.com>
12976
12977         * symsinit.h: Added reinit parameter to init_console_stream
12978         declaration.
12979
12980         * lisp.h: Added file parameter to pdump_load declaration.
12981
12982         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
12983         support.  Added dump file searching.
12984
12985         * config.h.in: Added EMACS_PROGNAME.
12986
12987         * console-stream.c (init_console_stream): Fix reinitialisation
12988         when running from temacs.
12989
12990         * alloc.c (pdump): Add id support.
12991         (pdump_load): Add file parameter and signature/id support.
12992
12993         * Makefile.in.in: Add full pdump support.
12994
12995 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
12996
12997         * postgresql.c: Update documentation to reflect latest code
12998         status.
12999         (print_result): Show tuple counts in printed representation when
13000         appropriate.
13001         (Fpq_put_nbytes): MULE-ize.
13002         (Fpq_get_line_async): Ditto.
13003
13004 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13005
13006         * postgresql.c (Fpq_lo_import): Fix return value.
13007         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13008
13009 2000-03-13  Ben Wing  <ben@xemacs.org>
13010
13011         * alloc.c (pdump_load):
13012         Fix compile warning under mswin.
13013
13014 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13015
13016         * postgresql.c: Mule-ization, bug fixes.
13017         Use PG_CODING to encapsulate coding system name changes.
13018         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13019         (pg-coding-system): Create.
13020
13021         (Fpq_conn_defaults): Mule-ize.
13022         (Fpq_connectdb): Mule-ize & bug fix.
13023         (Fpq_connect_start): Mule-ize.
13024         (Fpq_set_client_encoding): Mule-ize.
13025         (Fpq_finish): Document `DEAD' connection status.
13026         (Fpq_clear): Ditto.
13027         (Fpq_pgconn): Mule-ize.
13028         (Fpq_exec): Mule-ize & bug fix.
13029         (Fpq_send_query): Ditto.
13030         (Fpq_get_result): Ditto.
13031         (Fpq_res_status): Mule-ize.
13032         (Fpq_result_error_message): Mule-ize.
13033         (Fpq_ntuples): fix comments.
13034         (Fpq_fname): Mule-ize.
13035         (Fpq_fnumber): Mule-ize.
13036         (Fpq_ftype): fix comments.
13037         (Fpq_get_value): Mule-ize.
13038         (Fpq_cmd_status): Ditto.
13039         (Fpq_cmd_tuples): Ditto.
13040         (Fpq_oid_value): Ditto.
13041         (Fpq_notifies): Ditto.
13042         (Fpq_lo_import): Ditto.
13043         (Fpq_lo_export): Ditto.
13044         (Fpq_get_line): Ditto.
13045         (Fpq_put_line): Mule-ize and bug fix.
13046         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13047
13048 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13049
13050         * postgresql.c (vars_of_postgresql): Mule-ize.
13051         (Fpq_conn_defaults): Ditto.
13052
13053 2000-03-12  Ben Wing  <ben@xemacs.org>
13054
13055         * alloc.c (Fmake_byte_code):
13056         * alloc.c (debug_string_purity_print):
13057         * alloc.c (pdump_backtrace):
13058         * alloc.c (pdump_get_indirect_count):
13059         * alloc.c (pdump_register_sub):
13060         * alloc.c (pdump_register_object):
13061         * alloc.c (pdump_register_struct):
13062         * alloc.c (pdump_dump_data):
13063         * alloc.c (pdump_reloc_one):
13064         Minor cleanups.
13065
13066         * console-msw.c:
13067         * console-msw.c (GetConsoleHwnd):
13068         * console-msw.c (msw_hide_console):
13069         * console-msw.c (msw_show_console):
13070         * console-msw.c (msw_ensure_console_buffered):
13071         * console-msw.c (msw_output_console_string):
13072         * console-msw.c (console_type_create_mswindows):
13073
13074         a) Added functions to manipulate the console window for use with
13075         shell support.
13076
13077         b) Added support for writing text to the console, which is now
13078         used under Windows when xemacs is not being run non-interactively,
13079         to write text that would otherwise be destined for stdout because
13080         under these circumstances, text written to stdout tends to
13081         disappear and not be seen.
13082
13083         * console-msw.h:
13084         * event-Xt.c:
13085         * event-Xt.c (x_event_to_emacs_event):
13086         * event-Xt.c (describe_event_window):
13087         * events-mod.h (XEMACS_MOD_CONTROL):
13088         * events.c:
13089         * events.c (Fmake_event):
13090         * events.c (character_to_event):
13091         * events.c (event_to_character):
13092         * events.c (format_event_object):
13093         * events.c (Fevent_modifiers):
13094         * events.h:
13095         * events.h (struct key_data):
13096         * events.h (struct button_data):
13097         * events.h (struct misc_user_data):
13098         * frame-x.c (Fcde_start_drag_internal):
13099         * frame-x.c (Foffix_start_drag_internal):
13100         * gpmevent.c (Freceive_gpm_event):
13101         * keymap.c:
13102         * keymap.c (bucky_sym_to_bucky_bit):
13103         * keymap.c (control_meta_superify):
13104         * keymap.c (make_key_description):
13105         * keymap.c (keymap_lookup_directly):
13106         * keymap.c (create_bucky_submap):
13107         * keymap.c (keymap_store):
13108         * keymap.c (define_key_check_and_coerce_keysym):
13109         * keymap.c (define_key_parser):
13110         * keymap.c (define_key_alternate_name):
13111         * keymap.c (Fdefine_key):
13112         * keymap.c (raw_lookup_key_mapper):
13113         * keymap.c (struct map_keymap_unsorted_closure):
13114         * keymap.c (map_keymap_unsorted_mapper):
13115         * keymap.c (map_keymap_sort_predicate):
13116         * keymap.c (map_keymap_sorted):
13117         * keymap.c (accessible_keymaps_mapper_1):
13118         * keymap.c (where_is_recursive_mapper):
13119         * keymap.c (describe_map_mapper):
13120         * keymap.c (describe_map_sort_predicate):
13121         * keymap.c (describe_map):
13122         * keymap.c (complex_vars_of_keymap):
13123         And a number of other files, the key modifier preprocessor
13124         constants that xemacs uses have names that conflict with constants
13125         defined under MS Windows for other purposes, so they were renamed
13126         to begin with the prefix XEMACS_. The variables that hold such
13127         modifiers were changed to consistently be of type int to fix
13128         various compile warnings.
13129
13130         * console.c (complex_vars_of_console):
13131         * device.c:
13132         * device-msw.c:
13133         * device-msw.c (mswindows_finish_init_device):
13134         * device-msw.c (msw_get_workspace_coords):
13135         * device-msw.c (mswindows_device_system_metrics):
13136         and various other files, added support for a new
13137         device property called offset-workspace which returns the position
13138         of the upper left corner of the workspace area and goes along with
13139         the existing size-workspace property.
13140
13141         * dialog-msw.c:
13142         * dialog-msw.c (push_bufbyte_string_as_unicode):
13143         * dialog-msw.c (mswindows_popup_dialog_box):
13144         Added support for XEmacs-style accelerator specifications in
13145         button text.  Note: I didn't add support for this under X Windows,
13146         and somebody needs to do this.
13147
13148         * dialog.c:
13149         * dialog.c (Fpopup_dialog_box):
13150         Documented the support for accelerators that was just mentioned.
13151
13152         editfns.c (get_home_directory): Changed behavior under Windows
13153         when HOME not defined; former behavior was irretrievably broken.
13154
13155         * emacs.c:
13156         * emacs.c (main_1):
13157         * emacs.c (main):
13158         * minibuf.c (clear_echo_area_internal):
13159         * minibuf.c (echo_area_append):
13160         * print.c:
13161         * print.c (std_handle_out_external):
13162         * print.c (std_handle_out_va):
13163         * print.c (fatal):
13164         * print.c (write_string_to_stdio_stream):
13165         * print.c (output_string):
13166         * print.c (debug_print):
13167         * print.c (debug_backtrace):
13168         * print.c (debug_short_backtrace):
13169         Cleaned up the code that prints text to stdout so that this can be
13170         changed to output into a console window instead under MS Windows,
13171         as described above.
13172
13173         * eval.c:
13174         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13175         * eval.c (internal_catch):
13176         * eval.c (unwind_to_catch):
13177         * eval.c (throw_or_bomb_out):
13178         * eval.c (condition_case_1):
13179         * eval.c (signal_1):
13180         * eval.c (check_error_state_sanity):
13181         * eval.c (call_with_suspended_errors_1):
13182         * eval.c (call_with_suspended_errors):
13183         * eval.c (reinit_vars_of_eval):
13184         Added code to catch throw loops and check for a pesky bug that may
13185         be gone now.
13186
13187         * event-msw.c:
13188         * event-msw.c (key_needs_default_processing_p):
13189         * event-msw.c (mswindows_wnd_proc):
13190         * event-msw.c (mswindows_modifier_state):
13191         * event-msw.c (emacs_mswindows_quit_p):
13192         * event-msw.c (vars_of_event_mswindows):
13193         a) Added support for using the alt key to select menu items as is
13194         standard under MS Windows.  This is controlled using the variable
13195         menu-accelerator-enabled, just like under X Windows.  There is an
13196         option on the options menu to turn this support on.  I really
13197         think that it should be on by default under Windows, but I'm not
13198         going to make this change yet.
13199
13200         b)  Added support for dynamic display size changes under Windows.
13201
13202         * event-stream.c:
13203         * event-stream.c (maybe_echo_keys):
13204         * event-stream.c (Fnext_event):
13205         * event-stream.c (command_builder_find_leaf):
13206         * event-stream.c (lookup_command_event):
13207         * event-stream.c (execute_command_event):
13208         * event-stream.c (pre_command_hook):
13209         * event-stream.c (post_command_hook):
13210         * event-stream.c (syms_of_event_stream):
13211         * event-stream.c (vars_of_event_stream):
13212         * event-stream.c (complex_vars_of_event_stream):
13213         * events.h (struct command_builder):
13214
13215         a) Tried to clean up a little bit the horribly written x-specific
13216         accelerator code that crept into this file.  I moved this code
13217         into menubar-x.c where it belongs. I also needed to move the
13218         command builder structure into the file events.h because it is
13219         accessed directly by this accelerator code.  What I didn't do, but
13220         which should be done at some point, is to properly abstract this
13221         code using device methods instead of the kludgy way that it
13222         currently hooks into the event code.
13223
13224         b) Added the lisp variables this-command-properties and
13225         last-command- properties, which should be used to synchronize two
13226         adjacent commands in preference to playing games with the variable
13227         this-command, which is typically what happens.
13228
13229         c) Added some slightly nasty code to hook into the lisp support
13230         for shifted- motion-key selection.  This is actually necessary for
13231         somewhat complicated reasons, which are described in
13232         simple.el. (NB: I think the proper thing would be to have the code
13233         that calls the pre and post command hooks also call out to generic
13234         lisp functions in simple.el, where all built-in stuff could be
13235         added.  I will think about this more.)
13236
13237         * event-unixoid.c (poll_fds_for_input):
13238         * lread.c (readchar):
13239         * redisplay-tty.c (tty_clear_frame):
13240         * redisplay-x.c (x_get_gc):
13241         * signal.c (interrupt_signal):
13242         And a whole bunch of other files: fixed up places that printed
13243         directly to stderr to instead call the function stderr_out so that
13244         the changes I made under Windows work correctly.
13245
13246         * filemode.c (mode_string):
13247         Warning fixes.
13248
13249         * frame-msw.c:
13250         * frame-msw.c (mswindows_size_frame_internal):
13251         Fixed the computation of frame size and position to keep the frame
13252         within the workspace area, rather than within the physical
13253         dimensions of the screen, so that the frame doesn't overlap window
13254         manager decorations, such as the start menu and toolbar, typically
13255         at the bottom of the screen.
13256
13257         * frame.c (vars_of_frame):
13258         Changed the default frame title format under MS Windows to consist
13259         of buffername-XEmacs, which is standard under MS Windows.  I think
13260         it might be a good idea to change this everywhere because I think
13261         it is superior to the current frame title format, but this is the
13262         kind of change that is likely to cause some people to get annoyed,
13263         so I'm not making it.
13264
13265         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
13266
13267         * gui-msw.c (mswindows_handle_gui_wm_command):
13268         Fixed compile warnings.
13269
13270         * gui-x.c:
13271         * gui-x.c (strdup_and_add_accel):
13272         * gui-x.c (button_item_to_widget_value):
13273         * gui-x.h:
13274         Added code to automatically put an accelerator onto the beginning
13275         of menu items that don't have one as is now the standard, and is
13276         described more later.  Also fixed things so that the menu item
13277         name can be an evaluated expression, again a new standard.
13278
13279         * gui.c:
13280         * gui.c (gui_item_add_keyval_pair):
13281         * gui.c (make_gui_item_from_keywords_internal):
13282         * gui.c (gui_add_item_keywords_to_plist):
13283         * gui.c (gui_item_accelerator):
13284         * gui.c (gui_name_accelerator):
13285         * gui.c (gui_item_included_p):
13286         * gui.c (gui_item_display_flush_left):
13287         * gui.c (gui_item_display_flush_right):
13288         * gui.c (parse_gui_item_tree_item):
13289         * gui.c (parse_gui_item_tree_children):
13290         * gui.c (parse_gui_item_tree_list):
13291         Mule-ized.  Cleanup.  GCPRO addition.
13292
13293         * line-number.c (buffer_line_number):
13294         * lisp.h:
13295         * lisp.h (EMACS_INT_MAX):
13296         Added the manifest constant EMACS_INT_MIN corresponding to the
13297         existing constant EMACS_INT_MAX.  This is partially to fix compile
13298         warnings under Windows, and partly for cleanliness.
13299
13300         * menubar-msw.c:
13301         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
13302         * menubar-msw.c (msw_translate_menu_or_dialog_item):
13303         * menubar-msw.c (displayable_menu_item):
13304         * menubar-msw.c (populate_menu_add_item):
13305         * menubar-msw.c (populate_or_checksum_helper):
13306         * menubar-msw.c (populate_menu):
13307         * menubar-msw.c (update_frame_menubar_maybe):
13308         * menubar-msw.c (prune_menubar):
13309         * menubar-msw.c (msw_char_is_accelerator):
13310         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
13311         * menubar-msw.c (mswindows_handle_wm_command):
13312         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
13313         * menubar-msw.c (mswindows_handle_wm_initmenu):
13314         * menubar-msw.c (mswindows_update_frame_menubars):
13315         * menubar-msw.c (mswindows_free_frame_menubars):
13316         * menubar-msw.c (mswindows_popup_menu):
13317         Fixed a bug in handling accelerators where an extra character
13318         would be displayed in the menu item.  Also generalized the
13319         function displayable_menu_item because it is now used by the
13320         dialog box code as well.  And finally, added code in the functions
13321         that create the menubar to extract a list of accelerators for the
13322         top level menubar, which is used in the event code to determine
13323         whether a particular alt-key combination should be used to invoke
13324         a menu item, or should be passed through to access the standard
13325         XEmacs keymap binding for this key combination.
13326
13327         Much needed GCPROing.
13328
13329         * menubar-x.c:
13330         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13331         * menubar-x.c (menu_item_descriptor_to_widget_value):
13332         * menubar-x.c (restore_in_menu_callback):
13333         * menubar-x.c (x_popup_menu):
13334         * menubar-x.c (menu_move_up):
13335         * menubar-x.c (menu_move_down):
13336         * menubar-x.c (menu_move_left):
13337         * menubar-x.c (menu_move_right):
13338         * menubar-x.c (menu_select_item):
13339         * menubar-x.c (command_builder_operate_menu_accelerator):
13340         * menubar-x.c (menu_accelerator_junk_on_error):
13341         * menubar-x.c (command_builder_find_menu_accelerator):
13342         * menubar-x.c (Faccelerate_menu):
13343         * menubar.h:
13344         Moved a whole bunch of code here that was previously in
13345         event-stream.c as described above.  There is also code connected
13346         to the new standard of adding an accelerator to the beginning of
13347         menu items that don't have one as described above and below.
13348
13349         * menubar.c:
13350         * menubar.c (menu_parse_submenu_keywords):
13351         * menubar.c (Fmenu_find_real_submenu):
13352         * menubar.c (Fnormalize_menu_item_name):
13353         * menubar.c (syms_of_menubar):
13354         * menubar.c (vars_of_menubar):
13355         * menubar.c (complex_vars_of_menubar):
13356
13357         a) Cleaned up a bunch of documentation and improved it.
13358
13359         b) XEmacs now automatically adds an accelerator onto the beginning
13360         of any menu items that don't have one.  I did this because there
13361         will inevitably be some menu items on the main menubar that don't
13362         have accelerators on them because the package that adds that
13363         particular menu item hasn't yet been fixed up to have accelerators
13364         in them and it looked rather strange to have some items with and
13365         some items without accelerators, especially since even in items
13366         without accelerators, you can, at least under windows, still
13367         access the item through an accelerator corresponding to the first
13368         character in the item's name.  If people don't like this behavior,
13369         I can add a variable to turn it off optionally, but I'm not sure
13370         this is a good idea because we really do need to have accelerators
13371         on all of the menu items, and if a package doesn't like the
13372         accelerators being put on the first character, then it should put
13373         the accelerators where they belong.
13374
13375         c) I made a behavior change, which is that the descriptor that
13376         specifies the text of the menu item, which formerly was just a
13377         string, can now also be an evaluated expression.  This makes this
13378         descriptor parallel with all of the others, which could also be
13379         evaluated expressions.  This also obviates the need for the
13380         keyword :label, which was previously listed in the documentation
13381         as unimplemented, and which was for the same purpose.
13382
13383         d) GCPROing.
13384
13385         * ntproc.c:
13386         * ntproc.c (new_child):
13387         * ntproc.c (sys_spawnve):
13388         * ntproc.c (find_child_console):
13389         * ntproc.c (sys_kill):
13390         Fixed compile warnings.  By the way, this file should really go
13391         away entirely, and this will happen as soon as Kirill makes his
13392         final round of process cleanups, which affect the function
13393         call-process.
13394
13395         * process-nt.c:
13396         * process-nt.c (struct nt_process_data):
13397         * process-nt.c (find_process_from_pid):
13398         * process-nt.c (send_signal_the_nt_way):
13399         * process-nt.c (enable_child_signals):
13400         * process-nt.c (find_child_console):
13401         * process-nt.c (send_signal_the_95_way):
13402         * process-nt.c (nt_finalize_process_data):
13403         * process-nt.c (ensure_console_window_exists):
13404         * process-nt.c (nt_create_process):
13405         * process-nt.c (nt_kill_child_process):
13406         * process-nt.c (nt_kill_process_by_pid):
13407         * process-nt.c (nt_open_network_stream):
13408         * process-nt.c (vars_of_process_nt):
13409         Copied over code from Emacs 20.5 to correctly send signals to sub-
13410         processes under Windows 95.  Also added code to automatically
13411         create and hide console window when a sub-process is created under
13412         Windows 95, which obviates the need for the separate runemacs.exe
13413         executable, and finally implemented some variables that were
13414         implemented in Emacs 20.5, but previously not in XEmacs.  These
13415         include mswindows- start-process-share-console and
13416         mswindows-start-process-inherit-error-mode. (Both of these only
13417         apply to Windows 95.)
13418
13419         * regex.c (regex_compile): Fixed a compile warning.
13420
13421         * select-msw.c:
13422         * select-msw.c (mswindows_own_selection):
13423         * select-msw.c (mswindows_get_foreign_selection):
13424         * select-msw.c (mswindows_disown_selection):
13425         * select-msw.c (console_type_create_select_mswindows):
13426         * select-msw.c (syms_of_select_mswindows):
13427         Cleaned up the file and implemented the device method
13428         selection_exists_p, which had accidentally been left out.  Also
13429         removed four lisp functions that were remnants from before the
13430         time when the selection code was properly device abstracted.
13431         These functions are no longer needed because there are generic
13432         equivalents, and because they were added recently and don't exist
13433         in FSF Emacs, I don't think there's any problem with just deleting
13434         them.
13435
13436         * sysdep.c:
13437         * sysdep.c (sys_subshell):
13438         Fixed a compile warning, although in this case there's probably
13439         something wrong with this code, and it ought to be looked into
13440         more thoroughly by somebody who understands it.
13441
13442         * window.c:
13443         * window.c (Fwindow_text_area_height):
13444         * window.c (Fwindow_width):
13445         * window.c (Fwindow_full_width):
13446         * window.c (Fwindow_pixel_width):
13447         * window.c (debug_print_window):
13448         * window.c (syms_of_window):
13449         Added functions window-text-area-height and window-full-width,
13450         which are functions for returning various width and height
13451         characteristics of a window. (One of these functions is necessary
13452         for making the file dialog box work correctly, and the other one
13453         was added for completeness.)  Also added a table to the
13454         documentation for window-height which describes the entire scheme
13455         for accessing width and height characteristics of a window.
13456
13457 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13458
13459         * nt.c (fstat): Added a comment for another problem with
13460         non-encapsulated [f]stat(), reported by Adrian Aichner
13461         <aichner@ecf.teradyne.com>.
13462
13463 2000-03-11  Andy Piper  <andy@xemacs.org>
13464
13465         * window.c (make_dummy_parent): initialize subwindow instance
13466         cache.
13467         (Fset_window_configuration): zero extent_modiff.
13468
13469 2000-03-10  Andy Piper  <andy@xemacs.org>
13470
13471         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
13472         more changes can be triggered.
13473         (Fredisplay_frame): ditto.
13474         (Fredraw_device): ditto.
13475         (Fredisplay_device): ditto.
13476         (redisplay_frame): make non-static.
13477         (redisplay_frame): call update_frame_gutter_geometry outside of
13478         display proper.
13479
13480         * gutter.h: declare update_frame_gutter_geometry.
13481
13482         * redisplay.h: declare redisplay_frame.
13483
13484         * gutter.c (update_frame_gutter_geometry): move geometry changes
13485         in update_frame_gutters here. Geometry changes can only occur
13486         outside of redisplay.
13487         (update_frame_gutters): remove geometry change code.
13488         (Fredisplay_gutter_area): make sure that we are in display when we
13489         update and that we have flushed any size changes.
13490
13491 2000-03-11  Andy Piper  <andy@xemacs.org>
13492
13493         * alloc.c (pdump_dump_data): remove i & count shadows.
13494
13495 2000-02-27  Mike Alexander  <mta@arbortext.com>
13496
13497         * sysdep.h: Declare pdump_read_file
13498
13499         * sysdep.c (pdump_read_file): New function
13500
13501         * alloc.c (pdump_load): Call pdump_read_file to get the portable
13502         dump data
13503
13504 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13505
13506         * lrecord.h: add `lrecord_type_pgsetenv'.
13507
13508 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
13509
13510         * symsinit.h: declare (vars|syms)_of* functions.
13511         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
13512
13513 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
13514
13515         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
13516
13517         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
13518         GCCs.
13519
13520         * emacs.c (main_1): Call postgres initialization code.
13521
13522         * postgresql.h: New file.  PostgreSQL RDBMS support.
13523         * postgresql.c: New file.
13524
13525 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13526
13527         * redisplay-output.c (redisplay_output_display_block): Disable
13528         redundant code.
13529
13530 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13531
13532         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
13533         (Fcanna_henkan_next): Ditto.
13534         (Fcanna_bunsetu_henkou): Ditto.
13535         (Fcanna_henkan_kakutei): Ditto.
13536         (Fcanna_henkan_end): Ditto.
13537         (Fcanna_henkan_quit): Ditto.
13538         (Fcanna_henkan_next): Set retun value correctly.
13539         (c2mu): Use unsigned char instead of signed char.
13540
13541 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13542
13543         * emacs.c (main_1): Always call syms_of_gui.
13544         * inline.c: include gui.h
13545
13546 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13547
13548         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
13549         converted to Lisp_Object.
13550         (Qtop_bottom): New variable.
13551         (syms_of_redisplay): Initialize it.
13552         * redisplay.h (Vvisible_bell): Ditto.
13553         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
13554         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
13555         only flash top and bottom.
13556
13557 2000-03-08  Andy Piper  <andy@xemacs.org>
13558
13559         * buffer.c (Frename_buffer): record new buffer name the right way.
13560
13561 2000-03-08  Andy Piper  <andy@xemacs.org>
13562
13563         * glyphs.c (update_subwindow): increase hash depth so that widget
13564         items get picked up properly.
13565
13566         * redisplay-output.c (compare_runes): increase hash depth so that
13567         widget items get picked up properly.
13568
13569 2000-03-08  Andy Piper  <andy@xemacs.org>
13570
13571         * gutter.c (output_gutter): add some debug.
13572
13573         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
13574         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
13575         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
13576
13577         * redisplay-output.c (compare_runes): use display_hash to
13578         determine if glyphs really are not the same.
13579
13580         * glyphs.c (update_subwindow): check display_hash to see if
13581         anything really needs to be updated. If not then do
13582         nothing. Record the display_hash after updating.
13583         (image_instance_equal): compare the image_instance face also.
13584
13585 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
13586
13587         * redisplay.h: Fix comment style.
13588
13589 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13590
13591         * consle-msw.h (struct mswindows_frame):
13592         Added new member paint_pending to indicate whether a WM_PAINT
13593         magic event has been queued for this frame.
13594
13595         * event-msw.c (mswindows_drain_windows_queue):
13596         Don't queue a WM_PAINT magic event if one is already queued.
13597         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
13598
13599         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
13600
13601 2000-03-07  Didier Verna  <didier@xemacs.org>
13602
13603         * dired.c: #include `regex.h' after `sysfile.h'.
13604
13605 2000-03-06  Martin Buchholz  <martin@xemacs.org>
13606
13607         * sound.c (init_nas_sound): Fix compiler warning.
13608
13609         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
13610         (FREE_STRUCT_P):
13611         (MARK_STRUCT_AS_FREE):
13612         (MARK_STRUCT_AS_NOT_FREE):
13613         Make `gcc -fstrict-aliasing' work properly.
13614
13615 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13616
13617         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
13618         (mswindows_delete_device): Call CoUnnitialize().
13619
13620         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
13621
13622 2000-02-25    <CraigL@DyCon.com>
13623
13624         * process-nt.c: MinGW now has <shellapi.h>, but still needs
13625         <errno.h>.
13626
13627         * sysdep.c: This extern declaration for environ prevents MinGW
13628         from finding the variable in CRTDLL.DLL.
13629
13630         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
13631         windows headers.
13632         (SHGFI_EXETYPE): ..
13633         (WM_MOUSEWHEEL): ..
13634         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
13635         definitions.
13636         (MMRESULT): Removed, now defined in cygwin's windows headers.
13637         (TIMECAPS): ..
13638         (uid_t,gid_t,pid_t,ssize_t): ..
13639         (_timeb): Removed, MinGW defines both _timeb and timeb.
13640         (HAVE_H_ERRNO): Added.
13641         (HAVE_TZNAME): Added, configure is not detecting this.
13642
13643 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
13644
13645         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
13646         * syntax.c (syntax_match): Use it.
13647
13648         * cmds.c: Import auto-fill-chars from FSF Emacs.
13649         (Vauto_fill_chars): New variables.
13650         (internal_self_insert): Check Vauto_fill_chars.
13651         (vars_of_cmds):
13652         Declare auto-fill-chars as a Lisp variable and initialize it.
13653
13654 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13655
13656         * fileio.c (Fmake_symbolic_link):
13657         (Ffile_symlink_p):
13658         Run handlers even if local machine doesn't have symlinks.
13659
13660 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13661
13662         * event-msw.c (mswindows_drain_windows_queue):
13663         Don't generate paint magic events for non-XEmacs frames.
13664
13665 2000-03-05  Andy Piper  <andy@xemacs.org>
13666
13667         * redisplay.c (redisplay_frame): generate_displayable_area and
13668         friends assumes that we are not in GC, we therefore have to make
13669         sure that this doesn't happen.
13670
13671         * gutter.c (calculate_gutter_size): generate_displayable_area
13672         assumes that we are not in GC, we therefore have to make sure that
13673         this doesn't happen.
13674
13675 2000-03-05  Martin Buchholz  <martin@xemacs.org>
13676
13677         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
13678
13679 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13680
13681         * redisplay.c (regenerate_window): Make sure we set a sane value
13682         for end_pos even if we jump out of the loop.
13683         (regenerate_window): Answer Ben's question :-).
13684         (start_end_of_last_line): Add may_error argument.
13685         (start_of_last_line):
13686         (end_of_last_line): Pass may_error = 0.
13687         (end_of_last_line_may_error): New function.
13688         (pixel_to_glyph_translation): Use it, so we don't crash in
13689         event_to_glyph.
13690
13691 2000-03-04  Andy Piper  <andy@xemacs.org>
13692
13693         * window.h (struct window): add gutter_extent_modiff.
13694
13695         * window.c (allocate_window): zero out gutter_extent_modiff.
13696
13697         * redisplay.h: declare sync_display_line_structs.
13698
13699         * redisplay.c (add_glyph_rune): add a better comment.
13700
13701         * redisplay-output.c (sync_display_line_structs): made non-static.
13702         (compare_runes): remove unneccesary glyph cachel access.
13703
13704         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
13705
13706         * gutter.c (output_gutter): don't output the gutter if extent
13707         changes only involve extents in buffers. use 4 sets of display
13708         lines.
13709         (gutter_extent_signal_changed_region_maybe): new function. Mark
13710         extents in gutters as changed.
13711         (update_frame_gutters): use 4 sets of display lines.
13712         (reset_gutter_display_lines): ditto.
13713         (free_frame_gutters): ditto.
13714         (redraw_exposed_gutter): force output of gutters.
13715
13716         * frame.h (struct frame): add 4 sets of gutter display lines.
13717
13718         * extents.c: (extent_changed_for_redisplay): signal changes to
13719         extents in strings in the gutter as well as extents in buffers.
13720
13721 2000-03-02  Andy Piper  <andy@xemacs.org>
13722
13723         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
13724
13725         * frame.c (Fmake_frame): make sure the gutters get initialized
13726         after the frame is visible.
13727         (set_frame_selected_window): re-arrange compilation macros a
13728         little.
13729         (change_frame_size_1): mark gutters changed.
13730
13731         * device.c (Fset_device_class): mark gutters changed.
13732
13733 2000-03-01  Andy Piper  <andy@xemacs.org>
13734
13735         * window.c (window_top_frame_gutter_height): deleted.
13736         (window_bottom_frame_gutter_height): ditto.
13737         (window_left_frame_gutter_height): ditto.
13738         (window_right_frame_gutter_height): ditto.
13739         (window_top_gutter_height): don't use them.
13740         (window_bottom_gutter_height): ditto.
13741         (window_left_gutter_width): ditto.
13742         (window_right_gutter_width): ditto.
13743         (Fsplit_window): ditto.
13744         (Fwindow_pixel_edges): don't use border dimensions here.
13745
13746         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
13747         (update_scrollbar_instance): ditto.
13748
13749         * redisplay.c (generate_modeline): don't take gutters into account.
13750         (generate_modeline): ditto.
13751         (redisplay_frame): small gutter display optimization.
13752
13753         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
13754
13755         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
13756         gutters into account.
13757
13758         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
13759         for window position and type.
13760
13761         * gutter.c (get_gutter_coords): fix for frame gutters.
13762         (update_frame_gutters): update frame geometry if the gutters have
13763         changed.
13764         (init_frame_gutters): record current gutter geometries.
13765
13766         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
13767         var.
13768         (mswindows_widget_instantiate): ditto.
13769
13770         * frame.h (struct frame): add current_gutter_bounds.
13771
13772         * frame.c (change_frame_size_1): position window and minibuffer
13773         appropriately taking into account the frame gutters.
13774
13775         * frame-x.c: (x_initialize_frame_size): take into account the
13776         frame gutters.
13777
13778 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13779
13780         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
13781
13782 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13783
13784         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
13785
13786 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13787
13788         * file-coding.c (reset_decoding_stream): Clear previous
13789         detection state when autodetect.
13790
13791 2000-02-29  Didier Verna  <didier@xemacs.org>
13792
13793         * extents.c (set_extent_glyph_1): don't require extents to be
13794         attached.
13795
13796 2000-02-27  Andy Piper  <andy@xemacs.org>
13797
13798         * gutter.c (Fset_default_gutter_position): don't default left and
13799         right gutter visibility to t.
13800         (Fset_default_gutter_position): run
13801         default-gutter-position-changed-hook.
13802         (syms_of_gutter): add default-gutter-position-changed-hook.
13803
13804 2000-02-26  Andy Piper  <andy@xemacs.org>
13805
13806         * specifier.c (Fmake_specifier): add gutter references.
13807
13808         * gutter.h (RAW_WINDOW_GUTTER): new macro.
13809
13810         * lisp.h: declare Fvalid_plist_p.
13811
13812         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
13813         as changed.
13814         (default_gutter_visible_p_changed_in_window): invalidate gutter as
13815         well as its visibility so that it gets reconstructed.
13816         (construct_window_gutter_spec): new function. Construct a string
13817         to be displayed in the gutter from a plist of strings. Take care
13818         to only use elements that are declared as visible.
13819         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
13820         WINDOW_GUTTER.
13821         (gutter_validate): allow plists of strings in the specifier.
13822         (gutter_specs_changed): construct the real_gutter from the gutter
13823         specs using construct_window_gutter_spec.
13824         (gutter_visible_validate): gutter-visible is a new specifier type.
13825         (Fgutter_visible_specifier_p): new function for the new specifier.
13826         (syms_of_gutter): declare gutter-visible and
13827         Fgutter_visible_specifier_p.
13828         (specifier_type_create_gutter): intitalize new gutter-visible
13829         specifier.
13830         (reinit_specifier_type_create_gutter): ditto.
13831         (specifier_vars_of_gutter): use new specifier type for gutter
13832         visibility.
13833         (init_frame_gutters): construct real_gutter correctly.
13834         (Fgutter_specifier_p): beef up documentation.
13835         (Fgutter_size_specifier_p): ditto.
13836
13837         * winslots.h: add real_gutter slots.
13838
13839 2000-02-25  Andy Piper  <andy@xemacs.org>
13840
13841         * device-msw.c: Be kind to older cygwin versions. From Raymond
13842         Toy <toy@rtp.ericsson.se>.
13843
13844         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
13845         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
13846
13847 2000-02-25  Martin Buchholz  <martin@xemacs.org>
13848
13849         * elhash.c (MARK_OBJ): Practice macro hygiene.
13850
13851 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13852
13853         * miscplay.c: s/__inline__/inline/g;
13854         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
13855         (get_device_compdc): INLINE ==> static inline
13856         * *.[ch]: Change INLINE to INLINE_HEADER globally.
13857         find -name '*.h' | \
13858         xargs global-replace \
13859         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
13860
13861 2000-02-25  Andy Piper  <andy@xemacs.org>
13862
13863         * window.c (window_top_frame_gutter_height): new function.
13864         (window_top_window_gutter_height): ditto.
13865         (window_top_gutter_height): use them.
13866         (window_bottom_frame_gutter_height): new function.
13867         (window_bottom_window_gutter_height): ditto.
13868         (window_bottom_gutter_height): use them.
13869         (window_left_window_gutter_width): new function.
13870         (window_left_frame_gutter_width): ditto.
13871         (window_left_gutter_width): use them.
13872         (window_right_window_gutter_width): new function.
13873         (window_right_frame_gutter_width): ditto.
13874         (window_right_gutter_width): use them.
13875         (window_pixel_height): new function. calulate window pixel height
13876         with frame gutter involvement.
13877         (Fsplit_window): calculate new sizes taking frame gutters into
13878         account.
13879         (window_char_height_to_pixel_height): don't include frame gutters.
13880         (window_char_height): use window_pixel_height.
13881         (window_pixheight): rename from window_pixel_height.
13882         (change_window_height): use it.
13883         (window_pixel_height_to_char_height): don't include frame gutters.
13884         (window_char_width_to_pixel_width): ditto.
13885
13886 2000-02-25  Andy Piper  <andy@xemacs.org>
13887
13888         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
13889         if it is.
13890
13891 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13892
13893         * alloc.c (staticpro):
13894         (staticpro_nodump):
13895         (dumpstruct):
13896         (dumpopaque):
13897         (pdump_wire):
13898         (pdump_wire_list):
13899         (compact_string_chars):
13900         (pdump_dump_wired):
13901         Convert:  if (foo) abort();  ==>  assert (! foo);
13902
13903         * eldap.c (Fldap_search_basic):
13904         (Fldap_add):
13905         (Fldap_modify):
13906         (Fldap_delete):
13907         Fix compiler warnings, and possible crashes if (random) return
13908         value were to be used.
13909
13910 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13911
13912         * device-msw.c: Workaround ResetDC failure.
13913
13914         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
13915         applying a devmode.
13916
13917         * redisplay-msw.c (get_frame_dc): Added start_page_p.
13918         (mswindows_text_width): Do not start printer page.
13919
13920         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
13921
13922         * glyphs-msw.c: Added image methods to msprinter console and
13923         msprinter-specific image instantiation.
13924
13925 2000-02-20  Mike Alexander  <mta@arbortext.com>
13926
13927         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
13928         to avoid crashes when selection-sets-clipboard is on
13929         (mswindows_own_selection): ditto
13930
13931 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13932
13933         * glyphs-msw.c:
13934         * redisplay-msw.c (get_frame_dc):
13935         (get_frame_compdc):
13936         * console-msw.h:
13937         * device-msw.c (mswindows_init_device):
13938         (mswindows_delete_device):
13939         (msprinter_init_device):
13940         (msprinter_delete_device):
13941         * frame-msw.c (mswindows_init_frame_1):
13942         (mswindows_delete_frame):
13943         (msprinter_init_frame_3):
13944         (msprinter_delete_frame): Move compatible DC to device object from
13945         frame object, for both mswindows and msprinter. Only one at a time
13946         is needed, it is a real waste to have one per frame!
13947
13948 2000-02-23  Andy Piper  <andy@xemacs.org>
13949
13950         * glyphs.c: add dynamic width and height elements.
13951         (image_instance_equal): ditto.
13952
13953         * glyphs-widget.c (widget_query_geometry): calculate width and
13954         height dynamically if required.
13955         (initialize_widget_image_instance): initialize dynamic dimensions.
13956         (widget_instantiate): pick-up dynamic dimensions.
13957
13958         * glyphs.h (struct Lisp_Image_Instance): add width and height for
13959         dynamic determination. Add appropriate macros.
13960
13961         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
13962         dimensions safe.
13963         (WINDOW_GUTTER_SIZE): ditto.
13964         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
13965
13966         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
13967         inline.
13968         (get_frame_dc): ditto.
13969
13970         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
13971         here.
13972
13973 2000-02-23  Martin Buchholz <martin@xemacs.org>
13974
13975         * XEmacs 21.2.31 is released.
13976
13977 2000-02-22  Ben Wing <ben@xemacs.org>
13978
13979         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
13980
13981 2000-02-22  Andy Piper  <andy@xemacs.org>
13982
13983         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
13984
13985 2000-02-21  Mike Sperber <mike@xemacs.org>
13986
13987         * .dbxrc:
13988         * .gdbinit:
13989         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
13990         variables.
13991
13992 2000-02-21  Mike Sperber <mike@xemacs.org>
13993
13994         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
13995
13996 2000-02-21  Martin Buchholz <martin@xemacs.org>
13997
13998         * XEmacs 21.2.30 is released.
13999
14000 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14001
14002         Performance hacking.
14003         * *.c (syms_of_*):
14004         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14005         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14006         * emacs.c (main_1):
14007         * lisp.h (DEFUN):
14008         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14009         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14010         * symeval.h (DEFVAR_SYMVAL_FWD):
14011         * symbols.c (guts_of_unbound_marker):
14012         Make all c_readonly objects also lisp_readonly and marked for life.
14013         * lrecord.h (struct lrecord_implementation):
14014         Document flags better.
14015         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14016         * lrecord.h (DECLARE_LRECORD):
14017         * lrecord.h (XSETRECORD):
14018         * lrecord.h (RECORDP):
14019         * lrecord.h (RECORD_TYPEP):
14020         * lrecord.h (RECORD_MARKER): New.
14021         * lrecord.h (error_check_*):
14022         * lrecord.h (CONCHECK_NONRECORD):
14023         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14024         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14025         * lrecord.h (set_lheader_implementation):
14026         * lrecord.h (enum lrecord_type): New.
14027         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14028         * alloc.c (disksave_object_finalization_1):
14029         * alloc.c (mark_object):
14030         * alloc.c (lrecord_type_index):
14031         * alloc.c (tick_lcrecord_stats):
14032         * alloc.c (Fgarbage_collect):
14033         * alloc.c (init_alloc_once_early):
14034         * alloc.c (pdump_load):
14035         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14036         * alloc.c (lrecord_type_index): Delete.
14037         Make lisp object type indexes be constant.
14038           Makes (byte-compile) 5% faster.
14039         Put all marker functions into their own array.
14040           Makes (garbage-collect) 5% faster.
14041         Optimize SYMBOL_VALUE_MAGIC_P.
14042           Makes (byte-compile) 2-3% faster.
14043         * config.h.in (gc_checking_assert): New.
14044         * alloc.c: Use gc_checking_assert().
14045         * .dbxrc: Make compatible with new object type implementation.
14046         * .gdbinit: Make compatible with new object type implementation.
14047         * alloc.c: Delete all symbols defined only for debugging, such as
14048         Lisp_Type_Vector and lrecord_charset.
14049
14050 2000-02-21  Andy Piper  <andy@xemacs.org>
14051
14052         * gui-msw.c (Fmswindows_shell_execute): fix file location
14053         problems.
14054
14055         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14056         unshowing so that set_window_buffer doesn't undo
14057         kill_buffer_hook's hard work.
14058
14059         * glyphs-widget.c (tab_control_query_geometry): don't count the
14060         first item when calculating geometry.
14061
14062         * glyphs.c (map_subwindow): remove redundant code.
14063         (update_frame_subwindows): be more circumspect about when to
14064         update subwindows.
14065
14066         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14067         when items haven't changed. Update faces if faces have changed as
14068         well as just the widget face.
14069         (x_tab_control_update): Update faces if faces have changed as well
14070         as just the widget face.
14071
14072 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14073
14074         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14075         registration.
14076         (build_syscolor_string): Use mswindows_color_to_string to try to
14077         get a named color.
14078         (mswindows_device_system_metrics): Reverse the foreground and
14079         background colors so that they match the documentation.
14080
14081         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14082         they match the default Windows palette.
14083         (mswindows_color_to_string): New function.
14084
14085 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14086
14087         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14088
14089 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14090
14091         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14092         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14093
14094         * symbols.c (init_symbols_once_early): Removed obsolete
14095         DATA_SEG_BITS related kludge.
14096         (defvar_magic): Ditto.
14097
14098         * malloc.c: Removed obsolete DATA_SEG_BITS
14099         * ralloc.c: Ditto.
14100         * mem-limits.h: Ditto.
14101
14102         * Makefile.in.in: Removed obsolete HAVE_SHM
14103         * emacs.c: Ditto.
14104
14105 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14106
14107         *  device-msw.c (mswindows_delete_device): Free DDE string
14108         handles.
14109
14110 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14111
14112         * keymap.c (get_keyelt):
14113         * unexnt.c (unexec):
14114         * vm-limit.c (memory_warnings):
14115         * ntheap.c (recreate_heap):
14116         * ntheap.h (UNINIT_PTR):
14117         * select-msw.c (Fmswindows_get_clipboard):
14118         (Fmswindows_set_clipboard):
14119         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14120         * objects-msw.c:
14121         * menubar-msw.c (displayable_menu_item):
14122         * glyphs-msw.c:
14123         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14124         * sysdep.c (sys_subshell):
14125         * process-nt.c (nt_create_process):
14126         * nt.c (normalize_filename):
14127         (dostounix_filename):
14128         (unixtodos_filename):
14129         * ntproc.c (win32_executable_type):
14130         * ntplay.c (play_sound_data_1):
14131         (play_sound_file):
14132         * editfns.c (get_home_directory):
14133         * event-msw.c (struct winsock_stream):
14134         (mswindows_dde_callback):
14135         * device-msw.c (msprinter_init_device):
14136         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14137
14138         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14139         mswindows_clear_toolbar were swapped!
14140
14141         * objects-msw.c:(colormap_t):
14142         (fontmap_t):
14143         * emacs.c (struct standard_args): Fixed const jumble.
14144
14145         * glyphs-widget.c (update_widget): Fixed comparison notation.
14146
14147         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14148
14149         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14150         __declspec(noreturn) syntax.
14151
14152 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14153
14154         * eldap.c (Fldap_open):
14155         (Fldap_search_basic):
14156         (Fldap_add):
14157         (Fldap_modify):
14158         Use new coding system conversion macros.
14159
14160 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14161
14162         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14163
14164 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14165
14166         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14167         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14168
14169         * eldap.c (Qadd, Qreplace): New constant symbols
14170         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14171         interruptions by XEmacs signals
14172         Remove unnecessary calls to slow_down_interrupts and
14173         speed_up_interrupts
14174         (Fldap_search_basic): Renamed from Fldap_search_internal
14175         Added new optional parameter VERBOSE that triggers the
14176         display of progress messages
14177         Remove unnecessary calls to slow_down_interrupts and
14178         speed_up_interrupts
14179         LDAP result code analysis rewritten
14180         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14181         (syms_of_eldap): Define the new symbols and functions
14182
14183
14184 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14185
14186         * realpath.c: Determine PATH_MAX maximally portably.
14187
14188         * insdel.c (bytecount_to_charcount): Optimize.
14189         The function used to be optimized for entirely ASCII sequences.
14190         Now it is optimized for successive characters from the same
14191         charset.  This also wins big for _mostly_ ASCII sequences.
14192
14193         * fileio.c (Ffile_truename): convert return from realpath() using
14194         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14195         - Rewrite GCPROing slightly.
14196
14197         * sysdep.c (sys_open): Do filename conversion, like all other
14198         sys_* functions.  Fixes bug:
14199         (let ((file-name-coding-system 'iso-8859-2))
14200            (write-region x y latin2-name))
14201         ==> writes filename using internal encoding.
14202
14203 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14204
14205         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14206         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14207         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14208         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14209         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14210         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14211         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14212         (CONST_IF_NOT_DEBUG): Delete.
14213         * alloc.c (this_one_is_unmarkable): Delete.
14214         (mark_object): Don't check for this_one_is_unmarkable. Use the
14215         c_readonly flag instead.
14216         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14217
14218 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14219
14220         * event-msw.c (mswindows_drain_windows_queue):
14221         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14222         away redundant repaint events.
14223
14224 2000-02-17  Andy Piper  <andy@xemacs.org>
14225
14226         * redisplay.h: declare mark_redisplay_structs.
14227
14228         * redisplay.c (redisplay_window):
14229         (redisplay_frame): don't check subwindows_state_changed.
14230         (mark_redisplay): mark gutters here.
14231
14232         * glyphs.c: (instantiate_image_instantiator): always layout if we
14233         haven't done so already.
14234         (allocate_image_instance): don't mark as dirty.
14235         (update_subwindow): bind inhibit_quit.
14236
14237         * gutter.c (mark_gutters): new function.
14238
14239         * glyphs-x.c (x_update_widget): Always resize to get round a
14240         widget bug.
14241
14242         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14243         breaking absolutely everything.
14244
14245         * gutter.h: declare mark_gutters.
14246
14247 2000-02-16  Martin Buchholz <martin@xemacs.org>
14248
14249         * XEmacs 21.2.29 is released.
14250
14251 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14252
14253         * fns.c (size_bit_vector): Fix computation of the size.
14254
14255 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14256
14257         * *.[ch]: Change CONST to const globally.
14258         find -name '*.[ch]' | \
14259         xargs global-replace \
14260         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
14261         - Remove vestigial references to CONST_IS_LOSING
14262
14263 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14264
14265         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
14266         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
14267         events instead of dispatching them directly.
14268         (mswindows_handle_paint): New function to do repainting.
14269         (mswindows_wnd_proc):
14270         (emacs_mswindows_handle_magic_event): Call above function.
14271
14272 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14273
14274         * objects-msw.c (mswindows_create_font_variant): Return the new
14275         font handle.
14276         (initialize_font_instance): Get font metrics from the underlined
14277         variant of the font to cope with the case where the underlined
14278         font has a bigger descent.
14279
14280 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14281
14282         * gui.c (gui_item_accelerator): Return the first underlined
14283         character in item name.
14284
14285 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14286
14287         * lisp.h: Added Qprinter.
14288
14289         * general.c (syms_of_general): Initialized it.
14290
14291         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
14292         (get_frame_dc):
14293         (get_frame_compdc): Made inline.
14294
14295         * console.h (struct console_methods): Added eject_page method.
14296
14297         * frame.h: Added FRAME_DISPLAY_P and friends.
14298         Aligned backslahes in many macros in more readable fashion.
14299         Added page_number to struct frame, and an accessor macro
14300         for it.
14301
14302         * defice.h: Added DEVICE_DISPLAY_P and friends.
14303
14304         * device.c (Fdevice_printer_p): Used these.
14305
14306         * frame.c (allocate_frame_core): Initialize page number.
14307         (Fprint_job_page_number):
14308         (Fprint_job_eject_page): Implemented.
14309
14310         * frame-msw.c (msprinter_eject_page): Added method.
14311         (msprinter_start_page): Added.
14312
14313         * window.c (Fwindow_truncated_p): Fixed docstring.
14314         (Fwindow_last_line_visible_height): Implemented.
14315
14316 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14317
14318         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
14319
14320 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14321
14322         * syntax.c (scan_words): Always advance at least one character.
14323
14324 2000-02-13  Andy Piper  <andy@xemacs.org>
14325
14326         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
14327         to make sure the glyph is in the cachels.
14328
14329         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
14330         global image instance flag.
14331         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
14332         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
14333
14334         * glyphs.c (allocate_image_instance): set dirty bits correctly.
14335         (Fset_image_instance_property): mark layout as changed.
14336         (invalidate_glyph_geometry_maybe): mark layout as changed.
14337         (glyph_width): use new NEEDS_LAYOUT macro.
14338         (glyph_ascent): ditto.
14339         (glyph_descent): ditto.
14340         (glyph_height): ditto.
14341         (image_instance_layout): mark layout as clean after laying out.
14342         (update_subwindow): don't mark layout as clean here.
14343
14344         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
14345         should no longer be needed.
14346
14347         * glyphs-x.c (x_update_widget): sanitize asserts.
14348         (x_finalize_image_instance): sanitize assignment to widgets.
14349
14350         * glyphs-widget.c (widget_instantiate): don't need to clear the
14351         layout flag here.
14352
14353 2000-02-13  Martin Buchholz  <martin@xemacs.org>
14354
14355         * sysdep.c (getcwd): Use standard prototype.
14356         * sysdep.h (getcwd): Use standard prototype.
14357
14358         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
14359         (sequence, start, end).
14360         Remove redundant type checking.
14361         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
14362         view of `caller-protects') to avoid a crash where the real fix was
14363         found elsewhere.
14364
14365 2000-02-12  Martin Buchholz  <martin@xemacs.org>
14366
14367         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
14368
14369         * s/sol2.h: Remove feature macro initialization.
14370
14371         * alloc.c (alloc_lcrecord): Add more type checking assertions.
14372         (vector_hash): New.  Code from internal_hash.
14373         * lrecord.h:
14374         Fix up allocation subsystem comments.
14375
14376         * config.h.in: Add __EXTENSIONS__ for Solaris.
14377
14378         * systime.h (EMACS_GETTIMEOFDAY): New.
14379         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
14380         Remove Solaris-specific code.
14381         Use void* for the (ignored) second arg for gettimeofday().
14382
14383         * elhash.c (hash_table_hash): Implement it, finally.
14384         * elhash.c:  Use hashcode_t.
14385
14386         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
14387         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
14388
14389         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
14390         * fns.c (size_bit_vector):
14391         * alloc.c (size_vector):
14392         (make_vector_internal):
14393         (make_bit_vector_internal):
14394         (sweep_bit_vectors_1):
14395         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
14396
14397 2000-02-10  Martin Buchholz  <martin@xemacs.org>
14398
14399         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
14400         Include strings.h to avoid warnings for bzero and strcasecmp.
14401
14402 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14403
14404         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
14405         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
14406
14407         * fns.c (size_bit_vector): New.  Declare bit vectors as a
14408         sequence.
14409
14410 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14411
14412         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
14413         use a value field instead.
14414         (symbol_value_forward_forward): Use value field.
14415         (DEFVAR_SYMVAL_FWD): Use value field.
14416         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
14417         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
14418         (DEFVAR_CONST_INT): Ditto.
14419         (DEFVAR_BOOL): Ditto.
14420         (DEFVAR_CONST_BOOL): Ditto.
14421         (DEFVAR_INT_MAGIC): Ditto.
14422         (DEFVAR_BOOL_MAGIC): Ditto.
14423
14424         * symbols.c (guts_of_unbound_marker): Use value field.
14425         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
14426         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
14427
14428         * lisp.h: Declare dumpopaque and noninteractive1.
14429
14430         * alloc.c (dumpopaque): Added.
14431         (pdump_dump_opaquevec): Added.
14432         (pdump): Call pdump_dump_opaquevec to dump opaque data.
14433         (pdump_load): Reload opaque data.  Sync noninteractive1 with
14434         noninteractive.
14435
14436 2000-02-10  Andy Piper  <andy@xemacs.org>
14437
14438         * glyphs.c (image_instance_layout): if the size changes, mark it
14439         as such.
14440
14441         * redisplay-output.c (redisplay_output_layout): Update the
14442         subwindow here.
14443         (redisplay_output_subwindow): ditto.
14444
14445         * glyphs.c (update_subwindow): make sure we reset flags for
14446         layouts as well as everything else.
14447
14448         * glyphs-widget.c (layout_layout): don't need to set the instances
14449         dimensions here.
14450
14451 2000-02-09  Martin Buchholz  <martin@xemacs.org>
14452
14453         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
14454         not HAVE_DLOPEN, which is a lower-level thing.
14455
14456         * .cvsignore: Ignore gmon.out
14457
14458 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
14459
14460         * .cvsignore: Ignore portable dumper xemacs.dmp file
14461
14462 2000-02-09  Andy Piper  <andy@xemacs.org>
14463
14464         * redisplay-output.c (redisplay_output_layout): be more clever
14465         about when we output based on the changed flags.
14466
14467         * glyphs.h (struct image_instantiator_methods): add update_method.
14468         (struct Lisp_Image_Instance): add changed flags. Declare new
14469         macros for manipulating them.
14470
14471         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
14472         (image_instance_parent_glyph): find an image_instance's parent
14473         glyph or image_instance.
14474         (image_instance_layout): mark the size as changed.
14475         (set_image_instance_dirty_p): new function. mark an image
14476         instance, plus all of its parents, as dirty.
14477         (Fset_image_instance_property): use it.
14478         (Fglyph_animated_timeout_handler): use it.
14479         (update_subwindow): call update_widget and device methods for
14480         update_subwindow. Mark all changed flags as clean.
14481         (Fresize_subwindow): mark size as changed.
14482
14483         * glyphs-x.c (x_finalize_image_instance): try and detect gc
14484         failures.
14485         (x_update_subwindow): only resize subwindows here.
14486         (x_update_widget): new function. Update all changed properties of
14487         a widget.
14488         (x_resize_subwindow): deleted.
14489         (x_widget_set_property): deleted.
14490         (x_progress_gauge_set_property): deleted.
14491         (x_progress_gauge_update): new function. Implement recorded
14492         changes.
14493         (x_tab_control_update): ditto.
14494         (x_tab_control_set_property): deleted.
14495         (console_type_create_glyphs_x): declare new functions.
14496         (image_instantiator_format_create_glyphs_x): ditto.
14497
14498         * glyphs-widget.c (widget_set_property): mark text changed.
14499         (update_widget): new function. Update properties of a widget.
14500         (widget_instantiate): for layouts make sure we set their
14501         children's parent correctly.
14502         (tab_control_set_property): new function. Record changes that will
14503         take place under redisplay's control.
14504         (progress_gauge_set_property): ditto.
14505         (image_instantiator_progress_guage): declare new functions.
14506         (image_instantiator_tab_control): ditto.
14507
14508         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
14509         now.
14510         (mswindows_update_widget): new function. Update all properties on
14511         a widget that have changed.
14512         (mswindows_button_update): new function. Update a button's set
14513         state.
14514         (mswindows_tab_control_update): new function. Update the items in
14515         a tab.
14516         (mswindows_tab_control_set_property): deleted.
14517         (mswindows_progress_gauge_update): new function. Update the
14518         progress gauge's progress.
14519         (mswindows_widget_set_property): deleted. This is all done
14520         asynchronously now.
14521         (mswindows_progress_gauge_set_property): ditto.
14522         (console_type_create_glyphs_mswindows): declare new methods.
14523         (image_instantiator_format_create_glyphs_mswindows): ditto.
14524
14525         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
14526         (msprinter_set_frame_properties): ditto.
14527
14528         * console.h (struct console_methods): Add update_widget_method.
14529
14530 2000-02-09  Andy Piper  <andy@xemacs.org>
14531
14532         * gui-msw.c (Fmswindows_shell_execute): Make
14533         mswindows-shell-execute industrial strength.
14534
14535 2000-02-08  Martin Buchholz  <martin@xemacs.org>
14536
14537         * lrecord.h: Make macro argument `props' match member function `plist'.
14538         * fns.c (Fget):
14539         * fns.c (Fput):
14540         * fns.c (Fremprop):
14541         * fns.c (Fobject_plist):
14542         * alloc.c:
14543         * symbols.c:
14544         Object property list frobbing cleanup.
14545         - Allow any lisp object (compared with `eq'), not just symbols, as
14546           keys in object plists.
14547         - Move symbol plist frobbing into symbols.c, where it belongs.
14548         - Move string plist frobbing into alloc.c, where it belongs.
14549         - Everything's an lrecord now, so no need to test for symbolp, etc.
14550         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
14551
14552         * extents.c: Reorder code to remove declarations.
14553
14554         * frame.h (store_in_alist): Remove useless declaration.
14555
14556 2000-02-07  Martin Buchholz  <martin@xemacs.org>
14557
14558         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
14559         * config.h.in: Add HAVE_XCONVERTCASE.
14560
14561 2000-02-07  Andy Piper  <andy@xemacs.org>
14562
14563         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
14564         it breaks many things.
14565
14566 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14567
14568         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
14569         actually can start a common comment type.
14570         * src/syntax.h (SYNTAX_END_P): ditto for end.
14571
14572 2000-02-07  Martin Buchholz <martin@xemacs.org>
14573
14574         * XEmacs 21.2.28 is released.
14575
14576 2000-02-06  Martin Buchholz  <martin@xemacs.org>
14577
14578         * event-Xt.c (x_keysym_to_character): New.
14579         (maybe_define_x_key_as_self_inserting_character): New.
14580         (x_has_keysym): New.
14581         Auto-define all keys on the keyboard as self-insert-key.
14582
14583 2000-02-02  Martin Buchholz  <martin@xemacs.org>
14584
14585         * menubar.c (vars_of_menubar): A small code simplification.
14586
14587         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
14588
14589         * ExternalShell.c:
14590         * ExternalClient.c:
14591         * EmacsShell-sub.c:
14592         * EmacsManager.c:
14593         * EmacsFrame.c:
14594         Use consistent style for specifying X resources.
14595
14596         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
14597         This makes (dontusethis-set-symbol-value-handler) actually usable.
14598
14599         * lrecord.h (lrecord_decription_type):
14600         * alloc.c (pdump_register_sub):
14601         (pdump_dump_data):
14602         (pdump_reloc_one):
14603         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
14604         Comply with XEmacs coding style.
14605         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
14606         args, and XD_LISP_OBJECT_ARRAY with 3 args.
14607
14608         * keymap.c (Faccessible_keymaps):
14609         Make (accessible-keymaps map "\C-h") do the Right Thing.
14610         Make (accessible-keymaps map []) do the Right Thing.
14611         Make (accessible-keymaps map "") do the Right Thing.
14612         (check_keymap_definition_loop): New function.
14613         (keymap_store_internal): Keep luser from shooting self in foot,
14614           via (define-key ctl-x-4-map "p" global-map).
14615         Remove fullness slot from struct Lisp_Keymap, since hash tables
14616         are now reliable.
14617         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
14618
14619 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14620
14621         * redisplay.c (init_redisplay): Fix small memory leak.
14622         * elhash.h:
14623         * elhash.c (pdump_reorganize_hash_table):
14624         Rename from reorganize_hash_table. Change prototype.
14625         Reuse the original memory for hentries.  Save 100k.
14626         * alloc.c (PDUMP_READ): new macro.
14627         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
14628         * alloc.c: No need to #ifndef before #undef.
14629
14630         * print.c: Allow debug_print() to print readably by modifying
14631         debug_print_readably.  Use consistent variable names.
14632
14633         * .dbxrc: Try to get things to work even if stopped in a function
14634         without source available by explicitly specifying source files.
14635 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14636
14637         * unexnt.c (_start): Removed bogus code which caused loading heap
14638         from differrent executable file.
14639         Removed bogus assignment to _fmode, which caused inconsistencies.
14640
14641 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14642
14643         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
14644         Have spawnve encapsulation regard DONT_ENCAPSULATE.
14645         Do not preliminary `#define signal sigset'.
14646
14647         * systime.h: Do not prototype environ on windows nt and cygwin,
14648         this conflicts with system header.
14649
14650         * syssignal.h: Use correct define for WINDOWSNT
14651
14652         * sysdep.h: Do not prototype environ on windows nt, this conflicts
14653         with system header.
14654
14655         * sysdep.c (near start of file): Fixed commentary and rearranged
14656         ifdefs in readable order.
14657         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
14658         (start_of_text):
14659         (end_of_text):
14660         (end_of_data): Do not compile in if using PDUMP.
14661
14662         * symsinit.h: Prototyped vars_of_nt().
14663
14664         * ntproc.c (windows9x_p): Added, instead of os_subtype.
14665         (find_child_console): Use it.
14666         (sys_kill): Use it.
14667
14668         * ntheap.h: Do not extern os_subtype.
14669
14670         * ntheap.c (cache_system_info): Do not cache unneeded:
14671         nt_major_version, nt_minor_version and os_subtype.
14672         (recreate_heap): Do not compile in when PDUMPing.
14673
14674         * nt.c (geteuid and friends): Use the new varibale
14675         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
14676         (init_user_info): Removed the above mentioned hackery.
14677         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
14678         stat has been fixed in the C runtime.
14679         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
14680
14681         * file-coding.c (struct file_coding_dump): Do not define
14682         ucs_to_mule_table in the struct if not MULE.
14683         (struct struct lrecord_description fcd_description_1): Do not dump
14684         the above.
14685
14686         * emacs.c (main_1): Call vars_of_nt().
14687         (right before Fdump_emacs_data): Don't need lastfile if using both
14688         portabe dumper and system malloc.
14689
14690         * alloc.c (Fmemory_limit): Conditionalized out.
14691         (pdump): Use OPEN_BINARY for the portable dump file.
14692         (pdump_load): Ditto.
14693
14694 2000-02-02  Mike Alexander  <mta@arbortext.com>
14695
14696         * nt.c (convert_time): Set tm_isdst before calling mktime and
14697         avoid calling it at all if the compiler supports 64 bit integers.
14698         Also initialize utc_base_ft before using it.
14699
14700 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14701
14702         * frame.c (change_frame_size_1): Take f->internal_border_width
14703         into consideration when calculating the width of the frame.
14704
14705 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14706
14707         * window.c (frame_min_height):
14708         (frame_size_valid_p):
14709         (frame_pixsize_valid_p): Added.
14710         (check_frame_size): Generalized.
14711
14712         * window.h: Prototyped the above.
14713
14714         * lisp.h:
14715         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
14716         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
14717         Deleted Vwin32_* and Vbinary_process_* unused variables.
14718
14719         * device-msw.c (msprinter_init_device): Do not get printer font
14720         list; Added DEVMODE functions.
14721
14722         * frame-msw.c: Added lots of printer code.
14723
14724         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
14725         general.c.
14726
14727         * console-msw.h: Added more msprinter device private slots.
14728
14729 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14730
14731         * event-msw.c (key_needs_default_processing_p): Added.
14732         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
14733
14734 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14735
14736         * glyphs.c (image_instance_layout): Mark image instance as clean
14737         after layout.
14738         (glyph_dirty_p): Removed redundant function.
14739         (invalidate_glyph_geometry_maybe): Added.
14740         (update_glyph_cachel_data): Call it.
14741
14742         * glyphs.h: Prototyped it.
14743
14744         * redisplay.c (add_glyph_rune): Call it.
14745         (redisplay_window): Reset glyphs cachels when frame faces have
14746         changed, thus forcing recomputation of built-in border glyphs.
14747
14748 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14749
14750         * Makefile.in.in: Make portable dumper and purify play well together.
14751         Add imperfect, but better than nothing, support for pdump.
14752         Remove xemacs.dmp when temacs is re-generated.
14753         Don't ignore errors when dumping xemacs.
14754
14755         * symbols.c (maybe_call_magic_handler): Remove one magic number.
14756
14757 2000-01-28  Andy Piper  <andy@xemacs.org>
14758
14759         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
14760         (setup_normal_frame): ditto.
14761         (setup_frame_without_minibuffer): ditto.
14762         (setup_minibuffer_frame): ditto.
14763         (delete_frame_internal): ditto.
14764         (Fmake_frame_invisible): ditto.
14765         (Ficonify_frame): ditto.
14766
14767         * window.h: change Fset_window_buffer signature.
14768
14769         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
14770         (Fset_window_buffer): allow recording of buffer if the window is
14771         the selected window.
14772         (window_loop): Use new Fset_window signature.
14773
14774 2000-01-23  Daniel Pittman  <daniel@danann.net>
14775
14776         * config.h.in: Added template for `HAVE_ATHENA_3D'
14777
14778 2000-01-29  Andy Piper  <andy@xemacs.org>
14779
14780         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
14781
14782         * gutter.c (output_gutter): Don't output if the window isn't live.
14783
14784 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14785
14786         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
14787         of 01/12/00: Moved SetFocus back here where it belongs.
14788
14789 2000-01-23  Andy Piper  <andy@xemacs.org>
14790
14791         * s/cygwin32.h: declare printer things.
14792
14793 2000-01-26  Andy Piper  <andy@xemacs.org>
14794
14795         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
14796         Alexander.
14797
14798 2000-01-24  Andy Piper  <andy@xemacs.org>
14799
14800         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
14801         (mswindows_button_instantiate): Make sure glyph is a pixmap.
14802
14803         * glyphs-widget.c (widget_instantiate): Avoid shadows.
14804
14805         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
14806
14807         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
14808
14809         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
14810         (mswindows_output_display_block): Avoid local shadows.
14811
14812         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
14813         (mswindows_enqueue_mouse_button_event): ditto.
14814         (mswindows_handle_gui_wm_command): remove declaration.
14815
14816         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
14817         warnings.
14818
14819         * console-msw.h: Avoid shadows.
14820         (mswindows_get_toolbar_button_text):
14821         (emacs_mswindows_create_stream_pair):
14822         (emacs_mswindows_delete_stream_pair):
14823         (mswindows_handle_toolbar_wm_command): declare.
14824
14825         * device-msw.c (build_syscolor_string): Avoid shadows.
14826
14827 2000-01-23  Andy Piper  <andy@xemacs.org>
14828
14829         * glyphs-widget.c (widget_instantiate): reverse the items for
14830         layouts so that children are in the expected order.
14831
14832 2000-01-28  Martin Buchholz  <martin@xemacs.org>
14833
14834         * ralloc.c: safe_bcopy ==> memmove
14835         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
14836         * s/msdos.h: Remove BCOPY macros.
14837         * insdel.c (gap_right): Remove BCOPY conditional code.
14838         * insdel.c (gap_left): Remove BCOPY conditional code.
14839         XEmacs demands a working ANSI C compiler - hence memmove.
14840
14841         * regex.c (regex_compile): Remove accidental use of trigraphs.
14842
14843 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14844
14845         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
14846         event timestamp.
14847
14848 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14849
14850         * event-msw.c (mswindows_drain_windows_queue): Added the
14851         parameter.
14852         (mswindows_need_event): Commented the call to
14853         mswindows_drain_windows_queue().
14854         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
14855         only.
14856
14857         * console-msw.h: Moved a few function prototypes here from
14858         event-msw.c.
14859
14860         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
14861         parameter from unsigned short to unsigned long.
14862         (Fmswindows_shell_execute): Added return value.
14863
14864 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14865
14866         * sysdep.c (init_system_name):
14867           process-unix.c (unix_canonicalized_host_name):
14868         Don't call freeaddrinfo() if getaddrinfo() fails.
14869
14870         * process-unix.c (unix_open_unix_network_stream):
14871         Moved the code to get a port # into address loop.
14872
14873 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14874
14875         * buffer.c (reinit_vars_of_buffer):
14876         The right place to initialize conversion_in_dynarr and
14877         conversion_out_dynarr.
14878
14879         * alloc.c (pdump): Use the real open() till sys_open() is functional.
14880
14881         * process-unix.c (unix_canonicalize_host_name): Muleize.
14882         (unix_open_network_stream): Muleize.
14883
14884         * buffer.h: Fix up prototypes for ralloc.c functions.
14885
14886 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14887         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
14888         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
14889                 instead of gethostbyname()
14890         * process-unix.c: In unix_canonicalize_host_name() and
14891                 unix_open_network_stream(), add code to use getaddrinfo()
14892                 instead of gethostbyname().
14893
14894 2000-01-27  Daniel Pittman <daniel@danann.net>
14895
14896         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
14897         libs when built with flat Athena.
14898
14899 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14900
14901         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
14902         Use coding standards for function prototypes.
14903
14904 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14905
14906         * dialog-msw.c (push_lisp_string_as_unicode):
14907         * doc.c (unparesseuxify_doc_string):
14908         * dired.c (Fuser_name_completion_1):
14909         * dired.c (Fuser_name_all_completions):
14910         * dired.c (free_user_cache):
14911         * dired.c (user_name_completion):
14912         * console-x.c (get_display_arg_connection):
14913         * minibuf.c (clear_echo_area_internal):
14914         * minibuf.c (echo_area_append):
14915         * eldap.c (Fldap_open):
14916         * eldap.c (Fldap_search_internal):
14917         * frame-x.c (x_set_frame_text_value):
14918         * frame-x.c (x_set_frame_properties):
14919         * frame-x.c (x_create_widgets):
14920         * redisplay-tty.c (term_get_fkeys_1):
14921         * objects-x.c (x_parse_nearest_color):
14922         * objects-x.c (x_valid_color_name_p):
14923         * objects-x.c (x_initialize_font_instance):
14924         * objects-x.c (x_list_fonts):
14925         * objects-x.c (x_find_charset_font):
14926         * tooltalk.c (Fadd_tooltalk_message_arg):
14927         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
14928         * tooltalk.c (Fadd_tooltalk_pattern_arg):
14929         * process-unix.c (unix_create_process):
14930         * ntproc.c (sys_spawnve):
14931         * sound.c (Fplay_sound_file):
14932         * sound.c (Fplay_sound):
14933         * buffer.c (init_initial_directory):
14934         * buffer.c (init_buffer):
14935         * editfns.c (init_editfns):
14936         * editfns.c (Ftemp_directory):
14937         * editfns.c (Fuser_full_name):
14938         * editfns.c (uncache_home_directory):
14939         * editfns.c (get_home_directory):
14940         * editfns.c (Fuser_home_directory):
14941         * editfns.c (Fformat_time_string):
14942         * editfns.c (Fcurrent_time_string):
14943         * gui-x.c (button_item_to_widget_value):
14944         * database.c (Fopen_database):
14945         * event-Xt.c (x_to_emacs_keysym):
14946         * event-Xt.c (x_event_to_emacs_event):
14947         * event-Xt.c (describe_event_window):
14948         * event-msw.c (mswindows_wnd_proc):
14949         * glyphs-eimage.c (jpeg_instantiate):
14950         * glyphs-eimage.c (gif_instantiate):
14951         * glyphs-eimage.c (png_instantiate):
14952         * glyphs-eimage.c (tiff_instantiate):
14953         * glyphs-x.c (xbm_instantiate_1):
14954         * glyphs-x.c (x_xbm_instantiate):
14955         * glyphs-x.c (x_xface_instantiate):
14956         * glyphs-x.c (autodetect_instantiate):
14957         * glyphs-x.c (cursor_font_instantiate):
14958         * glyphs-x.c (x_widget_instantiate):
14959         * glyphs-x.c (x_widget_set_property):
14960         * glyphs-x.c (x_widget_property):
14961         * glyphs-x.c (BUILD_GLYPH_INST):
14962         * print.c (write_string_to_stdio_stream):
14963         * print.c (output_string):
14964         * print.c (Falternate_debugging_output):
14965         * print.c (Fexternal_debugging_output):
14966         * glyphs-msw.c (extract_xpm_color_names):
14967         * glyphs-msw.c (mswindows_xpm_instantiate):
14968         * glyphs-msw.c (bmp_instantiate):
14969         * glyphs-msw.c (resource_name_to_resource):
14970         * glyphs-msw.c (mswindows_resource_instantiate):
14971         * glyphs-msw.c (xbm_instantiate_1):
14972         * glyphs-msw.c (mswindows_xbm_instantiate):
14973         * glyphs-msw.c (mswindows_xface_instantiate):
14974         * glyphs-msw.c (mswindows_widget_instantiate):
14975         * glyphs-msw.c (add_tree_item):
14976         * glyphs-msw.c (add_tab_item):
14977         * glyphs-msw.c (mswindows_combo_box_instantiate):
14978         * glyphs-msw.c (mswindows_widget_property):
14979         * glyphs-msw.c (mswindows_combo_box_property):
14980         * glyphs-msw.c (mswindows_widget_set_property):
14981         * console.c (stuff_buffered_input):
14982         * objects-msw.c (mswindows_initialize_color_instance):
14983         * objects-msw.c (mswindows_valid_color_name_p):
14984         * objects-msw.c (mswindows_list_fonts):
14985         * objects-msw.c (mswindows_font_instance_truename):
14986         * bytecode.c (optimize_compiled_function):
14987         * select-x.c (symbol_to_x_atom):
14988         * select-x.c (x_atom_to_symbol):
14989         * select-x.c (hack_motif_clipboard_selection):
14990         * select-x.c (selection_data_to_lisp_data):
14991         * select-x.c (lisp_data_to_selection_data):
14992         * select-x.c (Fx_get_cutbuffer_internal):
14993         * select-x.c (Fx_store_cutbuffer_internal):
14994         * buffer.h (TO_EXTERNAL_FORMAT): New function.
14995         * buffer.h (TO_INTERNAL_FORMAT): New function.
14996         * emacs.c (make_arg_list_1):
14997         * emacs.c (make_argc_argv):
14998         * emacs.c (main_1):
14999         * emacs.c (Fdump_emacs):
15000         * emacs.c (split_string_by_emchar_1):
15001         * file-coding.h:
15002         * lisp.h:
15003         * lstream.h:
15004         * symsinit.h:
15005         * device-x.c (x_init_device):
15006         * device-x.c (Fx_valid_keysym_name_p):
15007         * device-x.c (Fx_get_font_path):
15008         * device-x.c (Fx_set_font_path):
15009         * glyphs.c (bitmap_to_lisp_data):
15010         * glyphs.c (pixmap_to_lisp_data):
15011         * alloc.c (make_ext_string): Use coding system arguments.  Update
15012         all callers.
15013         * alloc.c (build_string):
15014         * callproc.c (child_setup):
15015         * callproc.c (init_callproc):
15016         * fileio.c (lisp_strerror):
15017         * fileio.c (directory_file_name):
15018         * fileio.c (Fexpand_file_name):
15019         * fileio.c (Ffile_truename):
15020         * fileio.c (Fsysnetunam):
15021         * fileio.c (Fdo_auto_save):
15022         * sysdep.c (sys_readdir):
15023         * tests.c: New file.  Allow adding C tests.
15024         Replace GET_* macros with a more comprehensible and flexible
15025         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15026         Modify all calls.
15027         Any coding system can be used to do format conversion.
15028         Eliminate enum external_data_format.
15029         Eliminate convert_to_external_format.
15030         Eliminate convert_to_internal_format.
15031         Make sure file-name, keyboard, terminal, and ctext are always
15032         defined as coding systems or aliases.  Make
15033         file-name-coding-system, terminal-coding-system, and
15034         keyboard-coding-system magical variables that are equivalent to
15035         defining the corresponding coding system aliases.
15036
15037         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15038         * file-coding.c (Fcoding_system_alias_p): New function.
15039         * file-coding.c (Fcoding_system_aliasee): New function.
15040         * file-coding.c (append_suffix_to_symbol): New function.
15041         * file-coding.c (dangling_coding_system_alias_p): New function.
15042         * file-coding.c (Ffind_coding_system):
15043         * file-coding.c (Fcopy_coding_system):
15044         * file-coding.c (encode_coding_no_conversion):
15045         * file-coding.c (syms_of_file_coding):
15046         * file-coding.c (vars_of_file_coding):
15047         Rewrite coding system alias code.
15048         Allow nested aliases, like symbolic links.
15049         Allow redefinition of coding system aliases.
15050         Prevent existence of dangling coding system aliases.
15051
15052         * dired.c (Fuser_name_completion_1):
15053         * dired.c (Fuser_name_all_completions):
15054         A crash would happen if user did QUIT in the middle of building
15055         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15056
15057         * lisp.h:
15058         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15059
15060         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15061         an unsigned char *.  Update all callers.
15062
15063 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15064
15065         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15066
15067 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15068
15069         * elhash.c (hentry_description): Use more portable definition.
15070         (resize_hash_table): Initialize new hentries using
15071         xnew_array_and_zero, thereby simplifying the code.
15072
15073         * mule-charset.c (make_charset): Make sure entire object is
15074         initialized, to avoid Purify warnings.
15075
15076         * alloc.c (resize_string): Fix unlikely crash with big strings.
15077
15078 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15079
15080         * realpath.c (xrealpath):
15081         Don't call getwd().
15082
15083 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15084
15085         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15086
15087 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15088
15089         * unexelfsgi.c (unexec): Change the way we decide which segment
15090         should be extended.
15091
15092         Assumption that .bss section should be outside the PT_LOADable
15093         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15094         it's present) is inside the 'data' segment. This would fail the
15095         test which was used to find a segment to grow and cover new
15096         heap. Instead of this assumption, I created another one - on IRIX
15097         the segment to grow should start below .bss and it's address
15098         should extent above the end of .bss. Once this segment is
15099         identified, it's grown to accommodate the new heap and new
15100         zero-length .bss section is added at the end of .data2.
15101
15102 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15103
15104         * eval.c (Feval): Wrong number of arguments should use original
15105         function, not the indirect_function version of it.
15106
15107 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15108
15109         * glyphs-x.c (x_button_instantiate): Don't add image if
15110         it is not a pixmap.
15111         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15112         is relative.
15113
15114 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15115
15116         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15117         declaration.
15118         (DEFVAR_INT_MAGIC): Ditto.
15119         (DEFVAR_BOOL_MAGIC): Ditto.
15120         * glyphs.h: Reindent backslash.
15121
15122 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15123
15124         * glyphs-widget.c (layout_query_geometry):
15125         (layout_layout): Use correct types for gheight, gwidth.
15126
15127 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15128
15129         * EmacsManager.c (QueryGeometry): Purified.
15130
15131 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15132
15133         * alloc.c (make_float): Make sure entire object is initialized, to
15134         avoid Purify warnings.
15135         (pdump_register_sub): Remove useless assignment.
15136         (pdump): Use xmalloc, not malloc.
15137         (pdump_load): Use xmalloc, not malloc.
15138
15139 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15140
15141         * callproc.c:
15142         * dired-msw.c:
15143         * fileio.c:
15144         * process-nt.c:
15145         * redisplay-msw.c:
15146         * sysdep.c: Removed redundant #include <windows.h>
15147
15148 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15149
15150         * frame.c (delete_frame_internal): Do not delete device when its
15151         implementation so declares.
15152         (delete_frame_internal): Set device selected frame to nil when
15153         last frame goes away.
15154
15155         * device-msw.c (msprinter_device_system_metrics): Implemented.
15156         (mswindows_device_system_metrics): Added 'device-dpi property.
15157
15158         * device.c: (Fdevice_printer_p): Added.
15159         Added 'offset-workspace device metric.
15160
15161         * console.h (device_metrics): Declared DM_offset_workspace.
15162
15163 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15164
15165         * fileio.c (Ffile_truename): Remove pointless and confusing
15166         initialization of elen.
15167
15168         * glyphs-widget.c: Compiler warning fixes.
15169
15170 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15171
15172         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15173         instead of a Lisp_Object as argument to make it consistent with
15174         the other LIVE_P macros.
15175         (CHECK_LIVE_PROCESS): New macro.
15176
15177         * process.c: Declare Qprocess_live_p.
15178         (Fprocess_live_p): New function.
15179         (create_process): Use PROCESS_LIVE_P.
15180         (read_process_output): Ditto.
15181         (set_process_filter): Ditto.
15182         (Fdelete_process): Ditto.
15183         (kill_buffer_processes): Ditto
15184         (process_send_signal): Use CHECK_LIVE_PROCESS.
15185         (Fprocess_input_coding_system): Check whether process is still
15186         alive (fix PR#1061).
15187         (Fprocess_output_coding_system): Ditto.
15188         (Fprocess_coding_system): Ditto.
15189         (Fset_process_input_coding_system): Ditto.
15190         (Fset_process_output_coding_system): Ditto.
15191
15192 2000-01-23  Andy Piper  <andy@xemacs.org>
15193
15194         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15195         layout and widget.
15196
15197         * glyphs.c (mark_image_instance): take into account changed
15198         image_instance format.
15199         (image_instance_equal): ditto.
15200         (image_instance_hash): ditto.
15201
15202         * glyphs-widget.c (widget_instantiate): Incorporate layout
15203         instantiation here. Delay layout of the layout until later.
15204         (layout_instantiate): deleted.
15205         (layout_query_geometry): new function. get the geometry of a
15206         layout.
15207         (layout_layout): layout a layout dynamically.
15208         (image_instantiator_widget): New function - splitting up
15209         image_instantiator_format_create_glyphs_widget for netwinder
15210         compilation.
15211         (image_instantiator_buttons):
15212         (image_instantiator_edit_fields):
15213         (image_instantiator_combo_box):
15214         (image_instantiator_scrollbar):
15215         (image_instantiator_progress_guage):
15216         (image_instantiator_tree_view):
15217         (image_instantiator_tab_control):
15218         (image_instantiator_labels):
15219         (image_instantiator_layout): ditto.
15220         (image_instantiator_format_create_glyphs_widget): Call preceding
15221         functions.
15222
15223 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15224
15225         * process.c (Fset_process_coding_system):
15226         * device-x.c (Fx_keysym_hash_table):
15227         Docstring fixes.
15228
15229         * lstream.c (Lstream_write): Return documented value, not 0.
15230
15231         * fileio.c (directory_file_name):
15232         (Fsubstitute_in_file_name):
15233         (Fsubstitute_insert_file_contents_internal):
15234         (Fwrite_region_internal):
15235         * emacs.c:
15236         * sysdep.c:
15237         * getloadavg.c:
15238         * systty.h:
15239         Remove vestigial APOLLO-conditional code.
15240
15241 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15242
15243         * getpagesize.h: Add guard macros.
15244         * libsst.h: Add guard macros.
15245         * libst.h: Add guard macros.
15246         * line-number.h: Add guard macros.
15247         * ndir.h: Add guard macros.
15248         * sysfloat.h: Add guard macros.
15249         * sysfile.h: Add guard macros.
15250         * sysproc.h: Add guard macros.
15251         * syswait.h: Add guard macros.
15252         * xintrinsic.h: Add guard macros.
15253         * xintrinsicp.h: Add guard macros.
15254         * xmmanager.h: Add guard macros.
15255         * xmmanagerp.h: Add guard macros.
15256         * xmprimitive.h: Add guard macros.
15257         * xmu.h: Add guard macros.
15258         * gpmevent.h: Add copyright statement. Add guard macros.
15259         * miscplay.h: Add guard macros.
15260         * *.h: Use consistent C-standards-approved guard macro names.
15261
15262         * opaque.c (make_opaque): Switch parameter order.
15263         * opaque.h (make_opaque): Switch parameter order.
15264         Update all callers.
15265         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
15266
15267         * config.h.in (type_checking_assert): Added.
15268         (bufpos_checking_assert): Added.
15269
15270 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15271
15272         * alloc.c: Harmless pdump changes.
15273         - Use countof().
15274         - spell alignment correctly.
15275         * sysdep.c: Use countof()
15276
15277 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15278
15279         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
15280         initially_selected_for_input() console method, default to 0.
15281         (semi_canonicalize_console_connection): Try to delegate to
15282         canonicalize_console_connection if no such console method.
15283         (canonicalize_console_connection): Vice versa.
15284         (print_console): Do not print nil connection.
15285
15286         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
15287         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
15288         (XDEVIMPF_FRAMELESS_OK): Added.
15289         (CONSOLE_INHERITS_METHOD): Added.
15290
15291         * console-msw.c (mswindows_canonicalize_console_connection):
15292         Added.
15293         (mswindows_canonicalize_device_connection): Added.
15294
15295         * console-msw.h (struct msprinter_device): Added this struct and
15296         accessor macros.
15297         (mswindows_device): Made fontlist a lisp object.
15298
15299         * device.c (semi_canonicalize_device_connection):  Try to delegate
15300         to canonicalize_device_connection if no such console method.
15301         (canonicalize_device_connection): Vice versa.
15302         (print_device): Do not print nil connection.
15303
15304         * device-msw.c (mswindows_init_device): Call InitCommonControls
15305         when have widgets.
15306         (mswindows_delete_device): Removed fontlist deallocation.
15307         (mswindows_mark_device): Added.
15308
15309         * events.c (event_equal): Added abort() at unreached code.
15310         (event_hash): Ditto.
15311
15312         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
15313         fallback tags of Windows devices.
15314
15315         * general.c (syms_of_general): Initialized Qmsprinter.
15316
15317         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
15318         of fallback tags of Windows devices.
15319
15320         * lisp.h: Declared Qmsprinter.
15321
15322         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
15323         of strings.
15324         (mswindows_list_fonts): Ditto.
15325         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
15326         that it can be used by both mswindows and msprinter devices.
15327         (initialize_font_instance): Added.
15328         (mswindows_initialize_font_instance): Use it.
15329         (msprinter_initialize_font_instance): Added.
15330
15331         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
15332         and implementation flags check.
15333         (redisplay_without_hooks): Changed the call to the above.
15334         (Fredraw_device): Ditto.
15335         (Fredisplay_device): Ditto.
15336
15337         * redisplay-msw.c (get_frame_dc): Implemented.
15338         (get_frame_compdc): Implemented.
15339         (many functions): Use the two functions above to get device
15340         contexts, ether for a window or a printer.
15341
15342 2000-01-21  Olivier Galibert  <galibert@pobox.com>
15343
15344         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
15345         initialization here.
15346         (init_symbols_once_early): Call it.
15347         * emacs.c (main_1): Call it.
15348         * symsinit.h: Declare it.
15349
15350 2000-01-19  Olivier Galibert  <galibert@pobox.com>
15351
15352         * alloc.c: Use a lrecord_header * in the backtrace instead of a
15353         Lisp_Object.
15354         (pdump_backtrace): Ditto.
15355         (pdump_register_object): Ditto.  Cleanup use of the pointers.
15356         (pdump_get_entry): Abort if trying to register a null pointer.
15357         (pdump_dump_data): Cleanup types when relocating.
15358         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
15359         (pdump_dump_rtables): Remove bad casts.
15360         (pdump_load): Cleanup relocation w.r.t union type.  Use a
15361         Lisp_Object instead of a EMACS_INT for the hashtable
15362         reorganization.
15363
15364 2000-01-20  Martin Buchholz  <martin@xemacs.org>
15365
15366         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
15367
15368         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
15369
15370         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
15371
15372         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
15373
15374 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15375
15376         * faces.h (FACE_STRIKETHRU_P): Added.
15377
15378         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
15379         of font variants.
15380
15381         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
15382         (mswindows_set_dc_font): New function, aware of font variants,
15383         separated from mswindows_update_dc.
15384
15385         * objects-msw.h (struct mswindows_font_instance_data): Added
15386         definition.
15387
15388         * objects-msw.c (mswindows_finalize_font_instance): Delete all
15389         cached fonts and the data structure.
15390         (mswindows_initialize_font_instance): Added creation of font data
15391         structure.
15392         (mswindows_print_font_instance): Print at least something.
15393         (mswindows_create_font_variant): Implemented.
15394         (mswindows_get_hfont): Implemented.
15395
15396 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
15397
15398         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
15399         prototyping problem with msvc.
15400
15401         * emacs.c (main_1): added syms_of_gui_mswindows() call
15402
15403         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
15404         syms_of_gui_mswindows() function
15405
15406         * symsinit.h: added the prototype for syms_of_gui_mswindows()
15407
15408 2000-01-18  Martin Buchholz <martin@xemacs.org>
15409
15410         * XEmacs 21.2.27 is released.
15411
15412 2000-01-18  Martin Buchholz  <martin@xemacs.org>
15413
15414         * glyphs-eimage.c (struct tiff_error_struct):
15415         (tiff_error_func):
15416         (tiff_warning_func):
15417         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
15418
15419         * unexmips.c:
15420         * unexhp9k3.c:
15421         * unexfreebsd.c:
15422         * unexec.c: Remove vestigial Lucid C code.
15423         * unexalpha.c:
15424         * unexaix.c:
15425         * termcap.c:
15426         * libsst.c: Ansify.
15427         Remove declarations of errno and strerror().
15428
15429         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
15430
15431         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
15432
15433 2000-01-16  Martin Buchholz  <martin@xemacs.org>
15434
15435         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
15436         Optimize.
15437
15438 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15439
15440         * md5.c:
15441         * file-coding.c:
15442         * file-coding.h:
15443         Change enum eol_type to eol_type_t.
15444
15445 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15446
15447         * gui.c (get_gui_callback): Check cons before accessing car.
15448
15449 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15450
15451         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
15452         (XSETSPECIFIER_TYPE): Ditto.
15453
15454 2000-01-17  Didier Verna  <didier@xemacs.org>
15455
15456         * redisplay.c (generate_fstring_runes): compute string size in
15457         characters, not bytes.
15458
15459 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15460
15461         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
15462
15463 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
15464
15465         * print.c (print_error_message): Call print_prepare().
15466
15467 2000-01-14  Martin Buchholz  <martin@xemacs.org>
15468
15469         * .dbxrc: Renamed from dbxrc.
15470
15471         * events.c (event_to_character):
15472         Use `assert (foo)' instead of `if (!foo) abort()'
15473
15474         * .gdbinit (xtype): Add documentation.
15475         * .gdbinit (check-temacs): New function.
15476         * .gdbinit (check-xemacs): New function.
15477         * dbxrc (check-xemacs): New function.
15478         * dbxrc (check-xemacs): New function.
15479
15480 2000-01-14  Andy Piper  <andy@xemacs.org>
15481
15482         * glyphs-widget.c (widget_query_geometry): Make sure that we
15483         calculate default dimensions correctly.
15484
15485 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15486
15487         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
15488
15489         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
15490         pdump_wire'd variable.
15491
15492         * emacs.c: (main_1): Conditionalized calls to
15493         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
15494
15495 2000-01-13  Martin Buchholz  <martin@xemacs.org>
15496
15497         * window.c (Fset_window_configuration):
15498         * sysdep.c (_start):
15499         * input-method-motif.c (res):
15500         * event-Xt.c (Xt_process_to_emacs_event):
15501         Simple compiler warning fixes.
15502
15503         * bytecode.c (funcall_compiled_function): Use the original
15504         function symbol on the backtrace list in preference to the
15505         compiled_function object in error messages.
15506
15507 2000-01-13  Andy Piper  <andy@xemacs.org>
15508
15509         * glyphs-x.c (update_widget_face): Make sure we update the widget
15510         background as well as foreground.
15511
15512 2000-01-13  Andy Piper  <andy@xemacs.org>
15513
15514         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
15515         fields to subwindow.
15516         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
15517         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
15518         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15519         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15520
15521         * glyphs-widget.c (check_valid_tab_orientation): new function.
15522         (initialize_widget_image_instance): zero orientation and
15523         justification.
15524         (widget_instantiate): pick up orientation.
15525         (tab_control_query_geometry): return appropriate values for
15526         vertical tabs.
15527
15528         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
15529         appropriate creation flags for left, right and bottom tabs.
15530
15531         * s/cygwin32.h: add tab definitions.
15532
15533 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15534
15535         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
15536         frame upon hiding a subwindow.
15537         (mswindows_button_instantiate): Changed the push button style to
15538         BS_PUSHBUTTON.
15539         (mswindows_button_instantiate): Removed button BS_NOTIFY
15540         style.
15541         (mswindows_button_instantiate): Removed redundant check for
15542         a disabled gui item.
15543         (mswindows_button_instantiate): Made use of WS_TABSTOP
15544         consistent: "operable" controls (edit, button, tree, scroll) have
15545         this style, "display-only" ones (static, progress gauge) do
15546         not. This style is currently ignored by XEmacs though. Also,
15547         removed the WS_EX_CONTROLPARENT style - it is not for children,
15548         it is for their parents!
15549         (mswindows_edit_field_instantiate): Ditto.
15550         (mswindows_progress_gauge_instantiate): Ditto.
15551         (mswindows_tree_view_instantiate): Ditto.
15552         (mswindows_tab_control_instantiate): Ditto.
15553         (mswindows_scrollbar_instantiate): Ditto.
15554         (mswindows_combo_box_instantiate): Ditto.
15555         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
15556         style to the "clip" window.
15557         (mswindows_button_instantiate): Removed compilation warning by
15558         equally typing terms of the ?: operator.
15559
15560 2000-01-12  Didier Verna  <didier@xemacs.org>
15561
15562         * redisplay.c (generate_fstring_runes): new parameter holding the
15563         last modeline-format extent.
15564         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
15565         extent, fill the glyph block with it.
15566         (generate_fstring_runes): handle these parameters.
15567         (generate_formatted_string_db): ditto.
15568
15569         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
15570         glyphs'extents in the modeline.
15571
15572 1999-01-11  Mike Woolley  <mike@bulsara.com>
15573
15574         * ntheap.c: Reduced the reserved heap space from 1Gb down to
15575         256Mb, as a workaround for the non-starting problem many people
15576         have experienced.
15577
15578 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15579
15580         * console-tty.c (Fset_console_tty_output_coding_system):
15581         Force redrawing tty frame.
15582
15583 2000-01-10  Didier Verna  <didier@xemacs.org>
15584
15585         * redisplay.c (generate_fstring_runes): fix size computation bug.
15586
15587 2000-01-09  William M. Perry <wmperry@aventail.com>
15588
15589         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
15590
15591 2000-01-09  Andy Piper  <andy@xemacs.org>
15592
15593         * glyphs-msw.c: index -> i to avoid shadows.
15594         (xbm_create_bitmap_from_data): make static.
15595         (check_valid_string_or_int): deleted.
15596         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
15597
15598         * glyphs-x.c (x_update_subwindow): remove unused args.
15599
15600         * glyphs.c (glyph_image_instance): return the thing. Don't set the
15601         back pointer - this is done in allocate_image_instance.
15602         (query_string_font): return Qnil to make the compiler happy.
15603         (unmap_subwindow): set to ~0 to make the compiler happy.
15604         (glyph_query_geometry): comment out until used.
15605         (glyph_layout): ditto.
15606
15607 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15608
15609         * insdel.c (signal_after_change): Remove extraneous unbind_to().