update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
4         `Qjapanese_jisx0208'.
5         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
6         of `japanese-jisx0208'.
7         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
8         `=jis-x0208-1983'.
9
10 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
11
12         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
13         `Qjapanese_jisx0208_1978'.
14         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
15         of `japanese-jisx0208-1978'.
16         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
17         `=jis-x0208-1978'.
18
19 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
20
21         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
22         only for XEmacs CHISE.
23
24 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
25
26         * char-ucs.h: Compact non-ISO-IR charset-ids.
27         (LEADING_BYTE_UCS): Changed to -177.
28         (LEADING_BYTE_CONTROL_1): Changed to -77.
29         (LEADING_BYTE_UCS_BMP): Changed to -176.
30         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
31
32 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
33
34         * mule-charset.c (Qiso_ir): New variable.
35         (Fmake_charset): Recognise new property `iso-ir'.
36         (syms_of_mule_charset): Add new symbol `iso-ir'.
37
38 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
39
40         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
41         n to -n; charset-id of non ISO-IR sets are changed to positive
42         numbers.
43
44 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
45
46         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
47         for &MCS-XXXXXXXX; values.
48
49 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
50
51         * mule.c (Vxemacs_chise_version): Renamed from
52         `Vutf_2000_version'.
53         (vars_of_mule): Add new variable `xemacs-chise-version'; define
54         `utf-2000-version' as an alias for `xemacs-chise-version'.
55
56 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
57
58         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
59         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
60         defined.
61
62         * config.h.in (CHISE): New macro.
63
64 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
65
66         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
67         of `ucs'.
68         (Qmap_ucs): New variable.
69         (syms_of_mule_charset): Add new symbol `=ucs'.
70         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
71
72         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
73         (simplify_char_spec): Likewise.
74
75         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
76
77         * char-ucs.h (Qmap_ucs): New extern variable.
78
79 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
80
81         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
82         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
83         don't define it when UTF2000 is not defined.
84         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
85         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
86         when UTF2000 is not defined.
87         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
88         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
89
90 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
91
92         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
93
94         * mule-charset.c (Vcharset_ucs_gb): Deleted.
95         (Qucs_gb): Deleted.
96         (syms_of_mule_charset): Delete `ucs-gb'.
97         (complex_vars_of_mule_charset): Likewise.
98
99 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
100
101         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
102
103         * mule-charset.c (Vcharset_ucs_cns): Deleted.
104         (Qucs_cns): Deleted.
105         (syms_of_mule_charset): Delete `ucs-cns'.
106         (complex_vars_of_mule_charset): Likewise.
107
108 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
109
110         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
111
112         * mule-charset.c (Vcharset_ucs_jis): Deleted.
113         (Qucs_jis): Deleted.
114         (syms_of_mule_charset): Delete `ucs-jis'.
115         (complex_vars_of_mule_charset): Likewise.
116
117 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
118
119         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
120
121         * mule-charset.c (Vcharset_ucs_ks): Deleted.
122         (Qucs_ks): Deleted.
123         (syms_of_mule_charset): Delete `ucs-ks'.
124         (complex_vars_of_mule_charset): Likewise.
125
126 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
127
128         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
129         (Qideograph_daikanwa_2): Deleted.
130         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
131         (complex_vars_of_mule_charset): Likewise.
132
133         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
134         (LEADING_BYTE_DAIKANWA_1): Deleted.
135         (LEADING_BYTE_DAIKANWA_2): Deleted.
136         (MIN_CHAR_DAIKANWA): Deleted.
137         (MAX_CHAR_DAIKANWA): Deleted.
138
139 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
140
141         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
142         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
143         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
144
145         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
146         (Vcharset_ideograph_daikanwa): Deleted.
147         (Qideograph_hanziku_{1..12}): Deleted.
148         (Qideograph_daikanwa): Deleted.
149         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
150         Vcharset_ideograph_daikanwa.
151         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
152         `ideograph-hanziku-{1..12}'.
153         (complex_vars_of_mule_charset): Likewise.
154
155 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
156
157         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
158
159         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
160         (Qideograph_gt_pj_{1..11}): Deleted.
161         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
162         (complex_vars_of_mule_charset): Likewise.
163
164 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
165
166         * mule-charset.c (Vcharset_ucs_big5): Deleted.
167         (Vcharset_ideograph_gt): Deleted.
168         (Qucs_big5): Deleted.
169         (Qideograph_gt): Deleted.
170         (syms_of_mule_charset): Delete symbol `ucs-big5' and
171         `ideograph-gt'.
172         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
173         and `ideograph-gt'.
174
175         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
176         (LEADING_BYTE_GT): Deleted.
177         (MIN_CHAR_GT): Deleted.
178         (MAX_CHAR_GT): Deleted.
179
180 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
181
182         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
183
184 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
185
186         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
187         (save_uint16_byte_table): Likewise.
188         (save_byte_table): Likewise; convert values by it.
189         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
190         for `ideographic-structure'.
191         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
192         as the filter for `ideographic-structure'.
193
194 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
195
196         * chartab.c (put_char_composition): New function.
197         (Fput_char_attribute): Use `put_char_composition'; use
198         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
199
200         * fns.c (simplify_char_spec): New function.
201         (char_ref_simplify_spec): New function.
202         (Fchar_refs_simplify_char_specs): New function.
203         (syms_of_fns): Add new builtin function
204         `char-refs-simplify-char-specs'.
205
206 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
207
208         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
209         (Qideograph_cbeta): Deleted.
210         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
211         (complex_vars_of_mule_charset): Likewise.
212
213         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
214         (MIN_CHAR_CBETA): Comment out.
215         (MAX_CHAR_CBETA): Likewise.
216
217 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
218
219         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
220         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
221         CHISE client feature.
222
223 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
224
225         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
226
227 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
228
229         * mule-charset.c (charset_lookup_description_1): Use
230         `NUM_LEADING_BYTES' in UTF-2000.
231
232 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
233
234         * char-ucs.h (GC_CHARSETP): Deleted.
235
236 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
237
238         * char-ucs.h (MAX_CHAR_GT): Updated.
239
240 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
241
242         * text-coding.c: Sync with XEmacs 21.4.10.
243
244 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
245
246         * mule-charset.c (Vcharset_china3_jef): Deleted.
247         (Qchina3_jef): Deleted.
248         (syms_of_mule_charset): Don't define `china3-jef'.
249         (complex_vars_of_mule_charset): Likewise.
250
251         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
252         (MIN_CHAR_CHINA3_JEF): Comment out.
253         (MAX_CHAR_CHINA3_JEF): Comment out.
254
255 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
256
257         * mule-charset.c (Vcharset_ucs_gb): New variable.
258         (Qucs_gb): New variable.
259         (syms_of_mule_charset): Add new symbol `ucs-gb'.
260         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
261
262         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
263
264 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
265
266         * mule-charset.c (charset_code_point): if a coded-charset has a
267         final-byte, don't inherit the builtin range of the mother CCS.
268
269 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
270
271         * mule-charset.c (charset_code_point): Fix problem about
272         inheritance.
273
274 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
275
276         * mule-charset.c (decode_builtin_char): Reorganized.
277
278 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
279
280         * text-coding.c (char_encode_as_entity_reference): Modify for
281         `charset_code_point'.
282         (char_encode_shift_jis): Likewise.
283         (char_encode_big5): Likewise.
284         (char_encode_utf8): Likewise.
285         (char_encode_iso2022): Likewise.
286
287         * mule-charset.c (charset_code_point): Add new argument
288         `defined_only'.
289         (Fencode_char): Add new optional argument `defined_only'.
290
291         * chartab.c (put_char_table): Modify for `charset_code_point'.
292
293         * char-ucs.h (charset_code_point): Add new argument
294         `defined_only'.
295         (encode_char_1): Modify for `charset_code_point'.
296
297 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
298
299         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
300         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
301
302 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
303
304         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
305         (Qjis_x0208): Likewise.
306         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
307         XCHARSET_FINAL(charset).
308         (charset_code_point): Modify condition for final-byte based
309         builtin-chars.
310         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
311         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
312         in UTF-2000; specify `=jis-x0208' as the mother of
313         `japanese-jisx0208-1978', `japanese-jisx0208' and
314         `japanese-jisx0208-1990' in UTF-2000.
315
316 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
317
318         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
319
320 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
321
322         * text-coding.c (decode_coding_utf16): Support UTF-16.
323         (char_encode_utf16): Fixed.
324
325 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
326
327         * text-coding.c (Qutf16): New variable in MULE.
328         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
329         (Fcoding_system_type): Add `utf-16' in MULE.
330         (struct detection_state): Add a structure for utf16 in MULE.
331         (detect_coding_type): Setup st->utf16.mask in MULE.
332         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
333         MULE.
334         (reset_encoding_stream): Use `char_encode_utf16' and
335         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
336         (detect_coding_utf16): New function [incomplete].
337         (decode_coding_utf16): New function [support only UCS-2].
338         (char_encode_utf16): New function.
339         (char_finish_utf16): New function.
340         (syms_of_file_coding): Add new symbol `utf-16'; setup
341         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
342
343         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
344         UTF-2000.
345         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
346         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
347
348 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
349
350         * chartab.c (put_char_table): When a charset is specified as a
351         range in UTF-2000, don't support builtin characters.
352
353 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
354
355         * mule-charset.c (decode_defined_char): Don't refer external
356         database if Qunbound or Qnil are found.
357         (Fsave_charset_mapping_table): Don't define it if
358         HAVE_CHISE_CLIENT is not defined.
359         (Freset_charset_mapping_table): New function.
360         (load_char_decoding_entry_maybe): Store Qnil if a character is not
361         found in external database.
362         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
363         if HAVE_CHISE_CLIENT is not defined; add new builtin function
364         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
365
366 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
367
368         * text-coding.c (decode_coding_utf8): Check CCS is specified or
369         not.
370
371 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
372
373         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
374         Q_lowercase, Q_uppercase in UTF-2000.
375
376         * chartab.c (get_char_table): Add special code for the standard
377         case table to use character attribute `->downcase' and
378         `->uppercase' for case operations in UTF-2000.
379
380         * casetab.c (Qflippedcase): New variable in UTF-2000.
381         (Q_lowercase): Likewise.
382         (Q_uppercase): Likewise.
383         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
384         and `->uppercase' in UTF-2000.
385         (complex_vars_of_casetab): Assign attribute name `downcase' to
386         downcase and CANON table of Vstandard_case_table in UTF-2000;
387         assign attribute name `flippedcase' to upcase and EQV table of
388         Vstandard_case_table in UTF-2000.
389
390 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
391
392         * text-coding.c (decode_add_er_char): Support isolated-chars.
393         (char_encode_as_entity_reference): Likewise.
394
395 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
396
397         * emacs.c (Vutf_2000_lisp_directory): New variable.
398         (Vconfigure_utf_2000_lisp_directory): Likewise.
399         (complex_vars_of_emacs): Add new variable
400         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
401
402 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
403
404         * char-ucs.h (DECODE_CHAR): Delete special code for
405         `chinese-big5-1' and `chinese-big5-2'.
406
407         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
408         (Qbig5_2): Likewise.
409         (decode_defined_char): Support CONVERSION_BIG5_1 and
410         CONVERSION_BIG5_2.
411         (decode_builtin_char): Likewise.
412         (charset_code_point): Likewise.
413         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
414         'conversion in UTF-2000.
415         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
416         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
417         `chinese-big5-2' as children of `chinese-big5'.
418
419         * char-ucs.h (CONVERSION_BIG5_1): New macro.
420         (CONVERSION_BIG5_2): New macro.
421
422 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
423
424         * text-coding.c (char_encode_big5): Support entity-reference.
425
426 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
427
428         * text-coding.c (char_encode_as_entity_reference): New function.
429         (char_encode_utf8): Use `char_encode_as_entity_reference'.
430
431 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
432
433         * text-coding.c (decode_coding_big5): Support entity-reference
434         decoding feature.
435
436 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
437
438         * text-coding.c (allocate_coding_system): Initialize initial
439         charsets for CODESYS_UTF8.
440         (Fmake_coding_system): Accept charset-g0, charset-g1 and
441         charset-g2 for CODESYS_UTF8.
442         (decode_coding_utf8): Use charset-g0.
443         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
444         to force variants to map to UCS.
445
446 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
447
448         * text-coding.c (Qutf_8_mcs): New variable.
449         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
450         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
451         instead of `utf-8' in UTF-2000.
452
453 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
454
455         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
456         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
457         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
458         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
459         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
460         CONVERSION_96x96x96x96 are introduced.
461         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
462         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
463         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
464
465         * char-ucs.h (CONVERSION_94): New macro.
466         (CONVERSION_96): New macro.
467         (CONVERSION_94x94): New macro.
468         (CONVERSION_96x96): New macro.
469         (CONVERSION_94x94x94): New macro.
470         (CONVERSION_96x96x96): New macro.
471         (CONVERSION_94x94x94x60): New macro.
472         (CONVERSION_94x94x94x94): New macro.
473         (CONVERSION_96x96x96x96): New macro.
474
475 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
476
477         * chartab.c (Vcharacter_variant_table): Deleted.
478         (Fchar_variants): Use character-attribute `->ucs-variants' instead
479         of `Vcharacter_variant_table'.
480         (Fput_char_attribute): Likewise.
481         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
482         (complex_vars_of_chartab): Likewise.
483
484 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
485
486         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
487
488         * fns.c (Qideographic_structure): New variable.
489         (Qkeyword_char): New variable.
490         (ids_format_unit): New function.
491         (Fideographic_structure_to_ids): New function.
492         (syms_of_fns): Add new symbols `ideographic-structure' and
493         `:char'; add new builtin function `ideographic-structure-to-ids'.
494
495         * data.c (Fchar_ref_p): New function.
496         (syms_of_data): Add new builtin function `char-ref-p'.
497
498         * chartab.h: Add an EXFUN for `Ffind_char'.
499
500 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
501
502         * text-coding.c (Vcharacter_composition_table): Deleted.
503         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
504         in every UTF-2000.
505
506         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
507         UTF-2000.
508         (Vcharacter_composition_table): Deleted.
509         (Fget_composite_char): Use the implementation for external-DB
510         support in every UTF-2000.
511         (Fput_char_attribute): Likewise.
512         (char_attribute_system_db_file): Don't define if external-DB
513         feature is not available.
514         (Fsave_char_attribute_table): Likewise.
515         (Fmount_char_attribute_table): Likewise.
516         (Fclose_char_attribute_table): Likewise.
517         (Freset_char_attribute_table): Likewise.
518         (Fload_char_attribute_table): Likewise.
519         (syms_of_chartab): Don't define `save-char-attribute-table',
520         `mount-char-attribute-table', `reset-char-attribute-table',
521         `close-char-attribute-table' and `load-char-attribute-table' if
522         external-DB feature is not available.
523         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
524
525 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
526
527         * text-coding.c (Qcomposition): Add extern if external-DB feature
528         is supported.
529         (Vcharacter_composition_table): Don't add extern if external-DB
530         feature is supported.
531         (COMPOSE_ADD_CHAR): Modify for new data-representation of
532         character composition rule if external-DB feature is supported.
533
534         * chartab.c (Vcharacter_composition_table): Don't define if
535         external-DB feature is supported.
536         (Qcomposition): New variable.
537         (Fget_composite_char): New implementation for external-DB support.
538         (Fput_char_attribute): Use `composition' property of each
539         character instead of `Vcharacter_composition_table' to store
540         character-composition rules if external-DB feature is supported.
541         (syms_of_chartab): Add new symbol `composition'.
542         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
543         external-DB feature is supported.
544
545 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
546
547         * chartab.c (Vchar_db_stingy_mode): New variable.
548         (load_char_attribute_maybe): Close database if
549         Vchar_db_stingy_mode is not NIL.
550         (Fload_char_attribute_table_map_function): Use
551         `get_char_id_table_0' instead of `get_char_id_table'.
552         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
553
554         * chartab.h (get_char_id_table_0): New inline function.
555         (get_char_id_table): Use `get_char_id_table_0'.
556
557 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
558
559         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
560         and `COMPOSE_ADD_CHAR'.
561         (decode_coding_iso2022): Use `decode_flush_er_chars'.
562
563 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
564
565         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
566         instead of `DECODE_ADD_UCS_CHAR'.
567         (COMPOSE_ADD_CHAR): Likewise.
568
569 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
570
571         * text-coding.c (decode_flush_er_chars): New inline function.
572         (decode_add_er_char): New function.
573         (decode_coding_utf8): Use `decode_flush_er_chars' and
574         `decode_add_er_char'.
575
576 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
577
578         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
579         done before `decode_output_utf8_partial_char'.
580
581         * mule-charset.c (complex_vars_of_mule_charset): Specify
582         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
583         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
584
585 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
586
587         * mule-charset.c (decode_defined_char): New function; search
588         mother.
589         (decode_builtin_char): Don't search mother if
590         XCHARSET_MAX_CODE(charset) == 0.
591         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
592         == 0 even if code >= XCHARSET_MAX_CODE(charset).
593         (Fdecode_char): Use `decode_defined_char' instead of
594         `DECODE_DEFINED_CHAR'.
595         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
596         mother of `Vcharset_ucs_jis'.
597
598         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
599         instead of `DECODE_DEFINED_CHAR'.
600
601         * char-ucs.h (decode_defined_char): Renamed from
602         `DECODE_DEFINED_CHAR'; changed to normal function.
603         (DECODE_CHAR): Use `decode_defined_char' instead of
604         `DECODE_DEFINED_CHAR'.
605
606         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
607
608 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
609
610         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
611
612         * text-coding.c (Vcoded_charset_entity_reference_alist): New
613         variable.
614         (Quse_entity_reference): New variable.
615         (Qd): New variable.
616         (Qx): New variable.
617         (QX): New variable.
618         (coding_system_description): Add description for
619         `ccs_priority_list'.
620         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
621         (allocate_coding_system): Initialize `ccs_priority_list' in
622         UTF-2000.
623         (Fmake_coding_system): Add description about
624         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
625         (codesys).
626         (Fcoding_system_property): Accept `disable-composition' and
627         `use-entity-reference' in UTF-2000.
628         (struct decoding_stream): Add new member `er_counter' and `er_buf'
629         in UTF-2000.
630         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
631         (decode_coding_utf8): Decode entity-reference if
632         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
633         (char_encode_utf8): Encode non-Unicode characters as
634         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
635         (str->codesys).
636         (syms_of_file_coding): Add new symbols `use-entity-reference',
637         `d', `x', `X'.
638         (vars_of_file_coding): Add new variable
639         `coded-charset-entity-reference-alist'.
640         (complex_vars_of_file_coding): Declare `disable-composition' and
641         `use-entity-reference' to be coding-system-properties in UTF-2000.
642
643         * file-coding.h (struct Lisp_Coding_System): Add new member
644         `use_entity_reference' and `ccs_priority_list'.
645         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
646         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
647         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
648
649 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
650
651         * chartab.c (save_uint8_byte_table): Don't clear the table.
652         (save_uint16_byte_table): Likewise.
653         (save_byte_table): Likewise.
654         (Fmount_char_attribute_table): New function.
655         (syms_of_chartab): Add new builtin function
656         `mount-char-attribute-table'.
657
658 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
659
660         * mule-charset.c (Fsave_charset_mapping_table): Open database as
661         "w+" mode.
662         (load_char_decoding_entry_maybe): Open database as read-only mode.
663
664         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
665         open database as "w+" mode.
666         (load_char_attribute_maybe): Open database as read-only mode.
667         (Fload_char_attribute_table): Likewise.
668
669 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
670
671         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
672         (char_table_description): Delete member `db_file'.
673         (Fmake_char_table): Don't refer `ct->db_file'.
674         (Fcopy_char_table): Likewise.
675         (Fsave_char_attribute_table): Likewise.
676         (Fclose_char_attribute_table): Likewise.
677         (Freset_char_attribute_table): Likewise.
678         (load_char_attribute_maybe): Likewise.
679         (Fload_char_attribute_table): Likewise.
680
681         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
682
683 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
684
685         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
686         (Fsave_char_attribute_table): Don't check `ct->db_file' if
687         `ct->db' is living.
688         (load_char_attribute_maybe): Likewise.
689         (Fload_char_attribute_table): Likewise.
690
691 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
692
693         * chartab.c (Fclose_char_attribute_table): Set Qnil on
694         `ct->db_file' unconditionally.
695
696 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
697
698         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
699         UTF-2000.
700         (char_table_description): Add description for `db_file' and `db'
701         in UTF-2000.
702         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
703         UTF-2000.
704         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
705         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
706         (Fclose_char_attribute_table): New function.
707         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
708         (load_char_attribute_maybe): Change interface; use `cit->db_file'
709         and `cit->db'.
710         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
711         (syms_of_chartab): Add new builtin function
712         `Fclose_char_attribute_table'.
713
714 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
715
716         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
717         `db' in UTF-2000.
718         (load_char_attribute_maybe): Change interface.
719         (get_char_id_table): Modify for `load_char_attribute_maybe'.
720
721 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
722
723         * database.h: Add an EXFUN for `Fdatabase_live_p'.
724
725 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
726
727         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
728         instead of `DECODE_CHAR' for mother; don't use special code for
729         chinese-big5 to use code space of chinese-big5-1 and
730         chinese-big5-2.
731         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
732         `MAX_CHAR_BIG5_CDP' for chinese-big5.
733
734         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
735         (MAX_CHAR_BIG5_CDP): Revival.
736
737 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
738
739         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
740         the XLFD registry-encoding name of `chinese-big5'.
741
742 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
743
744         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
745         (Qchinese_big5_cdp): Deleted.
746         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
747         (complex_vars_of_mule_charset): Delete coded-charset
748         `chinese-big5-cdp'.
749
750         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
751         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
752         `CHARSET_ID_OFFSET - n' for private CCS.
753         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
754         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
755         of `MIN_LEADING_BYTE'.
756         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
757         `(CHARSET_ID_OFFSET - 97)'.
758         (MIN_CHAR_BIG5_CDP): Deleted.
759         (MAX_CHAR_BIG5_CDP): Deleted.
760
761 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
762
763         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
764
765 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
766
767         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
768         (vars_of_mule): Add new variable `utf-2000-version' [moved from
769         chartab.c].
770
771         * chartab.c (Vutf_2000_version): Moved to mule.c.
772         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
773
774 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
775
776         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
777         when HAVE_CHISE_CLIENT is not defined.
778
779         * mule.c (vars_of_mule): Provide feature `chise' when
780         HAVE_CHISE_CLIENT is defined.
781
782 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
783
784         * config.h.in (UTF2000): Add comment.
785         (HAVE_CHISE_CLIENT): New macro.
786
787 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
788
789         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
790         CONSP.
791         (Fput_char_attribute): Likewise.
792         (char_attribute_system_db_file): Encode file-name of attribute.
793         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
794         the initial value.
795
796 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
797
798         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
799         (Fsave_charset_mapping_table): Use
800         `char_attribute_system_db_file'.
801         (load_char_decoding_entry_maybe): Likewise.
802
803         * chartab.h (Qsystem_char_id): New external variable.
804         (char_attribute_system_db_file): New prototype.
805
806         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
807         (char_attribute_system_db_file): New function.
808         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
809         (Freset_char_attribute_table): Likewise.
810         (load_char_attribute_maybe): Likewise.
811         (Fload_char_attribute_table): Likewise.
812         (syms_of_chartab): Add new symbol `system-char-id'.
813
814 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
815
816         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
817         `XCHARSET_GRAPHIC(ccs)'.
818
819 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
820
821         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
822
823 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
824
825         * chartab.c (Q_ucs_variants): New variable.
826         (syms_of_chartab): Add new symbol `->ucs-variants'.
827         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
828         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
829         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
830
831         * mule-charset.c (load_char_decoding_entry_maybe): New function.
832
833         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
834         `HAVE_DATABASE' is defined.
835         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
836         `HAVE_DATABASE' is defined.
837
838 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
839
840         * chartab.c (Fsave_char_attribute_table): Don't clear internal
841         attribute-table.
842         (Freset_char_attribute_table): New function.
843         (syms_of_chartab): Add new builtin function
844         `reset-char-attribute-table'.
845
846 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
847
848         * chartab.c (load_char_attribute_maybe): Don't make directories.
849
850 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
851
852         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
853
854         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
855         for decoding-table.
856
857 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
858
859         * mule-charset.c (Fsave_charset_mapping_table): Use
860         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
861
862         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
863         instead of `XCHARSET_CHARS'.
864
865 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
866
867         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
868         (XCHARSET_BYTE_SIZE): Likewise.
869
870         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
871         mule-charset.c].
872         (XCHARSET_BYTE_SIZE): Likewise.
873
874 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
875
876         * chartab.c (Fput_char_attribute): Use exec-directory instead of
877         data-directory to store database.
878         (Fsave_char_attribute_table): Likewise.
879         (load_char_attribute_maybe): Likewise.
880         (Fload_char_attribute_table): Likewise.
881
882 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
883
884         * mule-charset.c (Fsave_charset_mapping_table): New function.
885         (syms_of_mule_charset): Add new builtin function
886         `save-charset-mapping-table'.
887
888 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
889
890         * char-ucs.h (decoding_table_check_elements): Delete prototype.
891         (get_ccs_octet_table): New inline function.
892         (put_ccs_octet_table): Likewise.
893         (decoding_table_put_char): Use `get_ccs_octet_table' and
894         `put_ccs_octet_table'.
895         (decoding_table_remove_char): Use `decoding_table_put_char'.
896         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
897
898         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
899         into encoding_table.
900         (make_charset): Use Qunbound instead Qnil as initial value of
901         decoding_table.
902
903 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
904
905         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
906         element is Qunloaded.
907         (map_over_uint16_byte_table): Likewise.
908         (map_over_byte_table): Likewise.
909         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
910         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
911         database support, load encoding-table of the specified
912         coded-charset if it is not loaded yet.
913         (save_uint8_byte_table): New function of UTF-2000 with external
914         database support.
915         (save_uint16_byte_table): Likewise.
916         (save_byte_table): Likewise.
917         (Fput_char_attribute): Don't store value into external database
918         even if the external database feature is supported in UTF-2000;
919         set `attribute' as name of char-table if the external database
920         feature is supported.
921         (Fsave_char_attribute_table): New function in UTF-2000.
922         (syms_of_chartab): Add new builtin function
923         `save-char-attribute-table' in UTF-2000.
924
925 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
926
927         * chartab.c (char_attribute_table_to_put): New variable in
928         UTF-2000.
929         (Qput_char_table_map_function): Likewise.
930         (value_to_put): Likewise.
931         (Fput_char_table_map_function): New function in UTF-2000.
932         (put_char_table): Use `Fmap_char_attribute' for
933         CHARTAB_RANGE_CHARSET in UTF-2000.
934         (Fput_char_attribute): Store symbol instead of string in
935         `XCHAR_TABLE_NAME (table)'.
936         (load_char_attribute_maybe): Likewise.
937         (syms_of_chartab): Add new symbol/function
938         `put-char-table-map-function'.
939
940 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
941
942         * database.h: Add new EXFUN for `Fmap_database'.
943
944         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
945         (syms_of_database): Likewise.
946
947         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
948         UTF-2000.
949         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
950         (XCHAR_TABLE_UNLOADED): Likewise.
951
952         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
953         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
954         HAVE_DATABASE is defined.
955         (char_attribute_table_to_load): New variable of UTF-2000 with
956         external database support.
957         (Qload_char_attribute_table_map_function): Likewise.
958         (Fload_char_attribute_table_map_function): New function of
959         UTF-2000 with external database support.
960         (Fload_char_attribute_table): New function of UTF-2000.
961         (Fmap_char_attribute): Call Fload_char_attribute_table if
962         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
963         (syms_of_chartab): Add new symbol and function
964         `load-char-attribute-table-map-function' in UTF-2000 with external
965         database support; add new function `load-char-attribute-table' in
966         UTF-2000.
967
968 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
969
970         * chartab.h (load_char_attribute_maybe): New prototype for
971         UTF-2000 with DATABASE support.
972         (get_char_id_table): Use `load_char_attribute_maybe' if
973         HAVE_DATABASE is defined.
974
975         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
976         with DATABASE support.
977
978 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
979
980         * chartab.c (Fput_char_attribute): Use S-expression as key of
981         external database.
982
983         * chartab.h (get_char_id_table): Use S-expression as key of
984         external database.
985
986 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
987
988         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
989         if an element is not loaded, load the corresponding attributes
990         from an external database.
991         (map_over_uint16_byte_table): Likewise.
992         (map_over_byte_table): Likewise.
993         (map_char_table): Modify for `map_over_uint8_byte_table',
994         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
995         element is not loaded, load the corresponding attributes from an
996         external database.
997         (Fput_char_attribute): Change initial values to Qunloaded.
998
999         * chartab.h (get_char_id_table): If a character attribute is not
1000         loaded and the attribute value is not found in an external
1001         database, store Qunbound as the attribute value.
1002
1003 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1004
1005         * chartab.c (BT_UINT8_unloaded): New macro.
1006         (UINT8_VALUE_P): Accept Qunloaded.
1007         (UINT8_ENCODE): Likewise.
1008         (UINT8_DECODE): Likewise.
1009         (BT_UINT16_unloaded): New macro.
1010         (UINT16_VALUE_P): Accept Qunloaded.
1011         (UINT16_ENCODE): Likewise.
1012         (UINT16_DECODE): Likewise.
1013         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1014         BT_UINT16_unloaded.
1015         (mark_char_table): Mark `ct->name' in UTF-2000.
1016         (char_table_description): Add `name' in UTF-2000.
1017         (Fmake_char_table): Initialize `ct->name'.
1018         (Fcopy_char_table): Copy `ct->name'.
1019         (Fput_char_attribute): Store value into an external database if
1020         HAVE_DATABASE is defined.
1021
1022         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1023         UTF-2000.
1024         (CHAR_TABLE_NAME): New macro in UTF-2000.
1025         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1026         (get_char_id_table): Try to read an external database if Qunloaded
1027         is stored in a table.
1028
1029         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1030         Qunloaded.
1031
1032 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1033
1034         * database.h: Add EXFUN definitions for Fopen_database,
1035         Fput_database, Fget_database and Fclose_database.
1036
1037         * data.c (Qunloaded): New variable in UTF-2000.
1038
1039         * lisp.h (Qunloaded): New variable in UTF-2000.
1040
1041 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1042
1043         * mule-charset.c (put_char_ccs_code_point): Modify for
1044         `decoding_table_remove_char' and `decoding_table_put_char'.
1045         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1046
1047         * char-ucs.h (decoding_table_remove_char): Change arguments to
1048         hide decoding_table vector.
1049         (decoding_table_put_char): Likewise.
1050
1051 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1052
1053         * mule-charset.c (decoding_table_remove_char): Moved to
1054         char-ucs.h.
1055         (decoding_table_put_char): Likewise.
1056
1057         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1058         from mule-charset.c].
1059         (decoding_table_remove_char): New inline function [moved from
1060         mule-charset.c].
1061         (decoding_table_put_char): Likewise.
1062
1063 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1064
1065         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1066         extension.
1067
1068 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1069
1070         * mule-charset.c (decode_builtin_char): Support mother charsets.
1071
1072 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1073
1074         * mule-charset.c (Q94x94x60): New variable.
1075         (charset_code_point): Support conversion `94x94x60'.
1076         (Fmake_charset): Likewise.
1077         (syms_of_mule_charset): Add new symbol `94x94x60'.
1078
1079         * char-ucs.h (CONVERSION_94x94x60): New macro.
1080
1081 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1082
1083         * mule-charset.c (charset_code_point): Unify code about
1084         `code-offset'.
1085
1086 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1087
1088         * mule-charset.c (charset_code_point): Merge code about builtin
1089         characters into code about mother charsets; don't use
1090         `range_charset_code_point'.
1091         (range_charset_code_point): Deleted.
1092
1093 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1094
1095         * mule-charset.c (Qcode_offset): New variable.
1096         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1097         `max-code'; accept new property `code-offset'.
1098         (syms_of_mule_charset): Add new symbol `code-offset'.
1099
1100 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1101
1102         * mule-charset.c (range_charset_code_point): Fixed.
1103
1104 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1105
1106         * mule-charset.c (decode_builtin_char): Change semantics of
1107         code-offset of coded-charset.
1108         (charset_code_point): Likewise.
1109         (range_charset_code_point): Likewise.
1110         (complex_vars_of_mule_charset): Modify for the change.
1111
1112 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1113
1114         * mule-charset.c (Fencode_char): Reverse arguments.
1115
1116         * mule-charset.c (charset_code_point): Fixed.
1117
1118 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1119
1120         * mule-charset.c (Vcharset_mojikyo): Deleted.
1121         (Vcharset_mojikyo_2022_1): Deleted.
1122         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1123         (Qmin_code): New variable in UTF-2000.
1124         (Qmax_code): Likewise.
1125         (Qmother): Likewise.
1126         (Qconversion): Likewise.
1127         (Q94x60): Likewise.
1128         (Qmojikyo): Deleted.
1129         (Qmojikyo_2022_1): Deleted.
1130         (Qmojikyo_pj_{1..22}): Deleted.
1131         (mark_charset): Mark `cs->mother'.
1132         (charset_description): Add description for `mother'.
1133         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1134         new arguments `mother' and `conversion'; use
1135         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1136         (charset_code_point): Moved from char-ucs.h; support `mother'
1137         charset feature.
1138         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1139         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1140         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1141         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1142         allow 2 as the value of `graphic' in UTF-2000; add new properties
1143         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1144         require `final' in UTF-2000; modify for `make_charset'.
1145         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1146         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1147         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1148         (Fencode_char): New function.
1149         (syms_of_mule_charset): Add new builtin function `encode-char' in
1150         UTF-2000; add new symbols `min-code', `max-code', `mother',
1151         `conversion' and `94x60'; delete symbols `mojikyo',
1152         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1153         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1154         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1155         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1156
1157         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1158         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1159
1160         * char-ucs.h (Vcharset_mojikyo): Deleted.
1161         (Vcharset_mojikyo_2022_1): Deleted.
1162         (LEADING_BYTE_MOJIKYO): Deleted.
1163         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1164         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1165         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1166         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1167         add new member `mother'; add new member `conversion'.
1168         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1169         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1170         (CHARSET_MOTHER): New macro.
1171         (CHARSET_CONVERSION): New macro.
1172         (CONVERSION_IDENTICAL): New macro.
1173         (CONVERSION_94x60): New macro.
1174         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1175         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1176         (XCHARSET_MOTHER): New macro.
1177         (XCHARSET_CONVERSION): New macro.
1178         (MIN_CHAR_MOJIKYO): Deleted.
1179         (MAX_CHAR_MOJIKYO): Deleted.
1180         (DECODE_MOJIKYO_2022): Deleted.
1181         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1182         (charset_code_point): Changed to non-inline function.
1183         (encode_char_1): Use `charset_code_point'.
1184         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1185
1186 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1187
1188         * lread.c (read_compiled_function): Fix prototype.
1189         (read_vector): Likewise.
1190
1191 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1192
1193         * lrecord.h (struct lrecord_header): Delete `older'.
1194         (set_lheader_implementation): Delete code for `older'.
1195         (set_lheader_older_implementation): Deleted.
1196         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1197         (OLDER_RECORD_P): Deleted.
1198         (OLDER_RECORD_HEADER_P): Deleted.
1199         (alloc_older_lcrecord): Deleted.
1200         (alloc_older_lcrecord_type): Deleted.
1201
1202         * alloc.c (all_older_lcrecords): Deleted.
1203         (alloc_older_lcrecord): Deleted.
1204         (disksave_object_finalization_1): Delete code for older objects.
1205         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1206         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1207
1208 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1209
1210         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1211         instead of `make_older_vector'.
1212         (put_char_ccs_code_point): Likewise.
1213         (mark_charset): Mark `cs->decoding_table'.
1214         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1215
1216         * lisp.h (make_older_vector): Deleted.
1217         (make_vector_newer): Deleted.
1218
1219         * config.h.in (HAVE_GGC): Deleted.
1220
1221         * alloc.c (make_older_vector): Deleted.
1222         (make_vector_newer_1): Deleted.
1223         (make_vector_newer): Deleted.
1224
1225 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1226
1227         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1228         (Qideograph_daikanwa_2): New variable.
1229         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1230         (complex_vars_of_mule_charset): Add new coded-charset
1231         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1232         `LEADING_BYTE_DAIKANWA'.
1233
1234         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1235         (LEADING_BYTE_DAIKANWA_1): New macro.
1236         (LEADING_BYTE_DAIKANWA_2): New macro.
1237         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1238
1239 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1240
1241         * mule-charset.c (complex_vars_of_mule_charset): Change
1242         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1243         the second revised version.
1244
1245 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1246
1247         * mule-charset.c (Vcharset_ucs_smp): New variable.
1248         (Vcharset_ucs_sip): New variable.
1249         (Qucs_smp): New variable.
1250         (Qucs_sip): New variable.
1251         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1252         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1253         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1254         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1255         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1256         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1257
1258         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1259         (LEADING_BYTE_UCS_SIP): New macro.
1260         (MIN_CHAR_SMP): New macro.
1261         (MAX_CHAR_SMP): New macro.
1262         (MIN_CHAR_SIP): New macro.
1263         (MAX_CHAR_SIP): New macro.
1264
1265 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1266
1267         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1268         utf-2000.
1269
1270 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1271
1272         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1273         value; don't store value into `encoding_table' of `Lisp_Charset'.
1274         (mark_charset): `encoding_table' was deleted.
1275         (charset_description): Likewise.
1276         (make_charset): Likewise.
1277         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1278         `put_char_ccs_code_point'.
1279
1280         * chartab.h (Fput_char_attribute): New EXFUN.
1281
1282         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1283         is unified with normal symbol space.
1284         (Fget_char_attribute): Likewise.
1285         (Fput_char_attribute): Likewise; behavior of
1286         `put_char_ccs_code_point' is changed.
1287
1288         * char-ucs.h: Include "elhash.h".
1289         (Vchar_attribute_hash_table): New external variable.
1290         (struct Lisp_Charset): Delete `encoding_table'.
1291         (CHARSET_ENCODING_TABLE): New implementation; refer
1292         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1293         `Lisp_Charset'.
1294
1295 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1296
1297         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1298         (cs) == 0.
1299
1300 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1301
1302         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1303         `chinese-big5'.
1304
1305 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1306
1307         * chartab.c (uint8_byte_table_description): New constant.
1308         (uint8-byte-table): Use `uint8_byte_table_description'.
1309         (uint16_byte_table_description): New constant.
1310         (uint16-byte-table): Use `uint16_byte_table_description'.
1311
1312 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1313
1314         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1315         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1316
1317 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1318
1319         * mule-charset.c (Vcharset_ucs_ks): New variable.
1320         (Qucs_ks): New variable.
1321         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1322         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1323
1324         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1325
1326 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1327
1328         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1329         (Fdecode_char): Likewise.
1330
1331         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1332         chartab.h.
1333         (Fdefine_char): Modify for Fdecode_char.
1334         (Ffind_char): Likewise.
1335
1336         * mule-charset.c (Fdecode_char): Add new optional argument
1337         `defined-only'.
1338         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1339
1340 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1341
1342         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1343         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1344         (allocate_coding_system): Initialize initial-charsets of
1345         CODESYS_BIG5 in XEmacs UTF-2000.
1346         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1347         CODESYS_BIG5 in XEmacs UTF-2000.
1348         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1349         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1350
1351         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1352         variables.
1353         (Qideograph_hanziku_{1 .. 12}): Likewise.
1354         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1355         .. 12}'.
1356         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1357         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1358         `ideograph-hanziku-{1 .. 12}'.
1359
1360         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1361         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1362         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1363         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1364         (DECODE_DEFINED_CHAR): New inline function.
1365         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1366
1367 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1368
1369         * mule-charset.c (Vcharset_china3_jef): Renamed from
1370         `Vcharset_japanese_jef_china3'.
1371         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1372         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1373         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1374         (syms_of_mule_charset): Rename `china3-jef' from
1375         `japanese-jef-china3'.
1376         (complex_vars_of_mule_charset): Likewise; rename
1377         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1378
1379         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1380         `LEADING_BYTE_JEF_CHINA3'.
1381         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1382         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1383
1384 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1385
1386         * mule-charset.c (encode_builtin_char_1): Comment out special code
1387         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1388
1389         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1390         (MAX_CHAR_MOJIKYO_0): Comment out.
1391         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1392         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1393         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1394         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1395
1396 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1397
1398         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1399         (Qideograph_cbeta): New variable.
1400         (encode_builtin_char_1): Comment out special code for
1401         coded-charset `mojikyo' and `japanese-jef-china3'.
1402         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1403         (complex_vars_of_mule_charset): Add new coded-charset
1404         `ideograph-cbeta'.
1405
1406         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1407         (MIN_CHAR_CBETA): New macro.
1408         (MAX_CHAR_CBETA): New macro.
1409
1410 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1411
1412         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1413         (LEADING_BYTE_JEF_CHINA3): New macro.
1414         (MIN_CHAR_JEF_CHINA3): New macro.
1415         (MAX_CHAR_JEF_CHINA3): Likewise.
1416         (DECODE_CHAR): Fixed.
1417
1418 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1419
1420         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1421         (Qjapanese_jef_china3): New variable.
1422         (encode_builtin_char_1): Support `japanese-jef-china3'.
1423         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1424         (complex_vars_of_mule_charset): Add new coded-charset
1425         `japanese-jef-china3'.
1426
1427 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1428
1429         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1430         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1431         94^4, 96^3, 96^4, 128^n and 256^n set.
1432         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1433         (map_char_table): Likewise.
1434
1435 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1436
1437         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1438         UTF-2000.
1439
1440 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1441
1442         * chartab.h (get_char_id_table): New inline function.
1443
1444         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1445         function.
1446
1447 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1448
1449         * chartab.h (decode_char_table_range): New prototype in XEmacs
1450         UTF-2000.
1451         (put_char_id_table): New inline function in XEmacs UTF-2000.
1452
1453         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1454         function.
1455         (decode_char_table_range): Delete static declaration in XEmacs
1456         UTF-2000.
1457
1458 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1459
1460         * chartab.c (put_char_id_table): Use `put_char_table'.
1461
1462 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1463
1464         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1465         (map_over_uint16_byte_table): Likewise.
1466         (map_over_byte_table): Likewise.
1467         (map_char_table): Modify for `map_over_uint8_byte_table',
1468         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1469         UTF-2000.
1470
1471 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1472
1473         * chartab.c (struct map_char_table_for_charset_arg): New
1474         structure.
1475         (map_char_table_for_charset_fun): New function.
1476         (map_char_table): Use `map_char_table' for encoding_table of
1477         `range->charset'.
1478
1479 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1480
1481         * chartab.c (map_char_table): Check a character is found in
1482         range->charset instead of non default value is defined in
1483         char-table when range is CHARTAB_RANGE_ROW.
1484
1485 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1486
1487         * chartab.c (map_char_id_table): Deleted.
1488         (Fmap_char_attribute): Use `map_char_table' instead of
1489         `map_char_id_table'.
1490
1491 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1492
1493         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1494         UTF-2000.
1495         (update_syntax_table): Deleted in XEmacs UTF-2000.
1496
1497         * syntax.c (find_defun_start): Use `syntax_table' instead of
1498         `mirror_syntax_table' in XEmacs UTF-2000.
1499         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1500         UTF-2000.
1501         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1502         XEmacs UTF-2000.
1503         (Fmatching_paren): Likewise.
1504         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1505         in XEmacs UTF-2000.
1506         (find_start_of_comment): Likewise.
1507         (find_end_of_comment): Likewise.
1508         (Fforward_comment): Likewise.
1509         (scan_lists): Likewise.
1510         (char_quoted): Likewise.
1511         (Fbackward_prefix_chars): Likewise.
1512         (scan_sexps_forward): Likewise.
1513         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1514         (update_syntax_table): Likewise.
1515
1516         * search.c (skip_chars): Use `syntax_table' instead of
1517         `mirror_syntax_table' in XEmacs UTF-2000.
1518         (wordify): Likewise.
1519         (Freplace_match): Likewise.
1520
1521         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1522         `mirror_syntax_table' in XEmacs UTF-2000.
1523         (WORDCHAR_P_UNSAFE): Likewise.
1524         (re_match_2_internal): Likewise.
1525
1526         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1527         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1528
1529         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1530         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1531
1532         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1533         XEmacs UTF-2000.
1534
1535         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1536         UTF-2000.
1537         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1538         (char_table_description): Delete `mirror_table' in XEmacs
1539         UTF-2000.
1540         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1541         UTF-2000.
1542         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1543         (Fcopy_char_table): Likewise.
1544         (put_char_table): Don't call `update_syntax_table' in XEmacs
1545         UTF-2000.
1546
1547         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1548         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1549         (casify_region_internal): Likewise.
1550
1551         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1552
1553         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1554         `mirror_syntax_table' in XEmacs UTF-2000.
1555
1556         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1557         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1558         (Fexpand_abbrev): Likewise.
1559
1560 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1561
1562         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1563
1564 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1565
1566         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1567         (map_over_uint16_byte_table): Likewise.
1568         (map_over_byte_table): Likewise.
1569         (get_char_id_table): Refer `cit->default_value'.
1570         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1571         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1572         of character-id ranges.
1573         (mark_char_table): Mark `ct->default_value'.
1574         (char_table_description): Add `default_value'.
1575         (fill_char_table): Use `default_value'.
1576         (decode_char_table_range): Decode `nil' as
1577         `CHARTAB_RANGE_DEFAULT'.
1578         (get_char_id_table): Refer `cit->default_value'.
1579         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1580         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1581         temporary hack; check value of char-table is bound or not.
1582         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1583
1584         * chartab.h (struct Lisp_Char_Table): Add new member
1585         `default_value' in XEmacs UTF-2000.
1586         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1587         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1588         UTF-2000.
1589
1590 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1591
1592         * chartab.h (Lisp_Char_ID_Table): Deleted.
1593
1594         * chartab.c (char_table_description): Fix typo.
1595         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1596         `Lisp_Char_ID_Table'.
1597
1598 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1599
1600         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1601         `CHAR_ID_TABLE_P'.
1602
1603         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1604         `CHAR_ID_TABLE_P'.
1605
1606         * chartab.h (XCHAR_ID_TABLE): Deleted.
1607         (XSETCHAR_ID_TABLE): Deleted.
1608         (CHAR_ID_TABLE_P): Deleted.
1609
1610         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1611         `CHAR_ID_TABLE_P'.
1612         (Fget_composite_char): Likewise.
1613         (put_char_table): Likewise.
1614         (add_char_attribute_alist_mapper): Fixed.
1615         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1616         `CHAR_ID_TABLE_P'.
1617         (Fget_char_attribute): Likewise.
1618         (Fget_char_attribute): Likewise.
1619         (Fmap_char_attribute): Likewise.
1620
1621         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1622         `CHAR_ID_TABLE_P'.
1623         (encode_char_1): Likewise.
1624
1625 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1626
1627         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1628         `XCHAR_ID_TABLE'.
1629
1630         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1631         instead of `XCHAR_ID_TABLE'.
1632         (remove_char_ccs): Likewise.
1633
1634         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1635         `XCHAR_ID_TABLE'.
1636         (Fget_composite_char): Likewise.
1637         (Fchar_variants): Likewise.
1638         (put_char_table): Likewise.
1639         (add_char_attribute_alist_mapper): Likewise.
1640         (Fchar_attribute_alist): Likewise.
1641         (Fget_char_attribute): Likewise.
1642         (Fput_char_attribute): Likewise.
1643         (Fmap_char_attribute): Likewise.
1644         (Fmap_char_attribute): Likewise.
1645
1646         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1647         `XCHAR_ID_TABLE'.
1648         (encode_char_1): Likewise.
1649
1650 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1651
1652         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1653         `Lisp_Char_ID_Table'.
1654         (mark_char_id_table): Deleted.
1655         (print_char_id_table): Likewise.
1656         (char_id_table_equal): Likewise.
1657         (char_id_table_hash): Likewise.
1658         (char_id_table_description): Likewise.
1659         (char_id_table): Likewise.
1660         (make_char_id_table): Use `Fmake_char_table' and
1661         `fill_char_table'.
1662         (get_char_id_table): Use `Lisp_Char_Table' instead of
1663         `Lisp_Char_ID_Table'.
1664         (put_char_id_table): Likewise.
1665         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1666         `XCHAR_ID_TABLE'.
1667         (Fremove_char_attribute): Likewise.
1668         (syms_of_chartab): Don't define type `char-id-table'.
1669
1670         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1671         (char_id_table): Likewise.
1672         (GC_CHAR_ID_TABLE_P): Likewise.
1673         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1674         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1675         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1676         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1677         (get_char_id_table): Use `Lisp_Char_Table' instead of
1678         `Lisp_Char_ID_Table'.
1679         (put_char_id_table_0): Likewise.
1680         (put_char_id_table): Likewise.
1681
1682 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1683
1684         * chartab.h: Lisp_Byte_Table related codes are moved from
1685         chartab.h.
1686
1687         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1688
1689 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1690
1691         * chartab.h: Don't include "chartab.h".
1692         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1693         (Lisp_Char_ID_Table): Likewise.
1694         (char_id_table): Likewise.
1695         (XCHAR_ID_TABLE): Likewise.
1696         (XSETCHAR_ID_TABLE): Likewise.
1697         (CHAR_ID_TABLE_P): Likewise.
1698         (GC_CHAR_ID_TABLE_P): Likewise.
1699         (get_char_id_table): Likewise.
1700
1701         * char-ucs.h: Include "chartab.h".
1702         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1703         (Lisp_Char_ID_Table): Likewise.
1704         (char_id_table): Likewise.
1705         (XCHAR_ID_TABLE): Likewise.
1706         (XSETCHAR_ID_TABLE): Likewise.
1707         (CHAR_ID_TABLE_P): Likewise.
1708         (GC_CHAR_ID_TABLE_P): Likewise.
1709         (get_char_id_table): Likewise.
1710
1711 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1712
1713         * chartab.c (copy_uint8_byte_table): New function.
1714         (copy_uint16_byte_table): New function.
1715         (copy_byte_table): New function.
1716         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1717         characters to call.
1718         (map_over_uint16_byte_table): Likewise.
1719         (map_over_byte_table): Likewise.
1720         (get_byte_table): Move prototype to chartab.h.
1721         (put_byte_table): Likewise.
1722         (put_char_id_table_0): Moved to chartab.h.
1723         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1724         (char_table_entry_equal): Likewise.
1725         (char_table_entry_hash): Likewise.
1726         (char_table_entry_description): Likewise.
1727         (char_table_entry): Likewise.
1728         (make_char_table_entry): Likewise.
1729         (copy_char_table_entry): Likewise.
1730         (get_non_ascii_char_table_value): Likewise.
1731         (map_over_charset_ascii): Likewise.
1732         (map_over_charset_control_1): Likewise.
1733         (map_over_charset_row): Likewise.
1734         (map_over_other_charset): Likewise.
1735         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1736         (print_char_table): Likewise.
1737         (char_table_equal): Likewise.
1738         (char_table_hash): Likewise.
1739         (char_table_description): Likewise.
1740         (fill_char_table): Likewise.
1741         (Fcopy_char_table): Likewise.
1742         (get_char_table): Likewise.
1743         (Fget_range_char_table): Likewise.
1744         (put_char_table): Likewise.
1745         (map_char_table): Likewise.
1746         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1747         UTF-2000.
1748
1749 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1750
1751         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1752         `Vauto_fill_chars' in XEmacs UTF-2000.
1753
1754         * chartab.h (get_byte_table): New prototype [moved from
1755         chartab.c].
1756         (put_byte_table): Likewise [moved from chartab.c].
1757         (put_char_id_table_0): New inline function [moved from chartab.c].
1758         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1759         (Lisp_Char_Table_Entry): Likewise.
1760         (char_table_entry): Likewise.
1761         (XCHAR_TABLE_ENTRY): Likewise.
1762         (XSETCHAR_TABLE_ENTRY): Likewise.
1763         (CHAR_TABLE_ENTRYP): Likewise.
1764         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1765         (NUM_ASCII_CHARS): Likewise.
1766         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1767         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1768
1769 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1770
1771         * chartab.c (get_char_id_table): Change interface.
1772         (put_char_id_table_0): New function.
1773         (put_char_id_table): Change interface; new implementation.
1774         (Fget_composite_char): Modify for interface change of
1775         `get_char_id_table'.
1776         (Fchar_variants): Likewise.
1777         (add_char_attribute_alist_mapper): Likewise.
1778         (Fchar_attribute_alist): Likewise.
1779         (Fget_char_attribute): Likewise.
1780         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1781         as same as character as the first argument like `put-char-table';
1782         modify for interface change of `put_char_id_table'.
1783         (Fremove_char_attribute): Modify for interface change of
1784         `put_char_id_table'.
1785
1786 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1787
1788         * text-coding.c: Sync up with XEmacs 21.2.41.
1789         (COMPOSE_ADD_CHAR): Modify for interface change of
1790         `get_char_id_table'.
1791
1792         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1793         change of `put_char_id_table'.
1794         (remove_char_ccs): Likewise.
1795
1796         * chartab.h (put_char_id_table): Change interface.
1797
1798         * char-ucs.h (get_char_id_table): Change interface.
1799         (charset_code_point): Modify for interface change of
1800         `get_char_id_table'.
1801         (encode_char_1): Likewise.
1802
1803 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1804
1805         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1806         argument `ccs'.
1807         (map_over_uint16_byte_table): Likewise.
1808         (map_over_byte_table): Likewise.
1809         (map_char_id_table): Add new argument `range' like
1810         `map_char_table'.
1811         (Fmap_char_attribute): Add new argument `range' like
1812         `Fmap_char_table'.
1813
1814 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1815
1816         * chartab.c (map_over_uint8_byte_table): Change interface of
1817         mapping function to use struct chartab_range instead of Emchar.
1818         (map_over_uint16_byte_table): Likewise.
1819         (map_over_byte_table): Likewise.
1820         (map_char_id_table): Likewise.
1821         (struct slow_map_char_id_table_arg): Deleted.
1822         (slow_map_char_id_table_fun): Deleted.
1823         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1824         function `slow_map_char_table_fun' instead of struct
1825         `slow_map_char_id_table_arg' and function
1826         `slow_map_char_id_table_fun'.
1827
1828 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1829
1830         * mule-charset.c: Move char-it-table related codes to chartab.c.
1831         (Vutf_2000_version): Moved to chartab.c.
1832         (Fdefine_char): Likewise.
1833         (Ffind_char): Likewise.
1834         (syms_of_mule_charset): Move types `uint8-byte-table',
1835         `uint16-byte-table', `byte-table' and `char-id-table' to
1836         chartab.c; move functions `char_attribute_list,
1837         `find_char_attribute_table, `char_attribute_alist,
1838         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1839         `map_char_attribute, `define_char, `find_char, `char_variants and
1840         `get_composite_char to chartab.c; move symbols `=>ucs',
1841         `->decomposition', `compat', `isolated', `initial', `medial',
1842         `final', `vertical', `noBreak', `fraction', `super', `sub',
1843         `circle', `square', `wide', `narrow', `small' and `font' to
1844         chartab.c.
1845         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1846         setting codes for `Vcharacter_composition_table' and
1847         `Vcharacter_variant_table' to chartab.c.
1848         (complex_vars_of_mule_charset): Move setting code for
1849         `Vchar_attribute_hash_table' to chartab.c.
1850
1851         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1852         (make_char_id_table): New prototype.
1853         (put_char_id_table): Likewise.
1854         (Fget_char_attribute): Likewise.
1855
1856         * chartab.c: Move char-id-table related code from mule-charset.c.
1857         (Vutf_2000_version): Moved from mule-charset.c.
1858
1859         * char-ucs.h (Qucs): New external variable.
1860         (put_char_ccs_code_point): New prototype.
1861         (remove_char_ccs): Likewise.
1862
1863 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1864
1865         * mule-charset.c (Vcharset_ucs_jis): New variable.
1866         (Qucs_jis): Likewise.
1867         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1868         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1869
1870         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1871
1872 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1873
1874         * mule-charset.c (map_over_uint8_byte_table): New function.
1875         (map_over_uint16_byte_table): Likewise.
1876         (map_over_byte_table): Likewise.
1877         (map_char_id_table): Likewise.
1878         (slow_map_char_id_table_fun): Likewise.
1879         (Fmap_char_attribute): Likewise.
1880         (syms_of_mule_charset): Add new function `map-char-attribute'.
1881
1882 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1883
1884         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1885         (syms_of_mule_charset): Add new function `find-char'.
1886
1887 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1888
1889         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1890         XEmacs UTF-2000.
1891         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1892         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1893         XEmacs UTF-2000.
1894         (complex_vars_of_mule_charset): Add new coded-charset
1895         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1896         `ideograph-gt-pj-*'.
1897
1898         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1899
1900 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1901
1902         * mule-charset.c (encode_builtin_char_1): Purge codes about
1903         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1904         {MIN|MAX}_CHAR_HEBREW.
1905         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1906         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1907
1908         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1909         (MAX_CHAR_GREEK): Purged.
1910         (MIN_CHAR_CYRILLIC): Purged.
1911         (MAX_CHAR_CYRILLIC): Purged.
1912         (MIN_CHAR_HEBREW): Commented out.
1913         (MAX_CHAR_HEBREW): Likewise.
1914
1915 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1916
1917         * mule-charset.c (Qto_ucs): New variable.
1918         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1919         (Fdefine_char): Likewise.
1920         (syms_of_mule_charset): Add new symbol `=>ucs'.
1921
1922 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1923
1924         * mule-charset.c (Fdecode_char): Fixed.
1925
1926 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1927
1928         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1929         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1930         "tcvn5712-1".
1931
1932 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1933
1934         * mule-charset.c (Vcharset_ucs_big5): New variable.
1935         (Qucs_big5): Likewise.
1936         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1937         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1938
1939         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1940
1941 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1942
1943         * mule-charset.c (decode_builtin_char): Check Big5 code range
1944         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1945
1946 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1947
1948         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1949         (Qchinese_gb12345): Likewise.
1950         (Fdecode_builtin_char): Fixed.
1951         (syms_of_mule_charset): Add `chinese-gb12345'.
1952         (complex_vars_of_mule_charset): Add coded-charset
1953         `chinese-gb12345'.
1954
1955         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1956         (LEADING_BYTE_CHINESE_GB12345): New macro.
1957
1958 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1959
1960         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1961         and `latin-viscii-upper' for `latin-viscii'.
1962
1963 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1964
1965         * mule-charset.c (Fdecode_builtin_char): Comment out
1966         regularization code for ISO-IR GR representation.
1967
1968 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1969
1970         * mule-charset.c (decode_builtin_char): New function; renamed from
1971         `make_builtin_char'; return -1 instead of signal.
1972         (Fdecode_builtin_char): Use `decode_builtin_char'.
1973
1974         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1975         `make_builtin_char'.
1976         (DECODE_CHAR): Use `decode_builtin_char' instead of
1977         `make_builtin_char'; use mapping table of `chinese-big5' for
1978         `chinese-big5-{1,2}'.
1979
1980 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1981
1982         * text-coding.c (char_encode_big5): New function.
1983         (char_finish_big5): Likewise.
1984         (reset_encoding_stream): Use `char_encode_big5' and
1985         `char_finish_big5' for CODESYS_BIG5.
1986         (mule_encode): Don't use `encode_coding_big5'.
1987         (encode_coding_big5): Deleted.
1988
1989 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1990
1991         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1992         0x81- in XEmacs UTF-2000.
1993         (detect_coding_big5): Likewise.
1994
1995 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1996
1997         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1998         generate character-id if the CCS property does not have
1999         corresponding predefined character.
2000         (make_builtin_char): Return -1 if corresponding predefined
2001         character is not found.
2002         (Fdecode_char): Return nil if corresponding character is not
2003         found.
2004         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2005         don't map to builtin ucs space.
2006
2007 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2008
2009         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2010         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2011
2012 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2013
2014         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2015         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2016         (Qideograph_gt): Likewise.
2017         (Qideograph_gt_pj_{1..11}): Likewise.
2018         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2019         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2020         `ideograph-gt-pj-11'.
2021         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2022         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2023         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2024
2025         * char-ucs.h (LEADING_BYTE_GT): New macro.
2026         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2027         (MIN_CHAR_GT): Likewise.
2028         (MAX_CHAR_GT): Likewise.
2029
2030 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2031
2032         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2033         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2034
2035         * doprnt.c (unsigned_int_converters): Add `c'.
2036         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2037
2038         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2039         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2040         `MIN_CHAR_MOJIKYO'.
2041         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2042         (MAX_CHAR_MOJIKYO_0): New macro.
2043         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2044
2045 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2046
2047         * mule-charset.c (Fdefine_char): Delete cemented out code.
2048         (encode_builtin_char_1): Modify for new allocation of builtin
2049         Mojikyo characters.
2050
2051         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2052
2053 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2054
2055         * mule-charset.c (Vcharset_ucs_cns): New variable.
2056         (Qucs_cns): New variable.
2057         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2058         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2059
2060 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2061
2062         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2063
2064 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2065
2066         * search.c (search_buffer): Make `charset_base_code' as
2067         character-id >> 6 to eliminate the corresponding last byte in
2068         UTF-8 representation [I'm not sure it is right thing].
2069         (boyer_moore): Likewise.
2070
2071 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2072
2073         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2074         representation in MULE.
2075
2076 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2077
2078         * text-coding.c (Fmake_coding_system): Use
2079         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2080         `EXTERNAL_PROPERTY_LIST_LOOP'.
2081
2082 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2083
2084         * text-coding.c (decode_output_utf8_partial_char): New function.
2085         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2086
2087 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2088
2089         * text-coding.c (decode_coding_utf8): Output original byte
2090         sequence if it is broken; change order of conditions.
2091
2092         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2093         of conditions.
2094
2095         * mb-multibyte.h (BYTE_ASCII_P):
2096         Use bit ops for char-signedness safety.
2097         (BYTE_C0_P): Use bit ops for char-signedness safety.
2098         (BYTE_C1_P): Use bit ops for char-signedness safety.
2099
2100         * character.h: (XCHAR_OR_CHAR_INT):
2101         Always use inline function.
2102         Remove redundant type checking assert() - XINT will abort quite
2103         nicely.
2104
2105 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2106
2107         * text-coding.c: (Fencode_shift_jis_char):
2108         (Fencode_big5_char):
2109         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2110         Replace 0 with '\0' when working with bytes.
2111         Replace initial "(" with "\(" in docstrings.
2112
2113         (Fmake_coding_system):
2114         When type is ccl and value is vector, register it with a proper
2115         symbol.  And checks whether the given ccl program is valid.
2116         (mule_decode): When calling ccl_driver, if src indicates
2117         NULL pointer, set an empty string instead.
2118         (mule_encode): Likewise.
2119
2120         (detect_eol_type):
2121         (detect_coding_sjis):
2122         (decode_coding_sjis):
2123         (detect_coding_big5):
2124         (decode_coding_big5):
2125         (detect_coding_ucs4):
2126         (decode_coding_ucs4):
2127         (detect_coding_utf8):
2128         (decode_coding_utf8):
2129         (detect_coding_iso2022):
2130         (decode_coding_iso2022):
2131         (decode_coding_no_conversion):
2132         (mule_decode):
2133         Make all detecting and decoding functions take an Extbyte * arg.
2134         (text_encode_generic):
2135         (encode_coding_big5):
2136         (encode_coding_no_conversion):
2137         (mule_encode):
2138         Make all encoding functions take a Bufbyte * arg.
2139         Use size_t instead of unsigned int for memory sizes.
2140         Only cast to unsigned char whenever dereferencing Extbyte *.
2141
2142         (struct lrecord_description fcd_description_1): Use countof.
2143         (complex_vars_of_file_coding):
2144         Use countof instead of sizeof.
2145         Use CHECK_NATNUM instead of CHECK_INT.
2146
2147 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2148
2149         * mule-charset.c (Fget_char_attribute): Add new optional argument
2150         `default-value'.
2151         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2152         (remove_char_ccs): Likewise.
2153
2154 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2155
2156         * text-coding.c (char_encode_shift_jis): New implementation in
2157         UTF-2000.
2158         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2159         ...)'.
2160
2161         * mule-charset.c (Vcharset_chinese_big5): New variable in
2162         UTF-2000.
2163         (Qchinese_big5): New variable in UTF-2000.
2164         (BIG5_SAME_ROW): New macro in UTF-2000.
2165         (make_builtin_char): Use builtin characters of
2166         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2167         characters of `Vcharset_chinese_big5'.
2168         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2169         (complex_vars_of_mule_charset): Add new coded-charset
2170         `chinese-big5' in UTF-2000.
2171
2172         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2173         (Vcharset_chinese_big5): New external variable declaration.
2174         (Vcharset_japanese_jisx0208_1990): Likewise.
2175
2176 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2177
2178         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2179         function.
2180         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2181
2182 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2183
2184         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2185         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2186         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2187         `mojikyo-pj-*'.
2188
2189 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2190
2191         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2192
2193 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2194
2195         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2196         to 0.17.
2197
2198 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2199
2200         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2201         for `CHARSET_BY_ATTRIBUTES'.
2202         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2203         `CHARSET_BY_ATTRIBUTES'.
2204
2205         * text-coding.c (struct decoding_stream): Rename member `CH' to
2206         `CPOS'.
2207         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2208         (decode_coding_sjis): Likewise.
2209         (decode_coding_big5): Likewise.
2210         (decode_coding_ucs4): Likewise.
2211         (decode_coding_utf8): Likewise.
2212         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2213         `CHARSET_BY_ATTRIBUTES'.
2214         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2215         `str->counter'; decode 3, 4 bytes sets.
2216         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2217         sets.
2218         (decode_coding_no_conversion): Use `str->cpos' instead of
2219         `str->ch'.
2220
2221         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2222         (Qmojikyo_2022_1): New variable.
2223         (make_charset): Don't use `CHARSET_TYPE_*'.
2224         (range_charset_code_point): Support coded-charset
2225         `mojikyo-2022-1'.
2226         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2227         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2228         `CHARSET_BY_ATTRIBUTES'.
2229         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2230         `CHARSET_BY_ATTRIBUTES'.
2231         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2232         (complex_vars_of_mule_charset): Add new coded-charset
2233         `mojikyo-2022-1'.
2234
2235         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2236         interface; changed to inline function.
2237
2238         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2239         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2240         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2241         (CHARSET_TYPE_94): Deleted.
2242         (CHARSET_TYPE_94X94): Deleted.
2243         (CHARSET_TYPE_96): Deleted.
2244         (CHARSET_TYPE_96X96): Deleted.
2245         (CHARSET_TYPE_128): Deleted.
2246         (CHARSET_TYPE_128X128): Deleted.
2247         (CHARSET_TYPE_256): Deleted.
2248         (CHARSET_TYPE_256X256): Deleted.
2249         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2250         to inline function.
2251         (DECODE_MOJIKYO_2022): New inline function.
2252         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2253         `Vcharset_mojikyo_2022_1'.
2254
2255 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2256
2257         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2258         instead of `EQ'.
2259         (put_byte_table): Likewise.
2260         (char_id_table_equal): Use `get_byte_table' [new implementation].
2261
2262 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2263
2264         * mule-charset.c: Include <limits.h> in UTF-2000.
2265         (BT_UINT8_MIN): New macro in UTF-2000.
2266         (BT_UINT8_MAX): New macro in UTF-2000.
2267         (BT_UINT8_t): New macro in UTF-2000.
2268         (BT_UINT8_nil): New macro in UTF-2000.
2269         (BT_UINT8_unbound): New macro in UTF-2000.
2270         (INT_UINT8_P): New inline function in UTF-2000.
2271         (UINT8_VALUE_P): New inline function in UTF-2000.
2272         (UINT8_ENCODE): New inline function in UTF-2000.
2273         (UINT8_DECODE): New inline function in UTF-2000.
2274         (mark_uint8_byte_table): New function in UTF-2000.
2275         (print_uint8_byte_table): New function in UTF-2000.
2276         (uint8_byte_table_equal): New function in UTF-2000.
2277         (uint8_byte_table_hash): New function in UTF-2000.
2278         (make_uint8_byte_table): New function in UTF-2000.
2279         (uint8_byte_table_same_value_p): New function in UTF-2000.
2280         (BT_UINT16_MIN): New macro in UTF-2000.
2281         (BT_UINT16_MAX): New macro in UTF-2000.
2282         (BT_UINT16_t): New macro in UTF-2000.
2283         (BT_UINT16_nil): New macro in UTF-2000.
2284         (BT_UINT16_unbound): New macro in UTF-2000.
2285         (INT_UINT16_P): New inline function in UTF-2000.
2286         (UINT16_VALUE_P): New inline function in UTF-2000.
2287         (UINT16_ENCODE): New inline function in UTF-2000.
2288         (UINT16_DECODE): New inline function in UTF-2000.
2289         (UINT8_TO_UINT16): New inline function in UTF-2000.
2290         (mark_uint16_byte_table): New function in UTF-2000.
2291         (print_uint16_byte_table): New function in UTF-2000.
2292         (uint16_byte_table_equal): New function in UTF-2000.
2293         (uint16_byte_table_hash): New function in UTF-2000.
2294         (make_uint16_byte_table): New function in UTF-2000.
2295         (uint16_byte_table_same_value_p): New function in UTF-2000.
2296         (print_byte_table): New function in UTF-2000.
2297         (byte-table): Use `print_byte_table' as printer.
2298         (make_byte_table): Delete second argument `older'.
2299         (byte_table_same_value_p): New function in UTF-2000.
2300         (copy_byte_table): Deleted.
2301         (get_byte_table): New function in UTF-2000.
2302         (put_byte_table): New function in UTF-2000.
2303         (print_char_id_table): New function in UTF-2000.
2304         (char-id-table): Use `print_char_id_table' as printer.
2305         (make_char_id_table): Delete second argument `older'.
2306         (get_char_id_table): Use `get_byte_table [new implementation].
2307         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2308         implementation].
2309         (Ffind_char_attribute_table): New function in UTF-2000.
2310         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2311         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2312         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2313         (syms_of_mule_charset): Add new function
2314         `find-char-attribute-table' in UTF-2000.
2315
2316         * lrecord.h (enum lrecord_type): Add
2317         `lrecord_type_uint16_byte_table' and
2318         `lrecord_type_uint8_byte_table'.
2319
2320         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2321         (Lisp_Uint8_Byte_Table): New type.
2322         (XUINT8_BYTE_TABLE): New macro.
2323         (XSETUINT8_BYTE_TABLE): New macro.
2324         (UINT8_BYTE_TABLE_P): New macro.
2325         (GC_UINT8_BYTE_TABLE_P): New macro.
2326         (struct Lisp_Uint16_Byte_Table): New structure.
2327         (Lisp_Uint16_Byte_Table): New type.
2328         (XUINT16_BYTE_TABLE): New macro.
2329         (XSETUINT16_BYTE_TABLE): New macro.
2330         (UINT16_BYTE_TABLE_P): New macro.
2331         (GC_UINT16_BYTE_TABLE_P): New macro.
2332
2333 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2334
2335         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2336         (Vcharacter_ideographic_strokes_table): Deleted.
2337         (Vcharacter_total_strokes_table): Deleted.
2338         (Vcharacter_morohashi_daikanwa_table): Deleted.
2339         (Vcharacter_decomposition_table): Deleted.
2340         (Qname): Deleted because it is duplicated.
2341         (Qideographic_radical): Deleted.
2342         (Qideographic_strokes): Deleted.
2343         (Qtotal_strokes): Deleted.
2344         (Qmorohashi_daikanwa): Deleted.
2345         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2346         `ideographic-radical', `ideographic-strokes', `total-strokes',
2347         `morohashi-daikanwa' and `->decomposition'.
2348         (Fget_char_attribute): Likewise.
2349         (Fput_char_attribute): Likewise; use `make-vector' instead of
2350         `make_older_vector' for `->decomposition' value.
2351         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2352         `ideograph-daikanwa'.
2353         (syms_of_mule_charset): Delete builtin symbols `name',
2354         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2355         `morohashi-daikanwa'.
2356         (vars_of_mule_charset): Don't setup
2357         `Vcharacter_ideographic_radical_table',
2358         `Vcharacter_ideographic_strokes_table',
2359         `Vcharacter_total_strokes_table',
2360         `Vcharacter_morohashi_daikanwa_table' and
2361         `Vcharacter_decomposition_table'.
2362
2363 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2364
2365         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2366         `make_older_vector', `make_vector_newer_1' and
2367         `make_vector_newer'.
2368
2369         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2370         `make_older_vector' and `make_vector_newer'.
2371
2372         * config.h.in (HAVE_GGC): New macro.
2373
2374 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2375
2376         * mule-charset.c (struct char_attribute_list_closure): New
2377         structure in UTF-2000.
2378         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2379         (Fchar_attribute_list): Likewise.
2380         (Fset_charset_mapping_table): Use `make_vector_newer'.
2381         (Fdecode_builtin_char): New function in UTF-2000.
2382         (syms_of_mule_charset): Add new function `char-attribute-list' and
2383         `decode-builtin-char' in UTF-2000.
2384
2385         * lisp.h (make_vector_newer): New prototype.
2386
2387         * alloc.c (make_vector_newer_1): New function.
2388         (make_vector_newer): New function.
2389
2390 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2391
2392         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2393         50100)'.
2394
2395 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2396
2397         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2398         (Vcharacter_attribute_table): Deleted.
2399         (Vcharacter_name_table): Deleted.
2400         (put_char_attribute): Deleted.
2401         (remove_char_attribute): Deleted.
2402         (struct char_attribute_alist_closure): New structure.
2403         (add_char_attribute_alist_mapper): New function.
2404         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2405         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2406         (Fget_char_attribute): Likewise.
2407         (Fput_char_attribute): Likewise.
2408         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2409         of `remove_char_attribute'.
2410         (Fdefine_char): Return character.
2411         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2412         and `Vcharacter_name_table'.
2413         (complex_vars_of_mule_charset): Likewise
2414         `Vchar_attribute_hash_table'.
2415
2416 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2417
2418         * character.h (CHARC_CHARSET): New macro.
2419         (CHARC_CHARSET_ID): New macro.
2420         (CHARC_CODE_POINT): New macro.
2421         (CHARC_COLUMNS): New macro.
2422         (CHARC_TO_CHAR): New inline function.
2423         (CHARC_EQ): New inline function.
2424         (CHARC_ASCII_EQ): New inline function.
2425         (CHARC_IS_SPACE): New inline function.
2426         (ASCII_TO_CHARC): New inline function.
2427
2428         * char-ucs.h (encode_char_2): Deleted.
2429         (ENCODE_CHAR): Use `encode_char_1' again.
2430         (breakup_char_1): Likewise.
2431         (CHAR_TO_CHARC): New inline function.
2432
2433         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2434
2435 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2436
2437         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2438         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2439         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2440         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2441         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2442         `CHARC_IS_SPACE'.
2443         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2444
2445         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2446         `CHARC_CODE_POINT'.
2447         (x_output_display_block): Use `CHARC_CHARSET' and
2448         `CHARC_ASCII_EQ'.
2449
2450         * redisplay-tty.c (tty_output_display_block): Use
2451         `CHARC_ASCII_EQ'.
2452         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2453
2454         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2455
2456         * insdel.c (find_charsets_in_charc_string): Use
2457         `CHARC_CHARSET_ID'.
2458         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2459         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2460         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2461         (convert_charc_string_into_malloced_string): Likewise.
2462
2463 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2464
2465         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2466         instead of <Emchar_dynarr *> for buf; use
2467         `convert_bufbyte_string_into_charc_dynarr' instead of
2468         `convert_bufbyte_string_into_emchar_dynarr'; use
2469         `find_charsets_in_charc_string' instead of
2470         `find_charsets_in_emchar_string'.
2471
2472         * redisplay.h:
2473         - Include "character.h".
2474         (struct rune): New member `cglyph'; delete member `chr'.
2475
2476         * redisplay.c (redisplay_text_width_charc_string): New function;
2477         delete `redisplay_text_width_emchar_string'.
2478         (rtw_charc_dynarr): New variable; renamed from
2479         `rtw_emchar_dynarr'.
2480         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2481         `rtw_emchar_dynarr'; use
2482         `convert_bufbyte_string_into_charc_dynarr' instead of
2483         `convert_bufbyte_string_into_emchar_dynarr'; use
2484         `redisplay_text_width_charc_string' instead of
2485         `redisplay_text_width_emchar_string'.
2486         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2487         instead of `rtw_emchar_dynarr'; use
2488         `convert_bufbyte_string_into_charc_dynarr' instead of
2489         `convert_bufbyte_string_into_emchar_dynarr'.
2490         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2491         `redisplay_text_width_charc_string' instead of
2492         `redisplay_text_width_emchar_string'.
2493         (create_text_block): Modify for <struct rune> change.
2494         (generate_formatted_string_db): Likewise.
2495         (create_string_text_block): Likewise.
2496         (pixel_to_glyph_translation): Likewise.
2497
2498         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2499         instead of <const Emchar *>.
2500         (x_text_width): Likewise.
2501         (x_output_display_block): Use <Charc_dynarr *> instead
2502         <Emchar_dynarr *>; modify for <structure rune> change.
2503         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2504         *>.
2505
2506         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2507         <const Emchar *>; use `charc_string_displayed_columns' instead of
2508         `emchar_string_displayed_columns'.
2509         (tty_output_display_block): Use <Charc_dynarr *> instead of
2510         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2511         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2512         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2513         `tty_output_emchar_dynarr_dynarr'.
2514         (tty_output_charc_dynarr): New function; delete
2515         `tty_output_charc_dynarr'.
2516
2517         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2518         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2519         <Emchar_dynarr *> for buf; use
2520         `convert_bufbyte_string_into_charc_dynarr' instead of
2521         `convert_bufbyte_string_into_emchar_dynarr'.
2522
2523         * frame.c (title_string_charc_dynarr): New variable; renamed from
2524         `title_string_emchar_dynarr'.
2525         (generate_title_string): Use `title_string_charc_dynarr' instead
2526         of `title_string_emchar_dynarr'; use
2527         `convert_charc_string_into_malloced_string' instead of
2528         `convert_emchar_string_into_malloced_string'.
2529         (init_frame): Use `title_string_charc_dynarr' instead of
2530         `title_string_emchar_dynarr'.
2531
2532         * console.h:
2533         - Include "character.h".
2534         (struct console_methods): Use <const Charc *> instead of <const
2535         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2536         <Emchar_dynarr *> in output_string_method.
2537
2538         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2539         <Emchar_dynarr *>.
2540
2541         * console-stream.c (stream_text_width): Use <const Charc *>
2542         instead of <const Emchar *>.
2543
2544         * character.h (Charc_dynarr): New type.
2545
2546         * char-ucs.h (structure Charc): New structure; define new type
2547         `Charc'.
2548
2549         * char-lb.h (DECODE_CHAR): New inline function.
2550         (encode_char_1): New inline function.
2551         (ENCODE_CHAR): New macro.
2552         (structure Charc): New structure; define new type `Charc'.
2553
2554         * char-1byte.h (Vcharset_control_1): New macro.
2555         (Vcharset_latin_iso8859_1): New macro.
2556         (DECODE_CHAR): New inline function.
2557         (encode_char_1): New inline function.
2558         (ENCODE_CHAR): New macro.
2559         (structure Charc): New structure; define new type `Charc'.
2560
2561         * insdel.c (find_charsets_in_charc_string): New function; delete
2562         `find_charsets_in_emchar_string'.
2563         (charc_string_displayed_columns): New function; delete
2564         `emchar_string_displayed_columns'.
2565         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2566         `convert_bufbyte_string_into_emchar_dynarr'.
2567         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2568         `convert_charc_string_into_bufbyte_dynarr'.
2569         (convert_charc_string_into_malloced_string): New function; delete
2570         `convert_charc_string_into_malloced_string'.
2571
2572         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2573         `find_charsets_in_emchar_string'.
2574         (charc_string_displayed_columns): New prototype; delete
2575         `emchar_string_displayed_columns'.
2576         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2577         `convert_charc_string_into_bufbyte_dynarr'.
2578         (convert_charc_string_into_malloced_string): New prototype; delete
2579         `convert_charc_string_into_malloced_string'.
2580
2581 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2582
2583         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2584
2585 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2586
2587         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2588
2589         * char-ucs.h: Use <short> for <Charset_ID>.
2590
2591         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2592         <Charset_ID>.
2593
2594 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2595
2596         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2597         to 0.16.
2598
2599 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2600
2601         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2602         variable.
2603         (Qmorohashi_daikanwa): New variable.
2604         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2605         for `morohashi-daikanwa' attribute.
2606         (Fget_char_attribute): Likewise.
2607         (Fput_char_attribute): Likewise.
2608         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2609         has the same value of `ideograph-daikanwa'.
2610         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2611         (vars_of_mule_charset): Setup
2612         `Vcharacter_morohashi_daikanwa_table'.
2613
2614 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2615
2616         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2617         attributes.
2618         (add_charset_to_list_mapper): Add `key' instead of
2619         `XCHARSET_NAME (value)' to return aliases.
2620
2621 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2622
2623         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2624         variable.
2625         (Vcharacter_ideographic_strokes_table): New variable.
2626         (Qideographic_radical): New variable.
2627         (Qideographic_strokes): New variable.
2628         (Fchar_attribute_alist): Use
2629         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2630         attribute; use `Vcharacter_ideographic_strokes_table' for
2631         `ideographic-strokes' attribute.
2632         (Fget_char_attribute): Likewise.
2633         (Fput_char_attribute): Likewise.
2634         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2635         `ideographic-strokes'.
2636         (vars_of_mule_charset): Setup
2637         `Vcharacter_ideographic_radical_table' and
2638         `Vcharacter_ideographic_strokes_table'.
2639
2640 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2641
2642         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2643         (Qtotal_strokes): New variable.
2644         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2645         `total-strokes' attribute.
2646         (Fget_char_attribute): Likewise.
2647         (Fput_char_attribute): Likewise.
2648         (syms_of_mule_charset): Add new symbol `total-strokes'.
2649         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2650
2651 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2652
2653         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2654         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2655         are found.
2656         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2657         `->decomposition' attribute.
2658         (Fput_char_attribute): Likewise.
2659         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2660
2661 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2662
2663         * mule-charset.c (decoding_table_check_elements): New function.
2664         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2665
2666 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2667
2668         * mule-charset.c (Fset_charset_mapping_table): Use
2669         `put_char_ccs_code_point'.
2670
2671 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2672
2673         * mule-charset.c (decoding_table_put_char): New inline function.
2674         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2675
2676 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2677
2678         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2679         (XCHARSET_BYTE_SIZE): New macro.
2680         (decoding_table_remove_char): New inline function.
2681         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2682         `decoding_table_remove_char'.
2683         (remove_char_ccs): Use `decoding_table_remove_char'.
2684         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2685
2686 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2687
2688         * mule-charset.c (Vcharacter_name_table): New variable.
2689         (Qname): New variable.
2690         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2691         attribute.
2692         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2693         `Vcharacter_name_table' for `name' attribute.
2694         (Fremove_char_attribute): Use function `remove_char_ccs'.
2695         (put_char_ccs_code_point): New function.
2696         (remove_char_ccs): New function.
2697         (syms_of_mule_charset): Add new symbol `name'.
2698         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2699
2700 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2701
2702         * mule-charset.c (make_byte_table): Add new argument `older'.
2703         (make_char_id_table): Likewise.
2704         (copy_char_id_table): Comment out because it is not used.
2705         (put_char_id_table): Modify for `make_byte_table'.
2706         (Fput_char_attribute): Make encoding_table as older object;
2707         inherit older bit of `Vcharacter_composition_table'.
2708         (mark_charset): Don't mark `cs->encoding_table'.
2709         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2710         normal object; make `Vcharacter_composition_table' as an older
2711         object; delete staticpro for `Vcharacter_composition_table'; make
2712         `Vcharacter_variant_table' as a normal object.
2713
2714         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2715         (mark_object): Don't check older object in UTF-2000.
2716
2717         * lrecord.h (struct lrecord_header): Add new member `older' in
2718         UTF-2000.
2719         (set_lheader_implementation): Setup `SLI_header->older' in
2720         UTF-2000.
2721         (set_lheader_older_implementation): New macro in UTF-2000.
2722         (OLDER_RECORD_P): New macro in UTF-2000.
2723         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2724         (alloc_older_lcrecord): New prototype in UTF-2000.
2725         (alloc_older_lcrecord_type): New macro in UTF-2000.
2726
2727 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2728
2729         * mule-charset.c (byte_table_description): Use
2730         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2731         (char_id_table_description): Delete bogus `, 1'.
2732         (Fget_char_attribute): Refer encoding_table of each coded-charset
2733         to get value of coded-charset attribute of a character.
2734         (Fput_char_attribute): Use `make_older_vector' instead of
2735         `make_vector'; use encoding_table of each coded-charset to store
2736         value of coded-charset attribute of a character.
2737         (Fremove_char_attribute): Use encoding_table of each coded-charset
2738         to store value of coded-charset attribute of a character.
2739         (mark_charset): Mark `cs->encoding_table'; don't mark
2740         `cs->decoding_table'.
2741         (charset_description): Add description of new member
2742         `encoding_table'.
2743         (make_charset): Initialize `encoding_table'.
2744
2745         * char-ucs.h (struct Lisp_Charset): Add new member
2746         `encoding_table'.
2747         (CHARSET_ENCODING_TABLE): New macro.
2748         (XCHARSET_ENCODING_TABLE): New macro.
2749         (charset_code_point): New implementation.
2750         (encode_char_1): Likewise.
2751
2752         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2753         (disksave_object_finalization_1): Call finalizers of
2754         `all_older_lcrecords' in UTF-2000.
2755         (make_older_vector): New function in UTF-2000.
2756         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2757         UTF-2000.
2758
2759         * lisp.h (make_older_vector): New prototype in UTF-2000.
2760
2761 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2762
2763         * lrecord.h (enum lrecord_type): Rename
2764         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2765
2766         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2767         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2768         `get_char_code_table'.
2769
2770         * mule-charset.c (mark_char_id_table): Renamed from
2771         `mark_char_code_table'.
2772         (char_id_table_equal): Renamed from `char_code_table_equal'.
2773         (char_id_table_hash): Renamed from `char_code_table_hash'.
2774         (make_char_id_table): Renamed from `make_char_code_table'.
2775         (copy_char_id_table): Renamed from `copy_char_code_table'.
2776         (get_char_id_table): Renamed from `get_char_code_table'.
2777         (put_char_id_table): Renamed from `put_char_code_table'.
2778         (to_char_id): Renamed from `to_char_code'.
2779
2780         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2781         `Lisp_Char_Code_Table'.
2782         (char_id_table): Renamed from `char_code_table'.
2783         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2784         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2785         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2786         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2787         (get_char_id_table): Renamed from `get_char_code_table'.
2788
2789 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2790
2791         * lrecord.h (enum lrecord_type): Rename
2792         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2793
2794         * mule-charset.c (mark_byte_table): Renamed from
2795         `mark_char_byte_table'.
2796         (byte_table_equal): Renamed from `char_byte_table_equal'.
2797         (byte_table_hash): Renamed from `byte_table_hash'.
2798         (make_byte_table): Renamed from `make_byte_table'.
2799         (copy_byte_table): Renamed from `copy_char_byte_table'.
2800
2801         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2802         `Lisp_Char_Byte_Table'.
2803         (byte_table): Renamed from `char_byte_table'.
2804         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2805         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2806         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2807         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2808
2809 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2810
2811         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2812         (dfc_convert_to_internal_format): Likewise.
2813         
2814         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2815         * text-coding.c (Fcoding_system_alias_p): New function.
2816         * text-coding.c (Fcoding_system_aliasee): New function.
2817         * text-coding.c (append_suffix_to_symbol): New function.
2818         * text-coding.c (dangling_coding_system_alias_p): New function.
2819         * text-coding.c (Ffind_coding_system):
2820         * text-coding.c (Fcopy_coding_system):
2821         * text-coding.c (encode_coding_no_conversion):
2822         * text-coding.c (syms_of_file_coding):
2823         * text-coding.c (vars_of_file_coding):
2824         Rewrite coding system alias code.
2825         Allow nested aliases, like symbolic links.
2826         Allow redefinition of coding system aliases.
2827         Prevent existence of dangling coding system aliases.
2828         Eliminate convert_to_external_format.
2829         Eliminate convert_to_internal_format.
2830         
2831         * text-coding.c: Change enum eol_type to eol_type_t.
2832
2833 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2834
2835         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2836         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2837
2838         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2839         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2840
2841 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2842
2843         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2844         `ideograph-daikanwa'.
2845
2846         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2847         (Vcharset_ucs_bmp): Likewise.
2848         (Vcharset_mojikyo): Add new extern variable definition.
2849         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2850         (Vcharset_latin_iso8859_3): Likewise.
2851         (Vcharset_latin_iso8859_4): Likewise.
2852         (Vcharset_latin_iso8859_9): Likewise.
2853         (Vcharset_latin_viscii_lower): Likewise.
2854         (Vcharset_latin_viscii_upper): Likewise.
2855         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2856         `mojikyo' code-point is used to decode.
2857         (encode_char_2): New function [to convert `mojikyo' code-point to
2858         Mojikyo font encoding].
2859         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2860         (breakup_char_1): Likewise.
2861         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2862
2863 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2864
2865         * text-coding.c (Fmake_coding_system): Add document about
2866         `disable-composition' property.
2867
2868 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2869
2870         * text-coding.c (Qdisable_composition): New variable; delete
2871         `Qcomposite'.
2872         (Fmake_coding_system): Add new property `disable-composite';
2873         delete property `composite'.
2874         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2875         instead of `!CODING_SYSTEM_COMPOSITE'.
2876         (syms_of_file_coding): Add new symbol `disable-composition';
2877         delete symbol `composite'.
2878
2879         * file-coding.h (struct Lisp_Coding_System): Add
2880         `disable_composition'; delete `enable_composition'.
2881         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2882         `CODING_SYSTEM_COMPOSITE'.
2883         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2884         `XCODING_SYSTEM_COMPOSITE'.
2885
2886 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2887
2888         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2889         to 0.15.
2890
2891 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2892
2893         * text-coding.c (Qcomposite): New variable.
2894         (Fmake_coding_system): Add new property `composite'.
2895         (struct decoding_stream): Add `combined_char_count',
2896         `combined_chars' and `combining_table' in UTF-2000.
2897         (COMPOSE_FLUSH_CHARS): New macro.
2898         (COMPOSE_ADD_CHAR): New macro.
2899         (reset_decoding_stream): Reset `str->combined_char_count' and
2900         `str->combining_table' in UTF-2000.
2901         (decode_coding_iso2022): Modify for character-decomposition.
2902         (syms_of_file_coding): Add new symbol `composite'.
2903
2904 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2905
2906         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2907         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2908         of `Vcharacter_composition_table' if `->decomposition' property
2909         has only 1 element.
2910         (Qlatin_tcvn5712): New variable.
2911         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2912         (complex_vars_of_mule_charset): Add new coded-charset
2913         `latin-tcvn5712'.
2914
2915         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2916
2917 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2918
2919         * file-coding.h (struct Lisp_Coding_System): Add
2920         `enable_composition'.
2921         (CODING_SYSTEM_COMPOSITE): New macro.
2922         (XCODING_SYSTEM_COMPOSITE): New macro.
2923
2924 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2925
2926         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2927
2928 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2929
2930         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2931         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2932
2933 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2934
2935         * mule-charset.c (Vcharset_mojikyo): New variable.
2936         (Fdefine_char): Don't use coded-charset which does not have
2937         non-builtin character range to allocate character-id.
2938         (Qmojikyo): New variable.
2939         (syms_of_mule_charset): Add new symbol `mojikyo'.
2940         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2941
2942         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2943         (LEADING_BYTE_MOJIKYO): New macro.
2944         (MIN_CHAR_MOJIKYO): New macro.
2945         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2946         (MAX_CHAR_MOJIKYO): New macro.
2947
2948 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2949
2950         * mule-charset.c (remove_char_attribute): Fixed.
2951
2952 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2953
2954         * mule-charset.c (remove_char_attribute): New function.
2955         (Fremove_char_attribute): New function.
2956         (encode_builtin_char_1): Comment out builtin-support for
2957         greek-iso8859-7 and cyrillic-iso8859-5.
2958         (Fdecode_char): Check `code' is an integer.
2959         (syms_of_mule_charset): Add `remove-char-attribute'.
2960         (MIN_CHAR_GREEK): Deleted.
2961         (MAX_CHAR_GREEK): Likewise.
2962         (MIN_CHAR_CYRILLIC): Likewise.
2963         (MAX_CHAR_CYRILLIC): Likewise.
2964         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2965         MAX_CHAR_GREEK for `greek-iso8859-7'.
2966
2967         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2968         (MAX_CHAR_GREEK): Likewise.
2969         (MIN_CHAR_CYRILLIC): Likewise.
2970         (MAX_CHAR_CYRILLIC): Likewise.
2971
2972 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2973
2974         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2975         format is used without `ucs' property.
2976         (Fdecode_char): Fix problem with GR representation.
2977         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2978         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2979
2980 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2981
2982         * mule-charset.c (make_builtin_char): New function.
2983         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2984         (Fset_charset_mapping_table): Modify for new representation of
2985         code-point.
2986         (Fdecode_char): New function.
2987         (syms_of_mule_charset): Add new builtin function `decode-char' in
2988         UTF-2000.
2989
2990         * char-ucs.h (make_builtin_char): New prototype.
2991         (DECODE_CHAR): New inline function.
2992         (MAKE_CHAR): Use `DECODE_CHAR'.
2993
2994 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2995
2996         * text-coding.c (parse_charset_conversion_specs): Use
2997         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2998         `XCHARSET_TYPE'.
2999         (iso2022_designate): Likewise.
3000
3001         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3002         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3003
3004         * mule-charset.c (Vcharset_ucs): New variable.
3005         (print_charset): Change design; use `CHARSET_CHARS' and
3006         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3007         (make_charset): Change signature to specify `chars' and
3008         `dimension' instead of `type'.
3009         (range_charset_code_point): Modify for 256^n-set.
3010         (encode_builtin_char_1): Encode as `ucs' in default.
3011         (Fmake_charset): Modify for `make_charset'.
3012         (Fmake_reverse_direction_charset): Likewise.
3013         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3014         UTF-2000.
3015         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3016         for `make_charset'.
3017
3018         * char-ucs.h (Vcharset_ucs): New variable.
3019         (LEADING_BYTE_UCS): New macro.
3020         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3021         and `chars' to `unsigned short' from `unsigned int'.
3022         (CHARSET_TYPE): Deleted.
3023         (XCHARSET_TYPE): Deleted.
3024
3025 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3026
3027         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3028
3029         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3030         (ENCODE_CHAR): New macro.
3031
3032 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3033
3034         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3035         to 0.14 (Kawachi-Katakami).
3036
3037 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3038
3039         * text-coding.c (char_encode_shift_jis): Modify for
3040         `charset_code_point'.
3041         (char_encode_iso2022): Likewise.
3042
3043         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3044         (integer) instead of list of <Lisp_Object>s (integers) as the
3045         format of code-point of a coded-charset.
3046         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3047         (encode_builtin_char_1): New function; delete
3048         `split_builtin_char'.
3049         (charset_code_point): Return <int> instead of <Lisp_Object>.
3050         (Fsplit_char): Don't use `SPLIT_CHAR'.
3051
3052         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3053         prototype for `split_builtin_char'.
3054         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3055         (charset_code_point): Likewise.
3056         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3057         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3058
3059 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3060
3061         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3062         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3063
3064 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3065
3066         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3067
3068         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3069         (MAX_CHAR_OBS_94x94): Deleted.
3070
3071 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3072
3073         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3074
3075         * char-ucs.h (MAX_CHAR_BMP): New macro.
3076
3077 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3078
3079         * text-coding.c: Sync with r21-2-24.
3080
3081 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3082
3083         * file-coding.c: Modify for UTF-2000.
3084
3085 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3086
3087         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3088         to 0.13 (Takaida).
3089
3090 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3091
3092         * mule-charset.c (split_builtin_char): Delete builtin support for
3093         `katakana-jisx0201'.
3094         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3095         BMP area in builtin representation.
3096
3097         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3098         `Vcharset_katakana_jisx0201'.
3099
3100 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3101
3102         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3103         (Qisolated): New variable.
3104         (Qinitial): New variable.
3105         (Qmedial): New variable.
3106         (Qfinal): New variable.
3107         (Qvertical): New variable.
3108         (Qsmall): New variable.
3109         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3110         `Qvertical' and `Qsmall'.
3111         (Qmojikyo_pj_[1 .. 21]): New variable.
3112         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3113         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3114         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3115         .. 21]'.
3116
3117 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3118
3119         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3120         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3121         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3122
3123 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3124
3125         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3126         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3127         BMP.
3128         (Qjapanese_jisx0208_1990): New variable.
3129         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3130         (complex_vars_of_mule_charset): Add new coded-charset
3131         `japanese-jisx0208-1990'.
3132
3133         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3134         (MIN_CHAR_JIS_X0208_1990): New macro.
3135         (MAX_CHAR_JIS_X0208_1990): New macro.
3136
3137 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3138
3139         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3140         coded-charset is not found.
3141
3142 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3143
3144         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3145         (Fdefine_char): Use `Fmake_char'.
3146
3147 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3148
3149         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3150         (Vcharset_hiragana_jisx0208): Deleted.
3151         (Vcharset_katakana_jisx0208): Deleted.
3152         (Qideograph_daikanwa): New variable.
3153         (Qhiragana_jisx0208): Deleted.
3154         (Qkatakana_jisx0208): Deleted.
3155         (split_builtin_char): Split `ideograph-daikanwa'.
3156         (Fsplit_char): New implementation for UTF-2000.
3157         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3158         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3159         (complex_vars_of_mule_charset): Add new coded-charset
3160         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3161         `katakana-jisx0208'.
3162
3163         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3164         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3165         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3166         (MIN_CHAR_DAIKANWA): New macro.
3167         (MAX_CHAR_DAIKANWA): New macro.
3168
3169 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3170
3171         * data.c (Fstring_to_number): Don't recognize floating point if
3172         base is not 10.
3173
3174 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3175
3176         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3177
3178 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3179
3180         * mule-charset.c (Qsquare): New variable.
3181         (to_char_code): Add `Qsquare'.
3182         (syms_of_mule_charset): Add new symbol `square'.
3183
3184 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3185
3186         * mule-charset.c (Qcircle): New variable.
3187         (to_char_code): Add `Qcircle'.
3188         (syms_of_mule_charset): Add new symbol `circle'.
3189
3190 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3191
3192         * mule-charset.c (Qfont): New variable.
3193         (to_char_code): Add `Qfont'.
3194         (syms_of_mule_charset): Add new symbol `font'.
3195
3196 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3197
3198         * mule-charset.c (Qsub): New variable.
3199         (to_char_code): Add `Qsub'.
3200         (syms_of_mule_charset): Add new symbol `sub'.
3201
3202 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3203
3204         * mule-charset.c (Fput_char_attribute): Convert each element of
3205         VALUE to GL position if ATTRIBUTE is a GR-set,
3206
3207 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3208
3209         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3210         coded-charset is a GR-set.
3211
3212 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3213
3214         * mule-charset.c (Fput_char_attribute): Check each element of
3215         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3216
3217 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3218
3219         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3220         UTF-2000.
3221         (Qethiopic_ucs): New variable in UTF-2000.
3222         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3223         (complex_vars_of_mule_charset): Add new coded-charset
3224         `ethiopic-ucs' in UTF-2000.
3225
3226         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3227         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3228         9)'.
3229         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3230         10)'.
3231         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3232
3233 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3234
3235         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3236         `ascii'.
3237
3238 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3239
3240         * mule-charset.c (Vcharacter_variant_table): New variable.
3241         (Q_ucs): New variable.
3242         (Fchar_variants): New function.
3243         (Fput_char_attribute): Register `->ucs' value to
3244         `Vcharacter_variant_table'.
3245         (syms_of_mule_charset): Add new function `char-variants' and new
3246         symbol `->ucs'.
3247         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3248
3249 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3250
3251         * mule-charset.c (get_char_code_table): Allow negative character
3252         code.
3253         (put_char_code_table): Likewise.
3254         (Vcharacter_composition_table): New variable.
3255         (Q_decomposition): New variable.
3256         (Qwide): New variable.
3257         (Qnarrow): New variable.
3258         (Qcompat): New variable.
3259         (QnoBreak): New variable.
3260         (Qsuper): New variable.
3261         (Qfraction): New variable.
3262         (to_char_code): New function.
3263         (Fget_composite_char): New function.
3264         (Fput_char_attribute): Register `->decomposition' value to
3265         `Vcharacter_composition_table'.
3266         (syms_of_mule_charset): Add new function `get-composite-char', new
3267         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3268         `super' and `fraction'.
3269         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3270
3271 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3272
3273         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3274         character; copy the return value.
3275
3276 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3277
3278         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3279
3280         * mule-charset.c (range_charset_code_point): Must use make_int.
3281         (split_builtin_char): New function.
3282
3283 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3284
3285         * mule-charset.c (char_byte_table): Change name from
3286         "char-code-table" to "char-byte-table".
3287         (mark_char_code_table): New function.
3288         (char_code_table_equal): New function.
3289         (char_code_table_hash): New function.
3290         (char_code_table_description): New constant.
3291         (char_code_table): New type.
3292         (make_char_code_table): New function.
3293         (copy_char_code_table): New function.
3294         (get_char_code_table): Modify for `char_code_table' type.
3295         (put_char_code_table): Likewise.
3296         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3297         (Kashiwara).
3298
3299         * char-ucs.h (char_code_table): New type.
3300         (XCHAR_CODE_TABLE): New macro.
3301         (XSETCHAR_CODE_TABLE): New macro.
3302         (CHAR_CODE_TABLE_P): New macro.
3303         (GC_CHAR_CODE_TABLE_P): New macro.
3304         (struct Lisp_Char_Code_Table): New structure.
3305
3306 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3307
3308         * mule-charset.c (Fmake_charset): Setup byte_offset for
3309         {94|96}^n-set.
3310
3311 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3312
3313         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3314         character.
3315
3316 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3317
3318         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3319         is found.
3320
3321 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3322
3323         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3324         charset, it is regarded as a charset.
3325         (put_char_attribute): New function in UTF-2000.
3326         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3327         charset, mapping-table of the charset is modified.
3328         (Fdefine_char): New function in UTF-2000.
3329         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3330         `Fput_char_attribute'.
3331         (syms_of_mule_charset): Add new function `define-char' and new
3332         symbol `ucs' in UTF-2000.
3333         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3334
3335 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3336
3337         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3338         non-UTF-2000 configuration.
3339
3340 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3341
3342         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3343         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3344
3345         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3346         deleted.
3347         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3348         (Fset_charset_mapping_table): Likewise.
3349
3350         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3351         (CHARSET_ENCODING_TABLE): Delete.
3352         (XCHARSET_ENCODING_TABLE): Delete.
3353         (charset_code_point): New interface.
3354
3355 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3356
3357         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3358         instead of `charset_get_byte1' and `charset_get_byte2'.
3359
3360         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3361         (charset_get_byte2): Deleted.
3362
3363 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3364
3365         * char-ucs.h (SPLIT_CHAR): New inline function.
3366         (breakup_char_1): Use `SPLIT_CHAR'.
3367
3368         * mule-charset.c (range_charset_code_point): New function.
3369         (charset_code_point): New function.
3370
3371         * char-ucs.h (range_charset_code_point): New interface.
3372         (breakup_char_1): Use `range_charset_code_point'.
3373
3374 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3375
3376         * mule-charset.c (Fmake_charset): Delete unused local variable
3377         `code_offset'.
3378
3379         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3380         (breakup_char_1): Find a charset and code-point in
3381         `Vcharacter_attribute_table'.
3382
3383 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3384
3385         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3386         to 0.10 (Yao).
3387
3388 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3389
3390         * mule-charset.c (Vcharacter_attribute_table): New variable.
3391         (Fchar_attribute_alist): New function.
3392         (Fget_char_attribute): New function.
3393         (Fput_char_attribute): New function.
3394         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3395         too.
3396         (syms_of_mule_charset): Add new function `char-attribute-alist',
3397         `get-char-attribute' and `put-char-attribute'.
3398         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3399
3400 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3401
3402         * mule-charset.c (Fmake_charset): Just use
3403         `get_unallocated_leading_byte'.
3404
3405         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3406         sets; don't use final-byte based number for private sets.
3407
3408 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3409
3410         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3411         integer.
3412
3413 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3414
3415         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3416         to 0.9.
3417
3418 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3419
3420         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3421         of `CHAR_LEADING_BYTE' in UTF-2000.
3422
3423         * insdel.c (find_charsets_in_bufbyte_string): Use
3424         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3425         (find_charsets_in_emchar_string): Likewise.
3426
3427         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3428         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3429
3430         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3431         (CHAR_CHARSET_ID): New macro.
3432
3433 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3434
3435         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3436         charset-id - MIN_LEADING_BYTE.
3437         (put_char_table): Likewise.
3438
3439 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3440
3441         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3442         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3443         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3444         (CHARSET_ID_OFFSET): New macro.
3445         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3446         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3447         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3448         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3449         4).
3450         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3451         5).
3452         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3453         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3454         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3455         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3456         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3457
3458 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3459
3460         * mule-charset.c (next_allocated_leading_byte): New variable in
3461         UTF-2000.
3462         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3463         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3464         (get_unallocated_leading_byte): Simply use
3465         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3466         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3467         UTF-2000.
3468
3469         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3470         (MAX_LEADING_BYTE_PRIVATE): New macro.
3471         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3472         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3473
3474 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3475
3476         * mule-charset.c (Fmake_charset): Allocate final-byte based
3477         charset-id for 94-set, 96-set and 94x94-set.
3478
3479 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3480
3481         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3482         ambiguous `else'.
3483         (Fmake_charset): Likewise.
3484         (complex_vars_of_mule_charset): Modify the font registry of
3485         `ucs-bmp' not to match `Ethiopic-Unicode'.
3486
3487 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3488
3489         * mule-charset.c (complex_vars_of_mule_charset): Add font
3490         registory of `ucs-bmp'.
3491
3492 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3493
3494         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3495         coded-charsets in `default-coded-charset-priority-list' when
3496         breaking up a character.
3497
3498         * mule-charset.c (Vcharset_latin_viscii): New variable.
3499         (Qlatin_viscii): New variable.
3500         (make_charset): Don't use `decoding_table'.
3501         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3502         byte_offset.
3503         (Fset_charset_mapping_table): New implementation.
3504         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3505         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3506         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3507         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3508         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3509         charset `latin_viscii'.
3510
3511         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3512         (CHARSET_TYPE_94X94): Change to 1 from 2.
3513         (CHARSET_TYPE_96): Change to 2 from 1.
3514         (CHARSET_TYPE_128): New macro.
3515         (CHARSET_TYPE_128X128): Change to 5 from 4.
3516         (CHARSET_TYPE_256): New macro.
3517         (CHARSET_TYPE_256X256): Change to 7 from 5.
3518         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3519
3520 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3521
3522         * text-coding.c (char_encode_shift_jis): Refer
3523         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3524         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3525
3526         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3527         (char_byte_table_equal): New function in UTF-2000.
3528         (char_byte_table_hash): New function in UTF-2000.
3529         (char_byte_table_description): New constant in UTF-2000.
3530         (char_byte_table): New type in UTF-2000.
3531         (make_char_byte_table): New function in UTF-2000.
3532         (copy_char_byte_table): New function in UTF-2000.
3533         (make_char_code_table): New macro in UTF-2000.
3534         (get_char_code_table): New function in UTF-2000.
3535         (put_char_code_table): New function in UTF-2000.
3536         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3537         (charset_description): Add setting in UTF-2000.
3538         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3539         `CHARSET_TO_BYTE1_TABLE(cs)'.
3540         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3541         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3542         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3543         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3544         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3545         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3546         `CHARSET_TO_BYTE2_TABLE(cs)'.
3547
3548         * char-ucs.h (char_byte_table): New type.
3549         (XCHAR_BYTE_TABLE): New macro.
3550         (XSETCHAR_BYTE_TABLE): New macro.
3551         (CHAR_BYTE_TABLE_P): New macro.
3552         (GC_CHAR_BYTE_TABLE_P): New macro.
3553         (struct Lisp_Char_Byte_Table): New structure.
3554         (get_char_code_table): New interface.
3555         (Emchar_to_byte_table): Deleted.
3556         (get_byte_from_character_table): Deleted.
3557         (struct Lisp_Charset): Add `encoding_table'; delete
3558         `to_byte1_table' and `to_byte2_table'.
3559         (CHARSET_ENCODING_TABLE): New macro.
3560         (CHARSET_TO_BYTE1_TABLE): Deleted.
3561         (CHARSET_TO_BYTE2_TABLE): Deleted.
3562         (XCHARSET_ENCODING_TABLE): New macro.
3563         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3564         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3565
3566 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3567
3568         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3569         `vietnamese-viscii-*'.
3570
3571 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3572
3573         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3574         (Qvietnamese_viscii_upper): New variable.
3575         (Fdefine_charset_alias): New function.
3576         (syms_of_mule_charset): Add new function `define-charset-alias'.
3577         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3578         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3579         `latin-viscii-*'.
3580
3581 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3582
3583         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3584         (MAX_CHAR_OBS_94x94): New macro.
3585         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3586         for 94x94 sets.
3587
3588         * mule-charset.c (put_byte_from_character_table): Change unit size
3589         from 128 to 256.
3590         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3591         not defined.
3592         (Fmake_reverse_direction_charset): Modify dummy argument of
3593         `make_charset' for non-UTF-2000 environment.
3594
3595 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3596
3597         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3598
3599         * mule-charset.c (destroy_byte_from_character_table): New macro.
3600         (latin_jisx0201_to_ucs): Deleted.
3601         (latin_iso8859_2_to_ucs): Deleted.
3602         (latin_iso8859_3_to_ucs): Deleted.
3603         (latin_iso8859_4_to_ucs): Deleted.
3604         (latin_iso8859_9_to_ucs): Deleted.
3605         (latin_viscii_lower_to_ucs): Deleted.
3606         (latin_viscii_upper_to_ucs): Deleted.
3607         (mark_charset): Mark `cs->decoding_table'.
3608         (Fcharset_mapping_table): Fix DOC-string.
3609         (Fset_charset_mapping_table): New function.
3610         (syms_of_mule_charset): Add nwe function
3611         `set-charset-mapping-table'.
3612         (complex_vars_of_mule_charset): Don't setup and use
3613         `latin_*_to_ucs'.
3614
3615 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3616
3617         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3618         charset.
3619
3620 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3621
3622         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3623         (Vcharset_katakana_jisx0208): New variable.
3624         (Qhiragana_jisx0208): New variable.
3625         (Qkatakana_jisx0208): New variable.
3626         (make_charset): Add new argument `byte_offset'.
3627         (charset_get_byte1): Modify for new coded-charset definition; use
3628         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3629         `XCHARSET_BYTE_OFFSET'.
3630         (Fmake_charset): Modify for `make_charset'.
3631         (Fmake_reverse_direction_charset): Likewise.
3632         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3633         `katakana-jisx0208'.
3634         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3635         `.'  in font registry of charset `katakana-jisx0201',
3636         `latin-jisx0201', `vietnamese-viscii-lower' and
3637         `vietnamese-viscii-upper'; modify DOC-string of charset
3638         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3639         registry of charset `japanese-jisx0208' not to use font for JIS
3640         X0208:1990; add new charset `hiragana-jisx0208' and
3641         `katakana-jisx0208'.
3642
3643         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3644         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3645         (struct Lisp_Charset): Add `byte_offset'.
3646         (CHARSET_BYTE_OFFSET): New macro.
3647         (XCHARSET_UCS_MIN): New macro.
3648         (XCHARSET_UCS_MAX): New macro.
3649         (XCHARSET_CODE_OFFSET): New macro.
3650         (XCHARSET_BYTE_OFFSET): New macro.
3651         (MIN_CHAR_HIRAGANA): New macro.
3652         (MAX_CHAR_HIRAGANA): New macro.
3653         (MIN_CHAR_KATAKANA): New macro.
3654         (MAX_CHAR_KATAKANA): New macro.
3655         (MAKE_CHAR): Modify for new coded-charset definition; use
3656         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3657         `XCHARSET_BYTE_OFFSET'.
3658
3659 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3660
3661         * mule-charset.c (CHAR96): Deleted.
3662         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3663         <Lisp_Object>.
3664         (latin_iso8859_2_to_ucs): Likewise.
3665         (latin_iso8859_3_to_ucs): Likewise.
3666         (latin_iso8859_4_to_ucs): Likewise.
3667         (latin_iso8859_9_to_ucs): Likewise.
3668         (latin_viscii_lower_to_ucs): Likewise.
3669         (latin_viscii_upper_to_ucs): Likewise.
3670         (latin_tcvn5712_to_ucs): Commented out.
3671         (make_charset): Change type of argument `decoding_table' from
3672         <Emchar*> to <Lisp_Object> [vector of characters].
3673         (Fmake_charset): Modify for `make_charset'.
3674         (Fmake_reverse_direction_charset): Likewise.
3675         (Fcharset_mapping_table): New function in UTF-2000.
3676         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3677         UTF-2000.
3678         (complex_vars_of_mule_charset): Modify for type change of
3679         `*_to_ucs'; modify for `make_charset'.
3680
3681         * char-ucs.h (struct Lisp_Charset): Change type of
3682         `decoding_table' from <Emchar*> to <Lisp_Object>.
3683         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3684
3685 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3686
3687         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3688         error with non-UTF-2000-Mule.
3689
3690 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3691
3692         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3693         in lisp again].
3694         (Vcharset_chinese_cns11643_4): Likewise.
3695         (Vcharset_chinese_cns11643_5): Likewise.
3696         (Vcharset_chinese_cns11643_6): Likewise.
3697         (Vcharset_chinese_cns11643_7): Likewise.
3698         (Qchinese_cns11643_3): Likewise.
3699         (Qchinese_cns11643_4): Likewise.
3700         (Qchinese_cns11643_5): Likewise.
3701         (Qchinese_cns11643_6): Likewise.
3702         (Qchinese_cns11643_7): Likewise.
3703         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3704         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3705         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3706         (complex_vars_of_mule_charset): Likewise.
3707
3708 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3709
3710         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3711         96-set.
3712         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3713         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3714
3715 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3716
3717         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3718         0xFF60.
3719         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3720         (breakup_char_1): Likewise.
3721
3722         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3723         one of them includes the specified character.
3724
3725 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3726
3727         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3728
3729 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3730
3731         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3732
3733 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3734
3735         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3736         definition for non-UTF-2000 Mule.
3737         (latin_iso8859_3_to_ucs): Likewise.
3738         (latin_iso8859_4_to_ucs): Likewise.
3739         (latin_iso8859_9_to_ucs): Likewise.
3740         (latin_jisx0201_to_ucs): Likewise.
3741         (MIN_CHAR_THAI): Likewise.
3742         (MAX_CHAR_THAI): Likewise.
3743         (MIN_CHAR_GREEK): Likewise.
3744         (MAX_CHAR_GREEK): Likewise.
3745         (MIN_CHAR_HEBREW): Likewise.
3746         (MAX_CHAR_HEBREW): Likewise.
3747         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3748         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3749         (MIN_CHAR_CYRILLIC): Likewise.
3750         (MAX_CHAR_CYRILLIC): Likewise.
3751
3752 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3753
3754         * char-ucs.h (breakup_char_1): Use
3755         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3756         thai-tis620 and katakana-jisx0201 area.
3757
3758 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3759
3760         * char-ucs.h (breakup_char_1): Use
3761         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3762         area.
3763
3764         * text-coding.c (reset_encoding_stream): Fixed.
3765         (char_encode_ucs4): Delete `& 255'.
3766
3767         * char-ucs.h (breakup_char_1): Use
3768         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3769
3770 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3771
3772         * file-coding.c (Fmake_coding_system): Don't set up
3773         `codesys->fixed.size'.
3774         (encode_coding_no_conversion): Don't refer
3775         `str->codesys->fixed.size'.
3776
3777 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3778
3779         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3780         (latin_a_char_to_byte1): Deleted.
3781         (latin_a_char_to_byte2): Deleted.
3782
3783 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3784
3785         * mule-charset.c (make_charset): Add new argument `ucs_min',
3786         `ucs_max' and `code_offset'.
3787         (charset_get_byte1): New implementation [delete specific charset
3788         depended implementations].
3789         (Fmake_charset): Modify for `make_charset'.
3790         (Fmake_reverse_direction_charset): Likewise.
3791         (complex_vars_of_mule_charset): Likewise.
3792
3793         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3794         `code_offset'.
3795         (CHARSET_UCS_MIN): New macro.
3796         (CHARSET_UCS_MAX): New macro.
3797         (CHARSET_CODE_OFFSET): New macro.
3798         (MAKE_CHAR): Delete charset depended definitions [except
3799         katakana-jisx0201].
3800
3801 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3802
3803         * char-ucs.h (breakup_char_1): Use
3804         `Vdefault_coded_charset_priority_list' for C0-Controls,
3805         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3806
3807 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3808
3809         * char-ucs.h (charset_get_byte1): New function.
3810         (XCHARSET_GET_BYTE1): Deleted.
3811         (charset_get_byte2): New function.
3812         (XCHARSET_GET_BYTE2): Deleted.
3813         (Vdefault_coded_charset_priority_list): New external variable.
3814         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3815         `Vdefault_preferred_coded_charset_list'.
3816
3817         * mule-charset.c (charset_get_byte1): New function.
3818         (charset_get_byte2): New function.
3819         (Vdefault_coded_charset_priority_list): New variable.
3820         (vars_of_mule_charset): Add new variable
3821         `default-coded-charset-priority-list'.
3822
3823 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3824
3825         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3826         (XCHARSET_GET_BYTE2): New inline function.
3827         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3828         `XCHARSET_GET_BYTE2'.
3829
3830 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3831
3832         * mule-charset.c (make_charset): Initialize
3833         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3834         NULL if table is not defined.
3835
3836 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3837
3838         * text-coding.c (char_encode_shift_jis): Use
3839         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3840         `ucs_to_latin_jisx0201'.
3841
3842         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3843         (ucs_to_latin_iso8859_2): Deleted.
3844         (ucs_to_latin_iso8859_3): Deleted.
3845         (ucs_to_latin_iso8859_4): Deleted.
3846         (ucs_to_latin_iso8859_9): Deleted.
3847         (ucs_to_latin_viscii_lower): Deleted.
3848         (ucs_to_latin_viscii_upper): Deleted.
3849         (ucs_to_latin_tcvn5712): Deleted.
3850         (make_charset): Add new argument `decoding_table'; set up
3851         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3852         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3853         `decoding_table' is defined in UTF-2000.
3854         (Fmake_charset): Modify for `make_charset'.
3855         (Fmake_reverse_direction_charset): Likewise.
3856         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3857         and `GENERATE_96_SET'.
3858
3859         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3860         (ucs_to_latin_jisx0201): Deleted.
3861         (latin_iso8859_2_to_ucs): Deleted.
3862         (ucs_to_latin_iso8859_2): Deleted.
3863         (latin_iso8859_3_to_ucs): Deleted.
3864         (ucs_to_latin_iso8859_3): Deleted.
3865         (latin_iso8859_4_to_ucs): Deleted.
3866         (ucs_to_latin_iso8859_4): Deleted.
3867         (latin_iso8859_9_to_ucs): Deleted.
3868         (ucs_to_latin_iso8859_9): Deleted.
3869         (latin_viscii_lower_to_ucs): Deleted.
3870         (ucs_to_latin_viscii_lower): Deleted.
3871         (latin_viscii_upper_to_ucs): Deleted.
3872         (ucs_to_latin_viscii_upper): Deleted.
3873         (struct Lisp_Charset): Renamed `encoding_table' to
3874         `to_byte1_table'; add `to_byte2_table'.
3875         (CHARSET_DECODING_TABLE): New macro.
3876         (CHARSET_TO_BYTE1_TABLE): New macro.
3877         (CHARSET_TO_BYTE2_TABLE): New macro.
3878         (XCHARSET_DECODING_TABLE): New macro.
3879         (XCHARSET_TO_BYTE1_TABLE): New macro.
3880         (XCHARSET_TO_BYTE2_TABLE): New macro.
3881         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3882         tables.
3883         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3884         don't use `ucs_to_*' tables.
3885
3886 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3887
3888         * text-coding.c (Fmake_coding_system): Don't set up
3889         `codesys->fixed.size'.
3890         (encode_coding_no_conversion): Use `if' instead of `switch'.
3891
3892         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3893
3894 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3895
3896         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3897         (Fmake_charset): Modify for `make_charset'.
3898         (Fmake_reverse_direction_charset): Likewise.
3899         (complex_vars_of_mule_charset): Likewise.
3900
3901 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3902
3903         * text-coding.c (char_encode_shift_jis): Use table
3904         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3905
3906 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3907
3908         * text-coding.c (text_encode_generic): Use `if' instead of
3909         `switch'.
3910         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3911         decode JIS-Latin.
3912
3913 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3914
3915         * text-coding.c (encode_coding_sjis): Deleted.
3916         (char_encode_shift_jis): New function.
3917         (char_finish_shift_jis): New function.
3918         (reset_encoding_stream): Set up `encode_char' and `finish' for
3919         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3920         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3921         (char_encode_utf8): Treat `eol_type'.
3922
3923 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3924
3925         * file-coding.c (decode_coding_iso2022): Use
3926         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3927
3928 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3929
3930         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3931         to 0.7 (Hirano).
3932
3933 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3934
3935         * char-lb.h (CHAR_COLUMNS): New macro.
3936
3937 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3938
3939         * text-coding.c (char_encode_ucs4): New function.
3940         (char_finish_ucs4): New function.
3941         (encode_coding_ucs4): Deleted.
3942         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3943         (text_encode_generic): Delete local variable `charset' and `half'.
3944         (ucs_to_mule_table): Deleted.
3945         (mule_to_ucs_table): Deleted.
3946         (Fset_ucs_char): Deleted.
3947         (ucs_to_char): Deleted.
3948         (Fucs_char): Deleted.
3949         (Fset_char_ucs): Deleted.
3950         (Fchar_ucs): Deleted.
3951         (decode_ucs4): Deleted.
3952         (mule_char_to_ucs4): Deleted.
3953         (encode_ucs4): Deleted.
3954         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3955         (decode_coding_utf8): Likewise.
3956         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3957         (char_encode_iso2022): Fixed.
3958         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3959         `Fset_char_ucs' and `Fchar_ucs'.
3960         (complex_vars_of_file_coding): Don't initialize
3961         `ucs_to_mule_table'.
3962
3963         * objects-tty.c (tty_initialize_font_instance): Don't use
3964         `XCHARSET_COLUMNS'.
3965
3966         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3967         UTF-2000.
3968
3969         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3970         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3971
3972         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3973         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3974         (emchar_string_displayed_columns): Likewise.
3975
3976         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3977         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3978         (string_column_at_point): Likewise.
3979         (Fmove_to_column): Likewise.
3980
3981         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3982         `encoding_table' and `decoding_table'.
3983         (CHARSET_REP_BYTES): Deleted.
3984         (XCHARSET_REP_BYTES): Deleted.
3985         (XCHARSET_COLUMNS): Deleted.
3986         (CHAR_COLUMNS): New macro.
3987         (lookup_composite_char): Deleted unconditionally.
3988         (composite_char_string): Likewise.
3989
3990 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3991
3992         * char-ucs.h (Emchar_to_byte_table): New type.
3993         (get_byte_from_character_table): New function interface.
3994         (Vcharset_latin_jisx0201): New variable.
3995         (latin_jisx0201_to_ucs): New variable.
3996         (ucs_to_latin_jisx0201): New variable.
3997         (Vcharset_latin_iso8859_2): New variable.
3998         (latin_iso8859_2_to_ucs): New variable.
3999         (ucs_to_latin_iso8859_2): New variable.
4000         (Vcharset_latin_iso8859_3): New variable.
4001         (latin_iso8859_3_to_ucs): New variable.
4002         (ucs_to_latin_iso8859_3): New variable.
4003         (Vcharset_latin_iso8859_4): New variable.
4004         (latin_iso8859_4_to_ucs): New variable.
4005         (ucs_to_latin_iso8859_4): New variable.
4006         (Vcharset_latin_iso8859_9): New variable.
4007         (latin_iso8859_9_to_ucs): New variable.
4008         (ucs_to_latin_iso8859_9): New variable.
4009         (Vcharset_latin_viscii_lower): New variable.
4010         (latin_viscii_lower_to_ucs): New variable.
4011         (ucs_to_latin_viscii_lower): New variable.
4012         (Vcharset_latin_viscii_upper): New variable.
4013         (latin_viscii_upper_to_ucs): New variable.
4014         (ucs_to_latin_viscii_upper): New variable.
4015         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4016         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4017         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4018         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4019         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4020         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4021         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4022         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4023         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4024         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4025
4026         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4027         (Vcharset_latin_viscii_upper): New variable.
4028         (make_byte_from_character_table): New function.
4029         (put_byte_from_character_table): New function.
4030         (get_byte_from_character_table): New function.
4031         (CHAR96): New macro.
4032         (ucs_to_latin_jisx0201): New variable.
4033         (latin_jisx0201_to_ucs): New variable.
4034         (ucs_to_latin_iso8859_2): New variable.
4035         (latin_iso8859_2_to_ucs): New variable.
4036         (ucs_to_latin_iso8859_3): New variable.
4037         (latin_iso8859_3_to_ucs): New variable.
4038         (ucs_to_latin_iso8859_4): New variable.
4039         (latin_iso8859_4_to_ucs): New variable.
4040         (ucs_to_latin_iso8859_9): New variable.
4041         (latin_iso8859_9_to_ucs): New variable.
4042         (ucs_to_latin_viscii_lower): New variable.
4043         (latin_viscii_lower_to_ucs): New variable.
4044         (ucs_to_latin_viscii_upper): New variable.
4045         (latin_viscii_upper_to_ucs): New variable.
4046         (ucs_to_latin_tcvn5712): New variable.
4047         (latin_tcvn5712_to_ucs): New variable.
4048         (Qlatin_viscii_lower): New variable.
4049         (Qlatin_viscii_upper): New variable.
4050         (syms_of_mule_charset): Set up new symbol
4051         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4052         (complex_vars_of_mule_charset): Set up new charset
4053         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4054         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4055         `ucs_to_<CHARSET>' tables.
4056
4057 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4058
4059         * text-coding.c: New file.
4060
4061 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4062
4063         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4064
4065         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4066         (MAKE_CHAR): Modify for `ucs-bmp'.
4067         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4068         non-MULE characters of BMP.
4069
4070 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4071
4072         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4073         to 0.6.
4074
4075 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4076
4077         * lstream.h:
4078         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4079         - Include character.h for `CHAR_ASCII_P'.
4080
4081         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4082
4083         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4084         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4085
4086         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4087         (BYTE_C0_P): Likewise.
4088         (BYTE_C1_P): Likewise.
4089         (Lstream_get_emchar_1): Likewise.
4090         (Lstream_fput_emchar): Likewise.
4091         (Lstream_funget_emchar): Likewise.
4092         (copy_internal_to_external): Likewise.
4093         (copy_external_to_internal): Likewise.
4094
4095         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.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         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4105         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4106
4107         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4108         (BYTE_ASCII_P): Moved to mb-1byte.h.
4109
4110 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4111
4112         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4113
4114         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4115         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4116         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4117         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4118         (VALIDATE_CHARPTR_FORWARD): Likewise.
4119         (simple_charptr_emchar): Moved to mb-multibyte.h.
4120         (simple_set_charptr_emchar): Likewise.
4121         (simple_charptr_copy_char): Likewise.
4122         (non_ascii_charptr_emchar): Likewise.
4123         (non_ascii_set_charptr_emchar): Likewise.
4124         (non_ascii_charptr_copy_char): Likewise.
4125         (charptr_emchar): Moved to mb-*byte.h.
4126         (set_charptr_emchar): Likewise.
4127         (charptr_copy_char): Likewise.
4128
4129         * mb-1byte.h, mb-multibyte.h: New files.
4130
4131 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4132
4133         * mb-utf-8.h (MULTIBYTE): New macro.
4134         (MAX_EMCHAR_LEN): Moved from buffer.h.
4135         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4136
4137         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4138
4139         * mb-lb.h, multibyte.h: New files.
4140
4141         * char-1byte.h (Charset_ID): Moved from buffer.h.
4142         (MIN_LEADING_BYTE): Likewise.
4143         (LEADING_BYTE_ASCII): Likewise.
4144         (NUM_LEADING_BYTES): Likewise.
4145         (CHARSETP): Likewise.
4146         (CHARSET_BY_LEADING_BYTE): Likewise.
4147         (XCHARSET_LEADING_BYTE): Likewise.
4148         (XCHARSET_GRAPHIC): Likewise.
4149         (XCHARSET_COLUMNS): Likewise.
4150         (XCHARSET_DIMENSION): Likewise.
4151         (CHAR_CHARSET): Likewise.
4152         (CHAR_LEADING_BYTE): Likewise.
4153         (BREAKUP_CHAR): Likewise.
4154         (Vcharset_ascii): Likewise.
4155
4156         * buffer.h: Include multibyte.h unconditionally.
4157         (VALID_CHARPTR_P): Moved to multibyte.h.
4158         (ASSERT_VALID_CHARPTR): Likewise.
4159         (REAL_INC_CHARPTR): Likewise.
4160         (REAL_INC_CHARBYTIND): Likewise.
4161         (REAL_DEC_CHARPTR): Likewise.
4162         (INC_CHARPTR): Likewise.
4163         (INC_CHARBYTIND): Likewise.
4164         (DEC_CHARPTR): Likewise.
4165         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4166         (VALIDATE_CHARPTR_FORWARD): Likewise.
4167         (charptr_n_addr): Likewise.
4168         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4169         (simple_charptr_emchar): Moved to multibyte.h.
4170         (simple_set_charptr_emchar): Likewise.
4171         (simple_charptr_copy_char): Likewise.
4172         (non_ascii_charptr_emchar): Likewise.
4173         (non_ascii_set_charptr_emchar): Likewise.
4174         (non_ascii_charptr_copy_char): Likewise.
4175         (charptr_emchar): Likewise.
4176         (set_charptr_emchar): Likewise.
4177         (charptr_copy_char): Likewise.
4178         (charptr_emchar_n): Likewise.
4179         (Charset_ID): Moved to char-1byte.h.
4180         (Vcharset_ascii): Likewise.
4181         (CHAR_CHARSET): Likewise.
4182         (CHAR_LEADING_BYTE): Likewise.
4183         (LEADING_BYTE_ASCII): Likewise.
4184         (NUM_LEADING_BYTES): Likewise.
4185         (MIN_LEADING_BYTE): Likewise.
4186         (CHARSETP): Likewise.
4187         (CHARSET_BY_LEADING_BYTE): Likewise.
4188         (XCHARSET_LEADING_BYTE): Likewise.
4189         (XCHARSET_GRAPHIC): Likewise.
4190         (XCHARSET_COLUMNS): Likewise.
4191         (XCHARSET_DIMENSION): Likewise.
4192         (BREAKUP_CHAR): Likewise.
4193
4194 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4195
4196         * character.h: Add document about interface for characters.
4197
4198         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4199         (MAKE_CHAR): Delete comment about
4200         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4201         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4202         (BREAKUP_CHAR): Modify name of arguments.
4203         (CHAR_CHARSET): Modify name of argument.
4204
4205         * buffer.h: Delete document about Emchar accessors.
4206
4207 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4208
4209         * character.h (CHAR_INTP): Moved from buffer.h
4210         (CHAR_OR_CHAR_INTP): Likewise.
4211         (XCHAR_OR_CHAR_INT): Likewise.
4212         (CHECK_CHAR_COERCE_INT): Likewise.
4213
4214         * buffer.h (CHAR_INTP): Moved to character.h
4215         (CHAR_OR_CHAR_INTP): Likewise.
4216         (XCHAR_OR_CHAR_INT): Likewise.
4217         (CHECK_CHAR_COERCE_INT): Likewise.
4218
4219 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4220
4221         * character.h:
4222         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4223         - Include char-1byte.h, char-lb.h or char-ucs.h.
4224
4225         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4226
4227         * buffer.h: Include character unconditionally.
4228         (valid_char_p): Moved to char-*.h.
4229         (non_ascii_valid_char_p): Moved to char-lb.h.
4230
4231         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4232
4233 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4234
4235         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4236         in UTF-2000 because it is not ported yet and not to use
4237         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4238         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4239         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4240
4241         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4242         (CHAR_ASCII_P): Moved from character.h.
4243
4244         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4245         (CHAR_ASCII_P): Likewise.
4246         (CHAR_FIELD1_MASK): Deleted.
4247         (CHAR_FIELD2_MASK): Deleted.
4248         (CHAR_FIELD3_MASK): Deleted.
4249         (MAX_CHAR_BASIC_LATIN): New macro.
4250         (CHAR_FIELD1): Deleted.
4251         (CHAR_FIELD2_INTERNAL): Deleted.
4252         (CHAR_FIELD3_INTERNAL): Deleted.
4253         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4254         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4255         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4256         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4257         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4258         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4259         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4260         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4261         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4262         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4263         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4264         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4265         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4266         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4267         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4268         (MIN_CHAR_COMPOSITION): Deleted.
4269         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4270         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4271
4272 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4273
4274         * buffer.h: Include mb-utf-8.h in UTF-2000.
4275
4276         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4277
4278         * mb-utf-8.h: New file.
4279
4280 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4281
4282         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4283         instead of `int'.
4284
4285         * mule-charset.h, buffer.h (Charset_ID): New type.
4286
4287 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4288
4289         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4290         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4291         instead of `MULE_CHAR_PRIVATE_OFFSET',
4292         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4293         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4294         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4295
4296         * character.h (Vcharset_japanese_jisx0212): New variable
4297         definition.
4298
4299 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4300
4301         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4302         (charset_by_attributes): Delete array about direction.
4303         (latin_a_char_to_charset): New variable in UTF-2000.
4304         (latin_a_char_to_byte1): New variable in UTF-2000.
4305         (latin_a_char_to_byte2): New variable in UTF-2000.
4306         (Qucs_bmp): New variable.
4307         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4308         `Bufbyte'.
4309         (next_allocated_2_byte_leading_byte): Likewise.
4310         (non_ascii_set_charptr_emchar): Likewise.
4311         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4312         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4313         `charset_by_attributes'.
4314         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4315         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4316         and `CHARSET_BY_LEADING_BYTE'.
4317         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4318         `utf-2000-version' to `vars_of_mule_charset'.
4319         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4320         define `leading-code-private-11' in UTF-2000; move setting of
4321         `utf-2000-version' from `syms_of_mule_charset'.
4322         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4323         UTF-2000.
4324
4325         * character.h (Charset_ID): New type.
4326         (LEADING_BYTE_UCS_BMP): New macro.
4327         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4328         (CHARSET_ID_OFFSET_94): New macro.
4329         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4330         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4331         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4332         final-byte.
4333         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4334         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4335         (CHARSET_ID_OFFSET_96): New macro.
4336         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4337         CHARSET_ID_OFFSET_96 and final-byte.
4338         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4339         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4340         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4341         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4342         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4343         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4344         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4345         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4346         (LEADING_BYTE_THAI_TIS620): Likewise.
4347         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4348         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4349         (CHARSET_ID_OFFSET_94x94): New macro.
4350         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4351         CHARSET_ID_OFFSET_94x94 and final-byte.
4352         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4353         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4354         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4355         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4356         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4357         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4358         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4359         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4360         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4361         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4362         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4363         (CHARSET_TYPE_128X128): New macro.
4364         (CHARSET_TYPE_256X256): New macro.
4365         (XCHARSET_PRIVATE_P): Delete unconditionally.
4366         (charset_by_attributes): Delete array about direction.
4367         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4368         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4369         (MIN_CHAR_94): New macro.
4370         (MAX_CHAR_94): New macro.
4371         (MIN_CHAR_96): New macro.
4372         (MAX_CHAR_96): New macro.
4373         (MIN_CHAR_94x94): New macro.
4374         (MAX_CHAR_94x94): New macro.
4375         (MIN_CHAR_96x96): New macro.
4376         (MAX_CHAR_96x96): New macro.
4377         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4378         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4379         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4380         - 32)'.
4381         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4382         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4383         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4384         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4385         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4386         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4387         `XCHARSET_LEADING_BYTE' to make code-point.
4388         (latin_a_char_to_charset): New variable.
4389         (latin_a_char_to_byte1): New variable.
4390         (latin_a_char_to_byte2): New variable.
4391         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4392         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4393         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4394
4395         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4396         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4397         (find_charsets_in_emchar_string): Likewise.
4398         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4399
4400         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4401         `int'.
4402         (decode_coding_iso2022): Likewise.
4403
4404         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4405         of `unsigned char'.
4406
4407         * redisplay.c (redisplay_text_width_emchar_string): Use
4408         `Charset_ID' instead of `unsigned char'.
4409         (redisplay_frame_text_width_string): Likewise.
4410
4411         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4412         `unsigned char'.
4413
4414         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4415         instead of `unsigned char'.
4416         (face_cachel_charset_font_metric_info): Likewise.
4417
4418         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4419         (get_non_ascii_char_table_value): Likewise.
4420         (get_char_table): Likewise.
4421         (put_char_table): Likewise.
4422         (map_over_other_charset): Likewise.
4423         (map_char_table): Likewise.
4424
4425         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4426         instead of `unsigned char'.
4427
4428 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4429
4430         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4431         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4432
4433         * mule-charset.c (leading_code_private_11): Don't define in
4434         UTF-2000.
4435
4436         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4437         in UTF-2000 because it is not ported yet and not to use
4438         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4439
4440 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4441
4442         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4443
4444 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4445
4446         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4447         in UTF-2000.
4448
4449         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4450         of unsigned char to store leading-byte.
4451
4452         * chartab.c (get_non_ascii_char_table_value): Don't use
4453         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4454
4455         * file-coding.c (encode_coding_big5): Delete bogus implementation
4456         in UTF2000.
4457
4458         * character.h (LEADING_BYTE_*): Delete definition for
4459         non-UTF-2000.
4460         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4461         (LEADING_BYTE_PREFIX_P): Deleted.
4462         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4463         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4464         (BUFBYTE_LEADING_BYTE_P): Deleted.
4465         (CHARSET_PRIVATE_P): Deleted unconditionally.
4466         (rep_bytes_by_first_byte): Deleted unconditionally.
4467         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4468         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4469         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4470         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4471         (CHAR_FIELD2): Deleted.
4472         (CHAR_FIELD3): Deleted.
4473         (MAKE_CHAR): Delete definition for non-UTF-2000.
4474         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4475         (breakup_char_1): New implementation.
4476         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4477         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4478
4479 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4480
4481         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4482         condition.
4483
4484 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4485
4486         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4487         (CHARSET_PRIVATE_P): Likewise.
4488         (XCHARSET_PRIVATE_P): Likewise.
4489         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4490
4491         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4492         UTF2000.
4493         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4494
4495 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4496
4497         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4498         (NUM_LEADING_BYTES): Changed from 128 to 256.
4499         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4500         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4501         UTF2000.
4502         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4503
4504         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4505         UTF2000.
4506         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4507         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4508         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4509         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4510         (Qchinese_cns11643_3): New variable in UTF2000.
4511         (Qchinese_cns11643_4): New variable in UTF2000.
4512         (Qchinese_cns11643_5): New variable in UTF2000.
4513         (Qchinese_cns11643_6): New variable in UTF2000.
4514         (Qchinese_cns11643_7): New variable in UTF2000.
4515         (syms_of_mule_charset): Define `chinese-cns11643-3',
4516         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4517         and `chinese-cns11643-7' in UTF2000.
4518         (vars_of_mule_charset): Initialize
4519         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4520         + 1 in UTF2000.
4521         (complex_vars_of_mule_charset): Setup charset
4522         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4523         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4524
4525 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4526
4527         * mule-charset.c: Move setting for `leading-code-private-11' from
4528         `syms_of_mule_charset' to `vars_of_mule_charset'.
4529
4530 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4531
4532         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4533         and `NUM_LEADING_BYTES' in assert.
4534
4535 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4536
4537         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4538         instead of 128.
4539         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4540         `NUM_LEADING_BYTES' instead of 128.
4541
4542 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4543
4544         * mule-charset.h (charset_by_leading_byte): Use
4545         `NUM_LEADING_BYTES' instead of 128.
4546         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4547
4548         * mule-charset.c (charset_by_leading_byte): Use
4549         `NUM_LEADING_BYTES' instead of 128.
4550         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4551
4552         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4553         128.
4554
4555 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4556
4557         * mule-charset.c (syms_of_mule_charset): Update to
4558         0.4 (Shin-Imamiya).
4559
4560 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4561
4562         * file-coding.c (encode_coding_sjis): New implementation for
4563         UTF2000.  (decode_coding_sjis): Ditto.
4564
4565 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4566
4567         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4568         Don't define in UTF2000.
4569
4570         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4571         defined.
4572
4573         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4574         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4575         MULE.
4576
4577 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4578
4579         * config.h.in (CHAR_IS_UCS4): New macro.
4580
4581         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4582         conventional MULE representation.
4583         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4584
4585         * mule-charset.h: Reverted to original.
4586
4587         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4588         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4589         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4590
4591         * character.h: New file.
4592
4593         * file-coding.c (Fmake_coding_system): Set 1 to
4594         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4595         defined.
4596         (encode_coding_no_conversion): New implementation for UTF2000.
4597
4598         * file-coding.h (struct Lisp_Coding_System): Add new member
4599         `fixed.size'.
4600
4601 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4602
4603         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4604         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4605         (encode_coding_iso2022): New implementation for UTF2000.
4606
4607 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4608
4609         * mule-canna.c (c2mu): New implementation for UTF2000.
4610         (m2c): Likewise.
4611
4612 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4613
4614         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4615
4616 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4617
4618         * file-coding.c (reset_encoding_stream): Set 0 to
4619         `str->iso2022.current_char_boundary' in UTF2000.
4620         (encode_utf8): Don't define in UTF2000.
4621         (encode_coding_utf8): New implementation for UTF-8 representation
4622         of UTF2000.
4623         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4624
4625 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4626
4627         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4628
4629         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4630         UTF2000.
4631         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4632
4633         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4634
4635         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4636         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4637         as UTF-8 in UTF2000.
4638         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4639         (non_ascii_valid_char_p): Don't define in UTF2000.
4640         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4641         (Lstream_get_emchar_1): Likewise.
4642         (utf-2000-version): New variable in UTF2000.
4643
4644         * lread.c (read_escape): Add new reader `u'.
4645
4646         * insdel.c (three_to_one_table): Don't define in UTF2000.
4647         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4648         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4649         UTF2000.
4650         (bytind_to_bufpos_func): Likewise.
4651         (buffer_mule_signal_inserted_region): Likewise.
4652         (vars_of_insdel): Don't initialize `three_to_one_table'.
4653         (init_buffer_text): Use `buf->text->mule_size' instead of
4654         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4655         UTF2000.
4656
4657         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4658         UTF-8 representation in UTF2000.
4659         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4660         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4661         (decode_coding_iso2022): Don't define local variable `lb' in
4662         UTF2000; don't use LEADING_BYTE in UTF2000; use
4663         `DECODE_ADD_UCS_CHAR' in UTF2000.
4664         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4665
4666         * config.h.in (UTF2000): New macro.
4667
4668         * buffer.h (struct buffer_text): Add new member `mule_size' and
4669         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4670         (valid_char_p): Return always 1 in UTF2000.
4671         (MAX_EMCHAR_LEN): 6 in UTF2000.
4672         (three_to_one_table): Don't define in UTF2000.
4673         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4674         UTF2000.
4675         (real_bytind_to_bufpos): Likewise.
4676
4677         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4678
4679 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4680
4681         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4682         representation change.
4683         (Vutf_2000_version): New variable.
4684         (leading_code_private_11): New variable.
4685         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4686         `leading-code-private-11'.
4687
4688         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4689         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4690         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4691         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4692         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4693         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4694         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4695         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4696         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4697         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4698         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4699         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4700         (MIN_CHAR_GREEK): New macro.
4701         (MAX_CHAR_GREEK): New macro.
4702         (MIN_CHAR_CYRILLIC): New macro.
4703         (MAX_CHAR_CYRILLIC): New macro.
4704         (MIN_CHAR_HEBREW): New macro.
4705         (MAX_CHAR_HEBREW): New macro.
4706         (MIN_CHAR_THAI): New macro.
4707         (MAX_CHAR_THAI): New macro.
4708         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4709         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4710         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4711         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4712         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4713         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4714         (CHAR_FIELD2): New inline function.
4715         (CHAR_FIELD3): New inline function.
4716         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4717         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4718         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4719         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4720         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4721         (MIN_CHAR_COMPOSITION): Likewise.
4722         (CHAR_LEADING_BYTE): Modified for character representation change.
4723         (MAKE_CHAR): Likewise.
4724
4725         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4726         (Vcharset_greek_iso8859_7): Likewise.
4727         (Vcharset_cyrillic_iso8859_5): Likewise.
4728         (Vcharset_hebrew_iso8859_8): Likewise.
4729         (Vcharset_thai_tis620): Likewise.
4730         (Vcharset_katakana_jisx0201): Likewise.
4731
4732 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
4733
4734         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
4735
4736 2002-12-14  Ben Wing  <ben@xemacs.org>
4737
4738         * callint.c: Declaration error.
4739         * dumper.c (pdump):
4740         * dumper.c (pdump_load): Warning fix.
4741         * process.c: GCPRO error.
4742         * glyphs.c (unmap_subwindow):
4743         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
4744         * event-stream.c (maybe_kbd_translate): Wrong argument to
4745         character_to_event().
4746
4747         * alloc.c (garbage_collect_1):
4748         * emacs.c:
4749         * emacs.c (debug_can_access_memory):
4750         * emacs.c (fatal_error_signal):
4751         * emacs.c (mswindows_handle_hardware_exceptions):
4752         * emacs.c (main_1):
4753         * emacs.c (main):
4754         * emacs.c (assert_failed):
4755         * emacs.c (syms_of_emacs):
4756         * lisp.h:
4757         * print.c:
4758         * print.c (std_handle_out_va):
4759         * print.c (write_string_to_stdio_stream):
4760         * print.c (write_fmt_string):
4761         * print.c (printing_badness):
4762         * print.c (printing_major_badness):
4763         * print.c (print_internal):
4764         * print.c (debug_print_no_newline):
4765         * print.c (debug_backtrace):
4766         Be more defensive in handling bad values when printing.  Add code
4767         from trunk involving inhibit_non_essential_printing_operations.
4768         When going down or in debug_print(), don't do external conversion
4769         and such and try really, really hard when printing to avoid core
4770         dumping.  Add force-debugging-signal, debug_break().
4771
4772 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
4773
4774         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
4775         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
4776
4777 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
4778
4779         * database.c: Fix open_database. Berkeley DB API has changed in
4780         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
4781
4782 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
4783
4784         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
4785
4786 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
4787
4788         * event-Xt.c (Xt_timeout):
4789         (Xt_timeout_callback):
4790         (emacs_Xt_add_timeout):
4791         (emacs_Xt_remove_timeout):
4792         (Xt_timeout_to_emacs_event):
4793         Turn completed_timeouts from a stack into a queue.  Fixes
4794         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
4795
4796 2002-11-07  Wolfram Gloger  <wg@malloc.de>
4797
4798         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
4799         * emacs.c (main): Assert that mmap'd allocation is disabled.
4800
4801 2002-10-14  Andy Piper  <andy@xemacs.org>
4802
4803         * glyphs-widget.c (layout_query_geometry): add in fiddle
4804         factor. Include border text in width layout calculation.
4805         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
4806
4807 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
4808
4809         * XEmacs 21.4.10 "Military Intelligence" is released.
4810
4811 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
4812
4813         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
4814         using the NAS private array SoundFileInfo that no longer exists in
4815         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
4816         and earlier.  This is broken for some versions between 1.5a and
4817         1.5f.
4818
4819 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
4820
4821         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
4822
4823         * emacs.c (shut_down_emacs): Improve crash message.
4824
4825 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
4826
4827         * file-coding.c (determine_real_coding_system): Check for coding
4828         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
4829         shebangs and Python PEP 263.
4830
4831 2002-10-08  Andy Piper  <andy@xemacs.org>
4832
4833         * glyphs-widget.c (layout_query_geometry): only resize dynamically
4834         if static sizes haven't been set.
4835
4836 2002-08-30  Mike Alexander  <mta@arbortext.com>
4837
4838         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
4839         to close a socket.
4840
4841 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
4842
4843         * callproc.c (child_setup): 21.4 doesn't have retry_close.
4844
4845 2002-09-20  Mike Sperber <mike@xemacs.org>
4846
4847         (This partially gets back my patch from 2002-07-20 without the
4848         bug.)
4849         * callproc.c (child_setup): Remove Ben's comment noting confusion
4850         over the file descriptors >= 3: close_process_descs() doesn't
4851         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
4852         * process-unix.c (unix_create_process): Call
4853         begin_dont_check_for_quit to inhibit unwanted interaction (and
4854         thus breaking of X event synchronicity) in the child.
4855
4856 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
4857
4858         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
4859         widget.
4860
4861 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
4862
4863         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
4864         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
4865         the xemacs process did not exit, but looped infinitely here.  This
4866         fixes that problem.
4867
4868 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4869
4870         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
4871         (find_context): Improve comments.
4872
4873         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
4874         (re_match_2): An XCHAR_TABLE operation was missing.
4875
4876         Many of the following changes were inspired by Andy Piper's (now
4877         obsolete) patch to make syntax-table text property lookup optional.
4878
4879         [Documentation]
4880
4881         * syntax.h (top level): Document semantics of syntax flags.
4882         * syntax.c (comstr_start, Fforward_comment): Improve comments.
4883         * syntax.c, syntax.h (top level): Document syntax cache better in
4884         comments.
4885
4886         [Instrument syntax caching (temporary change)]
4887
4888         * syntax.h (enum syntax_cache_statistics_functions, struct
4889         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
4890         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
4891         * syntax.c (scan_words, Fforward_comment, scan_lists,
4892         Fbackward_prefix_characters):
4893         * font-lock.c (find_context):
4894         Use them to instrument syntax caching. 
4895         * syntax.c (struct syntax_cache_statistics, scs_statistics,
4896         syntax_cache_statistics_function_names): New type and variables.
4897         * syntax.c (update_syntax_cache): Update and report statistics.
4898
4899         [Major syntax cache optimizations]
4900
4901         syntax.c (lookup_syntax_properties): Default off.
4902
4903         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
4904         * syntax.c (update_syntax_cache):
4905         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
4906
4907         [Minor syntax cache optimizations and code clarifications]
4908
4909         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
4910         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
4911         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
4912         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
4913         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
4914         (Code clarification.)
4915
4916         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
4917         scan_lists): Compute code from syncode, use Boolean macros instead
4918         of redundant masking operations.  (Code clarification; any decent
4919         compiler can do this optimization.)
4920
4921         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
4922         for clarity.
4923
4924         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
4925         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
4926         use F*_single_property_change instead of F*_extent_change.
4927         Currently F*_single_property_change is _much_ less efficient.
4928
4929         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
4930         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
4931         syntax_cache.object properly, don't leave Qt or Qnil.
4932         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
4933         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
4934         tests for Qt or Qnil.
4935
4936 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
4937
4938         * redisplay.c (point_in_line_start_cache): 
4939         * extents.c (print_extent_1):
4940         Fix warnings.
4941
4942         * extents.c (Fset_extent_property): Document `syntax-table' property.
4943
4944         * extents.h (Fnext_single_property_change): EXFUN it.
4945
4946 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
4947
4948         * search.c (clear_unused_search_regs): New static function.
4949         (search_buffer): 
4950         (simple_search): 
4951         (boyer_moore):
4952         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
4953         Minor clarifications in comments.
4954
4955         * regex.c (re_match_2_internal): Ensure no stale submatches.
4956
4957 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
4958
4959         * event-Xt.c (enqueue_focus_event): Add missing prototype.
4960
4961 2002-08-29  Jerry James  <james@xemacs.org>
4962
4963         * lisp.h: structrures -> structures.
4964
4965 2002-06-03  Andy Piper  <andy@xemacs.org>
4966
4967         * frame.c (frame_conversion_internal): add conversion appropriate
4968         for setting frame dimensions in pixels.
4969
4970         * console.h (struct console_methods): add device-specific widget
4971         layout functions.
4972
4973         * emacs.c (main_1): initialize glyph vars.
4974
4975         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
4976         (handle_focus_event_2): new function. Allow focus to
4977         be set to a particular window and widget.
4978         (enqueue_focus_event): new function. Create a
4979         synthetic focus event.
4980         (emacs_Xt_handle_magic_event): call
4981         handle_focus_event_2.
4982
4983         * frame.c (Fset_frame_pixel_height): new function. Allow
4984         pixel-based sizing. Does the right thing on character-oriented
4985         displays.
4986         (Fset_frame_pixel_width): ditto.
4987         (Fset_frame_pixel_size): ditto.
4988         (syms_of_frame): declare.
4989
4990         * general-slots.h: add :vertically-justify and
4991         :horizontally-justify.
4992
4993         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
4994         (mswindows_widget_border_width): new function.
4995         (mswindows_combo_box_instantiate): set border widths.
4996         (console_type_create_glyphs_mswindows): declare.
4997
4998         * glyphs-widget.c:
4999         (check_valid_justification): allow vertical and horizontal
5000         justification.
5001         (widget_border_width): new function. Call device methods.
5002         (widget_instance_border_width): ditto.
5003         (logical_unit_height): new function. Determine the height of a
5004         logical-unit. Logical units are intended to provide grid-like
5005         layout for subcontrols in a layout. If the layout is
5006         :vertically-justify top then subcontrols will be positioned on
5007         logical-unit boundaries, thus allowing adjacent subcontrols to
5008         line up.
5009         (widget_logical_unit_height): ditto for widgets.
5010         (redisplay_widget): misc cleanup.
5011         (widget_spacing): new function. Call device specific
5012         methods. Intended to be the default gap between adjacent widgets.
5013         (widget_query_geometry): use new spacing functions to determine
5014         appropriate geometry.
5015         (initialize_widget_image_instance): initialize horizontal and
5016         vertical justification.
5017         (widget_instantiate): use logica-units where appropriate for
5018         sizing large widgets.
5019         (button_query_geometry): use widget_instance_border_width.
5020         (tree_view_query_geometry): ditto.
5021         (tab_control_query_geometry): ditto.
5022         (edit_field_query_geometry): new function.
5023         (layout_update): pick up :justify, :horizontally-justify and
5024         :vertically-justify none of which worked previously. :justify is
5025         used as a fallback for both horizontal and vertical justification.
5026         (layout_query_geometry): use logical units to size appropriately.
5027         (layout_layout): ditto.
5028         (Fwidget_logical_to_character_width): new function. Allow users to
5029         convert from logical units to characters so that frame sizes can
5030         be set appropriately.
5031         (Fwidget_logical_to_character_height): ditto.
5032         (syms_of_glyphs_widget): declare.
5033         (image_instantiator_edit_fields): add edit_field_query_geometry.
5034         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5035         :horizontally-justify.
5036         (specifier_vars_of_glyphs_widget): new function. Declare
5037         Vwidget_border_width which is not yet used.
5038
5039         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5040         (x_widget_border_width): new function.
5041         (x_widget_instantiate): create a sensible name for widgets.
5042         (console_type_create_glyphs_x): declare x_widget_border_width.
5043
5044         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5045         (struct Lisp_Image_Instance): add :vertically-justify and
5046         :horizontally-justify.
5047         (LAYOUT_JUSTIFY_TOP): new.
5048         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5049         (ROUND_UP): new macro. Round argument up to next integral
5050         interval.
5051
5052         * redisplay-output.c (redisplay_output_layout): misc formatting.
5053
5054         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5055
5056 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5057
5058         * XEmacs 21.4.9 "Informed Management" is released.
5059
5060 2002-08-19  Andy Piper  <andy@xemacs.org>
5061
5062         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5063         win32 format.
5064
5065         * realpath.c (xrealpath): normalize drive spec also so that dir
5066         sep chars are not mixed on cygwin.
5067
5068 2002-08-06  Jerry James  <james@xemacs.org>
5069
5070         * window.c (Fsplit_window): Count only half of the divider width
5071         against the left window when splitting horizontally. 
5072
5073 2002-06-24  Andy Piper  <andy@xemacs.org>
5074
5075         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5076         toolbar was cleared.
5077
5078         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5079         function. Split out from mswindows_output_frame_toolbars.
5080         (mswindows_output_frame_toolbars): move clear pieces to
5081         mswindows_output_frame_toolbars.
5082
5083         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5084         out from gtk_output_frame_toolbars.
5085         (gtk_output_frame_toolbars): move clear pieces to
5086         gtk_clear_frame_toolbars.
5087
5088         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5089         the frame is cleared. How this ever worked before is a mystery.
5090         (x_output_frame_toolbars): Only output toolbars.
5091         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5092
5093         * gutter.c (update_gutter_geometry):
5094         Mark frame layout changed.
5095         (update_frame_gutter_geometry, update_frame_gutters):
5096         Respect frame_layout_changed.
5097
5098         * console.h (struct console_methods): add
5099         clear_frame_toolbars_method.
5100
5101         * redisplay.c (redisplay_frame): call
5102         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5103
5104         * toolbar.h: declare update_frame_toolbars_geometry.
5105
5106         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5107         out from update_frame_toolbars.  Call clear_frame_toolbars.
5108         (update_frame_toolbars): only output, do not change geometry.
5109
5110         * redisplay.c: add frame_layout_changed.
5111
5112         * redisplay.h: add frame_layout_changed.
5113         (CLASS_RESET_CHANGED_FLAGS): set it.
5114         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5115         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5116         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5117
5118         * device.h (struct device): add frame_layout_changed.
5119         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5120
5121         * frame.h (struct frame): add frame_layout_changed.
5122         (MARK_FRAME_LAYOUT_CHANGED): new.
5123
5124 2002-06-30  Mike Alexander  <mta@arbortext.com>
5125
5126         * event-msw.c (mswindows_need_event): Don't wait for a new message
5127         if the queue is not empty.  Suggested by Paul Moore.
5128
5129 2002-06-12  Andy Piper  <andy@xemacs.org>
5130
5131         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5132         for printing on accurately.
5133
5134 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5135
5136         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5137         WM_ACTIVATE message. Make sure that the frame is visible if the
5138         window is visible. This seemss to fix the problem where XEmacs
5139         appears to freeze after switching desktops with certain virtual
5140         window managers.
5141         (debug_output_mswin_message): Added code to output message
5142         parameters for WM_WINDOWPOSCHANGED, 
5143         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5144
5145 2002-05-25  Andy Piper  <andy@xemacs.org>
5146
5147         * select-x.c (vars_of_select_x): Fix docstring of
5148         x-selection-strict-motif-ownership
5149
5150 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5151
5152         * keymap.c (get_keymap):
5153         Add comment about do_autoload GCPROs own args.
5154
5155 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5156
5157         * bytecode.c (execute_optimized_program): check_opcode ifdef
5158         ERROR_CHECK_BYTE_CODE.
5159
5160 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5161
5162         Thanks to Ben Wing and Michael Sperber.
5163
5164         * eval.c (Fcommand_execute):
5165         (Feval):
5166         (Ffuncall):
5167         (Fmacroexpand_internal):
5168         (function_argcount):
5169         callint.c (Fcall_interactively):
5170         Add comment about do_autoload GCPROs own args.
5171
5172         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5173
5174         * eval.c (Ffuncall): Extra braces to placate GCC.
5175
5176 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5177
5178         * backtrace.h (grow_specpdl):
5179         (SPECPDL_RESERVE):
5180         * EmacsFrame.c (EmacsFrameSetValues):
5181         * eval.c (grow_specpdl):
5182         * ExternalShell.c (hack_event_masks_1):
5183         * glyphs-x.c (convert_EImage_to_XImage): 
5184         (x_finalize_image_instance):
5185         * ralloc.c (page_size):
5186         (r_alloc_sbrk):
5187         * xgccache.c (gc_cache_hash):
5188         Fix unsigned comparison warnings.
5189
5190 2002-07-29  Jerry James  <james@xemacs.org>
5191
5192         * lread.c (locate_file): Any nonnegative return value indicates
5193         success if MODE is nonnegative.
5194
5195 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5196
5197         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5198         argument. 
5199
5200 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5201
5202         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5203
5204         * dumper.c (pdump_get_indirect_count):
5205         (pdump_scan_by_alignment):
5206         (pdump_dump_root_struct_ptrs):
5207         (pdump_dump_rtables):
5208         (pdump_dump_root_objects):
5209         (pdump):
5210         * nas.c (WaveOpenDataForReading):
5211         * fns.c (print_bit_vector):
5212         * font-lock.c (SINGLE_SYNTAX_STYLE):
5213         * glyphs.c (check_for_ignored_expose):
5214         (find_matching_subwindow):
5215         * glyphs-eimage.c:
5216         * imgproc.c (get_histogram):
5217         * redisplay.c (point_in_line_start_cache):
5218         * redisplay-output.c (redisplay_unmap_subwindows):
5219         * symbols.c (defsymbol_massage_name_1):
5220         (defkeyword_massage_name):
5221         (deferror_massage_name_and_message):
5222         * redisplay-x.c (x_output_string): 
5223         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5224         * frame.h (struct frame):
5225         * filelock.c (current_lock_owner):
5226         * doprnt.c (emacs_doprnt_1):
5227         * lisp.h (struct Lisp_Bit_Vector):
5228         (DO_REALLOC):
5229         Fix warnings.
5230
5231 2002-02-13  Ben Wing  <ben@xemacs.org>
5232
5233         * event-stream.c (reset_key_echo):
5234         * event-stream.c (reset_this_command_keys):
5235         * event-stream.c (execute_command_event):
5236         If console is dead as a result of C-x 5 0, then post-command stuff
5237         needs to be careful and do only non-console-specific stuff.
5238
5239 2002-07-01  Mike Sperber <mike@xemacs.org>
5240
5241         * process-unix.c (unix_send_process): Mark coding_outstream as
5242         non-open upon SIGPIPE.
5243
5244         * event-stream.c (Fnext_event): Reorder switch cases to something
5245         that makes sense.
5246
5247 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5248
5249         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
5250         Don't bogusly reinitialize ascii_character property.
5251
5252 2002-07-08  Mike Sperber <mike@xemacs.org>
5253
5254         * process.c (Fstart_process_internal): Do error checking before we
5255         fork off the child, so the child can't muck with the state of the
5256         parent.
5257
5258 2002-07-08  Mike Sperber <mike@xemacs.org>
5259
5260         * ralloc.c (init_ralloc): Allocate properly for pdump.
5261
5262 2002-06-12  Andy Piper  <andy@xemacs.org>
5263
5264         * glyphs.c (query_string_geometry): check the string.
5265
5266         * glyphs-widget.c (widget_logical_unit_height): cope with nil
5267         widget names.
5268
5269 2002-06-17  Jerry James  <james@xemacs.org>
5270
5271         * sysdll.c: Remove RTLD_GLOBAL initialization.
5272         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
5273
5274 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
5275
5276         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
5277
5278 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
5279
5280         * sysdep.c (sys_rename): Make sys_rename work for the case where
5281         Windows rename sets errno to EACCES if target file exists.
5282
5283 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
5284
5285         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5286         Fix detection of metric units to work on Win95
5287
5288 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
5289
5290         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
5291
5292 2002-04-25  Andy Piper  <andy@xemacs.org>
5293
5294         * redisplay.c (create_text_block): Remove extra comment trailer.
5295
5296 2002-04-24  Andy Piper  <andy@xemacs.org>
5297
5298         * redisplay.c (create_text_block): Don't actually add propagation
5299         data if the line ends after we have added a glyph.
5300
5301 2002-04-22  Andy Piper  <andy@xemacs.org>
5302
5303         * extents.c (extent_fragment_update): check for glyphs we have
5304         previously displayed.
5305         * extents.c (print_extent_1): warning removal.
5306         * extents.h: change prototype.
5307         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
5308         widths correctly for wide glyphs.
5309         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
5310         * redisplay.c (prop_type): add PROP_GLYPH.
5311         * redisplay.c (struct prop_block): add glyph type
5312         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
5313         to the propagation data.
5314         * redisplay.c (create_text_block): if there is a glyph in the
5315         propagation data use it to salt extent_fragment_update.
5316         * redisplay.c (create_string_text_block): ditto.
5317
5318 2002-04-13  Nix  <nix@esperi.demon.co.uk>
5319
5320         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
5321         * redisplay-output.c (compare_runes): Compare them.
5322         * redisplay.c: Update copyright date.
5323         * redisplay.c (pos_data): Add need_baseline_computation field.
5324         * redisplay.c (add_glyph_rune): Update ascent, descent, and
5325         need_baseline_computation; zero yoffset. Set max_pixmap_height
5326         for all pixmaps, not just automatically positioned ones.
5327         * redisplay.c (calculate_yoffset): New, compute yoffset values.
5328         * redisplay.c (calculate_baseline): New, compute textual baseline.
5329         * redisplay.c (add_glyph_rune): Call them.
5330         * redisplay.c (create_text_block): Likewise.
5331         * redisplay.c (create_overlay_glyph_block): Likewise.
5332         * redisplay.c (add_margin_runes): Likewise.
5333         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
5334
5335         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
5336         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
5337         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
5338         * redisplay-msw.c (mswindows_output_string): Likewise.
5339         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
5340         * redisplay-gtk.c (gtk_output_display_block): Likewise.
5341         * redisplay-x.c (x_output_display_block): Likewise.
5342
5343 2002-03-28  Ben Wing  <ben@xemacs.org>
5344
5345         * redisplay.c: Fixed bug in redisplay
5346         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
5347         and down of the lines, since they're bigger than the line
5348         size. (It was seen most obviously when there's a horizontal scroll
5349         bar, e.g. do C-h a glyph or something like that.) The problem was
5350         that the glyph-contrib-p setting on glyphs was ignored even if it
5351         was set properly, which it wasn't until now.
5352
5353 2002-04-24  Andy Piper  <andy@xemacs.org>
5354
5355         * lisp.h (Dynarr_end): Fix definition.
5356
5357 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
5358
5359         * redisplay.c (mark_redisplay): Remove call to
5360         update_frame_window_mirror.
5361
5362 2001-11-15  Andy Piper  <andy@xemacs.org>
5363
5364         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
5365         cygwin (again).
5366
5367 2002-02-13  Andy Piper  <andy@xemacs.org>
5368
5369         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
5370         we did in fact enqueue the XM_MAPFRAME event.
5371
5372 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
5373
5374         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
5375         to fix problem switching between virtual desktops under virtuawin
5376         virtual window manager.
5377
5378 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
5379
5380         * event-msw.c: Typo fix.
5381         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
5382         magic XM_MAPFRAME event has been sent.
5383
5384 2001-11-23  Andy Piper  <andy@xemacs.org>
5385
5386         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
5387
5388 2001-11-21  Andy Piper  <andy@xemacs.org>
5389
5390         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
5391         mouse events outside the frame.
5392
5393 2002-03-20  Andy Piper  <andy@xemacs.org>
5394
5395         * menubar-msw.c (mswindows_popup_menu): warning removal.
5396         * dialog-msw.c (dialog_popped_down): ditto.
5397
5398 2001-12-11  Andy Piper  <andy@xemacs.org>
5399
5400         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
5401         * dialog-msw.c (mswindows_make_dialog_box_internal): set
5402         popup_up_p.
5403         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
5404         * menubar-msw.c (mswindows_handle_wm_command): ditto.
5405         * menubar-msw.c (mswindows_popup_menu): ditto.
5406
5407 2001-10-29  Andy Piper  <andy@xemacs.org>
5408
5409         * dialog-msw.c (handle_directory_dialog_box): quit if the user
5410         cancels.
5411
5412 2002-01-03  Andy Piper  <andy@xemacs.org>
5413
5414         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
5415         letters.
5416         (xrealpath): ditto.
5417
5418 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
5419
5420         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
5421         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
5422         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5423         Detect and handle case where machine is set up for metric units
5424
5425 2002-04-02  Andy Piper  <andy@xemacs.org>
5426
5427         * dired-msw.c (mswindows_get_files): 
5428         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
5429         completely handled by XEmacs. Suggested by Thomas Vogler
5430         <mail@thomas-vogler.de>.
5431
5432 2001-11-14  Andy Piper  <andy@xemacs.org>
5433
5434         * nt.c (REG_ROOT): change registry key to XEmacs.
5435
5436 2002-04-27  Andy Piper  <andy@xemacs.org>
5437
5438         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
5439
5440 2002-04-26  Andy Piper  <andy@xemacs.org>
5441
5442         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
5443         behavior.
5444
5445 2002-03-14  Mike Alexander  <mta@arbortext.com>
5446
5447         * event-msw.c (mswindows_unwait_process): New, remove process from
5448         wait list
5449         * process-nt.c (nt_finalize_process_data): Call
5450         mswindows_unwait_process
5451         * console-msw.h: Declare mswindows_unwait_process
5452
5453 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
5454
5455         * editfns.c (Fdecode_time):
5456         (Fformat_time_string):
5457         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
5458         (make_time): Warning elimination (change arg name).
5459
5460 2001-11-24  Andy Piper  <andy@xemacs.org>
5461
5462         * window.c (Fsplit_window): Doc return type.
5463
5464 2002-04-01  Andy Piper  <andy@xemacs.org>
5465
5466         * emacs.c (Fkill_emacs): Only output message box in interactive
5467         mode.
5468
5469 2002-04-26  Andy Piper  <andy@xemacs.org>
5470  
5471         * config.h.in: pull in 21.5.x change to stop alloca warnings under
5472         cygwin.
5473
5474 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
5475
5476         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
5477         bit platform.
5478
5479 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
5480
5481         * XEmacs 21.4.8 "Honest Recruiter" is released.
5482
5483 2002-05-07  Nix  <nix@esperi.demon.co.uk>
5484
5485         Supersedes 2002-04-17 patch.
5486
5487         * process.h (PROCESS_LIVE_P): Use the process status as
5488         evidence of health, not the state of the input stream.
5489         (PROCESS_READABLE_P): Say if the process is readable
5490         from. (It may be dead nonetheless.)
5491         (CHECK_READABLE_PROCESS): Test for that condition.
5492
5493         * process.c (create_process): Use PROCESS_READABLE_P.
5494         (read_process_output, set_process_filter): Likewise.
5495
5496         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
5497         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
5498
5499         This code is #if 0'd, this is not the time to add new functions:
5500
5501         * process.c (Fprocess_readable_p): Report readability status.
5502         * process.c (Qprocess_readable_p): New, associated symbol...
5503         * process.c (syms_of_process): ... initialize it.
5504
5505 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
5506
5507         * XEmacs 21.4.7 "Economic Science" is released.
5508
5509 2002-04-17  Nix  <nix@esperi.demon.co.uk>
5510
5511         * process.h (PROCESS_LIVE_P): Use the process status as
5512         evidence of health, not the state of the input stream.
5513
5514 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
5515
5516         * sysdep.c (sys_siglist): change "signum" to "signal"
5517
5518 2001-04-21  Martin Buchholz  <martin@xemacs.org>
5519
5520         * s/darwin.h: New file.
5521         Thanks to Greg Parker <gparker@cs.stanford.edu>.
5522         
5523 2002-04-23  Andreas Jaeger  <aj@suse.de>
5524
5525         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
5526         which use lib64 for 64-bit libs.
5527         (START_FILES): Likewise.
5528
5529 2002-02-11  Mike Sperber  <mike@xemacs.org>
5530
5531         * device-x.c: 
5532         (x_IO_error_handler):
5533         (x_init_device): Temporarily keep device in static variable
5534         `device_being_initialized' so we can recover gracefully from
5535         internal XOpenDevice failure.  (XOpenDevice is documented to
5536         return NULL on failure, but sometimes calls the IO error handler
5537         instead.)
5538
5539 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
5540
5541         * dired.c (Ffile_name_all_completions): Change documentation --
5542         remove reference to completion-ignored-extensions.
5543         * dired.c (vars_of_dired): Change documentation for
5544         completion-ignored-extensions -- remove reference to
5545         file-name-all-completions.
5546
5547 2002-03-06  Jerry James  <james@xemacs.org>
5548
5549         * emodules.c (emodules_load): Fix multiple loading of same module.
5550
5551 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
5552         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
5553         RTLD_LAZY to avoid incorrect symbol binding when using nested
5554         shared libraries on Solaris.
5555
5556 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
5557
5558         * fileio.c (Ffind_file_name_handler): Improve docstring.
5559
5560 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
5561
5562         * fns.c (Fmapconcat): Improve docstring.
5563
5564 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
5565
5566         * device-gtk.c: Add prototype for
5567         emacs_gtk_selection_clear_event_handle.
5568         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
5569         selection.  Setup signal handler for "selection_clear_event"
5570         (emacs_gtk_selection_clear_event_handle).
5571
5572         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
5573         other applications owning the clipboard (based on
5574         x_handle_selection_clear).
5575
5576 2001-12-23  William M. Perry  <wmperry@gnu.org>
5577
5578         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
5579         
5580 2002-01-04  Martin Buchholz  <martin@xemacs.org>
5581
5582         * keymap.c (define_key_alternate_name): Parenthesize EQ.
5583
5584 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
5585
5586         * XEmacs 21.4.6 "Common Lisp" is released.
5587
5588 2001-12-16  Torsten Duwe  <duwe@caldera.de>
5589
5590         * search.c (Freplace_match): Add missing sub-expression functionality.
5591
5592         * buffer.c (decode_buffer): Add a check for pointer type to
5593         decode_buffer, before gcc's CSE optimization reorders a
5594         dereference in front of the allow_string test.
5595
5596 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
5597
5598         * window.c (window_loop): Fix bug that sometimes prevented
5599         window_loop() from iterating across multiple devices.  Also, at
5600         Ben's request, changed infloop-detecting code to abort() instead
5601         of silently terminating window_loop().
5602
5603 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
5604
5605         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
5606         * editfns.c (make_time): New function.
5607         (Fencode_time): Use it instead of wasteful_word_to_lisp.
5608         * lisp.h (make_time): Prototype and comment it.
5609         * dired.c (wasteful_word_to_lisp): Deprecate.
5610         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
5611
5612 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
5613
5614         * fileio.c (auto_save_1): Use current coding system, not
5615         escape-quoted.
5616
5617 2001-11-13  Ben Wing  <ben@xemacs.org>
5618
5619         * window.c:
5620         * window.c (window_truncation_on):
5621         * window.c (syms_of_window):
5622         truncate-partial-width-windows should respect the buffer being
5623         displayed, like other redisplay vars.
5624
5625 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
5626
5627         * event-stream.c (Fread_key_sequence): save current buffer.
5628
5629 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5630
5631         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
5632
5633 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5634
5635         * alloc.c (lcrecord_stats): Add space for types defined in modules.
5636
5637 2001-10-26  Mike Alexander  <mta@arbortext.com>
5638
5639         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
5640
5641 2001-10-25  Andy Piper  <andy@xemacs.org>
5642
5643         * ChangeLog:
5644         * dialog-msw.c (handle_directory_proc): new function.
5645          (handle_directory_dialog_box): new fucntion.
5646          (handle_file_dialog_box): use new directory dialog support.
5647          (mswindows_make_dialog_box_internal): ditto.
5648         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
5649         handling.
5650         (mswindows_find_frame): make global.
5651         * fileio.c (Fexpand_file_name): build fix.
5652         * general-slots.h: add Qdirectory.
5653         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
5654         handling.
5655         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
5656         cygwin not leaving win32 paths unchanged.
5657         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
5658         cygwin runtime to do path conversion.
5659         (Fmswindows_shell_execute): fix cygwin handling of URLs.
5660         (syms_of_win32): add new function.
5661         * window.c (window_loop): build fix.
5662
5663 2001-10-15  Andy Piper  <andy@xemacs.org>
5664
5665         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
5666
5667 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
5668
5669         * XEmacs 21.4.5 "Civil Service" is released.
5670
5671 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
5672
5673         * glyphs-x.c: Force buffer-tab highlight update when moving the
5674         buffer, avoiding an ugly black border, used for keyboard focus
5675         indication, on a widget that can never have keyboard focus, the
5676         buffer tab.
5677
5678 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
5679
5680         * process-unix.c (unix_open_multicast_group): Remove too much
5681         conversion between host and network byte order.
5682
5683 2001-09-10  Nix  <nix@esperi.demon.co.uk>
5684
5685         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
5686         before replacing them.
5687
5688         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
5689         operation.
5690
5691         * src/window.c (undedicate_windows): Use it.
5692         * src/window.h: Add prototype.
5693
5694 2001-09-17  Ben Wing  <ben@xemacs.org>
5695
5696         * fileio.c (normalize_filename):
5697         * fileio.c (Fexpand_file_name):
5698         Fix various C++ compile errors in Andy's recent code.
5699         
5700         * callint.c (Fcall_interactively):
5701         * editfns.c (Ftemp_directory):
5702         * editfns.c (Fuser_full_name):
5703         * emacs.c (argmatch):
5704         * lread.c (locate_file_map_suffixes):
5705         * redisplay-x.c (x_ring_bell):
5706         Fix sign-compare warnings.
5707         
5708 2001-09-08  Andy Piper  <andy@xemacs.org>
5709
5710         * fileio.c (normalize_filename): copied from nt.c
5711         * (Ffile_name_directory): enable win32 paths under cygwin.
5712         * (Ffile_name_nondirectory): ditto.
5713         * (directory_file_name): ditto.
5714         * (Fexpand_file_name): ditto.
5715         * (Ffile_truename): ditto.
5716         * (Fsubstitute_in_file_name): ditto.
5717         * (Ffile_name_absolute_p): ditto.
5718         * (Ffile_readable_p): ditto.
5719
5720 2001-09-08  Andy Piper  <andy@xemacs.org>
5721
5722         * device-msw.c (mswindows_finish_init_device): remove dde
5723         initialization.
5724         * device-msw.c (mswindows_init_dde): factor out from
5725         mswindows_finish_init_device()
5726         * device-msw.c (init_mswindows_very_early): new function
5727         initialize but don't enable dde.
5728         * emacs.c (main_1): call init_mswindows_very_early.
5729         * event-msw.c:
5730         * event-msw.c (mswindows_dde_callback): only execute when we are
5731         ready.
5732         * symsinit.h: declare init_mswindows_very_early.
5733
5734 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5735
5736         [sjt: This has been in 21.5 for months with no complaints.]
5737
5738         * console.h (struct console_methods): Added flags member.
5739         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
5740         (CONMETH_IMPL_FLAG):
5741         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
5742         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5743
5744         * device.c (window_system_pixelated_geometry): Use the above macros.
5745
5746         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
5747         implememntation flag.
5748         * device.h (DEVICE_DISPLAY_P): Use it.
5749
5750         * frame.c (delete_frame_internal): Use the above macro.
5751
5752         * redisplay.c (redisplay_device): Use it.
5753         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5754         (redisplay_frame): Ditto.
5755
5756         * device-msw.c (mswindows_device_implementation_flags): Removed.
5757         (msprinter_device_implementation_flags): Removed.
5758         (console_type_create_device_mswindows): Removed references to
5759         implementation_flags methods, set implementation flags here.
5760         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
5761
5762         * device-gtk.c (gtk_device_implementation_flags): Removed method.
5763         (console_type_create_device_gtk): Removed method declaration.
5764         Added commented out statement which semantically matches the
5765         commented out statement in the above removed method.
5766
5767 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
5768
5769         The attached patch fixes a few warnings. 
5770
5771         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
5772         * src/frame-gtk.c: guard against GNOME calls in GTK only
5773         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
5774         * src/select-gtk.c: prototype lisp_to_time
5775
5776 2001-06-08  Ben Wing  <ben@xemacs.org>
5777
5778         ------ gc-in-window-procedure fixes ------
5779         
5780         * alloc.c:
5781         * alloc.c (struct post_gc_action):
5782         * alloc.c (register_post_gc_action):
5783         * alloc.c (run_post_gc_actions):
5784         * alloc.c (garbage_collect_1):
5785         Create "post-gc actions", to avoid those dreaded "GC during window
5786         procedure" problems.
5787
5788         * event-msw.c:
5789         Abort, clean and simple, when GC in window procedure.  We want
5790         to flush these puppies out.
5791
5792         * glyphs-msw.c:
5793         * glyphs-msw.c (finalize_destroy_window):
5794         * glyphs-msw.c (mswindows_finalize_image_instance):
5795         Use a post-gc action when destroying subwindows.
5796
5797         * lisp.h:
5798         Declare register_post_gc_action().
5799
5800         * scrollbar-msw.c:
5801         * scrollbar-msw.c (unshow_that_mofo):
5802         Use a post-gc action when unshowing scrollbar windows, if in gc.
5803
5804         * redisplay.c (mark_redisplay):
5805         Add comment about the utter evilness of what's going down here.
5806
5807         ------ cygwin setitimer fixes ------
5808         
5809         * Makefile.in.in (sheap_objs):
5810         * Makefile.in.in (profile_objs):
5811         * Makefile.in.in (objs):
5812         Compile profile.c only when HAVE_SETITIMER.
5813         
5814         * nt.c (mswindows_sigset):
5815         * nt.c (mswindows_sighold):
5816         * nt.c (mswindows_sigrelse):
5817         * nt.c (mswindows_sigpause):
5818         * nt.c (mswindows_raise):
5819         * nt.c (close_file_data):
5820         Style fixes.
5821         
5822         * nt.c:
5823         Move setitimer() emulation to win32.c, because Cygwin needs it too.
5824         
5825         * profile.c:
5826         * profile.c (Fstart_profiling):
5827         * profile.c (Fstop_profiling):
5828         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
5829         instead of just plain setitimer().
5830         
5831         * signal.c:
5832         * signal.c (set_one_shot_timer):
5833         * signal.c (alarm):
5834         Define qxe_setitimer() as an encapsulation around setitimer() --
5835         call setitimer() directly unless Cygwin or MS Win, in which case
5836         we use our simulated version in win32.c.
5837         
5838         * systime.h:
5839         * systime.h (struct itimerval):
5840         * systime.h (ITIMER_REAL):
5841         Prototype mswindows_setitimer() and qxe_setitimer().  Long
5842         comment about "qxe" and the policy regarding encapsulation.
5843
5844         * win32.c:
5845         * win32.c (setitimer_helper_proc):
5846         * win32.c (setitimer_helper_period):
5847         * win32.c (setitimer_helper):
5848         * win32.c (mswindows_setitimer):
5849         Move setitimer() emulation here, so Cygwin can use it.
5850         Rename a couple of functions and variables to be longer and more
5851         descriptive.  In setitimer_helper_proc(), send the signal
5852         using either mswindows_raise() or (on Cygwin) kill().  If for
5853         some reason we are still getting lockups, we'll change the kill()
5854         to directly invoke the signal handlers.
5855
5856         ------ windows shell fixes ------
5857         
5858         * callproc.c:
5859         * ntproc.c:
5860         Comments about how these two files must die.
5861
5862         * callproc.c (init_callproc):
5863         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
5864         not just COMSPEC. (more correct and closer to FSF.) Don't
5865         force a value for SHELL into the environment. (Comments added
5866         to explain why not.)
5867         
5868         * nt.c (init_user_info):
5869         Don't shove a fabricated SHELL into the environment.  See above.
5870
5871 2001-06-01  Ben Wing  <ben@xemacs.org>
5872
5873         * Makefile.in.in (ldflags):
5874         eliminate that pesky "defaulting to 00401000" warning.
5875         * nt.h:
5876         eliminate warnings.
5877
5878 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
5879
5880         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
5881         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
5882
5883 2001-04-24  Jerry James <james@xemacs.org>
5884
5885         * faces.h: pass parameters to Fadd_spec_to_specifier in the
5886         correct order.
5887
5888 2001-06-01  Ben Wing  <ben@xemacs.org>
5889
5890         * event-msw.c (debug_mswin_messages):
5891         conditionalize the messages that were causing compile errors.
5892         (if only macros could generate #ifdef statements ...)
5893
5894 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
5895
5896         * XEmacs 21.4.4 "Artificial Intelligence" is released.
5897
5898 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5899
5900         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
5901
5902 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5903
5904         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
5905         * process-unix.c (unix_canonicalize_host_name):
5906         sysdep.c (init_system_name):
5907         Use it to conditionally support IPv6 canonicalization.
5908
5909 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
5910
5911         * event-msw.c:
5912         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
5913
5914 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
5915
5916         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
5917         attempt is made to scroll when no scroll bar is available.
5918
5919 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5920
5921         * input-method-motif.c (XIM_delete_frame): New callback.
5922         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
5923         got deleted from 21.4.3.)
5924
5925 2001-06-01  Ben Wing  <ben@xemacs.org>
5926
5927         * nt.c (mswindows_utime):
5928         * nt.c (close_file_data):
5929         fix off-by-one-indirection error.
5930
5931 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
5932
5933         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
5934         because set_file_times() now takes Lisp_Object path, instead of
5935         char*.
5936         * nt.c: Include buffer.h.
5937         * nt.c (convert_from_time_t): New.
5938         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
5939         not set mtime correctly.
5940         * nt.h: Declare mswindows_utime().
5941         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
5942         path, instead of char*.
5943         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
5944
5945 2001-05-30  Ben Wing  <ben@xemacs.org>
5946
5947         For 21.4:
5948
5949         (Stephen, just take all event-msw.c patches.  This includes
5950         the "iconify" fix below.)
5951
5952         * event-msw.c:
5953         * event-msw.c (mswindows_dequeue_dispatch_event):
5954         * event-msw.c (assert):
5955         * event-msw.c (emacs_mswindows_quit_p):
5956         * event-msw.c (debug_mswin_messages):
5957         * event-msw.c (debug_output_mswin_message):
5958         * event-msw.c (vars_of_event_mswindows):
5959         Fix yet more problems with C-g handling.
5960         Implement debug-mswindows-events.
5961         
5962 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5963
5964         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
5965         
5966 2001-05-23  Ben Wing  <ben@xemacs.org>
5967
5968         * event-msw.c (winsock_writer):
5969         * event-msw.c (winsock_closer):
5970         prior kludgy code was clobbering the buffer, thinking it was
5971         "unused" space to store an unneeded return value; instead, use
5972         the variable we've already got staring us in the face.
5973
5974 2001-05-17  Andy Piper  <andy@xemacs.org>
5975
5976         * sysfile.h: don't assume that file attributes are boolean
5977
5978 2001-05-23  Ben Wing  <ben@xemacs.org>
5979
5980         * device-msw.c (msprinter_init_device):
5981         signal an error rather than crash with an unavailable network
5982         printer (from Mike Alexander).
5983         
5984         * event-msw.c:
5985         * event-msw.c (struct winsock_stream):
5986         * event-msw.c (winsock_writer):
5987         * event-msw.c (winsock_closer):
5988         * event-msw.c (make_winsock_stream_1):
5989         cleanup headers.  fix (hopefully) an error with data corruption
5990         when sending to a network connection.
5991
5992         * fileio.c (Fexpand_file_name): Fix evil code that attempts
5993         to handle the ~user prefix by (a) always assuming we're referencing
5994         ourselves and not even verifying the user -- hence any file with
5995         a tilde as its first char is invalid! (b) if there wasn't a slash
5996         following the filename, the pointer was set *past* the end of
5997         file and we started reading from uninitialized memory.  Now we
5998         simply treat these as files, always.
5999
6000         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6001         
6002 2001-05-19  Ben Wing  <ben@xemacs.org>
6003
6004         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6005
6006         * process-nt.c:
6007         * process-nt.c (vars_of_process_nt):
6008         remove unused mswindows-quote-process-args.  rec for 21.4.
6009         
6010 2001-05-12  Ben Wing  <ben@xemacs.org>
6011
6012         * event-msw.c (mswindows_dde_callback):
6013         * event-msw.c (mswindows_wnd_proc):
6014         eliminate cygwin warnings.
6015
6016 2001-05-06  Ben Wing  <ben@xemacs.org>
6017
6018         * console-msw.h:
6019         * device-msw.c:
6020         * device-msw.c (print_dialog_worker):
6021         * device-msw.c (mswindows_handle_print_dialog_box):
6022         * device-msw.c (syms_of_device_mswindows):
6023         * dialog-msw.c (mswindows_make_dialog_box_internal):
6024         * general-slots.h:
6025         implement printing the selection when it's selected.
6026
6027 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6028
6029         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6030
6031 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6032
6033         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6034         EMACS_INT is signed.
6035
6036 2001-04-15  Michael Lausch  <mla@1012surf.net>
6037
6038         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6039         gtk_widget_request_size() to give scrollbar >0 width for
6040         GTK >1.2.8.
6041
6042 2001-05-30  William M. Perry  <wmperry@gnu.org>
6043
6044         * event-gtk.c: Check for buttons as modifier keys.
6045
6046 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6047
6048         * s\mingw32.h:
6049         Properly find MinGW's <process.h> inside Cygwin's restructured
6050         include directories.  Don't try to include <cygwin/version.h>
6051         since we are dropping support for MinGW in versions of Cygwin
6052         earlier than b21.
6053         * nt.c:
6054         Drop support for MinGW in versions of Cygwin before b21.
6055         * sysdep.c:
6056         Properly find MinGW's <process.h> inside Cygwin's restructured
6057         include directories.
6058         * syswindows.h:
6059         Drop support for MinGW in versions of Cygwin before b21.
6060         * unexcw.c:
6061         Even though a.out.h is no longer detected by configure, allow
6062         MinGW to use it until we figure out how to do the job with Win32.
6063
6064 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6065
6066         * syntax.c (find_start_of_comment):
6067         Fix `unbalanced parentheses' bug when dealing with mixed comment
6068         styles in c++/java/etc. mode
6069
6070 2001-05-29  Mike Alexander  <mta@arbortext.com>
6071
6072         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6073         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6074
6075 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6076
6077         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6078
6079 2001-03-31  Mike Sperber <mike@xemacs.org>
6080
6081         * search.c (Freplace_match): Support FSF-style specification of
6082         match subexpression when applied to a buffer.
6083
6084 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6085
6086         * event-stream.c (is_scrollbar_event): add missing semicolon
6087
6088 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6089
6090         * Makefile.in.in: Use TAR macro instead of hardcoding
6091           tar.  Allows use of GNU tar instead of system tar
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-17  Stephen J. Turnbull  <stephen@xemacs.org>
6098
6099         * XEmacs 21.4.3 "Academic Rigor" is released.
6100
6101 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6102
6103         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6104
6105 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6106
6107         * buffer.c (Vcase_fold_search): Remove obsolete
6108           comment about non ASCII case-fold-search.  This
6109           bug has been fixed by case-table changes.
6110
6111 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6112
6113         * event-msw.c: Restore include of events-mod.h.
6114
6115 2001-04-22   zhaoway  <zw@debian.org>
6116
6117         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6118         !HAVE_SCROLLBARS.
6119
6120 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6121
6122         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6123
6124 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6125
6126         * mule-charset.c (Fmake_charset): Add missing else.
6127
6128 2001-04-23  Ben Wing  <ben@xemacs.org>
6129
6130         * event-msw.c (FAKE_MOD_QUIT):
6131         * event-msw.c (mswindows_dequeue_dispatch_event):
6132         * event-msw.c (mswindows_wnd_proc):
6133         * event-msw.c (emacs_mswindows_quit_p):
6134         Get critical quit working.
6135
6136 2001-05-05  Ben Wing  <ben@xemacs.org>
6137
6138         * console-msw.h:
6139         * device-msw.c:
6140         * device-msw.c (mswindows_get_default_margin):
6141         * frame-msw.c (mswindows_size_frame_internal):
6142         * frame-msw.c (msprinter_init_frame_1):
6143         * frame-msw.c (vars_of_frame_mswindows):
6144         Change top/bottom margin defaults to 0.5 inches.
6145
6146 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6147
6148         Fix link error with gcc 3.0 on Linux.
6149         * terminfo.c (UP): Remove.
6150         * terminfo.c (BC): Remove.
6151         * terminfo.c (PC): Remove.
6152         They weren't used, and in any case, these symbols should be
6153         defined in the *library*.
6154
6155 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6156
6157         * s/aix4.h: Fix crash with xlc -O3.
6158         Improve comment explaining how -O3 works.
6159
6160 2001-04-15  Ben Wing  <ben@xemacs.org>
6161
6162         * event-stream.c:
6163         * event-stream.c (Fnext_event):
6164         * event-stream.c (is_scrollbar_event):
6165         * event-stream.c (execute_command_event):
6166         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6167         crash' problem.  His fix introduces other problems.  We filter
6168         out scrollbar events specifically, making them somewhat invisible
6169         to command-building, and not appearing in `this-command-keys'.
6170         More work is still needed (see comments in event-stream.c), but
6171         this fixes all the major problems.
6172
6173 2001-04-20  Ben Wing  <ben@xemacs.org>
6174
6175         * .cvsignore: Added stuff for Windows.
6176
6177 2001-04-28  Ben Wing  <ben@xemacs.org>
6178
6179         * buffer.c (Ferase_buffer):
6180         * editfns.c (buffer_insert1):
6181         * editfns.c (Finsert_before_markers):
6182         * editfns.c (Finsert_string):
6183         * editfns.c (Finsert_char):
6184         * editfns.c (Fdelete_region):
6185         * editfns.c (Fwiden):
6186         * editfns.c (Fnarrow_to_region):
6187         remove bogus lines setting zmacs_region_stays to 0.
6188         
6189 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6190
6191         * process-unix.c (unix_open_network_stream): If connect() fails
6192         invalidate file descriptor after closing it.
6193
6194 2001-03-08  Mike Alexander  <mta@arbortext.com>
6195
6196         * event-msw.c (mswindows_need_event_in_modal_loop):
6197         Don't dispatch a message if we didn't get one.
6198         (mswindows_need_event):
6199         Terminate the correct process when one exits instead of the first
6200         one on Vprocess_list and look for process termination when in
6201         mswindows_protect_modal_loop.
6202
6203 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6204
6205         * XEmacs 21.4.1 "Copyleft" is released.
6206
6207 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6208
6209         * input-method-motif.c (XIM_delete_frame): New callback.
6210         (XIM_init_frame): Register it.
6211
6212 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6213
6214         * XEmacs 21.4.0 "Solid Vapor" is released.
6215
6216 2001-04-15  Ben Wing  <ben@xemacs.org>
6217
6218         * cmdloop.c (call_command_loop):
6219         Fix braino in bit-rotting code.
6220         
6221 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6222
6223         * extents.c (Fset_extent_endpoints): Force creation of extent info
6224         in buffer_or_string.
6225
6226         * extents.c (process_extents_for_insertion_mapper): Correctly
6227         check for open-open zero-length extents.
6228
6229 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6230
6231         * lisp.h: New typedefs Memory_count, Element_count.
6232         * regex.c:
6233         * regex.h:
6234         Sign-compare warning elimination: several unsigned -> signed.
6235         Based on work by Ben Wing <ben@xemacs.org>.
6236
6237 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6238
6239         * XEmacs 21.2.47 "Zephir" is released.
6240
6241 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6242
6243         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6244
6245 2001-04-03  Mike Sperber <mike@xemacs.org>
6246
6247         * search.c: Revert previous patch due because of release.
6248
6249 2001-03-30  Ben Wing  <ben@xemacs.org>
6250
6251         * s\cygwin32.h:
6252         Add missing killpg prototype.
6253
6254         * elhash.c:
6255         Add a comment about fixing problems when a new entry is added
6256         while mapping.
6257
6258         * frame-msw.c (mswindows_init_frame_1):
6259         Fix compile warnings.
6260
6261         * menubar.c (vars_of_menubar):
6262         Provide `menu-accelerator-support' to indicate that we properly
6263         support %_ in menu specifications, so that package code can
6264         conditionalize on this (and remove %_ from menu specifications
6265         on older versions).
6266
6267         * event-msw.c:
6268         * scrollbar-msw.c:
6269         * scrollbar-msw.c (can_scroll):
6270         * scrollbar-msw.h:
6271         Fix handling of mouse wheel under Windows to follow standards --
6272         now scrolls window under pointer, not selected window.
6273
6274 2001-03-31  Mike Sperber <mike@xemacs.org>
6275
6276         * search.c (Freplace_match): Support FSF-style specification of
6277         match subexpression when applied to a buffer.
6278
6279 2001-03-15  Martin Buchholz  <martin@xemacs.org>
6280
6281         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
6282         function to modify KEYMAP, so map over a copy of the hash table.
6283
6284 2001-03-21  Martin Buchholz <martin@xemacs.org>
6285
6286         * XEmacs 21.2.46 "Urania" is released.
6287
6288 2001-03-20  Dan Holmsand  <dan@eyebee.com>
6289
6290         * realpath.c (xrealpath): Make file-truename work with symlinks to
6291         /cygdrive paths on cygwin. Always lowercase drive-letters on
6292         native windows.
6293         (cygwin_readlink): Don't try to find canonical filename unless
6294         file exists.
6295
6296 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
6297
6298         * ChangeLog: Log GTK merge.
6299
6300         * dumper.c:
6301         * select-x.c:
6302         * specifier.c:
6303         * symeval.h:
6304         Revert gratuitous whitespace changes from GTK merge.
6305
6306         * emacs.c: Document end of complex #ifdef @ l. 1495.
6307
6308
6309 2001-03-12  Andy Piper  <andy@xemacs.org>
6310
6311         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
6312         have to do likewise.
6313
6314 2001-03-12  Andy Piper  <andy@xemacs.org>
6315
6316         * sysdep.c: we only support mingw now.
6317
6318 2001-03-09  Andy Piper  <andy@xemacs.org>
6319
6320         * unexcw.c (copy_executable_and_dump_data_section): making approx
6321         overrun a warning only.
6322
6323 2001-03-10  William M. Perry  <wmperry@aventail.com>
6324
6325         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
6326         satisfy Stephen's identical-after-cpp plea.
6327
6328 2001-03-02  Ben Wing  <ben@xemacs.org>
6329
6330         * cmds.c:
6331         * cmds.c (Fforward_char):
6332         * syntax.c:
6333         * window.c:
6334
6335         Augment documentation of the most common motion commands to make
6336         note of the shifted-motion support.
6337         
6338 2001-03-02  Ben Wing  <ben@xemacs.org>
6339
6340         * nt.c (mswindows_fstat):
6341         * nt.c (mswindows_stat):
6342         * search.c (boyer_moore):
6343         Fix compile warnings under Windows.
6344         
6345         * sysdep.c (sys_readdir):
6346         Fix buggy filename-conversion code under Mule.
6347
6348 2001-03-09  William M. Perry  <wmperry@aventail.com>
6349
6350         * Makefile.in.in:
6351         * config.h.in:
6352         * console.c:
6353         * console.h:
6354         * device.c:
6355         * device.h:
6356         * dragdrop.c:
6357         * emacs.c:
6358         * event-stream.c:
6359         * events.c:
6360         * events.h:
6361         * faces.c:
6362         * frame.h:
6363         * general-slots.h:
6364         * glyphs.c:
6365         * gutter.c:
6366         * inline.c:
6367         * lisp.h:
6368         * lrecord.h:
6369         * make-src-depend:
6370         * redisplay-output.c:
6371         * redisplay.c:
6372         * symsinit.h:
6373         * sysfile.h:
6374         * toolbar.c:
6375         * window.c:
6376         The Great GTK Merge.
6377
6378         * ChangeLog.GTK:
6379         * console-gtk.c:
6380         * console-gtk.h:
6381         * device-gtk.c:
6382         * emacs-marshals.c:
6383         * emacs-widget-accessors.c:
6384         * event-gtk.c:
6385         * frame-gtk.c:
6386         * gccache-gtk.c:
6387         * gccache-gtk.h:
6388         * glade.c:
6389         * glyphs-gtk.c:
6390         * glyphs-gtk.h:
6391         * gtk-glue.c:
6392         * gtk-xemacs.c:
6393         * gtk-xemacs.h:
6394         * gui-gtk.c:
6395         * gui-gtk.h:
6396         * menubar-gtk.c:
6397         * native-gtk-toolbar.c:
6398         * objects-gtk.c:
6399         * objects-gtk.h:
6400         * redisplay-gtk.c:
6401         * scrollbar-gtk.c:
6402         * scrollbar-gtk.h:
6403         * select-gtk.c:
6404         * toolbar-gtk.c:
6405         * ui-byhand.c:
6406         * ui-gtk.c:
6407         * ui-gtk.h:
6408         The Great GTK Merge: new files.
6409
6410 2001-02-26  Ben Wing  <ben@xemacs.org>
6411
6412         Reapplied Lstream change.
6413
6414 2001-02-26  Ben Wing  <ben@xemacs.org>
6415
6416         Undid the last change, since it is more controversial than I
6417         thought.  It should be back in at some point soon.
6418         
6419 2001-02-25  Ben Wing  <ben@xemacs.org>
6420
6421         * buffer.c:
6422         * callproc.c (Fold_call_process_internal):
6423         * event-msw.c (ntpipe_slurp_reader):
6424         * event-msw.c (ntpipe_shove_writer):
6425         * event-msw.c (winsock_reader):
6426         * event-msw.c (winsock_writer):
6427         * file-coding.c:
6428         * file-coding.c (detect_eol_type):
6429         * file-coding.c (detect_coding_type):
6430         * file-coding.c (determine_real_coding_system):
6431         * file-coding.c (Fdetect_coding_region):
6432         * file-coding.c (decoding_reader):
6433         * file-coding.c (decoding_writer):
6434         * file-coding.c (mule_decode):
6435         * file-coding.c (Fdecode_coding_region):
6436         * file-coding.c (encoding_reader):
6437         * file-coding.c (encoding_writer):
6438         * file-coding.c (mule_encode):
6439         * file-coding.c (Fencode_coding_region):
6440         * file-coding.c (detect_coding_sjis):
6441         * file-coding.c (decode_coding_sjis):
6442         * file-coding.c (encode_coding_sjis):
6443         * file-coding.c (detect_coding_big5):
6444         * file-coding.c (decode_coding_big5):
6445         * file-coding.c (encode_coding_big5):
6446         * file-coding.c (detect_coding_ucs4):
6447         * file-coding.c (decode_coding_ucs4):
6448         * file-coding.c (encode_coding_ucs4):
6449         * file-coding.c (detect_coding_utf8):
6450         * file-coding.c (decode_coding_utf8):
6451         * file-coding.c (encode_coding_utf8):
6452         * file-coding.c (detect_coding_iso2022):
6453         * file-coding.c (decode_coding_iso2022):
6454         * file-coding.c (encode_coding_iso2022):
6455         * file-coding.c (decode_coding_no_conversion):
6456         * file-coding.c (encode_coding_no_conversion):
6457         * glyphs-x.c (write_lisp_string_to_temp_file):
6458         * gpmevent.c (tty_get_foreign_selection):
6459         * lisp.h:
6460         * lstream.c:
6461         * lstream.c (Lstream_flush_out):
6462         * lstream.c (Lstream_adding):
6463         * lstream.c (Lstream_write_1):
6464         * lstream.c (Lstream_write):
6465         * lstream.c (Lstream_raw_read):
6466         * lstream.c (Lstream_read_more):
6467         * lstream.c (Lstream_read):
6468         * lstream.c (Lstream_unread):
6469         * lstream.c (Lstream_fputc):
6470         * lstream.c (stdio_reader):
6471         * lstream.c (stdio_writer):
6472         * lstream.c (filedesc_reader):
6473         * lstream.c (filedesc_writer):
6474         * lstream.c (lisp_string_reader):
6475         * lstream.c (struct fixed_buffer_stream):
6476         * lstream.c (make_fixed_buffer_input_stream):
6477         * lstream.c (make_fixed_buffer_output_stream):
6478         * lstream.c (fixed_buffer_reader):
6479         * lstream.c (fixed_buffer_writer):
6480         * lstream.c (struct resizing_buffer_stream):
6481         * lstream.c (resizing_buffer_writer):
6482         * lstream.c (dynarr_writer):
6483         * lstream.c (lisp_buffer_reader):
6484         * lstream.c (lisp_buffer_writer):
6485         * lstream.h:
6486         * lstream.h (lstream_implementation):
6487         * lstream.h (struct lstream):
6488         * md5.c (Fmd5):
6489         * process-nt.c (nt_send_process):
6490         * process-unix.c (unix_send_process):
6491         
6492         Correct Lstream lossage due to mixing of signed and unsigned
6493         quantities.  All Lstream uses of size_t and ssize_t are now a
6494         single signed data type Lstream_data_count.  This fixes problems
6495         under Windows with sending large quantities of data to a process,
6496         and may well fix other subtle bugs.
6497
6498 2001-02-23  Martin Buchholz <martin@xemacs.org>
6499
6500         * XEmacs 21.2.45 "Thelxepeia" is released.
6501
6502 2001-02-21  Martin Buchholz  <martin@xemacs.org>
6503
6504         * lisp-union.h (XSETINT): 
6505         (XSETCHAR):
6506         (XSETOBJ): 
6507         Reverse previous change of 2001-02-06.
6508
6509 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
6510
6511         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
6512         buffers.
6513         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6514         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
6515         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
6516         * regex.c (POS_AS_IN_BUFFER): removed
6517         * regex.c (re_search_2):
6518         * regex.c (re_match_2):
6519         Don't use an offset of 1 when calculating buffer positions, since
6520         `BI_BUF_BEGV' does it already.
6521
6522 2001-02-18  Wim Dumon  <wim@easics.be>
6523
6524         * insdel.c (prepare_to_modify_buffer): Also check for
6525         supersession when clash-detection is enabled. 
6526
6527 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
6528
6529         * regex.c (re_match_2_internal):
6530         Convert temp characters from 'const unsigned char' to 're_char'.
6531         Fix crashing bug with extended characters under mule.
6532         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
6533         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
6534         font-lock, pdump, and new syntax-table code.
6535         * syntax.c (find_start_of_comment):
6536         (find_end_of_comment):
6537         (forward-comment):
6538         Fix crashing bugs involving moving beyond end of buffer.
6539         * syntax.c (find_start_of_comment):
6540         Fixed logic to allow proper detection of cases where the same
6541         character is used to end both a two-char comment start and a
6542         two-char comment end sequence. Fixes `(forward-comment -1)'.
6543         * syntax.c (find_start_of_comment):
6544         Return position just past last comment-end character for all cases
6545         (previously was only done for two-char comment-end sequences).
6546         * syntax.c (forward-comment):
6547         Take value returned from `find_end_of_comment', rather than
6548         incrementing it.
6549         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6550         Properly deal with BUFFERP (syntax_cache.object)
6551
6552 2001-02-17  Martin Buchholz  <martin@xemacs.org>
6553
6554         * alloc.c (Fgarbage_collect): 
6555         * alloc.c (make_bit_vector_from_byte_vector):
6556         -Wsign-compare-correctness.
6557
6558 2001-02-16  Martin Buchholz  <martin@xemacs.org>
6559
6560         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
6561         (XSETCHAR): Likewise.
6562         (XSETOBJ): Likewise.
6563
6564 2001-02-15  Martin Buchholz  <martin@xemacs.org>
6565
6566         * mule-canna.c (canna-func-delete_previous): 
6567         Rename to canna-func-delete-previous.
6568
6569 2001-02-14  Martin Buchholz  <martin@xemacs.org>
6570
6571         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
6572
6573 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
6574
6575         * font-lock.c (find_context): Fix C++ compile errors introduced by
6576         recent patch
6577
6578 2001-02-13  Martin Buchholz  <martin@xemacs.org>
6579
6580         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
6581         pragma, but earlier ones barf on the same pragma.
6582
6583 2001-02-06  Mike Sperber <mike@xemacs.org>
6584
6585         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
6586         `configure-mule-lisp-directory'.
6587
6588 2001-02-12  Martin Buchholz  <martin@xemacs.org>
6589
6590         Make sure dump-id.c is compiled in the same way as other .c's.
6591         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
6592         * dump-id.h: Remove.
6593         * emacs.c: Move dump-id.h into dumper.h.
6594         * dumper.h: Move dump-id.h into dumper.h.
6595         * Makefile.in.in:
6596         Use standard .c.o rule for building dump-id.o.
6597         Remove preprocessor flags from link command.
6598         Add dump-id.o to ${otherobjs} if PDUMP.
6599
6600 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
6601
6602         Port FSF 20.7 syntax table improvements.
6603         * syntax.c.
6604         * syntax.h.
6605
6606         Fixups for new syntax table stuff.
6607         * dired.c: Include syntax.c.
6608         (Fdirectory_files): Initialize regex_match_object and
6609         regex_emacs_buffer.
6610         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
6611         and Fget_char_property.
6612
6613         Use ported FSF 20.7 syntax table improvements.
6614         * font-lock.c.
6615         * regex.c.
6616         * search.c.
6617         
6618 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6619
6620         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
6621         Unixware's enum boolean from sys/types.h.
6622
6623 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6624
6625         Fix support for building with latest Purify.
6626         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
6627         (PURIFY_FLAGS): Likewise.
6628
6629 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6630
6631         * fileio.c (lisp_string_set_file_times): New.
6632         * fileio.c (Fcopy_file): Use it.
6633         Fixes bug:
6634         (copy-file filename non-ascii-filename t t)
6635         ==> No such file or directory, non-ascii-filename
6636
6637 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6638
6639         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
6640         USHRT_MAX seems clearer than ~0 anyways.
6641
6642 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6643
6644         dumper improvements.  Inspired by Olivier.
6645         * dumper.c (pdump_max_align): New.
6646         * dumper.c (pdump_add_entry): Use pdump_max_align.
6647         * dumper.c (pdump_get_entry_list): Likewise.
6648         * dumper.c (pdump_scan_by_alignment): Likewise.
6649         Don't iterate through unnecessary alignments.
6650         * dumper.c (pdump_file_get): No need to align result of malloc().
6651         * dumper.c (pdump_mallocadr): Remove.  
6652         The result of malloc() is guaranteed to be maximally aligned.
6653         * dumper.c: s/elmt/elt/g;
6654         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
6655         * dumper.c (pdump_alert_undump_object): Likewise.
6656         * dumper.c (pdump_align_table): 
6657         Don't support alignments > 64.
6658         Store ALIGNOF's, not shift counts, in table.
6659
6660 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6661
6662         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
6663         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
6664         * systime.h: Use HAVE_UTIME.
6665         * sysdep.c (struct utimbuf): Remove.
6666         * sysdep.c (set_file_times): Prefer utime() to utimes().
6667         * config.h.in (HAVE_UTIME): New.
6668         * config.h.in (HAVE_UTIME_H): Remove.
6669         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
6670
6671 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6672
6673         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
6674
6675 2001-02-08  Martin Buchholz  <martin@xemacs.org>
6676
6677         * s/irix6-0.h: Use the standard system memmove, not bcopy.
6678
6679 2001-02-08  Martin Buchholz <martin@xemacs.org>
6680
6681         * XEmacs 21.2.44 "Thalia" is released.
6682
6683 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6684
6685         Fixes crashes in kill-emacs on some systems.
6686         * process-unix.c (unix_kill_child_process):
6687         It's OK for kill() to fail with ESRCH.
6688
6689 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6690
6691         Contortions to make .gdbinit tricks work on most systems.
6692         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
6693         * alloc.c (dbg_valmask): Make non-const.
6694         * alloc.c (dbg_typemask): Make non-const.
6695         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
6696         * alloc.c (dbg_valbits): Make non-const.
6697         * alloc.c (dbg_gctypebits): Make non-const.
6698         * .gdbinit (decode_object): Make it work with AIX cc.
6699
6700 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6701
6702         * elhash.c (make_general_lisp_hash_table):
6703         Use simpler and more efficient calloc to clear entries.
6704
6705 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6706
6707         * window.c (window_scroll): Work around an AIX C compiler bug.
6708         Fixes 'scroll-up' does nothing problem with xlC.
6709
6710 2001-02-05  Martin Buchholz  <martin@xemacs.org>
6711
6712         * .gdbinit: Remove obsolete comment.
6713
6714 2001-01-31  Mike Alexander  <mta@arbortext.com>
6715
6716         * select.c (Fown_selection_internal): Set owned_p for device
6717         method correctly.
6718
6719 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6720
6721         Port to g++ 2.97.
6722         "not" cannot be used as a macro name as it is an operator in C++
6723         * config.h.in: Stop #defining `not'.
6724         * chartab.c (check_category_char): not ==> not_p
6725         * chartab.h: Likewise.
6726         * regex.c (re_match_2_internal): Likewise.
6727
6728 2001-02-02  Martin Buchholz  <martin@xemacs.org>
6729
6730         * lisp-disunion.h: Fix up comments.
6731
6732 2001-01-31  Martin Buchholz  <martin@xemacs.org>
6733
6734         * keymap.c (define_key_check_and_coerce_keysym):
6735         (syms_of_keymap):
6736         Support mouse-6 and mouse-7 bindings in the obvious way.
6737
6738 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6739
6740         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
6741
6742 2001-01-30  Martin Buchholz  <martin@xemacs.org>
6743
6744         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
6745         Previous patch missed DEFVAR_INT_MAGIC.
6746         Make sure future DEFVAR_foo use correct types.
6747         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
6748         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
6749         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
6750         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
6751         * (DEFVAR_INT): Likewise.
6752         * redisplay.c (vertical_clip): Should be of type Fixnum.
6753         * redisplay.c (horizontal_clip): Likewise.
6754         * lisp.h (dump_add_opaque_int): New.
6755         (dump_add_opaque_fixnum): New.
6756
6757 2001-01-29  Andy Piper  <andy@xemacs.org>
6758
6759         * glyphs-widget.c (check_valid_int_or_function): allow symbols
6760         since they can be eval'ed
6761
6762 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6763
6764         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
6765         Oops, XEmacs redefines `class'.  Use `typename' instead.
6766
6767 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6768
6769         * dumper.c: Fix C++ compile errors.
6770
6771 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6772
6773         * tparam.c: Use correct prototypes.
6774
6775 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6776
6777         * sysproc.h: #include util.h for NetBSD's openpty.
6778
6779 2001-01-27  Martin Buchholz  <martin@xemacs.org>
6780
6781         More 64-bit correctness.
6782         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
6783         Use a typedef `fixnum' for the type used for DEFVAR_INT.
6784         Fix up comments.
6785         This finally finishes the 64-bit SGI port.
6786         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
6787         * symbols.c: Fix up comments and type casts.
6788         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
6789         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
6790         * symeval.h (Fixnum): New type.
6791         * symeval.h (symbol_value_type): Fix up comment.
6792
6793         * commands.h:
6794         * nt.c:
6795         * emacs.c:
6796         * data.c:
6797         * redisplay.c:
6798         * abbrev.c:
6799         * dired-msw.c:
6800         * event-Xt.c:
6801         * eldap.c:
6802         * window.c:
6803         * sound.c:
6804         * event-stream.c:
6805         * eval.c:
6806         * buffer.c:
6807         * mule-canna.c: A million DEFVAR_INTs here...
6808         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
6809         * extents.c:
6810         * cmdloop.c:
6811         * lisp.h:
6812         * select-x.c:
6813         * console-x.h:
6814         * event-msw.c:
6815         * mule-wnnfns.c:
6816         * hpplay.c:
6817         * ralloc.c:
6818         * alloc.c:
6819         * keymap.c:
6820         * profile.c:
6821         s/int/Fixnum/g in DEFVAR_INT declarations.
6822
6823 2001-01-26  Martin Buchholz  <martin@xemacs.org>
6824
6825         Port pdump to SGI alignment-sensitive environment.
6826         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
6827         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
6828         properly aligned.
6829         Define and use aligned reading and writing macros.
6830         Use buffered stdio instead of posix i/o for faster dumping.
6831         Eliminate kludgy 256 byte space for header.
6832         Read and write from dump file using structs for alignment safety.
6833         * dumper.c (pdump_align_stream): New.
6834         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
6835         * dumper.c (PDUMP_READ_ALIGNED): New.
6836         * dumper.c (PDUMP_WRITE_ALIGNED): New.
6837         * dumper.c (pdump_static_Lisp_Object): New struct.
6838         * dumper.c (pdump_static_pointer): New struct.
6839         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
6840         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
6841         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
6842         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
6843
6844         * dumper.c (pdump_backtrace):
6845         * dumper.c (pdump_get_indirect_count):
6846         * dumper.c (pdump_register_object):
6847         * dumper.c (pdump_register_struct):
6848         * dumper.c (pdump_reloc_one):
6849         * dumper.c (pdump_scan_by_alignment):
6850         * dumper.c (pdump_dump_from_root_struct_ptrs):
6851         * dumper.c (pdump_dump_opaques):
6852         * dumper.c (pdump_dump_rtables):
6853         * dumper.c (pdump_dump_from_root_objects):
6854         * dumper.c (pdump):
6855         * dumper.c (pdump_load_finish):
6856         Use aligned reading and writing.
6857
6858         * dumper.c (pdump_free): Make static.
6859         * dumper.c (pdump_hFile): Likewise.
6860         * dumper.c (pdump_hMap): Likewise.
6861
6862 2001-01-26  Martin Buchholz <martin@xemacs.org>
6863
6864         * XEmacs 21.2.43 "Terspichore" is released.
6865
6866 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6867
6868         Type fiddling for window_config.saved_windows_count
6869         * window.c (struct window_config): 
6870         Make saved_windows_count member unsigned.
6871         * window.c (sizeof_window_config_for_n_windows): 
6872         Make parameter unsigned.
6873         * window.c (mark_window_config):
6874         * window.c (window_config_equal):
6875         * window.c (free_window_configuration):
6876         * window.c (Fset_window_configuration):
6877         * window.c (count_windows):
6878         * window.c (Fcurrent_window_configuration):
6879         * window.c (reinit_vars_of_window):
6880         Update all callers and users.
6881
6882 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6883
6884         Alignment correctness for flexible arrays.
6885         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
6886         Make alignment-correct. Add interesting comments.
6887         * alloc.c (size_vector):
6888         * alloc.c (make_vector_internal):
6889         * alloc.c (make_bit_vector_internal):
6890         * alloc.c (sweep_bit_vectors_1):
6891         * fns.c (size_bit_vector):
6892         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
6893         * window.c (sizeof_window_config_for_n_windows): 
6894         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
6895
6896 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6897
6898         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
6899
6900 2001-01-23  Andy Piper  <andy@xemacs.org>
6901
6902         * select.c (Fown_selection_internal): pass owned_p
6903
6904         * select-msw.c (mswindows_own_selection): New Signature.
6905
6906         * console.h (struct console_methods): add owned_p to
6907         _own_selection.
6908
6909         * select-x.c (x_own_selection): pass owned_p
6910         (hack_motif_clipboard_selection): use owned_p
6911         (vars_of_select_x): new variable -
6912         x_selection_strict_motif_ownership.
6913
6914 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6915
6916         * specifier.h (specifier_data_offset): Remove pointless parens.
6917         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
6918
6919 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6920
6921         Make Lisp_Object sizeof methods be alignment-correct.
6922         pdump must restore objects to the same alignment as the C compiler
6923         assumes.  It really matters on SGIs.
6924         * lstream.c (aligned_sizeof_lstream): New.
6925         (sizeof_lstream): Use aligned_sizeof_lstream.
6926         (Lstream_new): Likewise.
6927         * opaque.c (aligned_sizeof_opaque): New.
6928         (sizeof_opaque): Use aligned_sizeof_opaque.
6929         (make_opaque): Likewise.
6930         * specifier.c (aligned_sizeof_specifier): New.
6931         (sizeof_specifier): Use aligned_sizeof_specifier.
6932         (make_specifier_internal): Likewise.
6933
6934 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6935
6936         * lstream.h (struct lstream): Use max_align_t for trailing data.
6937         * specifier.h (struct Lisp_Specifier): Likewise.
6938
6939 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6940
6941         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
6942         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
6943         (CCL_SUSPEND): Likewise.
6944         (CCL_INVALID_CMD): Likewise.
6945         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
6946         (ccl_driver): Likewise.
6947         (CCL_WRITE_CHAR): Macro hygiene.
6948         (CCL_WRITE_STRING): Macro hygiene.
6949
6950 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6951
6952         Port "portable" dumper to SunOS 4 and HP-UX.
6953         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
6954         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
6955         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
6956
6957 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6958
6959         * lisp.h (ALIGNOF): A better definition for C++.
6960
6961 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6962
6963         Macro hygiene.
6964         Fix printf warnings: int format, long int arg.
6965         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
6966         (PUSH_FAILURE_POINT): Use correct printf formats.
6967         (POP_FAILURE_POINT): Use correct printf formats.  
6968         Use do {...} while (0)
6969
6970 2001-01-20  Martin Buchholz <martin@xemacs.org>
6971
6972         * XEmacs 21.2.42 "Poseidon" is released.
6973
6974 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6975
6976         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
6977
6978 2001-01-19  Martin Buchholz  <martin@xemacs.org>
6979
6980         De-kludgify FIXED_TYPE free list frobbing.
6981         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
6982         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
6983         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
6984         * alloc.c (Lisp_Free): New pseudo lisp object definition.
6985         * alloc.c (LRECORD_FREE_P): New.
6986         * alloc.c (MARK_LRECORD_AS_FREE): New.
6987         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
6988         * alloc.c (STRUCT_FREE_P): Deleted.
6989         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
6990         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
6991         * alloc.c (STRING_CHARS_FREE_P): New.
6992         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
6993         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
6994         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
6995         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
6996         * alloc.c (resize_string): Use new definitions.
6997         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
6998         * alloc.c (verify_string_chars_integrity): Use new definitions.
6999         * alloc.c (compact_string_chars): Use new definitions.
7000         * alloc.c: Update monster comments.
7001         * lrecord.h (lrecord_type): Add some new lrecord types for
7002         alloc.c's use.
7003
7004 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7005
7006         Improve alignment hackery.
7007         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7008         (max_align_t): Moved from opaque.h - general purpose.
7009         (ALIGN_PTR): Use size_t, not long.
7010         * opaque.h (max_align_t): Move to lisp.h.
7011
7012 2001-01-18  Norbert Koch  <nk@LF.net>
7013
7014         * gui.h: Fix and add prototypes to fix build problems.
7015
7016 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7017
7018         temacs is going away, so `dump-temacs' is now a bad name.
7019         * .dbxrc (dump-temacs): Rename to `dmp'.
7020         * .gdbinit (dump-temacs): Rename to `dmp'.
7021
7022 2001-01-17  Andy Piper  <andy@xemacs.org>
7023
7024         * glyphs.c (print_image_instance): comment to make martin happy.
7025
7026         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7027         change.
7028
7029         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7030         activation.
7031         (mswindows_tab_control_redisplay): warning suppression.
7032
7033         * glyphs-widget.c (widget_update): re-write to cope with updated
7034         items.
7035         (widget_instantiate): use new gui_item functions.
7036         (tab_control_update): deleted.
7037         (progress_gauge_update): deleted.
7038         (image_instantiator_progress_guage): take out update reference.
7039         (image_instantiator_tree_view): ditto.
7040         (image_instantiator_tab_control): ditto.
7041
7042         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7043         Right the new way.
7044         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7045         return whether anything was changed.
7046         (update_gui_item_keywords): as it sounds.
7047
7048         * gui.h: declare widget_gui_parse_item_keywords.
7049
7050         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7051         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7052
7053 2001-01-17  Martin Buchholz <martin@xemacs.org>
7054
7055         * XEmacs 21.2.41 "Polyhymnia" is released.
7056
7057 2001-01-16  Didier Verna  <didier@xemacs.org>
7058
7059         * glyphs.c (image_instantiate): don't use fallbacks when
7060         instantiating a face's background pixmap by inheritance.
7061
7062 2001-01-14  Mike Sperber <mike@xemacs.org>
7063
7064         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7065         Conditionalize accordingly.
7066
7067 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7068
7069         * dumper.c (pdump_file_get): Fix a compiler warning.
7070
7071 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7072
7073         Make Purify happy when pdumping.
7074         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7075         iniitalizing all bits of new lisp object memory.
7076         * symbols.c (Fmake_local_variable): Likewise.
7077         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7078         * symbols.c (Fdefvaralias): Likewise.
7079         * mule-charset.c (vars_of_mule_charset): Likewise.
7080
7081 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7082         Add the `-nd' flag when running pre-dump operations under the debugger.
7083         * .dbxrc (run-temacs): Add `-nd'.
7084         * .dbxrc (update-elc): Likewise.
7085         * .dbxrc (dump-temacs): Likewise.
7086         * .gdbinit (run-temacs): Likewise.
7087         * .gdbinit (check-temacs): Likewise.
7088         * .gdbinit (update-elc): Likewise.
7089         * .gdbinit (dump-temacs): Likewise.
7090
7091 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7092
7093         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7094         export OBJECT_MODE=64
7095         configure --pdump --use-union-type=no
7096         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7097         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7098
7099         * miscplay.c (sndcnv8U_2mono):
7100         Avoid two uses of `++' in the same expression.
7101         Suppresses a GCC warning.
7102
7103 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7104
7105         Make sure future compilers don't miscompile alloc.c.
7106         * alloc.c:
7107         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7108         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7109
7110 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7111
7112         * dumper.c: A little post-pdump-rename comment fixup.
7113
7114 2001-01-09  Jerry James  <james@eecs.ku.edu>
7115
7116         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7117
7118 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7119
7120         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7121         script:
7122         #!/bin/sh
7123         replace_symbol () {
7124           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7125         }
7126
7127         replace_symbol pdump_wire_lists pdump_weak_object_chains
7128         replace_symbol pdump_wire_list dump_add_weak_object_chain
7129
7130         replace_symbol pdump_wires pdump_root_objects
7131         replace_symbol pdump_wire dump_add_root_object
7132
7133         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7134         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7135
7136         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7137         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7138         replace_symbol dumpstructinfo pdump_root_struct_ptr
7139         replace_symbol dumpstruct dump_add_root_struct_ptr
7140
7141         replace_symbol dumpopaque dump_add_opaque
7142         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7143         replace_symbol dumpopaqueinfos pdump_opaques
7144         replace_symbol dumpopaqueinfo pdump_opaque
7145
7146         replace_symbol nb_structdump nb_root_struct_ptrs
7147         replace_symbol nb_opaquedump nb_opaques
7148
7149         replace_symbol align_table pdump_align_table
7150         replace_symbol dump_header pdump_header
7151
7152         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7153         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7154
7155
7156 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7157
7158         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7159         optimizing bytecount_to_charcount().
7160
7161 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7162
7163         * config.h.in:
7164         (HAVE_DLFCN_H): Removed.
7165         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7166
7167 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7168
7169         Portable dumper maintainability improvements.
7170         * alloc.c (staticpro):
7171         * alloc.c (staticpro_nodump):
7172         * alloc.c (garbage_collect_1):
7173         * alloc.c (reinit_alloc_once_early):
7174         * alloc.c (init_alloc_once_early):
7175         * alloc.c: Move dumper functions to alloc.c.
7176         * dumper.c (pdump_backtrace):
7177         * dumper.c (pdump_dump_structs):
7178         * dumper.c (pdump_dump_opaques):
7179         * dumper.c (pdump_dump_rtables):
7180         * dumper.c (pdump_dump_wired):
7181         * dumper.c (pdump):
7182         * dumper.c (pdump_load_check):
7183         * dumper.c (pdump_load_finish):
7184         * dumper.c (pdump_file_unmap):
7185         * dumper.c (pdump_file_get):
7186         * dumper.c (pdump_resource_free):
7187         * dumper.c (pdump_resource_get):
7188         * dumper.c (pdump_file_free):
7189         * dumper.c (pdump_file_try):
7190         * dumper.c (pdump_load):
7191         Remove fixed size limits on staticpro(), staticpro_nodump(),
7192         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7193         Remove custom code for dumping lrecord_implementations_table - use
7194         dumpopaque instead.
7195         Remove (most of the) custom code for dumping staticpros - dump it
7196         like any other dynarr.
7197
7198         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7199         * dumper.c: Moved functions from alloc.c.
7200         * alloc.c (dumpstruct): Moved to dumper.c.
7201         * alloc.c (dumpopaque): Likewise.
7202         * alloc.c (pdump_wire): Likewise.
7203         * alloc.c (pdump_wire_list): Likewise.
7204
7205         * lisp.h (Dynarr_sizeof): New.
7206         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7207         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7208         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7209
7210         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7211         * lisp.h (dumpopaque): ditto.
7212         * lisp.h (pdump_wire): ditto.
7213         * lisp.h (pdump_wire_list): ditto.
7214
7215 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7216
7217         * make-src-depend (PrintPatternDeps):
7218         Use `sort' to make output independent of perl version.
7219
7220 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7221
7222         Port to Netbsd 1.5.
7223         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7224         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7225
7226 2001-01-03  Didier Verna  <didier@xemacs.org>
7227
7228         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7229         that `focus_frame' is alive before thinking of calling
7230         `redisplay_redraw_cursor' on it.
7231
7232 2001-01-08  Martin Buchholz <martin@xemacs.org>
7233
7234         * XEmacs 21.2.40 is released.
7235
7236 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7237
7238         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7239
7240 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7241
7242         * alloc.c (dbg_valmask): Make const.
7243         * alloc.c (dbg_typemask): Make const.
7244         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7245         * alloc.c (dbg_valbits): Make const.
7246         * alloc.c (dbg_gctypebits): Make const.
7247
7248 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
7249
7250         * redisplay-x.c (x_bevel_area):
7251         redisplay.h (struct rune):
7252         Typo fixes in comments.
7253
7254 2001-01-05  Andy Piper  <andy@xemacs.org>
7255
7256         * glyphs-x.c (x_redisplay_widget): use size changed for offset
7257         adjustment.
7258
7259         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
7260
7261 2001-01-05  Martin Buchholz  <martin@xemacs.org>
7262
7263         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
7264
7265         * mule-ccl.c (stack_idx_of_map_multiple):
7266         Non const global data must not be initialized!
7267         Found by MIYASHITA Hisashi.
7268
7269 2001-01-02  Andy Piper  <andy@xemacs.org>
7270
7271         * frame.c (change_frame_size): make sure frame size is always
7272         marked as changed.
7273
7274         * glyphs.c (image_instance_layout): minor code reuse.
7275
7276         * window.c (Fcurrent_window_configuration): revert previous
7277         change.
7278
7279 2001-01-02  Martin Buchholz  <martin@xemacs.org>
7280
7281         * glyphs.h:
7282         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
7283
7284 2000-12-31  Andy Piper  <andy@xemacs.org>
7285
7286         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
7287         when widget gets unmapped.
7288
7289         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
7290         function. Make sure widgets losing focus don't just drop it.
7291         (handle_focus_event_1): record the widget with focus.
7292
7293 2000-12-31  Andy Piper  <andy@xemacs.org>
7294
7295         * window.c (allocate_window): use
7296         make_image_instance_cache_hash_table.
7297         (make_dummy_parent): ditto.
7298         (Fset_window_configuration): ditto.
7299
7300         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
7301
7302         * glyphs.c (process_image_string_instantiator): use
7303         INSTANTIATOR_TYPE.
7304         (get_image_instantiator_governing_domain): ditto.
7305         (normalize_image_instantiator): ditto.
7306         (instantiate_image_instantiator): ditto.
7307         (make_image_instance_1): ditto.
7308         (image_instantiate): ditto. Key on glyph *and* instantiator type.
7309         (instantiator_eq_equal): new function for use with instance hash
7310         tables.
7311         (instantiator_eq_hash): ditto.
7312         (make_image_instance_cache_hash_table): create a suitable hash
7313         table for storing image instances.
7314
7315         * elhash.h (hash_table_weakness): new internal weakness type
7316         HASH_TABLE_KEY_CAR_VALUE_WEAK.
7317         declare new functions.
7318
7319         * elhash.c (finish_marking_weak_hash_tables): introduce yet
7320         another weakness type for glyphs.
7321         (make_standard_lisp_hash_table): new function split out from
7322         make_general_lisp_hash_table.
7323         (make_lisp_hash_table): call make_standard_lisp_hash_table.
7324         (hash_table_instantiate): ditto.
7325         (Fmake_hash_table): ditto.
7326
7327 2000-12-31  Martin Buchholz <martin@xemacs.org>
7328
7329         * XEmacs 21.2.39 is released.
7330
7331 2000-12-29  Andy Piper  <andy@xemacs.org>
7332
7333         * menubar.c (menubar_visible_p_changed): signal the frame changed.
7334
7335         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
7336         the frame has changed so that we pick up geometry changes such as
7337         menubar visibility.
7338
7339 2000-12-28  Andy Piper  <andy@xemacs.org>
7340
7341         * lastfile.c (my_ebss): make a char array so we can pad the
7342         bss. Fixes cygwin unexec.
7343
7344         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
7345
7346 2000-12-26  Andy Piper  <andy@xemacs.org>
7347
7348         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
7349         comments and try and be more precise about a non-/SIGIO world.
7350         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
7351         SIGIO.
7352
7353         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
7354         we don't normalize to zero width or height.
7355
7356 2000-12-24  Andy Piper  <andy@xemacs.org>
7357
7358         * Makefile.in.in (ldflags): add -mwindows when appropriate.
7359
7360 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
7361
7362         * s/sco5.h: SCO 5 has pty support.
7363
7364 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
7365
7366         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
7367         input-method-xlib.c contains whole contents of input-method-xfs.c,
7368         so we can use input-method-xlib.c's code for USE_XFONTSET
7369         using #ifdefs.
7370         * input-method-xfs.c: removed.
7371
7372 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
7373
7374         * file-coding.h (enum coding_category_type): reorder enumerators to
7375         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
7376         (now one greater than largest real coding_category_type enumerator).
7377         * file-coding.c (coding_category_symbol, coding_category_by_priority,
7378         coding_category_system, fcd_descriptihon_1, decode_coding_category,
7379         Fcoding_category_list, Fset_coding_priority_list,
7380         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
7381         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
7382
7383 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7384
7385         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
7386         * redisplay-output.c (redisplay_output_window): Clear top of window
7387         when face is changed.
7388         * redisplay-x.c (x_redraw_exposed_window): Call
7389         redisplay_clear_top_of_window.
7390         * redisplay.h: Publish redisplay_clear_top_of_window.
7391
7392 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7393
7394         * buffer.c (Fkill_buffer): Map over all devices.
7395         * window.c (window_loop): Remove UNSHOW_BUFFER code.
7396         (list_windows): New function.
7397         (list_all_windows): Ditto.
7398         (Freplace_buffer_in_windows): Use them.
7399
7400 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
7401
7402         * database.c (berkdb_subtype): Recognize new subtype `queue'.
7403         (Fopen_database): Use `db_create' instead of `db_open'.
7404         (syms_of_database): Initialize Qqueue.
7405
7406 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7407
7408         * buffer.c (common_init_complex_vars_of_buffer): Initialize
7409         buffer_local_face_property.
7410         * buffer.h (struct buffer): New member buffer_local_face_property.
7411         * window.c (Fset_window_buffer):  Mark window's face as changed
7412         when buffer has buffer local face.
7413         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
7414         * objects.c (color_after_change): Set buffer_local_face_property
7415         when locale of face specifier is buffer.
7416         * objects.c (font_after_change): Ditto.
7417         * objects.c (face_boolean_after_change): Ditto.
7418         * glyphs.c (image_after_change): Ditto.
7419
7420 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7421
7422         * nt.c (mswindows_fstat): Report file permissions, volume serial
7423         number, etc. Code adapted from FSF Emacs 20.7.
7424
7425 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7426
7427         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
7428         of stat when we don't have symbolic links, to make sure
7429         mswindows_stat is called on mswindows.
7430
7431 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7432
7433         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
7434
7435 2000-12-12  Martin Buchholz  <martin@xemacs.org>
7436
7437         * doprnt.c (emacs_doprnt_1): More printing fixes.
7438         Make printing of numbers compatible with libc and FSF Emacs.
7439         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
7440         Use the system printf to do most of the hard work of formatting,
7441         instead of doprnt_1().
7442         Calculate memory to allocate for format string.
7443         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
7444         (doprnt_1): Cleaner code and documentation.
7445
7446 2000-12-01  Jerry James  <james@eecs.ukans.edu>
7447
7448         * Makefile.in.in: Use the loop variable to install headers.
7449
7450 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7451
7452         * window.c (Fsplit_window): Don't invalidate face cache.
7453
7454 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7455
7456         * minibuf.c (Fall_completions): Undo the previous change
7457         which removed checking elements start with space.
7458
7459 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7460
7461         * mule-canna.c: Didier suppression.
7462
7463 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7464
7465         * mule-canna.c: rename static unsigned char buf[] to key_buffer
7466         (warning suppression).  Add English comment translations.
7467
7468 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7469
7470         * unexelfsgi.c (unexec): Better test for mmap failure.
7471
7472 2000-12-05  Martin Buchholz <martin@xemacs.org>
7473
7474         * XEmacs 21.2.38 is released.
7475
7476 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7477
7478         * redisplay.c (bar-cursor): Make a user variable.
7479
7480         * symsinit.h: Add init_postgresql_from_environment.
7481
7482 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7483
7484         * regex.c: Convert to clean C.
7485
7486 2000-12-05  Dan Holmsand  <dan@eyebee.com>
7487
7488         * realpath.c:
7489         Don't #include sysfile.h. Revert to duplicating PATH_MAX
7490         initialization.
7491         (sys_readlink): renamed to system_readlink to avoid conflict with
7492         the other sys_readlink.
7493
7494 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
7495
7496         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
7497
7498 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
7499
7500         * postgresql.c (init_postgresql_from_environment): new function.
7501         (vars_of_postgresql): Move code initializing Lisp variables out and
7502         into init_postgresql_from_environment.
7503         emacs.c (main_1): Call init_postgresql_from_environment if and only
7504         if running a dumped XEmacs.
7505
7506 2000-08-31  Dan Holmsand  <dan@eyebee.com>
7507
7508         * buffer.c: Make find-file-compare-truenames default to true on
7509         windows.
7510
7511         * realpath.c (win32_abs_start):
7512         (cygwin_readlink):
7513         (win32_readlink): New functions.
7514         (xrealpath): Return really real filenames on windows.
7515
7516         * fileio.c (Ffile_truename): Make file-truename work on windows.
7517
7518 2000-11-29  Didier Verna  <didier@xemacs.org>
7519
7520         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
7521         * faces.c (update_face_cachel_data): use it.
7522         * faces.c (add_face_cachel): use it. Complete background pixmap
7523         frobbing in face cache if `update_face_cachel_data' has not done so.
7524
7525 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
7526
7527         * search.c (string_match_1): Don't set last_thing_searched
7528         when search failed.
7529
7530 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
7531
7532         * buffer.c: Include casetab.h
7533         (common_init_complex_vars_of_buffer): Use new case-table object.
7534         * buffer.h: Include casetab.h
7535         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
7536         (DOWNCASE_TABLE_OF): Ditto.
7537         * bufslots.h: Remove char-tables and add case-table.
7538         * casetab.c: Include casetab.h
7539         (CASE_TABLE_P): Removed.
7540         (mark_case_table): New function.
7541         (allocate_case_table): New function.
7542         (Fcase_table_p): Use new case-table.
7543         (case_table_char): New function.
7544         (Fget_case_table): Ditto.
7545         (Fput_case_table): Ditto.
7546         (Fput_case_table_pair): Ditto.
7547         (Fcopy_case_table): Ditto.
7548         (Fcurrent_case_table): Return case-table.
7549         (Fstandard_case_table): Return case-table.
7550         (Fset_case_table): Fix doc-string.
7551         (set_case_table): Use case-table
7552         (syms_of_casetab): DEFSUBR new functions.
7553         (complex_vars_of_casetab): Set up standard case-table.
7554         * casetab.h: New file.
7555         * editfns.c: Include casetab.h
7556         (Fcompare_buffer_substrings): Use case-table.
7557         * inline.c: Include casetab.h
7558         * lisp.h: Remove bogus extern.
7559         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
7560         * search.c: Include casetab.h
7561         (TRANSLATE_ASCII): Removed.
7562         (TRANSLATE): Unconditionally translate character.
7563         (looking_at_1): Use case-table.
7564         (string_match_1): Ditto.
7565         (fast_string_match): Ditto.
7566         (search_command): Ditto.
7567         (search_buffer): Separate boyer_moore.  Check whether
7568         boyer_moore is possible.
7569         (simple_search): New function.
7570         (boyer_moore): Separated from search_buffer. Translate char.
7571
7572 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7573
7574         * regex.c (RE_TR_ASCII): Removed.
7575         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
7576         (PATFETCH): Call PATFETCH_RAW.
7577         (PATFETCH_RAW): Fetch Emchar.
7578         (PATUNFETCH): Decrement charptr.
7579         (GET_BUFFER_SPACE): Rename b to buf_end.
7580         (BUF_PUSH): Ditto.
7581         (BUF_PUSH_2): Ditto.
7582         (BUF_PUSH_3): Ditto.
7583         (EXTEND_BUFFER): Ditto.
7584         (SET_LIST_BIT): Ditto.
7585         (regex_compile): Ditto.  Translate non ASCII char.
7586         (compile_range): Ditto.
7587         (re_search_2): Ditto.
7588         (re_match_2_internal): Compare Emchar.
7589         (bcmp_translate): Ditto.
7590
7591 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
7592
7593         * lisp.h (basic char/int typedefs):  comment improvement.
7594
7595 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
7596
7597         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
7598         unstomp inhibit_site_lisp.  Improve comments.
7599
7600 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
7601
7602         * mule-charset.c (Fcharset_property):  improve type checking, comments.
7603
7604 2000-11-28  Andy Piper  <andy@xemacs.org>
7605
7606         * redisplay-output.c (redisplay_output_subwindow): make sure we do
7607         clipped display for windows in the gutter also.
7608         (redisplay_display_boxes_in_window_p): change semantics of return
7609         codes to be more intuitive.
7610
7611         * gutter.h: declare display_boxes_in_gutter_p.
7612
7613         * gutter.c (display_boxes_in_gutter_p): new function for
7614         redisplay.
7615
7616 2000-11-22  Andy Piper  <andy@xemacs.org>
7617
7618         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
7619         autodetect domain.
7620
7621 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
7622
7623         * callproc.c (Fold_call_process_internal):
7624         * gpm.c (Freceive_gpm_event):
7625         (tty_get_foreign_selection): Might be just warning supression.
7626         * fileio.c (Fwrite_region_internal):
7627         (Fset_visited_file_modtime):
7628         * keymap.c (event_matches_key_specifier_p):
7629         Initialize GCPROed variable.
7630
7631         * menubar-x.c (command_builder_find_menu_accelerator):
7632         Initialize before use.
7633
7634 2000-11-23  Andy Piper  <andy@xemacs.org>
7635
7636         * unexcw.c (unexec): make the resulting executable executable.
7637
7638 2000-11-21  Martin Buchholz  <martin@xemacs.org>
7639
7640         * doc.c (get_doc_string):
7641         Use size_t, not int, for result of XSTRING_LENGTH.
7642
7643         * cmds.c (Fdelete_char):
7644         * cmds.c (Fpoint_at_eol):
7645         * cmds.c (Fself_insert_command):
7646         Use EMACS_INT, not int, for result of XINT.
7647         Someday, someone will want to insert more than 2**31 identical characters.
7648
7649         * cmds.c (Fdelete_char):
7650         * cmds.c (Fdelete_backward_char):
7651         * syntax.c (Fforward_word):
7652         * syntax.c (Fforward_comment):
7653         Make COUNT argument optional, for consistency with forward-char et al.
7654
7655 2000-11-22  Martin Buchholz  <martin@xemacs.org>
7656
7657         * lisp.h:
7658         * print.c (long_to_string):
7659         Return a useful value: the pointer at end of data written.
7660
7661         * doprnt.c:
7662         Use `static const char * const' for constant strings.
7663         (union printf_arg): Delete `i', `ui' members.
7664         (get_doprnt_args):
7665         (emacs_doprnt_1):
7666         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
7667         Do all printf-ing via the `l' specifier.
7668         Use EMACS_INT instead of int.
7669         Optimize.
7670
7671 2000-11-20  Didier Verna  <didier@xemacs.org>
7672
7673         * faces.c (update_face_cachel_data): don't frob the background
7674         pixmap when the window is being created. The face is needed but
7675         does not exist yet.
7676
7677 2000-11-20  Andy Piper  <andy@xemacs.org>
7678
7679         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
7680         messing with a debug environment.
7681
7682 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7683
7684         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
7685
7686 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7687
7688         * casetab.c (Fcase_table_p): Fix compile error and crash.
7689
7690 2000-11-18  Philip Aston  <philipa@mail.com>
7691
7692         * s/cygwin32.h: Cygwin has SVR4-like pty support.
7693
7694 2000-11-18  Martin Buchholz  <martin@xemacs.org>
7695
7696         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
7697         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
7698
7699 2000-11-17  Martin Buchholz  <martin@xemacs.org>
7700
7701         * config.h.in: Define HAVE_ELF_H if elf.h exists.
7702         * unexelf.c: Use HAVE_ELF_H.
7703         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
7704         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
7705         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
7706         Greg Harrington <greg_harrington@hotmail.com> provided a machine
7707         for testing.
7708         So this is an unexelfsgi.c from a different line of development.
7709
7710 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7711
7712         * regex.c (RE_TR_ASCII): New function.
7713         (RE_TRANSLATE): Call it.
7714
7715 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7716
7717         * buffer.h (TRT_TABLE_OF): Remove assert.
7718         (IN_TRT_TABLE_DOMAIN): Removed.
7719
7720 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7721
7722         * free-hook.c (log_gcpro):
7723         (show_gcprohist): Add support for GCPRO5.
7724
7725 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
7726
7727         * emacs.c (main_1): Improve -sd error message when --pdump=no.
7728
7729 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
7730
7731         * symeval.h: Declare flush_all_buffer_local_cache.
7732
7733         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
7734         (flush_buffer_local_cache): Added.
7735         (flush_all_buffer_local_cache): Added.
7736
7737         * lrecord.h: Remove unused XD_LO_RESET_NIL.
7738
7739         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
7740         (pdump_dump_data): Ditto.
7741         (pdump_reloc_one): Ditto.
7742         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
7743         before dumping.
7744
7745
7746 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7747
7748         * buffer.c: Remove if 0'ed entry.
7749         * buffer.h: Rewrite TRT to use char-table.
7750         * bufslots.h: Remove mirror tables.
7751         * casetab.c: Remove mirror tables.
7752         (CASE_TABLE_P): New macro.
7753         (Fcase_table_p): Element of a case table is string or char-table.
7754         (make_mirror_trt_table): Removed.
7755         (set_case_table): Setup char-table from strings for backward
7756         compatibility.
7757         * dired.c (Fdirectory_files):
7758         * dired-msw.c: (mswindows_get_files):
7759         * lisp.h: Change prototype of re_pattern_buffer.
7760         * regex.c: (RE_TRANSLATE): New macro.
7761         (TRANSLATE_P): Ditto.
7762         Change translate to type RE_TRANSLATE_TYPE.
7763         * regex.h: Define RE_TRANSLATE_TYPE
7764         * search.c (TRANSLATE): New macro.
7765         (TRANSLATE_ASCII): New macro.
7766         Translate table is changed to Lisp_Object.
7767         (signal_failure): Inhibit return.
7768
7769 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7770
7771         * device-msw.c:
7772         * eldap.c:
7773         * event-Xt.c:
7774         * event-stream.c:
7775         * print.c:
7776         Do UNGCPRO before return.
7777
7778 2000-11-14  Martin Buchholz <martin@xemacs.org>
7779
7780         * XEmacs 21.2.37 is released.
7781
7782 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7783
7784         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
7785         Add comments about discarded return value.
7786
7787 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
7788
7789         * callint.c:
7790         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
7791
7792 2000-10-27  Andy Piper  <andy@xemacs.org>
7793
7794         * gutter.c (Fset_default_gutter_position): default left and right
7795         gutters to visible.
7796         (calculate_gutter_size): calculate resonable heuristic for left
7797         and right gutter sizes.
7798         (specifier_vars_of_gutter): change left and right gutter sizes to
7799         autodetect.
7800         (calculate_gutter_size_from_display_lines): new function.
7801         (output_gutter): check for resizing on left and right gutters.
7802         (clear_gutter): don't special case top and left gutters.
7803         (specifier_vars_of_gutter): use new signature for
7804         set_specifier_caching.
7805
7806         * glyphs-x.c (x_redisplay_widget): spelling fix.
7807         * glyphs.c (specifier_vars_of_glyphs):
7808         * menubar.c (specifier_vars_of_menubar):
7809         * redisplay.c (specifier_vars_of_redisplay):
7810         * toolbar.c (specifier_vars_of_toolbar):
7811         * window.c (specifier_vars_of_window):
7812         * scrollbar.c (specifier_vars_of_scrollbar):
7813         (complex_vars_of_scrollbar): use new signature for
7814         set_specifier_caching.
7815
7816         * specifier.c (set_specifier_caching): include recompute flag.
7817         (recompute_one_cached_specifier_in_window): always recompute if
7818         flag set.
7819         (recompute_one_cached_specifier_in_frame): ditto.
7820
7821         * specifier.h (struct specifier_caching): add recompute flag.
7822
7823 2000-10-24  Andy Piper  <andy@xemacs.org>
7824
7825         * unexcw.c (copy_executable_and_dump_data_section): add new
7826         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
7827         5.0 happy.
7828
7829 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7830
7831         * console-x.h (x_device): New member modifier_release_time.
7832         * event-Xt.c (x_handle_sticky_modifiers):
7833         Bound interval modifier keys are sticky.
7834         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
7835         * events.h: extern it.
7836
7837 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7838
7839         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
7840
7841 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7842
7843         * event-stream.c (execute_command_event): Preserve current_events
7844         and the like when event is misc-user-event.
7845         Inhibit quit during the call to maybe_echo_keys.
7846
7847 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
7848
7849         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
7850         symlink when buffer is killed.
7851         (inhibit_clash_detection): New variable.
7852
7853 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7854
7855         * console.c (Fset_input_method): Trigger redisplay on tty.
7856
7857 2000-11-07  Martin Buchholz  <martin@xemacs.org>
7858
7859         * process.c (Fprocess_status): Revert to previous behavior:
7860         (process-status "nosuchprocess") ==> nil
7861
7862 2000-11-06  Martin Buchholz  <martin@xemacs.org>
7863
7864         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
7865         Work around another GCC 2.95.2 optimizer bug.
7866
7867 2000-11-02  Martin Buchholz  <martin@xemacs.org>
7868
7869         * process.c (Fget_process): Use LIST_LOOP_2.
7870         (kill_buffer_processes): Use LIST_LOOP_2.
7871
7872         * minibuf.c (Fall_completions):
7873         Delete old non-functional code for FSF fourth argument.
7874
7875         * frame.c (frame_matches_frame_spec):
7876         Renamed from `frame_matches_frametype'.  Update all callers.
7877         (device_matches_device_spec):
7878         Renamed from 'device_matches_console_spec'.  Update all callers.
7879
7880         * doc.c (Fsubstitute_command_keys):
7881         Remove buffer overflow crash.  Small code cleanups.
7882
7883         * casetab.c (check_case_table): Simpler code.
7884
7885         * window.c (Freplace_buffer_in_windows):
7886         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
7887         (and similar implementation) as Fdelete_windows_on.
7888         Update all callers.
7889
7890         * alloc.c (Fmake_list):
7891         * alloc.c (make_vector):
7892         * alloc.c (Fmake_vector):
7893         * alloc.c (make_bit_vector):
7894         * alloc.c (Fmake_bit_vector):
7895         * alloc.c (Fbit_vector):
7896         * alloc.c (Fmake_string):
7897         * alloc.c (Fpurecopy):
7898         * alloc.c (Fmemory_limit):
7899         * buffer.c:
7900         * buffer.c (Fget_buffer):
7901         * buffer.c (Fkill_buffer):
7902         * buffer.c (complex_vars_of_buffer):
7903         * bytecode.c (Fcompiled_function_stack_depth):
7904         * callint.c (Fprefix_numeric_value):
7905         * event-stream.c:
7906         * event-stream.c (Fread_key_sequence):
7907         * casetab.c:
7908         * casetab.c (Fcase_table_p):
7909         * casetab.c (check_case_table):
7910         * casetab.c (Fset_case_table):
7911         * casetab.c (Fset_standard_case_table):
7912         * chartab.c:
7913         * chartab.c (Fchar_table_type):
7914         * chartab.c (Freset_char_table):
7915         * chartab.c (Fget_char_table):
7916         * chartab.c (Fget_range_char_table):
7917         * chartab.c (Fput_char_table):
7918         * chartab.c (Fmap_char_table):
7919         * chartab.c (Fcategory_table_p):
7920         * chartab.c (Fcheck_category_at):
7921         * chartab.c (Fchar_in_category_p):
7922         * chartab.c (Fcategory_table):
7923         * chartab.c (Fcopy_category_table):
7924         * chartab.c (Fset_category_table):
7925         * chartab.c (Fcategory_designator_p):
7926         * chartab.c (Fcategory_table_value_p):
7927         * cmds.c (Fdelete_char):
7928         * cmds.c (Fdelete_backward_char):
7929         * cmds.c (Fself_insert_command):
7930         * cmds.c (Fself_insert_internal):
7931         * console.c (Fvalid_console_type_p):
7932         * console.c (Fcdfw_console):
7933         * console.c (Fconsole_type):
7934         * console.c (Fconsole_name):
7935         * console.c (Fconsole_device_list):
7936         * console.c (Fconsole_on_window_system_p):
7937         * data.c:
7938         * data.c (Feq):
7939         * data.c (Fold_eq):
7940         * data.c (Fsubr_interactive):
7941         * data.c (Fchar_to_int):
7942         * data.c (Fint_to_char):
7943         * data.c (Fsetcar):
7944         * data.c (Fsetcdr):
7945         * data.c (Fnumber_to_string):
7946         * data.c (Fstring_to_number):
7947         * data.c (Frem):
7948         * database.c (mark_database):
7949         * database.c (finalize_database):
7950         * database.c (Fdatabase_live_p):
7951         * database.c (Fdatabasep):
7952         * device-x.c (Fx_get_resource):
7953         * device.c (Fdfw_device):
7954         * dired.c:
7955         * dired.c (Ffile_name_completion):
7956         * dired.c (Ffile_name_all_completions):
7957         * dired.c (Fuser_name_completion):
7958         * dired.c (Fuser_name_completion_1):
7959         * dired.c (Fuser_name_all_completions):
7960         * doc.c (Fdocumentation):
7961         * doc.c (Fdocumentation_property):
7962         * doc.c (Fsubstitute_command_keys):
7963         * editfns.c:
7964         * editfns.c (Fchar_to_string):
7965         * editfns.c (Fstring_to_char):
7966         * editfns.c (Ftemp_directory):
7967         * editfns.c (Finsert_char):
7968         * editfns.c (Fbuffer_substring_no_properties):
7969         * editfns.c (Fnarrow_to_region):
7970         * editfns.c (Fchar_equal):
7971         * editfns.c (Fchar_Equal):
7972         * editfns.c (Ftranspose_regions):
7973         * emacs.c (Fdump_emacs):
7974         * eval.c (Fthrow):
7975         * eval.c (Fcommand_execute):
7976         * eval.c (Fautoload):
7977         * eval.c (Fbacktrace):
7978         * eval.c (Fbacktrace_frame):
7979         * events.c:
7980         * events.c (Fcopy_event):
7981         * events.c (Fcharacter_to_event):
7982         * events.c (Fevent_button):
7983         * events.c (Fevent_process):
7984         * extents.c:
7985         * extents.c (Fnext_extent_change):
7986         * extents.c (Fextent_property):
7987         * faces.c (Ffacep):
7988         * faces.c (Fmake_face):
7989         * file-coding.c:
7990         * file-coding.c (Fencode_shift_jis_char):
7991         * file-coding.c (Fencode_big5_char):
7992         * fileio.c (Ffile_name_directory):
7993         * fileio.c (Ffile_name_nondirectory):
7994         * fileio.c (Ffile_name_as_directory):
7995         * fileio.c (Fdirectory_file_name):
7996         * fileio.c (Ffile_truename):
7997         * fileio.c (Fsubstitute_in_file_name):
7998         * fileio.c (Ffile_modes):
7999         * fileio.c (Fset_file_modes):
8000         * fileio.c (Fset_default_file_modes):
8001         * fileio.c (Fverify_visited_file_modtime):
8002         * floatfns.c (Facos):
8003         * floatfns.c (Fasin):
8004         * floatfns.c (Fatan):
8005         * floatfns.c (Fcos):
8006         * floatfns.c (Fsin):
8007         * floatfns.c (Ftan):
8008         * floatfns.c (Fbessel_j0):
8009         * floatfns.c (Fbessel_j1):
8010         * floatfns.c (Fbessel_jn):
8011         * floatfns.c (Fbessel_y0):
8012         * floatfns.c (Fbessel_y1):
8013         * floatfns.c (Fbessel_yn):
8014         * floatfns.c (Ferf):
8015         * floatfns.c (Ferfc):
8016         * floatfns.c (Flog_gamma):
8017         * floatfns.c (Fexp):
8018         * floatfns.c (Fexpt):
8019         * floatfns.c (Flog):
8020         * floatfns.c (Flog10):
8021         * floatfns.c (Fsqrt):
8022         * floatfns.c (Fcube_root):
8023         * floatfns.c (Facosh):
8024         * floatfns.c (Fasinh):
8025         * floatfns.c (Fatanh):
8026         * floatfns.c (Fcosh):
8027         * floatfns.c (Fsinh):
8028         * floatfns.c (Ftanh):
8029         * floatfns.c (Fabs):
8030         * floatfns.c (Ffloat):
8031         * floatfns.c (Flogb):
8032         * floatfns.c (Fceiling):
8033         * floatfns.c (Ffloor):
8034         * floatfns.c (Fround):
8035         * floatfns.c (Ftruncate):
8036         * floatfns.c (Ffceiling):
8037         * floatfns.c (Fffloor):
8038         * floatfns.c (Ffround):
8039         * floatfns.c (Fftruncate):
8040         * fns.c (Fstring_equal):
8041         * fns.c (Fstring_lessp):
8042         * fns.c (concat2):
8043         * fns.c (concat3):
8044         * fns.c (vconcat2):
8045         * fns.c (vconcat3):
8046         * fns.c (Fsubstring):
8047         * fns.c (Fassoc):
8048         * fns.c (Fold_assoc):
8049         * fns.c (assoc_no_quit):
8050         * fns.c (Fassq):
8051         * fns.c (Fold_assq):
8052         * fns.c (assq_no_quit):
8053         * fns.c (Frassoc):
8054         * fns.c (Fold_rassoc):
8055         * fns.c (Frassq):
8056         * fns.c (Fold_rassq):
8057         * fns.c (rassq_no_quit):
8058         * fns.c (Fremassoc):
8059         * fns.c (remassoc_no_quit):
8060         * fns.c (Fremassq):
8061         * fns.c (remassq_no_quit):
8062         * fns.c (Fremrassoc):
8063         * fns.c (Fremrassq):
8064         * fns.c (remrassq_no_quit):
8065         * fns.c (Fsort):
8066         * fns.c (Fplist_get):
8067         * fns.c (Fplist_put):
8068         * fns.c (Fplist_remprop):
8069         * fns.c (Fplist_member):
8070         * fns.c (Flax_plist_get):
8071         * fns.c (Flax_plist_put):
8072         * fns.c (Flax_plist_remprop):
8073         * fns.c (Flax_plist_member):
8074         * fns.c (Fequal):
8075         * fns.c (Fold_equal):
8076         * fns.c (Frequire):
8077         * fns.c (Fbase64_encode_region):
8078         * fns.c (Fbase64_encode_string):
8079         * fns.c (Fbase64_decode_region):
8080         * frame.c:
8081         * frame.c (frame_matches_frame_spec):
8082         * frame.c (device_matches_device_spec):
8083         * frame.c (next_frame):
8084         * frame.c (previous_frame):
8085         * frame.c (Fnext_frame):
8086         * frame.c (Fprevious_frame):
8087         * frame.c (Fframe_property):
8088         * frame.c (Fset_frame_height):
8089         * frame.c (Fset_frame_size):
8090         * frame.h:
8091         * glyphs.c:
8092         * glyphs.c (if):
8093         * glyphs.c (decode_error_behavior_flag):
8094         * glyphs.c (Fmake_image_instance):
8095         * indent.c (Findent_to):
8096         * intl.c (Fignore_defer_gettext):
8097         * keymap.c (Fkeymapp):
8098         * keymap.c (Flookup_key):
8099         * lread.c:
8100         * lread.c (Fload_internal):
8101         * lread.c (Feval_buffer):
8102         * lread.c (Feval_region):
8103         * macros.c (Fexecute_kbd_macro):
8104         * marker.c (set_marker_internal):
8105         * marker.c (Fset_marker):
8106         * marker.c (set_marker_restricted):
8107         * marker.c (Fcopy_marker):
8108         * marker.c (noseeum_copy_marker):
8109         * menubar.c:
8110         * menubar.c (Fpopup_menu):
8111         * minibuf.c:
8112         * mule-charset.c (Fcharset_name):
8113         * mule-charset.c (Fchar_charset):
8114         * mule-charset.c (Fchar_octet):
8115         * mule-charset.c (Fsplit_char):
8116         * mule-wnnfns.c (Fwnn_open):
8117         * mule-wnnfns.c (Fwnn_dict_comment):
8118         * mule-wnnfns.c (Fwnn_quit_henkan):
8119         * mule-wnnfns.c (Fwnn_word_toroku):
8120         * mule-wnnfns.c (Fwnn_word_sakujo):
8121         * mule-wnnfns.c (Fwnn_word_use):
8122         * mule-wnnfns.c (Fwnn_hindo_set):
8123         * objects.c:
8124         * objects.c (Fmake_color_instance):
8125         * objects.c (Fmake_font_instance):
8126         * print.c (Fwrite_char):
8127         * process.c:
8128         * process.c (mark_process):
8129         * process.c (print_process):
8130         * process.c (get_process_from_usid):
8131         * process.c (Fprocessp):
8132         * process.c (Fprocess_live_p):
8133         * process.c (Fget_process):
8134         * process.c (Fget_buffer_process):
8135         * process.c (get_process):
8136         * process.c (Fprocess_id):
8137         * process.c (Fprocess_name):
8138         * process.c (Fprocess_command):
8139         * process.c (init_process_io_handles):
8140         * process.c (start_process_unwind):
8141         * process.c (Fstart_process_internal):
8142         * process.c (Fopen_multicast_group_internal):
8143         * process.c (Fset_process_window_size):
8144         * process.c (read_process_output):
8145         * process.c (send_process):
8146         * process.c (Fprocess_tty_name):
8147         * process.c (Fset_process_buffer):
8148         * process.c (Fprocess_buffer):
8149         * process.c (Fprocess_mark):
8150         * process.c (set_process_filter):
8151         * process.c (Fset_process_filter):
8152         * process.c (Fprocess_filter):
8153         * process.c (Fprocess_send_region):
8154         * process.c (Fprocess_send_string):
8155         * process.c (exec_sentinel):
8156         * process.c (Fset_process_sentinel):
8157         * process.c (Fprocess_sentinel):
8158         * process.c (status_notify):
8159         * process.c (Fprocess_status):
8160         * process.c (Fprocess_exit_status):
8161         * process.c (process_send_signal):
8162         * process.c (Fprocess_send_eof):
8163         * process.c (deactivate_process):
8164         * process.c (remove_process):
8165         * process.c (Fdelete_process):
8166         * process.c (kill_buffer_processes):
8167         * process.c (Fprocess_kill_without_query):
8168         * process.c (Fprocess_kill_without_query_p):
8169         * rangetab.c:
8170         * rangetab.c (Fget_range_table):
8171         * rangetab.c (Fput_range_table):
8172         * rangetab.c (Fremove_range_table):
8173         * rangetab.c (Fclear_range_table):
8174         * search.c:
8175         * search.c (Fskip_chars_forward):
8176         * search.c (Fskip_chars_backward):
8177         * search.c (Fskip_syntax_forward):
8178         * search.c (Fskip_syntax_backward):
8179         * search.c (search_command):
8180         * search.c (Freplace_match):
8181         * search.c (Fregexp_quote):
8182         * select.c (Fown_selection_internal):
8183         * select.c (Fselection_owner_p):
8184         * select.c (Fselection_exists_p):
8185         * select.c (Fget_selection_internal):
8186         * specifier.c:
8187         * symbols.c:
8188         * symbols.c (Fintern):
8189         * symbols.c (Fintern_soft):
8190         * symbols.c (Funintern):
8191         * symbols.c (Fapropos_internal):
8192         * symbols.c (Fset_default):
8193         * syntax.c:
8194         * syntax.c (Fsyntax_table_p):
8195         * syntax.c (Fcopy_syntax_table):
8196         * syntax.c (Fset_syntax_table):
8197         * syntax.c (Fchar_syntax):
8198         * syntax.c (syntax_match):
8199         * syntax.c (Fmatching_paren):
8200         * syntax.c (Fforward_word):
8201         * syntax.c (scan_lists):
8202         * syntax.c (Fscan_lists):
8203         * syntax.c (Fscan_sexps):
8204         * syntax.c (Fparse_partial_sexp):
8205         * toolbar.c (Fcheck_toolbar_button_syntax):
8206         * tooltalk.doc:
8207         * window.c:
8208         * window.c (Fwindowp):
8209         * window.c (Fwindow_live_p):
8210         * window.c (Fwindow_point):
8211         * window.c (Fdelete_window):
8212         * window.c (Fnext_window):
8213         * window.c (Fprevious_window):
8214         * window.c (Fother_window):
8215         * window.c (window_loop):
8216         * window.c (Fget_lru_window):
8217         * window.c (Fsplit_window):
8218         * window.c (Fenlarge_window):
8219         * window.c (Fenlarge_window_pixels):
8220         * window.c (Fshrink_window):
8221         * window.c (Fshrink_window_pixels):
8222         * window.c (change_window_height):
8223         * window.c (Fwindow_configuration_p):
8224         * window.c (Fcurrent_window_configuration):
8225         * window.h:
8226         * casefiddle.c (casify_object):
8227         * casefiddle.c (Fupcase):
8228         * casefiddle.c (Fdowncase):
8229         * casefiddle.c (Fcapitalize):
8230         * casefiddle.c (Fupcase_initials):
8231         * casefiddle.c (casify_region_internal):
8232         * casefiddle.c (casify_region):
8233         * casefiddle.c (Fupcase_region):
8234         * casefiddle.c (Fdowncase_region):
8235         * casefiddle.c (Fcapitalize_region):
8236         * casefiddle.c (Fupcase_initials_region):
8237         * casefiddle.c (Fupcase_word):
8238         * casefiddle.c (Fdowncase_word):
8239         * casefiddle.c (Fcapitalize_word):
8240         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8241         Replace 0 with '\0' when working with bytes.
8242         Replace initial "(" with "\(" in docstrings.
8243
8244 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8245
8246         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8247
8248         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
8249
8250 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8251
8252         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
8253
8254 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8255
8256         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
8257         correctly.
8258
8259 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8260
8261         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
8262         (inhibit_auto_save_session): New variable.
8263         (vars_of_fileio): Declare and initialize them.
8264         * fileio.c (Fdo_auto_save): Don't create session file if
8265         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
8266
8267 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8268
8269         * sgiplay.c (play_internal): C++ compilability.
8270         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
8271         * callproc.c (Fold_call_process_internal):
8272         Remove unused vars `env', `first'.
8273         * scrollbar.c (update_scrollbar_instance):
8274         #### unused var `current_window'.
8275         * redisplay-tty.c: Put currently unused vars insert_mode_on,
8276         etc. within #ifdef NOT_YET.
8277         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
8278         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
8279         * specifier.c (specifier_instance):
8280         #### unused var `tag'.
8281         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
8282
8283 2000-10-27  Martin Buchholz  <martin@xemacs.org>
8284
8285         * fns.c (Fbutlast):
8286         * fns.c (list_sort):
8287         * fns.c (Ffillarray):
8288         * fns.c (bytecode_nconc2):
8289         * fns.c (Fnconc):
8290         * fns.c (mapcar1):
8291         * fns.c (Fmapconcat):
8292         Be pedantically 64-bit correct.  For the time when someone will
8293         want to have a list with length > 2**32.
8294
8295         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8296         Work around MIPSpro compiler bug.
8297
8298         * process-unix.c (unix_kill_child_process): Add snarky comment.
8299         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
8300
8301         * config.h.in: Oops, _getpt ==> _getpty
8302
8303 2000-10-26  Martin Buchholz  <martin@xemacs.org>
8304
8305         * config.h.in:
8306         * regex.c:
8307         Use void*, not char*, as return type of alloca().
8308
8309         * alloc.c (free_marker): Side effect inside assert expression!
8310
8311 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
8312
8313         * mule-charset.c (Fset_charset_ccl_program): To check
8314         if the given ccl program is valid, use setup_ccl_program()
8315         instead of CHECK_VECTOR().
8316         (Fmake_charset): Likewise.
8317
8318 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
8319
8320         * faces.c (get_extent_fragment_face_cache_index):
8321         Fix cachel.merged_faces memory leak.
8322
8323 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
8324
8325         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
8326         Reset MSB of octets obtained by DECODE_SJIS
8327         because of the incompatibility with Emacs.
8328         (ccl_driver)<CCL_ENCODE_SJIS>:
8329         Set MSB of octets before passing them to
8330         ENCODE_SJIS because of the incompatibility
8331         with Emacs.
8332
8333 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
8334
8335         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
8336         (DECLARE_LRECORD): Undo the last change.
8337         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
8338
8339 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
8340
8341         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
8342         the implementation to lrecord_implementations_table.
8343
8344 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
8345
8346         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
8347         initial value of `lrecord_type_##c_name' and
8348         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
8349         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
8350         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
8351         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
8352         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
8353
8354 2000-10-17  Martin Buchholz  <martin@xemacs.org>
8355
8356         * miscplay.c (sndcnv8S_2mono):
8357         (sndcnv2monounsigned):
8358         (sndcnvULaw_2linear):
8359         (sndcnv16swap):
8360         Remove implementation-defined behavior.
8361
8362 2000-10-12  Martin Buchholz  <martin@xemacs.org>
8363
8364         * input-method-xlib.c: Warning suppression.
8365
8366 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
8367
8368         * mule-ccl.c: Sync up with Emacs 21.0.90.
8369         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
8370         Do nothing.
8371         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
8372         Likewise.
8373         (ccl_driver[WriteMultibyteChar2]): Bug fix.
8374         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
8375         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
8376         leading char belongs to official 2-dimensional charset.
8377         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
8378         write the given character as is.  Otherwise,
8379         if it is a multibyte char, convert it by
8380         non_ascii_set_charptr_emchar, then write it.
8381         (CCL_WRITE_STRING): Likewise.
8382         (ccl_get_compiled_code): New function.
8383         (setup_ccl_program): When ccl_prog is invalid,
8384         return -1.
8385         (Fregister_code_conversion_map): New function.
8386         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
8387
8388         * mule-ccl.h: Sync up with Emacs 21.0.90.
8389         (Fregister_ccl_program): export it.
8390
8391         * redisplay-msw.c (separate_textual_runs):
8392         If ccl program is not valid, don't do ccl conversion.
8393
8394         * redisplay-x.c (separate_textual_runs): Ditto.
8395
8396         * file-coding.c (Fmake_coding_system):
8397         When type is ccl and value is vector, register it
8398         with a proper symbol.  And checks whether the
8399         given ccl program is valid.
8400         (mule_decode): When calling ccl_driver, if src indicates
8401         NULL pointer, set an empty string instead.
8402         (mule_encode): Likewise.
8403
8404 2000-10-11  Martin Buchholz  <martin@xemacs.org>
8405
8406         The following large batch of changes gets us back to a state of
8407         C++ compilability.  Extbyte is now a char, which means that
8408         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
8409
8410         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
8411
8412         * sound.c (Fplay_sound): Type correctness.
8413
8414         * select-x.c (hack_motif_clipboard_selection): Type correctness.
8415         (x_get_window_property): Type correctness.
8416         (receive_incremental_selection): unsigned char ==> Extbyte
8417         (selection_data_to_lisp_data): unsigned char ==> Extbyte
8418         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
8419         (Fx_store_cutbuffer_internal): Type correctness.
8420
8421         * process-unix.c (try_to_initialize_subtty): Type correctness.
8422
8423         * objects-x.c (x_print_color_instance): Type correctness.
8424         (x_print_font_instance): Type correctness.
8425         (x_list_fonts): SExtbyte ==> Extbyte.
8426         (valid_x_font_name_p): SExtbyte ==> Extbyte.
8427         (x_find_charset_font): SExtbyte ==> Extbyte.
8428         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
8429         (truename_via_XListFonts): SExtbyte ==> Extbyte.
8430         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
8431         Use bufbyte_strcmp.
8432
8433         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
8434         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
8435         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
8436         (BYTE_C0_P): Use bit ops for char-signedness safety.
8437         (BYTE_C1_P): Use bit ops for char-signedness safety.
8438         (CHARSET_BY_LEADING_BYTE):
8439         (CHARSET_BY_ATTRIBUTES):
8440         Always use inline function.
8441         Use type_checking_assert.
8442         Hide chlook.
8443
8444         * mule-charset.c (non_ascii_charptr_copy_char):
8445         Modify to work with both ASCII and non-ASCII characters.
8446         Improve docs and variable names.
8447         Replace over-clever fall-through switch with a simple loop.
8448         (Lstream_get_emchar_1):
8449         Replace over-clever fall-through switch with a simple loop.
8450
8451         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8452         Warning suppression.
8453
8454         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
8455         the return value of Lstream_getc, which could be EOF as well.
8456
8457         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
8458
8459         * lisp.h: Make Extbyte a char, not unsigned char, so that external
8460         APIs can be used on Extbytes without casts.  Risky!
8461         (SExtbyte): Remove.
8462         (UExtbyte): Remove.
8463
8464         * input-method-xlib.c (XIM_init_device):
8465         Use Xlib.h instead of IntrinsicP.h.
8466         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
8467         which will break in X11R7.
8468         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
8469         to call XRegisterIMInstantiateCallback with correct types.
8470
8471         * gui-x.c (button_item_to_widget_value): Type correctness.
8472
8473         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
8474
8475         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
8476         (xbm_instantiate_1): Type correctness.
8477         (BUILD_GLYPH_INST):  Type correctness.
8478
8479         * fileio.c (Fsubstitute_in_file_name): Type correctness.
8480
8481         * file-coding.c:
8482         (decode_coding_sjis):
8483         (decode_coding_big5):
8484         (decode_coding_ucs4):
8485         (decode_coding_utf8):
8486         (decode_coding_iso2022):
8487         (decode_coding_no_conversion):
8488         Make all decoding functions take an Extbyte * arg.
8489         (encode_coding_sjis):
8490         (encode_coding_big5):
8491         (encode_coding_ucs4):
8492         (encode_coding_utf8):
8493         (encode_coding_iso2022):
8494         (encode_coding_no_conversion):
8495         Make all encoding functions take a Bufbyte * arg.
8496         Use size_t instead of unsigned int for memory sizes.
8497         Only cast to unsigned char whenever dereferencing Extbyte *.
8498
8499         * doc.c (unparesseuxify_doc_string): Type correctness.
8500
8501         * console-x.c (split_up_display_spec):
8502         Rewrite without using details of internal string representation.
8503         (x_semi_canonicalize_device_connection): Type correctness.
8504
8505         * config.h.in:
8506         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
8507         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
8508         (HAVE_XFREE386): Removed.
8509
8510         * buffer.h (DEC_CHARPTR): `const' correctness.
8511         (bufbyte_strcmp): New.
8512         (bufbyte_memcmp): New.
8513
8514         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
8515
8516         * buffer.h (XCHAR_OR_CHAR_INT):
8517         Always use inline function.
8518         Remove redundant type checking assert() - XINT will abort quite nicely.
8519
8520 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8521
8522         * search.c (Freplace_match): Set newtext to an empty string.
8523
8524 2000-10-10  Martin Buchholz  <martin@xemacs.org>
8525
8526         * s/decosf1-3.h: Remove #include of stropts.h
8527         * s/ptx.h: Remove #include of stropts.h
8528         * s/usg5-4.h: Remove #include of stropts.h
8529         * sysproc.h:
8530         * config.h.in:
8531         Use stropts.h, not sys/stropts.h.
8532         Use strtio.h, not sys/strtio.h.
8533
8534 2000-10-04  Martin Buchholz <martin@xemacs.org>
8535
8536         * XEmacs 21.2.36 is released.
8537
8538 2000-09-21  Andy Piper  <andy@xemacs.org>
8539
8540         * glyphs-x.c (x_redisplay_widget): make sure non-structural
8541         changes still involve copying the widget tree.
8542         (update_widget_face): make sure a change is register in the widget
8543         tree. Call update_tab_widget_face appropriately.
8544         (update_tab_widget_face): ditto.
8545         (x_tab_control_redisplay): make sure non-structural changes still
8546         involve copying the widget tree.
8547
8548 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
8549
8550         * lread.c (locate_file): Check the path element is non-nil.
8551
8552 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8553
8554         * lisp.h: Warning suppression for SCO compilers.
8555
8556         * redisplay-tty.c (reset_tty_modes): Fix crash.
8557         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
8558
8559 2000-09-27  Martin Buchholz  <martin@xemacs.org>
8560
8561         Big signal/process handling overhaul.  Bugs fixed:
8562         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
8563         M-x comint-kill-subjob should work for both values nil and t of
8564         process-connection-type. It was broken on most platforms.
8565         Testing on Irix and Cygwin still needed.  Other plaforms tested.
8566         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
8567         * process-unix.c: Signal/Process handling overhaul.
8568         (pty_name): make 64 bytes, as `expect' does, for paranoia.
8569         (allocate_pty): Use all available modern methods of allocating
8570         ptys, falling back to old style BSD allocation as a last resort.
8571         Use allegedly more secure Unix98 pty allocation by default.
8572         (allocate_pty_the_old_fashioned_way): New. the last resort.
8573         (unix_create_process): Push ptem, ldterm, ttcompat where
8574         available.  Autoconfiscate.
8575         (try_to_initialize_subtty): New.
8576         (unix_kill_child_process): Proper signal handling for ptys on most
8577         platforms, using special knowledge of AIX, BSD, etc...
8578         (unix_create_process): Always disconnect_controlling_terminal() for
8579         subprocesses, whether using ptys or not.
8580         * process.h: Remove old getpt-dependent PTY code.
8581         * process.c (Fprocess_send_signal): New, obvious generic function.
8582         (decode_signal): New.
8583         (Finterrupt_process):
8584         (Fkill_process):
8585         (Fquit_process):
8586         (Fstop_process):
8587         (Fcontinue_process):
8588         (Fsignal_process): Use decode_signal.
8589         (process_send_signal):
8590         Many docstring corrections.
8591         Allow any signal to be sent to a process object.
8592         * config.h.in: Add symbols for big signal/process overhaul.
8593         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
8594         * sysproc.h: Include process-related headers, where available:
8595         sys/stropts.h sys/strtio.h pty.h libutil.h
8596         * s/irix4-0.h:
8597         * s/irix5-0.h:
8598         * s/cygwin32.h:
8599         * s/gnu.h:
8600         * s/linux.h:
8601         * s/hpux.h:
8602         * s/aix3-1.h:
8603         Remove old S&M pty stuff.
8604         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
8605         * systty.h: Simplify cpp hackery, improve comments.
8606         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
8607
8608         * editfns.c (Fformat_time_string):
8609         Be a little more paranoid with the return value of ctime.
8610
8611         * fileio.c (check_executable):
8612         (check_writable):
8613         Use symbolic constants X_OK, W_OK.
8614
8615         * console-x.c (split_up_display_spec): Fix a warning.
8616
8617 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8618
8619         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
8620         * ntproc.c (sys_spawnve): make_string ==> build_string
8621         Small clarity improvements.
8622
8623 2000-09-30  Martin Buchholz  <martin@xemacs.org>
8624
8625         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
8626
8627         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
8628
8629         * config.h.in (HAVE_STRCASECMP): Remove.
8630
8631 2000-09-29  Martin Buchholz  <martin@xemacs.org>
8632
8633         * redisplay-output.c (redisplay_output_pixmap):
8634         Cleaner and possibly more 64-bit correct code.
8635
8636 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
8637
8638         * dumper.c (pdump_load_finish): move restoration of
8639         `noninteractive1' to emacs.c (main_1).
8640         * emacs.c (main_1): protect LISP-visible command-line flags
8641         from pdump_load().
8642
8643 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
8644
8645         * Makefile.in.in (versionclean):  Use EXE_TARGET and
8646         DUMP_TARGET instead of literal program names.
8647
8648 2000-09-20  Martin Buchholz  <martin@xemacs.org>
8649
8650         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
8651
8652 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8653
8654         * *: Spelling mega-patch
8655
8656 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8657
8658         * fns.c (bad_bad_turtle):
8659         Delete "Eek!" comment, since we fixed the bug to which it refers.
8660
8661 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8662
8663         * alloca.c: Replace REGISTER with register.
8664
8665 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
8666
8667         * file-coding.c (ucs_to_char): Use countof.
8668
8669 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8670
8671         * file-coding.c: (ucs_to_char):
8672         (complex_vars_of_file_coding):
8673         Use countof instead of sizeof.
8674         Use CHECK_NATNUM instead of CHECK_INT.
8675
8676         * sysdep.c (strcasecmp): Remove.
8677         * device-x.c (ascii_strcasecmp): New.
8678         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
8679         Avoid using non-standard non-portable strcasecmp.
8680
8681 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8682
8683         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
8684         * font-lock.c: remove reference to emacsfns.h.
8685         * search.c: small doc improvement.
8686         * event-Xt.c: correct file names in comments.
8687         * console-x.h Correct file names in comments.
8688         * frame.c: Correct file names in comments.
8689         * event-stream.c: remove Energize from comments.
8690
8691 2000-09-15  Martin Buchholz  <martin@xemacs.org>
8692
8693         * symeval.h (DEFERROR_STANDARD):
8694         (DEFERROR):
8695         (DEFSYMBOL):
8696         (DEFSYMBOL_NO_DUMP):
8697         (DEFSYMBOL_MULTIWORD_PREDICATE):
8698         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
8699         (DEFKEYWORD):
8700         The construct &##name is not sensible C.
8701         Fixes compilation errors with Unixware native compiler.
8702
8703 2000-09-14  Martin Buchholz  <martin@xemacs.org>
8704
8705         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
8706         (next_frame_internal): Removed.  We now just have next_frame.
8707         (next_frame):
8708         Write a simpler and cleaner one-pass algorithm.
8709         Remove called_from_delete_device arg and #ifdefed-out code.
8710         (previous_frame):
8711         Renamed from prev_frame.  Update callers.
8712         Cleaned up to have an analogous implementation to next_frame.
8713         (other_visible_frames_internal): Remove the
8714         called_from_delete_device bogus arg, and hence, remove this
8715         function.  Just use other_visible_frames().
8716
8717         * window.c (Fnext_window):
8718         Prettify docstring.
8719         Since next_frame() is guaranteed to return a frame, remove check
8720         for nil inserted in previous patch.
8721         (Fprevious_window):
8722         Prettify docstring.
8723         Make code look more like Fnext_window.
8724         (window_loop):
8725         Respect the `console' arg when iterating through windows.
8726         Fixes bug: (get-buffer-window buffer t device) not respecting
8727         the `device' arg.
8728         This function needs more work, as others have pointed out.
8729
8730         * frame.h: Rename prev_frame to previous_frame.
8731         device_matches_console_spec no longer takes a `frame' arg.
8732
8733         * s/gnu.h:
8734         * s/linux.h:
8735         * s/hpux.h:
8736         Use EMACS_BLOCK_SIGNAL instead of sigblock.
8737         From "Golubev I. N." <gin@mo.msk.ru>.
8738
8739         * make-src-depend: Fix typo.
8740
8741 2000-09-13  Martin Buchholz  <martin@xemacs.org>
8742
8743         * window.c (Fnext_window):
8744         next_frame() might return nil, not a frame.
8745         Fixes this crash:
8746         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8747
8748         * frame.c (next_frame_internal):
8749         We've passed a frame if we've passed its device.
8750         Fixes this crash:
8751         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8752 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
8753
8754 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8755
8756         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8757         Allow option to suppress accelerators in menu/dialog items.
8758         (populate_or_checksum_helper): Pass dialog title through above.
8759
8760 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8761
8762         * event-msw.c (mswindows_key_to_emacs_keysym):
8763         Add "pause" key, fix "menu" key.
8764
8765 2000-09-09  Martin Buchholz  <martin@xemacs.org>
8766
8767         * eval.c (reinit_vars_of_eval):
8768         Increase max_lisp_eval_depth to 1000,
8769         required for thai-xtis.el to byte-compile under some circumstances.
8770
8771 2000-09-04  Martin Buchholz  <martin@xemacs.org>
8772
8773         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
8774         From Kenichi Handa.
8775
8776 2000-09-01  Martin Buchholz  <martin@xemacs.org>
8777
8778         * make-src-depend: Make the generated Makefiles smaller.
8779
8780         * s/hpux.h (SETUP_SLAVE_PTY):
8781         Provide a %d in the format string for the errno argument.
8782
8783         * editfns.c (Ftemp_directory):
8784         Warning fix.
8785         Avoid buffer overrun on very long file name.
8786
8787         * input-method-xlib.c (XIM_init_device):
8788         6th parameter of XRegisterIMInstantiateCallback has different
8789         pointer types on different OSes, so simply cast to (void *).
8790
8791         * unexhp9k800.c: Warning fixes.  Fiddly changes.
8792
8793         * sysdll.c (dll_open):
8794         shl_load will hang hard if passed a NULL filename.
8795         Simply return NULL for compatibility with dlopen.
8796         * sysdll.c: Conform to XEmacs coding standards.
8797
8798         * sysdep.c (get_pty_max_bytes):
8799         Support pty input lines longer than 512 bytes on HP-UX 10.20.
8800
8801 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8802
8803         * tooltalk.c: Add #include <syssignal.h>
8804
8805 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
8806
8807         * s/hpux.h: Don't use undefined function sigunblock().
8808
8809 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8810
8811         * config.h.in: Add HAVE_BALLOON_HELP.
8812         * emacs.c: Use HAVE_BALLOON_HELP.
8813         * Makefile.in.in (x_objs):
8814         Make Balloon Help conditional on finding shape.h.
8815
8816 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
8817
8818         * syntax.c (regex_emacs_buffer_p): New variable.
8819         * syntax.h (regex_emacs_buffer_p): extern.
8820         * search.c (looking_at_1):
8821         (string_match_1):
8822         (fast_string_match):
8823         (search_buffer): Set regex_emacs_buffer_p.
8824         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
8825         when before_dot, at_dot, after_dot.
8826
8827 2000-08-23  Andy Piper  <andy@xemacs.org>
8828
8829         * gui-x.c (popup_selection_callback): Only set action_occurred
8830         when we really have an image instance.
8831         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8832
8833 2000-08-23  Andy Piper  <andy@xemacs.org>
8834
8835         * gui-msw.c (mswindows_handle_gui_wm_command): set
8836         action_occurred.
8837         * gui-x.c (popup_selection_callback): ditto.
8838
8839         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
8840         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
8841         (struct Lisp_Image_Instance): add action_occurred flag.
8842
8843         * glyphs.c (redisplay_subwindow): use action_occurred flag.
8844         (image_instance_changed): ditto.
8845         (reset_frame_subwindow_instance_cache): only unmap windows - do
8846         not remove them from the cache also.
8847
8848         * glyphs-widget.c (tab_control_update): better debug.
8849         (progress_gauge_update): ditto.
8850         (layout_update): ditto.
8851         (layout_instantiate): ditto.
8852         (tab_control_order_only_changed): cope with null pending items.
8853
8854         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
8855         debug. Force selection of an item when an action occurred. Cope
8856         with null pending_items.
8857         (mswindows_progress_gauge_redisplay): better debug.
8858         * glyphs-x.c (x_tab_control_redisplay): ditto.
8859
8860         * redisplay.c (redisplay_frame): reset the frame cache if the
8861         frame is garbaged.
8862
8863         * window.c (Fset_window_configuration): potentially re-enable
8864         frame cache reset.
8865         (window_unmap_subwindows): need to finalize instances here since
8866         it is only used in mark_window_as_deleted.
8867
8868 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
8869
8870         * nas.c (SndOpenDataForReading):
8871         nas.c (WaveOpenDataForReading):
8872         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
8873         Somehow escaped from the 2000-08-14 patch.
8874
8875 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
8876
8877         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
8878         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
8879
8880 2000-08-21  Andy Piper  <andy@xemacs.org>
8881
8882         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
8883         window if it is not already displayed.
8884
8885         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
8886         it is not already displayed.
8887
8888         * window.c (Fset_window_configuration): don't reset the frame
8889         cache.
8890
8891         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
8892         instances from the frame cache if we are actually finalizing them.
8893         (reset_frame_subwindow_instance_cache): reset frame cache only
8894         after unmapping everything.
8895         (map_subwindow): set displayed flag after mapping.
8896
8897 2000-08-21  Martin Buchholz  <martin@xemacs.org>
8898
8899         * data.c (indirect_function):
8900         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
8901
8902         * eval.c (function_argcount):
8903         Use original function when signaling errors.
8904
8905 2000-08-18  Andy Piper  <andy@xemacs.org>
8906
8907         * frame.c (delete_frame_internal): use new
8908         free_frame_subwindow_instances name.
8909
8910         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
8911         (add_tab_item): make return type correct.
8912         (mswindows_tab_control_instantiate): assert index of tab.
8913         (mswindows_tab_control_redisplay): Re-code to use
8914         gui_item_equal_sans_selected and gui_item_list_find_selected.
8915
8916         * glyphs-widget.c (tab_control_update): Correct comment.
8917
8918         * window.c (window_unmap_subwindows): use new
8919         unmap_subwindow_instance_cache_mapper.
8920         (window_unmap_subwindows_cache_mapper): deleted.
8921         (Fset_window_configuration): comparisons should now be with
8922         EQ. Preserve the subwindow instance cache across configuration
8923         changes.
8924         (allocate_window): ditto.
8925         (make_dummy_parent): ditto.
8926
8927         * glyphs.c (free_frame_subwindow_instances): rename from
8928         free_frame_subwindow_instance_cache. finalize all instances rather
8929         than just those in the display cache.
8930         (finalize_all_subwindow_instances): walk windows unmapping and
8931         finalizing subwindows.
8932         (unmap_subwindow_instance_cache_mapper): moved from
8933         window.c. Allow finalization as well as unmapping.
8934
8935         * gui.c (gui_item_list_find_selected): new function.
8936
8937         * gui.h (gui_item_list_find_selected): declare.
8938
8939         * glyphs-x.c (x_tab_control_redisplay): pick tab
8940         explicitly. Re-code to use gui_item_equal_sans_selected and
8941         gui_item_list_find_selected.
8942
8943         * glyphs-x.h: add lwlib-utils.h
8944
8945         * buffer.c (Frecord_buffer): undo previous change.
8946
8947 2000-08-09  Vin Shelton  <acs@xemacs.org>
8948
8949         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
8950         possible.  Create temporary files more securely.  The patch was
8951         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
8952         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
8953         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
8954         for details.
8955
8956 2000-08-07  Ben Wing  <ben@xemacs.org>
8957
8958         * getloadavg.c: remove duplicate (and windows-breaking)
8959         includes of fcntl.h and sys/file.h.
8960
8961         * nt.c: remove duplicate getloadavg() definition.
8962
8963         * sysdll.h (Qdll_filename_encoding): add missing stand-in
8964         encodings.
8965
8966 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8967
8968         * eval.c (function_argcount): If function needs to be autoloaded
8969         actually use the loaded definition.
8970         GCPRO function.
8971
8972 2000-08-05  Ben Wing  <ben@xemacs.org>
8973
8974         * getloadavg.c: add prototype for getloadavg().  remove
8975         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
8976         of the code).  remove duplicate header includes.
8977
8978         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
8979
8980         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
8981         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
8982         useful load average.
8983
8984         * alloc.c (reinit_alloc_once_early): removed references to
8985         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
8986         the lisp vars are the only things referencing the malloc_sbrk_*
8987         vars, and they were already if 0'd out.  these vars only exist
8988         in the older malloc.c, which is basically unused, and they're
8989         only for informational purposes.
8990
8991         * m\*.h: removed useless VIRT_ADDR_VARIES.
8992
8993         * m\powerpc.h: removed stray NO_ARG_ARRAY.
8994
8995 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8996
8997         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
8998         color if the image is a mono pixmap.
8999
9000 2000-07-30  Ben Wing  <ben@xemacs.org>
9001
9002         * Makefile.in.in (release):
9003         Remove stray @.
9004
9005         * buffer.c (directory_is_current_directory):
9006         * dired-msw.c (mswindows_get_files):
9007         * dired.c:
9008         * dired.c (Fdirectory_files):
9009         * dired.c (file_name_completion_stat):
9010         * dired.c (Ffile_attributes):
9011         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9012         preprocessor tricks, to avoid problems on some machines
9013         (e.g. SCO).
9014
9015         * callproc.c (egetenv): GC docs.
9016
9017         * console-msw.h:
9018         * console-msw.h (struct mswindows_dialog_id):
9019         * lrecord.h (lrecord_type):
9020         New object for use with MSW dialogs.
9021
9022         * console.h (struct console_methods):
9023         New enable/disable frame methods, for proper modal dialogs.
9024
9025         * device-msw.c (msprinter_default_printer): Fix to follow
9026         proper Mule conventions.
9027
9028         * device-msw.c:
9029         * device-msw.c (signal_open_printer_error):
9030         * device-msw.c (msprinter_init_device):
9031         * device-msw.c (ensure_not_printing):
9032         * device-msw.c (plist_get_margin):
9033         * device-msw.c (Fmsprinter_select_settings):
9034         * device-msw.c (finalize_devmode):
9035         * device-msw.c (Fmsprinter_settings_despecialize):
9036         * device-msw.c (signal_enum_priner_error):
9037         * extents.c (decode_extent):
9038         * extents.c (decode_map_extents_flags):
9039         * extents.c (decode_extent_at_flag):
9040         * extents.c (Fextent_at):
9041         * extents.c (Fextents_at):
9042         * extents.c (symbol_to_glyph_layout):
9043         [[[[2]]]] Use structured errors.
9044
9045         * dialog-msw.c:
9046         * dialog-msw.c (mswindows_is_dialog_msg):
9047         * dialog-msw.c (mark_mswindows_dialog_id):
9048         * dialog-msw.c (dialog_proc):
9049         * dialog-msw.c (handle_question_dialog_box):
9050         * dialog-msw.c (syms_of_dialog_mswindows):
9051         Define new object to clean up marking; use it as a dialog identifier.
9052         Call new delete-dialog-box-hook.
9053
9054         * dialog-x.c (dbox_selection_callback):
9055         * dialog-x.c (dbox_descriptor_to_widget_value):
9056         * dialog-x.c (x_make_dialog_box_internal):
9057         Call new delete-dialog-box-hook.
9058         Return an id.
9059
9060         * dialog.c:
9061         * dialog.c (syms_of_dialog):
9062         * dialog.c (vars_of_dialog):
9063         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9064
9065         * eval.c:
9066         * eval.c (signal_call_debugger):
9067         when noninteractive, output stack traces on the console instead
9068         of in a (never-seen) buffer.
9069
9070         * eval.c (signal_type_error):
9071         * eval.c (invalid_argument_2):
9072         * lisp.h:
9073         new funs for use w/structured errors.
9074
9075         * event-Xt.c:
9076         * event-Xt.c (x_to_emacs_keysym):
9077         * event-Xt.c (describe_event):
9078         * event-Xt.c (emacs_Xt_event_handler):
9079         * event-Xt.c (vars_of_event_Xt):
9080         * event-msw.c:
9081         * event-msw.c (mswindows_wnd_proc):
9082         * event-msw.c (vars_of_event_mswindows):
9083         rename {x,mswindows}-debug-events to debug-{}-events for
9084         consistency with other debug-foo variables.
9085
9086         * event-stream.c:
9087         document next-event more clearly.
9088
9089         * fileio.c (Ffile_name_directory):
9090         * fileio.c (Ffile_name_nondirectory):
9091         * fileio.c (Funhandled_file_name_directory):
9092         * fileio.c (file_name_as_directory):
9093         * fileio.c (Ffile_name_as_directory):
9094         * fileio.c (directory_file_name):
9095         * fileio.c (Fdirectory_file_name):
9096         * fileio.c (Fmake_temp_name):
9097         * fileio.c (Ffile_truename):
9098         * fileio.c (Fsubstitute_in_file_name):
9099         * fileio.c (expand_and_dir_to_file):
9100         * fileio.c (barf_or_query_if_file_exists):
9101         * fileio.c (check_executable):
9102         * fileio.c (Ffile_exists_p):
9103         * fileio.c (Ffile_writable_p):
9104         * fileio.c (Ffile_directory_p):
9105         * fileio.c (Ffile_regular_p):
9106         * fileio.c (Ffile_modes):
9107         * fileio.c (Ffile_newer_than_file_p):
9108         * fileio.c (Fverify_visited_file_modtime):
9109         * fileio.c (Fset_visited_file_modtime):
9110         * fileio.c (auto_save_1):
9111         (1). (2).
9112         fix up gcpro's.
9113
9114         * frame-msw.c:
9115         * frame-msw.c (mswindows_init_frame_1):
9116         * frame-msw.c (mswindows_enable_frame):
9117         * frame-msw.c (error_frame_unsizable):
9118         * frame-msw.c (msprinter_init_frame_1):
9119         * frame-msw.c (msprinter_init_frame_3):
9120         * frame-msw.c (console_type_create_frame_mswindows):
9121         (2).
9122         implement new enable/disable frame methods.
9123
9124         * frame-x.c:
9125         * frame-x.c (x_enable_frame):
9126         * frame-x.c (console_type_create_frame_x):
9127         implement new enable/disable frame methods.
9128
9129         * frame.c:
9130         * frame.c (Fdisable_frame):
9131         * frame.c (syms_of_frame):
9132         * frame.h (struct frame):
9133         implement new enable/disable frame methods/functions.
9134
9135         * general-slots.h:
9136         add initial-focus.
9137
9138         * glyphs-msw.c (mswindows_widget_instantiate):
9139         comment that initial-focus should be implemented.
9140
9141         * glyphs-widget.c:
9142         * glyphs-widget.c (check_valid_instantiator):
9143         * glyphs-widget.c (check_valid_orientation):
9144         * glyphs-widget.c (check_valid_tab_orientation):
9145         * glyphs-widget.c (check_valid_justification):
9146         * glyphs-widget.c (check_valid_border):
9147         * glyphs-widget.c (check_valid_callback):
9148         * glyphs-widget.c (check_valid_int_or_function):
9149         * glyphs-widget.c (check_valid_string_or_vector):
9150         * glyphs-widget.c (check_valid_item_list_1):
9151         * glyphs-widget.c (widget_validate):
9152         * glyphs-widget.c (combo_box_validate):
9153         * glyphs-widget.c (widget_instantiate):
9154         * glyphs-widget.c (syms_of_glyphs_widget):
9155         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9156         * glyphs-widget.c (image_instantiator_combo_box):
9157         * glyphs-widget.c (image_instantiator_scrollbar):
9158         * glyphs-widget.c (image_instantiator_tab_control):
9159         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9160         (2).
9161         support (unimplemented) keyword initial-focus.
9162         reindent long macros.
9163
9164         * glyphs-x.c (x_redisplay_widget):
9165         * glyphs-x.c (x_button_instantiate):
9166         * glyphs-x.c (x_button_redisplay):
9167         * glyphs-x.c (x_progress_gauge_instantiate):
9168         * glyphs-x.c (x_edit_field_instantiate):
9169         * glyphs-x.c (x_combo_box_instantiate):
9170         * glyphs-x.c (x_tab_control_instantiate):
9171         * glyphs-x.c (x_label_instantiate):
9172         * gui-x.c:
9173         * gui-x.c (button_item_to_widget_value):
9174         * gui-x.c (gui_items_to_widget_values_1):
9175         * gui-x.c (gui_item_children_to_widget_values):
9176         * gui-x.c (gui_items_to_widget_values):
9177         * gui-x.h:
9178         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9179         add new flag to gui-parsing routines to indicate whether
9180         accelerator specs should be supported.
9181
9182         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9183
9184         * glyphs.h (struct Lisp_Image_Instance):
9185         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9186         add initial-focus flag.
9187
9188         * gui.c:
9189         * gui.c (syms_of_gui):
9190         * gui.c (vars_of_gui):
9191         clean up menu-no-selection-hook.
9192
9193         * gui.h:
9194         support delete-dialog-box-hook.
9195
9196         * lread.c (Fload_internal):
9197         * lread.c (locate_file_in_directory_mapper):
9198         (1).
9199
9200         * lrecord.h:
9201         * lrecord.h (struct toolbar_button):
9202         * lrecord.h (syms_of_toolbar):
9203         document how to create a new object.
9204
9205         * menubar-msw.c (mswindows_char_is_accelerator):
9206         may be called on frames w/o menus.
9207
9208         * menubar.c (vars_of_menubar):
9209         clean up :filter docs.
9210
9211         * nt.c (readdir):
9212         * ntproc.c:
9213         (1).
9214
9215         * process-nt.c:
9216         * process-nt.c (validate_signal_number):
9217         * process-nt.c (signal_cannot_launch):
9218         * process-nt.c (nt_create_process):
9219         * process-nt.c (nt_send_process):
9220         * process-nt.c (nt_kill_child_process):
9221         * process-nt.c (nt_open_network_stream):
9222         * process-nt.c (syms_of_process_nt):
9223         (2).
9224         delete quote-handling.  call new lisp code that does it better.
9225
9226         * process-unix.c (connect_to_file_descriptor):
9227         * process-unix.c (allocate_pty):
9228         * process-unix.c (unix_send_process):
9229         * process-unix.c (unix_kill_child_process):
9230         * process-unix.c (unix_open_network_stream):
9231         * process-unix.c (unix_open_multicast_group):
9232         (1). (2).
9233
9234         * process.c:
9235         * process.c (Fstart_process_internal):
9236         (2).  need to canonicalize process path even if absolute.
9237
9238         * select-msw.c (symbol_to_ms_cf):
9239         * select-msw.c (ms_cf_to_symbol):
9240         * select-msw.c (cf_is_autofreed):
9241         * select-msw.c (mswindows_destroy_selection):
9242         * select.c:
9243         * select.c (syms_of_select):
9244         * select.h:
9245         support dibv5, fix bugs. (from Mike Alexander)
9246
9247         * select.c (Fget_selection_internal):
9248         * select.c (select_convert_out):
9249
9250         * sysdep.c:
9251         * sysdep.c (xemacs_stat):
9252         renamed.
9253
9254         * sysdep.c (mkdir):
9255         * sysdep.c (rmdir):
9256         but keep original stat() here because we provide encapsulation
9257         around these funs.
9258
9259         * sysfile.h:
9260         * sysfile.h (fstat):
9261         remove stat garbage.
9262
9263         * syswindows.h:
9264         fix X/MSW conflict.
9265         don't include tchar.h.  it's inappropriate because it makes
9266         compile-time distinctions when we want runtime distinctions.
9267         (we provide our own tchar replacements)
9268
9269         * toolbar.c:
9270         use default object printer for toolbar-button.
9271
9272         * unexcw.c:
9273         make sure we don't encapsulate.
9274
9275         * window.c (vars_of_window):
9276         emphasize that temp-buffer-show-hook is obsolete.
9277
9278 2000-08-05  Martin Buchholz  <martin@xemacs.org>
9279
9280         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
9281         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
9282
9283         * events.c (Fevent_timestamp_lessp):
9284         Not 64-bit clean.  Use EMACS_INT, not int.
9285
9286 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
9287
9288         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
9289         unsigned int and changed the last enum to
9290         lrecord_type_last_built_in_type.
9291         (lrecord_implementations_table): changed prototype to know how
9292         long the array is supposed to be.
9293         (lrecord_type_count): new unsigned int to keep track of the
9294         current number of lisp lrecord types.
9295         (DEFINE_EXTERNAL_LRECORD):
9296         (DECLARE_EXTERNAL_LRECORD): Added these two for external
9297         dynamic-modules to declare new lisp types. They are the same
9298         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
9299         int for each new type, and increment lrecord_type_count by 1.
9300
9301         * alloc.c (lrecord_implementations_table): Changed to reference
9302         lrecord_type_last_built_in_type for the size of the array.
9303         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
9304
9305 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9306
9307         * glyphs.h (check_valid_item_list): Renamed from
9308         check_valid_item_list_1.
9309
9310 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
9311
9312         * select.c (Qselect_coerce): New.
9313         * select.c (Vselection_coercion_alist): New.
9314         * select.c (syms_of_select): Declare.
9315         * select.c (get-selection-internal): Use it.
9316         Use the new select-coerce functionality.
9317
9318         * select.c (select_coerce): New.
9319         * select.h (select_coerce): Declare.
9320         New function to coerce one type of data into another.
9321
9322 2000-08-03  Martin Buchholz  <martin@xemacs.org>
9323
9324         * callproc.c (Fcall_process_internal):
9325         (Fcall_process_internal):
9326         * process-unix.c (unix_create_process):
9327         Save and restore the value of errno, so that error messages are accurate.
9328
9329 2000-08-01  Martin Buchholz  <martin@xemacs.org>
9330
9331         * elhash.c (print_hash_table):
9332         Fix printing of hash tables to also use `key-and-value' instead of `t'.
9333         Prettify docstrings and indentation.
9334
9335 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9336
9337         * window.c (Fwindow_pixel_edges): Subtract frame border and
9338         gutter size.
9339
9340 2000-07-31  Andy Piper  <andy@xemacs.org>
9341
9342         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
9343         will acknowledge the change.
9344
9345         * glyphs.h: declare tab_control_order_only_changed.
9346
9347         * glyphs-x.c (x_tab_control_redisplay): use
9348         tab_control_order_only_changed.
9349
9350         * glyphs-widget.c (tab_control_order_only_changed): new function.
9351
9352         * glyphs-msw.c (mswindows_tab_control_redisplay): use
9353         tab_control_order_only_changed.
9354
9355         * gui.c (gui_item_equal_sans_selected): new function.
9356         (gui_item_equal): use it.
9357
9358         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
9359         :properties in favor of :items..
9360
9361         * glyphs-widget.c (check_valid_item_list): rename from
9362         check_valid_item_list_1.
9363         (check_valid_item_list_1): renamed.
9364         (combo_box_validate): deprecate :properties in favor of :items.
9365         (widget_instantiate): ditto.
9366         (tab_control_update): ditto.
9367         (image_instantiator_combo_box): ditto.
9368         (image_instantiator_tree_view): ditto.
9369         (image_instantiator_tab_control): ditto.
9370         (layout_post_instantiate): remove dead code.
9371
9372         * print.c (debug_print_no_newline): only write to debugger if in
9373         WIN32_NATIVE.
9374
9375         * elhash.c (Fmake_hash_table): update doc string.
9376
9377         * event-msw.c (mswindows_wnd_proc): don't allow processing of
9378         messages whilst in GC. This at least stops XEmacs crashing but has
9379         the potential for wierd behaviour.
9380
9381 2000-07-31  Martin Buchholz  <martin@xemacs.org>
9382
9383         * config.h.in:
9384         Make existence of s&m files optional.
9385
9386         * s/bsd386.h: Remove HAVE_GETLOADAVG.
9387         * s/freebsd.h: Remove HAVE_GETLOADAVG.
9388         * s/gnu.h: Remove HAVE_GETLOADAVG.
9389         * s/netbsd.h: Remove HAVE_GETLOADAVG.
9390         * s/sol2.h: Remove HAVE_GETLOADAVG.
9391         * lisp.h: Remove getloadavg() declaration.
9392         * fns.c:
9393         Include <sys/loadavg.h> if available.
9394         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
9395         * config.h.in:  Group together getloadavg()-related macros.
9396         Use only configure-time tests to detect getloadavg().
9397
9398 2000-07-30  Martin Buchholz  <martin@xemacs.org>
9399
9400         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
9401
9402 2000-07-25  Andy Piper  <andy@xemacs.org>
9403
9404         * syswindows.h: add tchar.h for native builds.
9405
9406         * frame.c (syms_of_frame): remove set-glyph-image.
9407
9408         * general-slots.h: add Qset_glyph_image.
9409
9410         * glyphs-widget.c (layout_update): add domain arg to
9411         set-glyph-image.
9412         (syms_of_glyphs_widget): remove set-glyph-image.
9413
9414 2000-07-23  Ben Wing  <ben@xemacs.org>
9415
9416         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
9417         Vpopup_frame_list.
9418
9419 2000-07-22  Andy Piper  <andy@xemacs.org>
9420
9421         * symsinit.h: add syms_of_win32().
9422
9423         * gui-msw.c (syms_of_gui_mswindows): remove
9424         Fmswindows_shell_execute.
9425         (Fmswindows_shell_execute): moved to win32.c.
9426
9427         * emacs.c (main_1): add syms_of_win32 ().
9428
9429         * win32.c (init_potentially_nonexistent_functions): rewrite in
9430         compiler-friendly terms.
9431         (Fmswindows_shell_execute): move here from gui-msw.c.
9432         (syms_of_win32): new.
9433
9434         * device-msw.c (Fmswindows_printer_list): clean up args to
9435         EnumPrinters.
9436         Don't include tchar under cygwin or mingw.
9437         (msprinter_default_printer): make cygwin-friendly.
9438
9439 2000-07-21  Andy Piper  <andy@xemacs.org>
9440
9441         * glyphs-widget.c (image_instantiator_tree_view): use tab
9442         control's update function.
9443         (layout_property): new function. Retrieve items.
9444
9445         * glyphs-msw.c (mswindows_tree_view_redisplay): new
9446         function. Re-populate the tree view from the pending items.
9447
9448         * glyphs.c (instantiate_image_instantiator): Make sure the domain
9449         is designated the parent if the domain is an image instance. This
9450         is needed so that dirtiness can be cascade up the hierarchy and
9451         thus for layout children to be redisplayed correctly.
9452         (allocate_image_instance): rename glyph -> parent.
9453
9454         * redisplay.h: change redisplay_output_layout signature.
9455
9456         * redisplay-msw.c (mswindows_output_display_block): use domain
9457         arg.
9458
9459         * redisplay-x.c (x_output_display_block): use domain arg.
9460
9461 2000-07-10  Andy Piper  <andy@xemacs.org>
9462
9463         * window.c (Fset_window_configuration): add comment.
9464
9465         * redisplay-output.c (compare_runes):
9466         (redisplay_output_subwindow): redisplay rather than update subwindow.
9467         (redisplay_output_layout): ditto.
9468
9469         * redisplay-msw.c (mswindows_frame_output_end):
9470         (mswindows_frame_output_end): make defer window pos optional.
9471
9472         * lisp.h: add Flast.
9473
9474         * glyphs.h (struct image_instantiator_methods): add dest_mask top
9475         normalize method. Change update method to be for changed
9476         instantiators. Add redisplay method. Change signature of layout
9477         method.
9478         (struct Lisp_Image_Instance): add instantiator.
9479         (IMAGE_INSTANCE_INSTANTIATOR): new.
9480         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
9481         (XIMAGE_INSTANCE_INSTANTIATOR): new.
9482         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
9483
9484         * glyphs.c:
9485         (find_instantiator_differences): new function.
9486         (Fset_instantiator_property): new convenience function.
9487         (check_image_instance_structure): strictly check for vector
9488         instantiators.
9489         (normalize_image_instantiator): make non-static.
9490         (instantiate_image_instantiator): pass on dest_mask and use new
9491         signatures for image_instance_layout and friends.
9492         (mark_image_instance): mark the instantiator. Mark the subwindow
9493         face not the widget face.
9494         (image_instance_equal): add instantiator.
9495         (image_instance_hash): ditto.
9496         (allocate_image_instance): ditto.
9497         (Fset_image_instance_property): removed.
9498         (Fimage_instance_file_name): ditto.
9499         (Fcolorize_image_instance): ditto.
9500         (image_instance_layout): add offsets to be set.
9501         (update_image_instance): new function. update an image instance
9502         from its changed instantiator.
9503         (inherit_normalize): add dest_mask.
9504         (xbm_normalize): ditto.
9505         (xface_normalize): ditto.
9506         (xpm_normalize): ditto.
9507         (text_update): set_property -> update.
9508         (image_instantiate): use the glyph identity as a hash key, not the
9509         instantiator.
9510         (glyph_width): use new image_instance_layout signature.
9511         (glyph_ascent): ditto.
9512         (glyph_descent): ditto.
9513         (glyph_height): ditto.
9514         (glyph_query_geometry): ressurrect.
9515         (glyph_layout): ditto.
9516         (redisplay_subwindow): update -> redisplay.
9517         (syms_of_glyphs): add Fset_instantiator_property.
9518         (image_instantiator_format_create): set_property -> update.
9519
9520         * glyphs-x.c:
9521         (autodetect_normalize): add dest_maks to signature.
9522         (x_redisplay_subwindow): update -> redisplay.
9523         (x_redisplay_widget): ditto.
9524         (x_button_redisplay): ditto.
9525         (x_progress_gauge_redisplay): ditto.
9526         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
9527         stacking order.
9528         (console_type_create_glyphs_x): update -> redisplay.
9529         (image_instantiator_format_create_glyphs_x): ditto.
9530
9531         * glyphs-widget.c:
9532         (check_valid_instantiator): disallow glyphs in the instantiator,
9533         they must now be vectors.
9534         (check_valid_instantiator_list): ditto.
9535         (glyph_instantiator_to_glyph): use internal symbol rather than
9536         intern.
9537         (widget_update): renamed from widget_set_property. Call cascaded
9538         update methods.
9539         (redisplay_widget): renamed from update_widget.
9540         (widget_layout): image_instance_layout now takes position as well
9541         as size.
9542         (widget_normalize): ditto.
9543         (widget_instantiate): ditto.
9544         (tab_control_query_geometry) ditto.:
9545         (tab_control_update): renamed from tab_control_set_property.
9546         (progress_gauge_update): set_property -> update.
9547         (layout_normalize): rewrite so that child instantiators are
9548         normalized also.
9549         (layout_update): new function. Create glyphs from the normalized
9550         children and cope with any other layout keywords. We do not
9551         instantiate children here that will be take care of by
9552         redisplay_output_layout.
9553         (layout_instantiate): call layout_update and not much else.
9554         (layout_post_instantiate): not sure whether this is needed
9555         anymore.
9556         (layout_query_geometry): query glyph geometry rather than
9557         image_instance geometry.
9558         (layout_layout): set offsets from pass in parameters. Use glyph
9559         geometry and layout functions rather than image instance ones.
9560         (native_layout_layout): ditto.
9561         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
9562         (image_instantiator_widget): set_property -> update.
9563         (image_instantiator_buttons): ditto.
9564         (image_instantiator_progress_guage): ditto.
9565         (image_instantiator_tab_control): ditto.
9566         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
9567         (image_instantiator_layout): add update method.
9568
9569         * glyphs-msw.c (bmp_normalize):
9570         (mswindows_resource_normalize): add dest_mask so that it can be
9571         proprogated by layout_normalize.
9572         (begin_defer_window_pos): make optional because it may not be the
9573         right thing to do and it introduces differences with X.
9574         (mswindows_unmap_subwindow): ditto.
9575         (mswindows_map_subwindow): ditto.
9576         (mswindows_redisplay_subwindow): renamed from
9577         mswindows_update_subwindow.
9578         (mswindows_redisplay_widget): ditto.
9579         (mswindows_button_redisplay): renamed from
9580         mswindows_button_update. Update is now what the instantiation
9581         function does for a changed instantiator.
9582         (mswindows_progress_gauge_instantiate): set the progress value
9583         here if appropriate.
9584         (mswindows_tab_control_redisplay): cope with re-ordering of the
9585         members of the tab widget by simply selecting the new top
9586         widget. This makes things appear ok if you click on a tab.
9587         (mswindows_combo_box_instantiate): image_instance_layout now takes
9588         position as well as size.
9589         (mswindows_progress_gauge_redisplay): renamed from
9590         mswindows_progress_gauge_update.
9591         (console_type_create_glyphs_mswindows): fix update -> redisplay.
9592         (image_instantiator_format_create_glyphs_mswindows): ditto.
9593
9594         * glyphs-eimage.c (jpeg_normalize):
9595         (gif_normalize):
9596         (png_normalize):
9597         (tiff_normalize): add dest_mask so that it can be proprogated by
9598         layout_normalize.
9599
9600         * elhash.c:
9601         (print_hash_table):
9602         (hash_table_weakness_validate):
9603         (decode_hash_table_weakness):
9604         (Fhash_table_weakness):
9605         (Fhash_table_type):
9606         (syms_of_elhash): use Ben's naming scheme for hashtable types..
9607
9608         * console.h (struct console_methods): move update_* to
9609         redisplay_*.
9610
9611 2000-07-20  Ben Wing  <ben@xemacs.org>
9612
9613         * *.[ch] (XSETOBJ): remove unused middle argument.
9614         lisp-disunion.h: correct wrap_object() to one argument.
9615
9616 2000-07-15  Ben Wing  <ben@xemacs.org>
9617
9618         * s/cygwin32.h:
9619         * s/cygwin32.h (CYGWIN_CONV_PATH):
9620         Add missing logb prototype for v1.1.
9621         Use post-b20 names and alias to pre-b20 names when pre-b20.
9622
9623         * s/windowsnt.h: [5].
9624
9625 2000-07-15  Ben Wing  <ben@xemacs.org>
9626
9627         * Makefile.in.in (x_objs):
9628         * Makefile.in.in (sheap_objs):
9629         * Makefile.in.in (objs):
9630         added win32.o, cosmetic cleanups.
9631
9632         * alloc.c (Fmake_byte_code):
9633         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
9634         etc. macros which declare their own args now.
9635
9636         * alloc.c (syms_of_alloc):
9637         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
9638
9639         * buffer.c:
9640         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
9641
9642         * buffer.c (Fget_file_buffer):
9643         Fixed GCPRO problem.
9644
9645         * buffer.c (get_truename_buffer):
9646         Fixed comment about GC checking.
9647
9648         * buffer.c (syms_of_buffer):
9649         Undeclared those dedicated frame funs.
9650         [2].
9651
9652         * buffer.h:
9653         Define convenience macros for internal/external conversions.
9654         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
9655         and Qenvironment_variable_encoding for cleaner code.
9656
9657         * bufslots.h:
9658         Remove dedicated-frame; in lisp.
9659
9660         * bytecode.c (funcall_compiled_function):
9661         [1].
9662
9663         * bytecode.c (syms_of_bytecode):
9664         [2].
9665
9666         * console-msw.c:
9667         * console-msw.c (mswindows_show_console): Rewrote.
9668
9669         * console-msw.c (Fmswindows_debugging_output): New.
9670         Sends to OutputDebugString (special MSWin debugger interface).
9671
9672         * console-msw.c (Fmswindows_message_box):
9673         Fixed stupid bugs so it works when called from kill-emacs.
9674
9675         * console-msw.c (syms_of_console_mswindows):
9676         Declare Fmswindows_debugging_output.
9677
9678         * console-msw.h:
9679         New MSWin prototypes.
9680
9681         * console-msw.h (struct mswindows_frame):
9682         New entry last-click-mods for improved button-modifier support.
9683
9684         * console-msw.h (FRAME_MSWINDOWS_POPUP):
9685         New struct entry `popup' with corresponding accessor.
9686
9687         * console-x.c:
9688         * console-x.c (split_up_display_spec):
9689         * console-x.c (get_display_arg_connection):
9690         * console-x.c (x_semi_canonicalize_console_connection):
9691         * console-x.c (x_canonicalize_device_connection):
9692         [[[6]]]: Change char to more specific type.
9693         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
9694
9695         * console-x.c (x_semi_canonicalize_console_connection):
9696         * console-x.c (x_canonicalize_device_connection):
9697         [[[9]]]: Fix up error signalling to use new structured error system.
9698
9699         * console-x.h:
9700         [[[4]]]: Define codesys aliases:
9701         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
9702         Qx_color_name_encoding, Qx_display_name_encoding.
9703
9704         * console.h (struct console_methods):
9705         New method make_dialog_box_internal supersedes older
9706         popup_dialog_box method.
9707
9708         * data.c:
9709         Define many new errors, part of new structured errors.
9710
9711         * data.c (init_errors_once_early):
9712         * data.c (syms_of_data):
9713         [2].
9714
9715         * device-msw.c (mswindows_init_device):
9716         [[[5]]]: Cleanup to support NT 3.51.
9717
9718         * device-msw.c (decode_devmode): Cleanup.
9719
9720         * device-msw.c (mswindows_handle_print_setup_dialog_box):
9721         * device-msw.c (mswindows_handle_print_dialog_box):
9722         * device-msw.c (mswindows_handle_page_setup_dialog_box):
9723         * device-msw.c (syms_of_device_mswindows):
9724         Delete the dialog box primitives recently introduced by Kirill and
9725         instead interface to general dialog box interface.
9726
9727         * device-x.c:
9728         * device-x.c (compute_x_app_name):
9729         * device-x.c (x_init_device):
9730         * device-x.c (Fx_valid_keysym_name_p):
9731         * device-x.c (Fx_set_font_path):
9732         [6].
9733         [7].
9734
9735         * device.h (wrap_device): New.
9736         First of its kind; meant to replace XSETDEVICE.
9737
9738         * dialog-msw.c: Many file-dialog symbols.
9739
9740         * dialog-msw.c (mswindows_register_popup_frame): New.
9741         * dialog-msw.c (mswindows_is_dialog_msg): New.
9742         For supporting kbd traversal in dialog boxes.
9743
9744         * dialog-msw.c (dialog_proc):
9745         Support hitting ESC in dialogs.
9746
9747         * dialog-msw.c (struct):
9748         Common dialog box errors.
9749
9750         * dialog-msw.c (handle_file_dialog_box): New.
9751         Add file dialog code.
9752
9753         * dialog-msw.c (handle_question_dialog_box):
9754         Redo existing code to support new question dialog syntax.
9755
9756         * dialog-msw.c (console_type_create_dialog_mswindows):
9757         We support new dialog console method.
9758
9759         * dialog-msw.c (syms_of_dialog_mswindows):
9760         * dialog-msw.c (vars_of_dialog_mswindows):
9761         New file dialog symbols, vars.
9762
9763         * dialog-x.c:
9764         * dialog-x.c (maybe_run_dbox_text_callback):
9765         * dialog-x.c (dbox_descriptor_to_widget_value):
9766         * dialog-x.c (x_make_dialog_box_internal):
9767         * dialog-x.c (console_type_create_dialog_x):
9768         Mule-ize entire file.
9769         Redo to support question dialog syntax.
9770         [6].
9771
9772         * dialog.c:
9773         * dialog.c (Fmake_dialog_box_internal):
9774         * dialog.c (syms_of_dialog):
9775         Kill old popup-dialog-box, replace with new primitive.
9776         Just call device method or signal error.
9777
9778         * eldap.c (Fldap_open):
9779         * eldap.c (Fldap_search_basic):
9780         * eldap.c (Fldap_add):
9781         * eldap.c (Fldap_modify):
9782         [1].
9783         [7].
9784
9785         * emacs.c:
9786         * emacs.c (make_arg_list_1):
9787         * emacs.c (make_arg_list):
9788         Mule-ize call to dll_init().
9789         [6].
9790         [8].
9791
9792         * emacs.c (make_argc_argv):
9793         * emacs.c (free_argc_argv):
9794         * emacs.c (init_cmdargs):
9795         * emacs.c (main_1):
9796         * emacs.c (Fkill_emacs):
9797         * emacs.c (Fdump_emacs):
9798         Update comments about what can be used in syms_* etc.
9799         Call init_win32() when necessary.
9800         Fix up MS Win dialog box in kill-buffer to actually work right.
9801         [7].
9802
9803         * eval.c:
9804         * eval.c (For):
9805         * eval.c (Fand):
9806         * eval.c (Fprogn):
9807         * eval.c (Fprog1):
9808         * eval.c (Fprog2):
9809         * eval.c (FletX):
9810         * eval.c (Flet):
9811         * eval.c (condition_case_3):
9812         * eval.c (Feval):
9813         * eval.c (function_argcount):
9814         * eval.c (funcall_lambda):
9815         [1].
9816
9817         * eval.c (type_error): New.
9818         * eval.c (maybe_type_error): New.
9819         * eval.c (continuable_type_error): New.
9820         * eval.c (maybe_continuable_type_error): New.
9821         * eval.c (type_error_with_frob): New.
9822         * eval.c (maybe_type_error_with_frob): New.
9823         * eval.c (continuable_type_error_with_frob): New.
9824         * eval.c (maybe_continuable_type_error_with_frob): New.
9825         New functions for use with structured errors.
9826
9827         * event-Xt.c:
9828         * event-Xt.c (x_event_to_emacs_event):
9829         Buttons are now modifiers too.
9830
9831         * event-Xt.c (emacs_Xt_current_event_timestamp):
9832         Implement new event method.
9833         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
9834
9835         * event-msw.c:
9836         * event-msw.c (ntpipe_shove_writer): [5].
9837         * event-msw.c (mswindows_enqueue_mouse_button_event):
9838         * event-msw.c (mswindows_drain_windows_queue):
9839         * event-msw.c (mswindows_wnd_proc): [7].
9840         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
9841         * event-msw.c (mswindows_modifier_state):
9842         Throughout: support new button modifiers.
9843
9844         * event-msw.c (emacs_mswindows_current_event_timestamp):
9845         Implement new event method.
9846         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
9847
9848         * event-stream.c:
9849         * event-stream.c (event_stream_current_event_timestamp): New.
9850         * event-stream.c (maybe_kbd_translate): New functionality.
9851         * event-stream.c (vars_of_event_stream):
9852         Document new kbd-translate-table functionality.
9853
9854         * event-stream.c (Fcurrent_event_timestamp): New.
9855         New primitive for use in fabricated events.
9856         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
9857
9858         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
9859
9860         * events.c:
9861         * events.c (Fmake_event):
9862         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
9863         [1].
9864         [9].
9865
9866         * events.c (format_event_object): fix gcc warnings.
9867
9868         * events.c (Fevent_timestamp): Document new primitives.
9869
9870         * events.c (TIMESTAMP_HALFSPACE): New.
9871
9872         * events.c (Fevent_timestamp_lessp): New.  New primitive for
9873         comparing timestamps correctly (half-space algorithm).
9874
9875         * events.c (Fevent_modifier_bits): Doc fix.
9876
9877         * events.c (Fevent_modifiers): Major doc addition.
9878         * events.c (event_x_y_pixel_internal): Typo fix.
9879         * events.c (syms_of_events): Declare new primitives.
9880
9881         * events.h:
9882         Update long comment for button modifiers, timestamps.
9883
9884         * events.h (struct event_stream):
9885         New current_event_timestamp method.
9886
9887         * extents.c:
9888         * extents.c (extent_in_region_p):
9889         * extents.c (decode_extent):
9890         * extents.c (Fset_extent_parent):
9891         * extents.c (decode_map_extents_flags):
9892         Fix gcc warnings.
9893         [9].
9894
9895         * extents.c (struct extent_at_arg):
9896         * extents.c (decode_extent_at_flag):
9897         * extents.c (extent_at_mapper):
9898         * extents.c (extent_at_bytind):
9899         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
9900         * extents.c (Fextents_at): New primitive. [9].
9901         * extents.c (symbol_to_glyph_layout): [9].
9902         Support new primitive `extents-at'.
9903
9904
9905         * extents.c (get_text_property_bytind):
9906         extent_at_bytind has another arg.
9907         [9].
9908
9909         * extents.c (syms_of_extents): New primitive.
9910
9911         * file-coding.c (Fmake_coding_system): [1].
9912         * file-coding.c (subsidiary_coding_system): fix gcc warning
9913         * file-coding.c (syms_of_file_coding): [2].
9914
9915         * fileio.c (Fexpand_file_name):
9916         * fileio.c (Fsysnetunam):
9917         * fileio.c (Ffile_exists_p):
9918         * fileio.c (Ffile_executable_p):
9919         * fileio.c (Fverify_visited_file_modtime):
9920         Clean up GCPROing.
9921
9922         * fileio.c (syms_of_fileio): [2].
9923
9924         * filelock.c (lock_file_1):
9925         * filelock.c (current_lock_owner):
9926         * filelock.c (lock_if_free):
9927         * filelock.c (lock_file):
9928         * filelock.c (unlock_file):
9929         Clean up GCPROing.
9930
9931         * fns.c (concat): Fix gcc warning.
9932
9933         * fns.c (Fmember):
9934         * fns.c (Fold_member):
9935         * fns.c (Fmemq):
9936         * fns.c (Fold_memq):
9937         * fns.c (memq_no_quit):
9938         * fns.c (Fassoc):
9939         * fns.c (Fold_assoc):
9940         * fns.c (Fassq):
9941         * fns.c (Fold_assq):
9942         * fns.c (assq_no_quit):
9943         * fns.c (Frassoc):
9944         * fns.c (Fold_rassoc):
9945         * fns.c (Frassq):
9946         * fns.c (Fold_rassq):
9947         * fns.c (rassq_no_quit):
9948         * fns.c (Fdelete):
9949         * fns.c (Fold_delete):
9950         * fns.c (Fdelq):
9951         * fns.c (Fold_delq):
9952         * fns.c (delq_no_quit):
9953         * fns.c (Fremassoc):
9954         * fns.c (Fremassq):
9955         * fns.c (remassq_no_quit):
9956         * fns.c (Fremrassoc):
9957         * fns.c (Fremrassq):
9958         * fns.c (remrassq_no_quit):
9959         * fns.c (Freverse):
9960         * fns.c (mapcar1):
9961         [1].
9962
9963         * frame-msw.c (mswindows_init_frame_1):
9964         * frame-msw.c (mswindows_delete_frame):
9965         Register popups with dialog code so keyboard traversing works.
9966
9967         * frame-tty.c (tty_raise_frame_no_select): [1].
9968
9969         * frame-x.c:
9970         * frame-x.c (x_set_frame_text_value):
9971         * frame-x.c (x_set_frame_properties):
9972         * frame-x.c (x_create_widgets):
9973         [7].
9974
9975         * frame.c:
9976         * frame.c (Fmouse_pixel_position): Minor doc fixes.
9977
9978         * frame.h (wrap_frame): New.
9979         Macro like wrap_device.
9980
9981         * general.c:
9982         * general.c (SYMBOL):
9983         * general.c (syms_of_general):
9984         Major reorg.  This is now just a wrapper and symbols themselves
9985         are listed in general-slots.h.
9986
9987         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
9988         * glyphs-msw.c (mswindows_resource_instantiate): [5].
9989
9990         * glyphs-msw.c (mswindows_native_layout_instantiate):
9991         Add DS_CONTROL so keyboard traversal will work.
9992
9993         * glyphs-widget.c:
9994         * glyphs-widget.c (syms_of_glyphs_widget):
9995         Move some symbols to general-slots.h.
9996
9997         * glyphs-x.c:
9998         * glyphs-x.c (xbm_instantiate_1):
9999         * glyphs-x.c (x_xbm_instantiate):
10000         * glyphs-x.c (x_xface_instantiate):
10001         * glyphs-x.c (autodetect_instantiate):
10002         * glyphs-x.c (cursor_font_instantiate):
10003         * glyphs-x.c (x_update_widget):
10004         * glyphs-x.c (x_widget_instantiate):
10005         * glyphs.c (bitmap_to_lisp_data):
10006         * glyphs.c (pixmap_to_lisp_data):
10007         [7].
10008
10009         * glyphs.c (syms_of_glyphs):
10010         [2].
10011
10012         * gui-x.c:
10013         * gui-x.c (print_widget_value):
10014         * gui-x.c (menu_separator_style_and_to_external):
10015         * gui-x.c (add_accel_and_to_external):
10016         * gui-x.c (button_item_to_widget_value):
10017         * gui-x.c (gui_items_to_widget_values_1):
10018         * gui-x.c (gui_items_to_widget_values):
10019         * gui-x.c (syms_of_gui_x):
10020         * gui-x.c (vars_of_gui_x):
10021         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10022         [9].
10023
10024         * gui-x.h:
10025         Muleize, prototype changes matching gui-x.c.
10026
10027         * gui.c:
10028         * gui.c (separator_string_p):
10029         * gui.c (gui_item_add_keyval_pair):
10030         * gui.c (make_gui_item_from_keywords_internal):
10031         * gui.c (signal_too_long_error):
10032         * gui.c (parse_gui_item_tree_item):
10033         * gui.c (syms_of_gui):
10034         * gui.c (vars_of_gui):
10035         * gui.h:
10036         menu-no-selection-hook moved here (used by MSWin).
10037         Move some symbols to general-slots.h.
10038         [6].
10039         [9].
10040
10041         * insdel.c (get_buffer_pos_char):
10042         * insdel.c (get_buffer_range_char):
10043         Add GC comments.
10044
10045         * keymap.c (keymap_lookup_directly):
10046         * keymap.c (keymap_store):
10047         * keymap.c (ensure_meta_prefix_char_keymapp):
10048         * keymap.c (describe_map):
10049         * keymap.h:
10050         Support new button modifiers.
10051
10052         * lisp-disunion.h (wrap_object):
10053         * lisp-disunion.h (XSETOBJ):
10054         Rename make_obj to wrap_object.
10055
10056         * lisp-union.h:
10057         * lisp-union.h (make_int):
10058         * lisp-union.h (make_char):
10059         Support wrap_object.
10060
10061         * lisp.h:
10062         * lisp.h (LIST_LOOP):
10063         * lisp.h (EXTERNAL_LIST_LOOP):
10064         * lisp.h (LIST_LOOP_2):
10065         * lisp.h (EXTERNAL_LIST_LOOP_1):
10066         * lisp.h (EXTERNAL_LIST_LOOP_2):
10067         * lisp.h (EXTERNAL_LIST_LOOP_3):
10068         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10069         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10070         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10071         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10072         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10073         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10074         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10075         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10076         * lisp.h (struct Lisp_Symbol):
10077         * lisp.h (maybe_continuable_error_with_frob):
10078         Fix up section comments.
10079         Add new types for char to indicate usage.
10080         Delete symbols auto-generated from general-slots.h.
10081         Add prototypes for structured error functions.
10082         Add long comments describing looping macros and change interface
10083         so that lvalues are automatically declared.
10084         Add NO_DECLARE macro in case callers want to declare lvalues
10085         themselves.
10086
10087         * lread.c (read_syntax_error):
10088         * lread.c (continuable_read_syntax_error):
10089         * lread.c (read_structure):
10090         * lread.c (sequence_reader):
10091         * lread.c (read_list_conser):
10092         * lread.c (read_compiled_function):
10093         Rename syntax_error and continuable_syntax_error to avoid clash
10094         with same-named structured error functions.
10095
10096         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10097         * menubar-msw.c (populate_menu_add_item):
10098         * menubar-msw.c (populate_or_checksum_helper):
10099         [5].
10100         [9].
10101
10102         * menubar-x.c:
10103         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10104         Mule-ize whole file.
10105
10106         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10107
10108         * mule-charset.c (Fmake_charset):
10109         * mule-wnnfns.c (Fwnn_set_param):
10110         [1].
10111
10112         * ntproc.c (create_child):
10113         * ntproc.c (Fwin32_set_current_locale):
10114         Add comments portending doom.
10115
10116         * objects-msw.c:
10117         * objects-msw.c (old_font_enum_callback_2):
10118         * objects-msw.c (font_enum_callback_1):
10119         * objects-msw.c (mswindows_enumerate_fonts):
10120         [5].
10121
10122         * objects-x.c:
10123         * objects-x.c (allocate_nearest_color):
10124         * objects-x.c (x_parse_nearest_color):
10125         * objects-x.c (x_initialize_color_instance):
10126         * objects-x.c (x_print_color_instance):
10127         * objects-x.c (x_finalize_color_instance):
10128         * objects-x.c (x_valid_color_name_p):
10129         * objects-x.c (x_initialize_font_instance):
10130         * objects-x.c (x_print_font_instance):
10131         * objects-x.c (valid_x_font_name_p):
10132         * objects-x.c (truename_via_FONT_prop):
10133         * objects-x.c (truename_via_random_props):
10134         * objects-x.c (truename_via_XListFonts):
10135         * objects-x.c (x_font_truename):
10136         * objects-x.c (x_font_instance_truename):
10137         * objects-x.c (x_font_instance_properties):
10138         * objects-x.c (x_list_fonts):
10139         * objects-x.c (x_find_charset_font):
10140         Mule-ize entire file.
10141         [7].
10142
10143         * objects-x.h:
10144         Mule-verify.
10145
10146         * print.c:
10147         * print.c (std_handle_out_external):
10148         * print.c (debug_print_no_newline):
10149         * print.c (syms_of_print):
10150         Output to all debugger kinds in debug-print.
10151         Fix console-output code under MSWin to actually work.
10152
10153         * process-nt.c (send_signal):
10154         * process-nt.c (nt_create_process):
10155         Use newer Unicode macros.
10156
10157         * process-unix.c (unix_create_process):
10158         * process-unix.c (unix_canonicalize_host_name):
10159         * process-unix.c (unix_open_network_stream):
10160         [7].
10161
10162         * scrollbar-x.c:
10163         Mule-verify.
10164
10165         * search.c (syms_of_search):
10166         [2].
10167
10168         * select-msw.c (mswindows_destroy_selection):
10169         Use LIST_LOOP_2.
10170
10171         * select-x.c (symbol_to_x_atom):
10172         [7].
10173
10174         * select.c (syms_of_select):
10175         [2].
10176
10177         * sound.c (Fplay_sound_file):
10178         [7].
10179
10180         * specifier.c:
10181         * specifier.c (decode_specifier_type):
10182         * specifier.c (Fvalid_specifier_locale_type_p):
10183         * specifier.c (check_valid_locale_or_locale_type):
10184         * specifier.c (decode_locale):
10185         * specifier.c (decode_locale_type):
10186         * specifier.c (decode_locale_list):
10187         * specifier.c (check_valid_domain):
10188         * specifier.c (decode_specifier_tag_set):
10189         * specifier.c (Fcanonicalize_tag_set):
10190         * specifier.c (Fdefine_specifier_tag):
10191         * specifier.c (Fspecifier_tag_predicate):
10192         * specifier.c (check_valid_inst_list):
10193         * specifier.c (check_valid_spec_list):
10194         * specifier.c (decode_how_to_add_specification):
10195         * specifier.c (check_modifiable_specifier):
10196         * specifier.c (specifier_add_spec):
10197         * specifier.c (boolean_validate):
10198         * specifier.c (display_table_validate):
10199         [9].
10200
10201         * specifier.c (syms_of_specifier):
10202         Move some symbols to general-slots.h.
10203         [2].
10204
10205         * symbols.c:
10206         * symbols.c (Fmapatoms):
10207         * symbols.c (Fapropos_internal):
10208         Add GCPROs.
10209
10210         * symbols.c (set_default_buffer_slot_variable):
10211         * symbols.c (set_default_console_slot_variable):
10212         [1].
10213
10214         * symbols.c (defsymbol_massage_name_1):
10215         * symbols.c (defkeyword_massage_name):
10216         * symbols.c (deferror_1):
10217         * symbols.c (deferror):
10218         * symbols.c (deferror_massage_name_and_message):
10219         * symeval.h:
10220         * symeval.h (DEFSYMBOL):
10221         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10222
10223         * symbols.c (syms_of_symbols):
10224         [2].
10225
10226         * symsinit.h:
10227         * symsinit.h (init_win32): New.
10228         Also new is syms_of_dialog_mswindows.
10229
10230         * syswindows.h:
10231         Add new Unicode macros, missing Cygwin wide-char functions,
10232         convenience conversion macros for Qmswindows_tstr, macros for
10233         encapsulating required MSWin <-> Cygwin filename conversions,
10234         prototype for dynamically-extracted (not in NT 3.51) functions.
10235
10236         * toolbar-x.c:
10237         Mule-verify.
10238
10239         * tooltalk.c (Fadd_tooltalk_message_arg):
10240         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10241         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10242         [7].
10243
10244         * tooltalk.c (syms_of_tooltalk):
10245         [2].
10246
10247         * unexnt.c:
10248         * unexnt.c (unexec):
10249         Fix up headers, declaration of unexec() to be more standard.
10250
10251 2000-07-20  Martin Buchholz  <martin@xemacs.org>
10252
10253         * offix.h: Revert change to guard macros - they're used in offix.c!
10254
10255 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10256
10257         * lisp.h: Defsubred Fdelete.
10258
10259         * console-msw.h:  (msprinter_default_printer): Added.
10260
10261         * console-msw.c (msprinter_canonicalize_console_connection):
10262         (msprinter_canonicalize_device_connection): Added.
10263
10264         * device-msw.c (msprinter_default_printer):
10265         (Fmswingows_get_default_printer):
10266         (signal_enum_priner_error):
10267         (Fmswingows_printer_list): Added.
10268
10269 2000-07-19  Martin Buchholz <martin@xemacs.org>
10270
10271         * XEmacs 21.2.35 is released.
10272
10273 2000-07-19  Martin Buchholz  <martin@xemacs.org>
10274
10275         * select-x.c (x_handle_selection_request):
10276         Text selected in xemacs and pasted into xterm failed to appear.
10277         Spelling fixes and cosmetic changes.
10278
10279 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10280
10281         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
10282         XEmacs frame (fix for doubling chars in dialog boxes).
10283
10284 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10285
10286         * select.c (select_convert_in, select_convert_out):
10287         Don't call intern() every time.
10288
10289         * select.c (Qselect_convert_in, Qselect_convert_out): New.
10290         * select.c (vars_of_select): Initialise them.
10291
10292 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10293
10294         * select.c (selection-coercible-types): New.
10295
10296         * select.c (own-selection-internal):
10297         * select.c (get-selection-internal):
10298         MULE bug fix - these should default to COMPOUND_TEXT and not
10299         STRING for MULE. I think.
10300
10301         * select.c (select_convert_out): Use selection-coercible-types
10302         to find types that we can attempt to perform coercions on.
10303
10304 2000-07-18  Martin Buchholz  <martin@xemacs.org>
10305
10306         * mule-wnnfns.c:
10307         * mule-canna.c:
10308         Add coding: cookie to identify encoding.
10309
10310         * mule-canna.c (CANNA_mode_keys): make static.
10311         Use proper prototypes, even for functions of no arguments.
10312         Remove external prototype for Fding().
10313
10314         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
10315
10316         * select.c (syms_of_select): Add missing DEFSUBR.
10317
10318 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10319
10320         * select.c (get_selection_internal, own_selection_internal):
10321         Make the type default to STRING, rather than placing a nil type
10322         into Vselection_alist.
10323
10324 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10325
10326         * gpmevent.c (tty_selection_exists_p):
10327         * gpmevent.c (tty_own_selection):
10328         Updated parameter lists.
10329
10330 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
10331
10332         * select.h (selection-alist): Removed declaration.
10333
10334         * select.h (get_local_selection):
10335         * select.c (get_local_selection):
10336         Made static.
10337
10338         * select.h (convert_selection): Removed declaration.
10339         * select.c (convert_selection): Removed.
10340         This function belongs in Lisp.
10341
10342         * select.h (select_convert_in): Declare.
10343         * select.h (select_convert_out): Declare.
10344         * select.c (select_convert_in): New.
10345         * select.c (select_convert_out): New.
10346         New conversion functions for other files to call.
10347
10348         * select.h (select_notify_buffer_kill): Declare.
10349         * select.c (select_notify_buffer_kill): New.
10350         New functions that get called from kill-buffer.
10351
10352         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
10353         X-specific lisp code.
10354
10355         * select.h: Declare some of the lisp-visible functions for
10356         external use.
10357
10358         * select.c (clean_local_selection_data): Removed. This was
10359         a disgusting function, and previously should have been in
10360         select-x.c in any case. The functionality is now provided
10361         in select-convert-from-integer (select.el).
10362
10363         * select.c (available-selection-types): Fixed stupidity where
10364         INTEGER and ATOM got added twice. Also add STRING when we see an
10365         extent.
10366
10367         * select.c (get-selection-internal): Removed symbol stripping. No
10368         longer causes conversion when data comes from the internal cache.
10369
10370         * select.c (syms_of_select): Added new functions.
10371
10372         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
10373         error checking - previously this called abort!
10374
10375         * select-x.c (x_own_selection): Changed comment.
10376
10377         * select-x.c (x_handle_selection_request): Use select_convert_out.
10378         Don't mess with selection-alist; it's an internal variable of select.c.
10379
10380         * select-x.c (x_get_foreign_selection): Use select_convert_in.
10381
10382         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
10383         rather than messing with selection-alist.
10384
10385         * select-msw.c (mswindows_get_foreign_selection):
10386         Use TO_INTERNAL_FORMAT rather than hacking.
10387
10388 2000-07-14  Martin Buchholz  <martin@xemacs.org>
10389
10390         * process-unix.c (unix_open_multicast_group):
10391         (unix_open_multicast_group): Remove useless casts.
10392
10393 2000-07-13  Martin Buchholz  <martin@xemacs.org>
10394
10395         * sound.c (Fplay_sound): Fix `unused variable' warning.
10396
10397         * emacs.c (main): Use correct type for _environ on SCO5.
10398
10399 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
10400
10401         * console.h (own_selection_method):
10402         * console.h (selection_exists_p_method):
10403         * console.h (available_selection_types_method): New.
10404         * console.h (register_selection_data_type_method): New.
10405         * console.h (selection_data_type_name): New.
10406
10407         * console-msw.h (mswindows_destroy_selection): Declare it.  New
10408         function & alist to track GlobalAlloc()'d handles that need
10409         releasing when the clipboard data gets replaced or emptied.
10410
10411         * event-msw.c (mswindows_wnd_proc): Call it.
10412
10413         * lisp.h, general.c (Qappend): New symbol representing a
10414         `how-to-add' mode.
10415
10416         * select.c (own-selection-internal):
10417         * select.c (selection-exists-p):
10418         * select.c (available-selection-types): New.
10419         * select.c (register-selection-data-type): New.
10420         * select.c (selection-data-type-name): New.  New functions to deal
10421         with device-specific selection data formats.
10422         * select.c (selection-converter-out-alist): Renamed.
10423         * select.c (selection-converter-in-alist): New.
10424         * select.c (selection-appender-alist): New.  Added new alists.
10425         * select.c (syms_of_select, vars_of_select): Added new symbols &
10426         variables.
10427         * select.c (get_local_selection): Split.
10428         * select.c: Removed spurious type checking - selections may now be
10429         of any type, not just strings.
10430         * select.c (own-selection-internal):
10431
10432         * select.h, select.c (convert_selection): New. Created
10433         convert_selection() function based on get_local_selection().
10434         * select.h, select.c (QCF_*): New symbols representing mswindows
10435         clipboard formats.
10436         * select.h, select.c (Qreplace_all, Qreplace_existing): New
10437         symbols representing `how-to-add' modes.
10438
10439         * select-msw.c (x_sym_p): New.
10440         * select-msw.c (symbol_to_ms_cf): New.
10441         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
10442         symbols & clipboard formats. Can also handle string names.
10443         * select-msw.c (mswindows_own_selection):
10444         * select-msw.c (mswindows_selection_exists_p):
10445         Added `data-type' parameter. Use it.
10446         * select-msw.c (mswindows_available_selection_types): New.
10447         * select-msw.c (mswindows_register_selection_data_type): New.
10448         * select-msw.c (mswindows_selection_data_type_name): New.
10449         * select-msw.c (mswindows_own_selection):
10450         * select-msw.c (mswindows_get_foreign_selection):
10451         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
10452         * select-msw.c (console_create_select_mswindows): Added new methods.
10453         * select-msw.c (mswindows_destroy_selection): New.
10454         * select-msw.c (Vhandle_alist): New list.
10455         * select-msw.c (mswindows_own_selection):
10456
10457         * select-x.c (x_own_selection):
10458         * select-x.c (x_selection_exists_p):
10459         * select-x.c: Added some comments about maybe using new
10460         functionality.
10461         * select-x.c (x_own_selection):
10462
10463         * specifier.c: Remove definition of Qappend (now in general.c)
10464         * specifier.c (syms_of_specifier): Remove Qappend.
10465
10466 2000-07-12  Martin Buchholz  <martin@xemacs.org>
10467
10468         * config.h.in: Add socklen_t.
10469
10470         * s/decosf4-0.h: No special compiler flags needed or desired.
10471         In particular, undefine _BSD for DEC OSF 4.0.
10472
10473 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10474
10475         * redisplay-msw.c (msprinter_frame_output_end): Added.
10476         (console_type_create_redisplay_mswindows): Referred the above.
10477
10478         * frame.c (setup_frame_without_minibuffer): Do not create a
10479         default minibuffer frame on a printer device.
10480
10481         * frame-msw.c (apply_dc_geometry): Added.
10482         (msprinter_start_page):
10483         (msprinter_init_frame_3):
10484         (msprinter_eject_page): Use it.
10485
10486         * console-msw.h (struct msprinter_frame): Added pix_left and top,
10487         and removed residual duplex and orientation properties.
10488
10489 2000-07-11  Martin Buchholz  <martin@xemacs.org>
10490
10491         * eval.c (function_argcount): Work around a DEC CC compiler bug.
10492
10493         * unexalpha.c: Remove system prototypes from C sources!
10494
10495 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
10496
10497         * eval.c: Remove references to M-x edit-options in DEFUNs for
10498         `defvar' and `defconst'.
10499
10500 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10501
10502         * config.h.in: Remove SMART_INCLUDE hackery.
10503
10504         PostgreSQL hacking:
10505         * config.h.in: Don't use SMART_INCLUDE.
10506
10507         * postgresql.h: Include libpq-fe.h here.  Fix typo.
10508         * inline.c: Simply #include "postgresql.h"
10509         * postgresql.c:
10510         - Don't use SMART_INCLUDE
10511         - Use simply "const".
10512         - Use standard doc string conventions.
10513         - Use correct type for result of PQstatus.
10514
10515 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10516
10517         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
10518
10519         C++ compilation changes.
10520         * config.h.in (EXTERN_C): Define.
10521         * config.h.in (not): This is also a C++ keyword.
10522         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
10523         * cm.c: Use EXTERN_C.
10524         * redisplay-tty.c: Use EXTERN_C.
10525         * sysdep.c: Use EXTERN_C.  Remove Gould support.
10526
10527 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10528
10529         * general.c: Remove duplicate definition for Qfunction.
10530
10531 2000-07-08  Ben Wing  <ben@xemacs.org>
10532
10533         * device-msw.c (msprinter_init_device):
10534         * device-msw.c (sync_printer_with_devmode):
10535         * device-msw.c (handle_devmode_changes):
10536         * device-msw.c (print_dialog_worker):
10537         * device-msw.c (Fmsprinter_apply_settings):
10538         * device-msw.c (hash_devmode):
10539         * device-msw.c (Fmsprinter_settings_despecialize):
10540         use Qmswindows_tstr, not Qctext.
10541
10542         * vm-limit.c (check_memory_limits):
10543         avoid infinite loop printing warning messages.
10544
10545 2000-07-05  Craig Lanning  <lanning@scra.org>
10546
10547         * Makefile.in.in: Add support for including the Windows resources
10548         when building with the cygwin and mingw targets.
10549
10550         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
10551         not set or not correct.
10552         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
10553         (init_initial_directory): Don't try to use $PWD on the
10554         WIN32_NATIVE target.
10555
10556         * s\cygwin32.h:
10557         [[Add -mwindows to eliminate console window.]] not required --ben
10558         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10559         (MAIL_USE_POP): removed; now handled by configure.
10560
10561         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
10562         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
10563         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10564         (MAIL_USE_POP): removed; now handled by configure.
10565         (ENCAPSULATE_STAT): from Dan Holmsand, added.
10566         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
10567         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
10568         constant string.
10569         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
10570         up from <winsock.h> via systime.h.
10571         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
10572         (getpagesize): from Dan Holmsand, added.
10573         Added #endif which was left dangling by Ben's mega patch; added
10574         comment to help prevent this in the future.
10575
10576         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
10577
10578 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10579
10580         * console-msw.h (struct mswindows_device): Removed unnecessary
10581         cached device geometry values.
10582         Added update_tick and an accessor macro.
10583         (Lisp_Devmode): Added lrecord declaration.
10584         (struct msprinter_device): Contain devmode as a Lisp object.
10585         Added mswindows_get_selected_frame_hwnd();
10586
10587         * console.h (struct console_methods): Indentation nitpicking.
10588
10589         * device-msw.c (mswindows_init_device): Do not initialize geometry
10590         cache. Initialize update tick.
10591         (mswindows_device_system_metrics): Ask the device for its geometry.
10592         (global_free_2_maybe):
10593         (devmode_to_hglobal):
10594         (handle_printer_changes):
10595         (ensure_not_printing):
10596         (print_dialog_worker):
10597         (Fmsprinter_print_setup_dialog):
10598         (Fmsprinter_print_dialog):
10599         (plist_get_margin):
10600         (plist_set_margin):
10601         (Fmsprinter_page_setup_dialog): Added functions.
10602         (sync_printer_with_devmode):
10603         (handle_devmode_changes):
10604         (Fmsprinter_get_settings):
10605         (Fmsprinter_select_settings):
10606         (Fmsprinter_apply_settings):
10607         (allocate_devmode):
10608         (Fmsprinter_settings_copy):
10609         (Fmsprinter_settings_despecialize):
10610         (print_devmode):
10611         (finalize_devmode):
10612         (equal_devmode):
10613         (hash_devmode): Added functions
10614         (syms_of_device_mswindows): Init devmode lrecord class.
10615
10616         * device.h: Added an exfun for find-device.
10617
10618         * event-msw.c (mswindows_wnd_proc): Do not update the cached
10619         geometry; although, recreate the device compatible DC.
10620
10621         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
10622         (msprinter_init_frame_3):
10623         (msprinter_frame_property):
10624         (msprinter_internal_frame_property_p):
10625         (msprinter_frame_properties):
10626         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
10627         print job properties (will move to device settings).
10628
10629         * lisp.h: Added symbols.
10630
10631         * general.c (syms_of_general): Declared them.
10632
10633         * hash.c (string_hash): Added.
10634
10635         * lrecord.h (lrecord_type): Added devmode lrecord type.
10636
10637 2000-07-02  Mike Sperber <mike@xemacs.org>
10638
10639         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
10640         FreeBSD 4.0.
10641
10642 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
10643
10644         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
10645         integer.
10646
10647 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
10648
10649         * data.c (Fstring_to_number): Don't recognize floating point if
10650         base is not 10.
10651
10652 2000-06-22  Martin Buchholz  <martin@xemacs.org>
10653
10654         * glyphs-widget.c (tab_control_query_geometry):
10655         (widget_query_geometry):
10656         (button_query_geometry):
10657         * glyphs.c (text_query_geometry):
10658         Enforce type correctness.
10659
10660 2000-06-18  Martin Buchholz  <martin@xemacs.org>
10661
10662         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
10663         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
10664
10665 2000-06-17  Martin Buchholz  <martin@xemacs.org>
10666
10667         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
10668         conflicts with gcc's fixincluded version of FOO.h.
10669
10670         * glyphs.h (image_instance_geometry): Remove trailing `,'
10671
10672 2000-06-08  Mike Alexander  <mta@arbortext.com>
10673
10674         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
10675         (shove_thread): Don't write the same output twice
10676         (make_ntpipe_output_stream): Increase priority of shove thread
10677         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
10678         chance to run
10679         (ntpipe_shove_closer): Don't delete the pipe until we're done with
10680         it.
10681
10682 2000-06-12  Ben Wing  <ben@xemacs.org>
10683
10684         * s\mingw32.h (sigset):
10685         * s\windowsnt.h (sigset):
10686         rename msw_ to mswindows_ for consistency with general convention.
10687
10688 2000-06-12  Ben Wing  <ben@xemacs.org>
10689
10690         * console-msw.c:
10691         * console-msw.c (mswindows_get_console_hwnd):
10692         * console-msw.c (mswindows_ensure_console_allocated):
10693         * console-msw.c (mswindows_hide_console):
10694         * console-msw.c (mswindows_show_console):
10695         * console-msw.c (mswindows_ensure_console_buffered):
10696         * console-msw.c (mswindows_output_console_string):
10697         * console-msw.c (mswindows_windows9x_p):
10698         * console-msw.h:
10699         * device-msw.c (mswindows_get_workspace_coords):
10700         * device-msw.c (mswindows_device_system_metrics):
10701         * dialog-msw.c (mswindows_popup_dialog_box):
10702         * event-msw.c (mswindows_wnd_proc):
10703         * frame-msw.c (mswindows_size_frame_internal):
10704         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10705         * menubar-msw.c (displayable_menu_item):
10706         * menubar-msw.c (mswindows_char_is_accelerator):
10707         * nt.c:
10708         * nt.c (mswindows_sigset):
10709         * nt.c (mswindows_sigrelse):
10710         * nt.c (mswindows_sigpause):
10711         * nt.c (mswindows_raise):
10712         * nt.c (timer_proc):
10713         * ntproc.c:
10714         * ntproc.c (find_child_console):
10715         * ntproc.c (sys_kill):
10716         * print.c:
10717         * print.c (std_handle_out_external):
10718         * process-nt.c (find_child_console):
10719         * process-nt.c (send_signal_the_95_way):
10720         * process-nt.c (ensure_console_window_exists):
10721         * process-nt.c (nt_create_process):
10722         * syssignal.h:
10723         rename msw_ to mswindows_ for consistency with general convention.
10724
10725         * emacs.c:
10726         * dumper.c:
10727         include nt.h, not syswindows.h.
10728
10729         * nt.c (mswindows_fstat):
10730         * nt.c (mswindows_stat):
10731         prefix mswindows_ instead of attempting to directly override the
10732         library functions.  fix declarations.
10733
10734         * nt.h:
10735         include syswindows.h.  move some sysdep.h stuff here.
10736
10737         * ntheap.h:
10738         include syswindows.h, not <windows.h>.
10739
10740         * ntplay.c:
10741         clean up headers.
10742
10743         * sysdep.c:
10744         clean up headers.
10745
10746         * sysdep.c (sys_fstat):
10747         * sysdep.c (sys_stat):
10748         call mswindows versions when appropriate.
10749
10750         * sysdep.h:
10751         move mswin decls to nt.h.
10752
10753         * syswindows.h:
10754         add long comment describing appropriate use of the various windows
10755         headers.
10756
10757 2000-06-11  Ben Wing  <ben@xemacs.org>
10758
10759         * device-x.c: Correct doc string for sixth arg of x-get-resource.
10760
10761 2000-06-10  Ben Wing  <ben@xemacs.org>
10762
10763         * Makefile.in.in (release):
10764         Correction to make sure xemacs.exe always dumped when correct.
10765
10766         * alloca.c:
10767         * balloon_help.c:
10768         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
10769
10770         * buffer.c (set_buffer_internal):
10771         [[[[2]]]]: Remove HAVE_FEP code.
10772
10773         * buffer.c (init_initial_directory):
10774         [3].
10775
10776         * bytecode.c:
10777         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
10778         individual files.
10779
10780         * callproc.c:
10781         * callproc.c (call_process_cleanup):
10782         * callproc.c (Fold_call_process_internal):
10783         * callproc.c (child_setup):
10784         * callproc.c (getenv_internal):
10785         * callproc.c (init_callproc):
10786         * callproc.c (vars_of_callproc):
10787         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
10788         __CYGWIN32__ -> CYGWIN.
10789         DOS_NT -> WIN32_NATIVE.
10790         Remove MSDOS support/references, converting to WIN32_NATIVE
10791           where correct.
10792         __MINGW32__ -> MINGW.
10793         Fix windows.h includes.
10794         Remove bogus HAVE_NTGUI.
10795
10796         * config.h.in:
10797         [2].
10798
10799         * console-msw.c:
10800         mswindows_message_outputted added for use in allowing startup
10801         errors on the console to be seen.
10802
10803         * console-msw.c (msw_ensure_console_allocated):
10804         * console-msw.c (msw_output_console_string):
10805         * console-msw.c (DHEADER):
10806         * console-msw.c (DOPAQUE_DATA):
10807         * console-msw.c (DEVENT):
10808         * console-msw.c (DCONS):
10809         * console-msw.c (DCONSCDR):
10810         * console-msw.c (DSTRING):
10811         * console-msw.c (DVECTOR):
10812         * console-msw.c (DSYMBOL):
10813         * console-msw.c (DSYMNAME):
10814         Fix warnings.
10815
10816         * console-stream.c (stream_init_console):
10817         Fix text/binary problems.
10818
10819         * device-msw.c:
10820         * device-msw.c (mswindows_finish_init_device):
10821         * device-msw.c (mswindows_delete_device):
10822         [1].
10823
10824         * device.c (handle_asynch_device_change):
10825         [3].
10826
10827         * dgif_lib.c:
10828         * dgif_lib.c (DGifOpenFileName):
10829         * dgif_lib.c (DGifOpenFileHandle):
10830         * dgif_lib.c (DGifGetLine):
10831         * dgif_lib.c (DGifGetPixel):
10832         Added config.h/lisp.h, fix up includes.
10833         [1].
10834
10835         * dired-msw.c:
10836         [4].
10837
10838         * dired.c:
10839         * dired.c (file_name_completion):
10840         * dired.c (Ffile_attributes):
10841         * dired.c (syms_of_dired):
10842         [1].
10843
10844         * dumper.c:
10845         * dumper.c (pdump_file_unmap):
10846         * dumper.c (pdump_load):
10847         [1].
10848
10849         * editfns.c:
10850         * editfns.c (Ftemp_directory):
10851         * editfns.c (user_login_name):
10852         * editfns.c (Fuser_real_login_name):
10853         * editfns.c (get_home_directory):
10854         [1].
10855
10856         * elhash.c (finish_marking_weak_hash_tables):
10857         [[[[5]]]]: Fix GCC warnings.
10858
10859         * emacs.c:
10860         * emacs.c (mswindows_handle_hardware_exceptions):
10861         * emacs.c (make_arg_list_1):
10862         * emacs.c (main_1):
10863         * emacs.c (Fkill_emacs):
10864         * emacs.c (Fdump_emacs):
10865         [1].
10866         Fix problems with nested crashes, add long comment.
10867
10868         * event-Xt.c (init_event_Xt_late):
10869         [1].
10870
10871         * event-msw.c:
10872         * event-msw.c (mswindows_dde_callback):
10873         * event-msw.c (mswindows_handle_sticky_modifiers):
10874         * event-msw.c (mswindows_wnd_proc):
10875         [1].
10876         [5].
10877
10878         * events.c (character_to_event):
10879         [1].
10880
10881         * fileio.c:
10882         * fileio.c (Ffile_name_directory):
10883         * fileio.c (Ffile_name_nondirectory):
10884         * fileio.c (directory_file_name):
10885         * fileio.c (Fexpand_file_name):
10886         * fileio.c (Fsubstitute_in_file_name):
10887         * fileio.c (Ffile_name_absolute_p):
10888         * fileio.c (check_executable):
10889         * fileio.c (Ffile_readable_p):
10890         * fileio.c (Ffile_accessible_directory_p):
10891         * fileio.c (Ffile_modes):
10892         * fileio.c (Funix_sync):
10893         * fileio.c (vars_of_fileio):
10894         [1]. [4].
10895
10896         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
10897
10898         Expand getdefdir defn.
10899         Fix bogus rename() comment.
10900
10901         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
10902         to use standard XEmacs include files, e.g. sysfile.h, rather
10903         than system-specific includes.
10904
10905         * fns.c:
10906         * fns.c (Fsubseq):
10907         [5]. [6].
10908
10909         * frame.c (vars_of_frame):
10910         [1].
10911
10912         * getloadavg.c:
10913         * getloadavg.c (getloadavg):
10914         [1]. [6].
10915         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
10916         (We don't use it elsewhere in the code; just add a comment.)
10917
10918         * gif_io.c:
10919         [6].
10920         Add config.h.
10921
10922         * glyphs-msw.c:
10923         * glyphs-msw.c (mswindows_resource_instantiate):
10924         [1].
10925
10926         * glyphs-x.c (x_native_layout_instantiate):
10927         [5].
10928
10929         * gui-msw.c (Fmswindows_shell_execute):
10930         [1].
10931
10932         * insdel.c:
10933         [4].
10934
10935         * lisp.h:
10936         [4]. [5].
10937
10938         * lread.c (locate_file_in_directory_mapper):
10939         [1].
10940
10941         * lstream.c:
10942         [4].
10943
10944         * mem-limits.h:
10945         * mem-limits.h (get_lim_data):
10946         [1].
10947
10948         * menubar-msw.c:
10949         [4].
10950
10951         * ndir.h:
10952         [1].
10953
10954         * nt.c:
10955         * nt.c (getwd):
10956         * nt.c (closedir):
10957         * nt.c (rva_to_section):
10958         * nt.c (mswindows_executable_type):
10959         [1]. [6].
10960         Fix closedir() defn.
10961
10962         * nt.h:
10963         [[[[8]]]]: *_OK defs moved to sysfile.h.
10964
10965         * ntproc.c:
10966         [6]. [7].
10967
10968         * objects-x.c:
10969         [4].
10970
10971         * print.c:
10972         * print.c (std_handle_out_external):
10973         [1]. [4].
10974
10975         * process-nt.c:
10976         * process-nt.c (nt_create_process):
10977         [6].
10978         try to fix process quoting somewhat.
10979
10980         * process-unix.c (unix_create_process):
10981         [1].
10982
10983         * process.c:
10984         * process.c (vars_of_process):
10985         Add Vnull_device.
10986
10987         * process.h:
10988         [1].
10989
10990         * realpath.c:
10991         * realpath.c (xrealpath):
10992         [1].
10993
10994         * redisplay-tty.c (init_tty_for_redisplay):
10995         [3].
10996
10997         * redisplay.c:
10998         [4]. [6].
10999
11000         * scrollbar-msw.c:
11001         [4].
11002
11003         * sheap.c:
11004         * sheap.c (more_static_core):
11005         * sheap.c (report_sheap_usage):
11006         [5]. [6].
11007
11008         * signal.c:
11009         * signal.c (alarm_signal):
11010         [1]. [6].
11011
11012         * sound.c:
11013         [6].
11014
11015         * strftime.c:
11016         * strftime.c (zone_name):
11017         [1]. [5].
11018
11019         * symsinit.h (init_sunpro):
11020         [1].
11021
11022         * syscommctrl.h:
11023         commctrl.h not in Cygwin b20.1.
11024
11025         * sysdep.c:
11026         * sysdep.c (endif):
11027         * sysdep.c (sys_subshell):
11028         * sysdep.c (init_baud_rate):
11029         * sysdep.c (emacs_get_tty):
11030         * sysdep.c (emacs_set_tty):
11031         * sysdep.c (tty_init_sys_modes_on_device):
11032         * sysdep.c (init_system_name):
11033         * sysdep.c (sys_open):
11034         * sysdep.c (interruptible_open):
11035         * sysdep.c (sys_fopen):
11036         * sysdep.c (sys_mkdir):
11037         * sysdep.c (sys_rename):
11038         * sysdep.c (get_process_times_1):
11039         [1]. [6].
11040
11041         * sysdep.h:
11042         [1].
11043
11044         * sysdir.h:
11045         * sysdir.h (DIRENTRY_NONEMPTY):
11046         [1]. [6].
11047
11048         * sysdll.c (dll_init):
11049         * sysdll.h:
11050         [1].
11051
11052         * sysfile.h:
11053         [1]. [6]. [8].
11054         added text/binary defs.
11055
11056         * sysfloat.h:
11057         [1].
11058
11059         * sysproc.h:
11060         * sysproc.h (EDESTADDRREQ):
11061         * sysproc.h (poll_fds_for_input):
11062         [1]. [6].
11063
11064         * syspwd.h:
11065         [6].
11066
11067         * syssignal.h:
11068         [1].
11069
11070         * systime.h:
11071         [1]. [6].
11072
11073         * systty.h:
11074         [1].
11075
11076         * syswindows.h:
11077         [1].
11078         Always define WIN32_LEAN_AND_MEAN.
11079
11080         * unexcw.c (unexec):
11081         [5].
11082
11083         * unexec.c:
11084         * unexec.c (copy_text_and_data):
11085         * unexec.c (adjust_lnnoptrs):
11086         [1].
11087
11088         * unexnt.c:
11089         * unexnt.c (_start):
11090         [1].
11091
11092 2000-06-07  Ben Wing  <ben@xemacs.org>
11093
11094         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11095         was used only as a model.  We've long since extracted any useful
11096         logic or code out of this. (I just did an exhaustive search.)
11097
11098         * s\msdos.h: Removed.
11099
11100         * s\windows95.h: Removed.
11101
11102 2000-06-10  Ben Wing  <ben@xemacs.org>
11103
11104         * s\cygwin32.h:
11105         [1]. [5].
11106         Don't use extern with fun defs.
11107
11108         * s\mingw32.h:
11109         [1]. [7].
11110         Remove nt\inc include.
11111         Remove getdisk, getdefdir. (The former is unused, the latter
11112         expanded in fileio.h.)
11113
11114         * s\windowsnt.h:
11115         * s\windowsnt.h (WIN32_NATIVE):
11116         * s\windowsnt.h (HAVE_STRCASECMP):
11117         [1]. [7].
11118         Add long comment about preprocessor changes.
11119         Remove getdisk, getdefdir. (The former is unused, the latter
11120         expanded in fileio.h.)
11121
11122 2000-06-10  Ben Wing  <ben@xemacs.org>
11123
11124         * m\arm.h:
11125         * m\delta.h:
11126         * m\intel386.h:
11127         * m\sequent.h:
11128         * m\template.h:
11129         * m\windowsnt.h:
11130         [1].
11131         Remove bogus/unused NO_SOCK_SIGIO.
11132
11133 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11134
11135         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11136         not an Emchar.
11137
11138 2000-06-04  Mike Sperber <mike@xemacs.org>
11139
11140         * casetab.c (set_case_table): For `set-standard-case-table',
11141         actually deposit the new case tables where the rest of XEmacs can
11142         see them.
11143
11144 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11145
11146         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11147
11148 2000-06-05  Ben Wing  <ben@xemacs.org>
11149
11150         * callproc.c (child_setup): Don't do close_load_descs() under
11151         MS Windows.  Put in a comment explaining why.
11152
11153 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11154
11155         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11156         Toolkit shell" which breaks `kill-compilation' on Windows NT
11157         native, retaining STDERR handling improvements.
11158
11159 2000-06-01  Andreas Jaeger  <aj@suse.de>
11160
11161         * s/s390.h: Support for S390, based on a patch by Martin
11162         Schwidefsky <schwidefsky@de.ibm.com>.
11163
11164 2000-05-30  Andy Piper  <andy@xemacs.org>
11165
11166         * window.c (allocate_window):
11167         (make_dummy_parent):
11168         (Fset_window_configuration): use new hashtable type.
11169
11170         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11171         (struct image_instantiator_methods):
11172         (struct Lisp_Image_Instance): make instance geometry signed.
11173
11174         * glyphs.c (instantiate_image_instantiator):
11175         (image_instance_query_geometry):
11176         (image_instance_layout):
11177         (image_instance_layout):
11178         (query_string_geometry):
11179         (text_query_geometry):
11180         (image_instantiate):
11181         (image_instantiate):
11182         (cache_subwindow_instance_in_frame_maybe):
11183         (subwindow_query_geometry): make instance geometry signed.
11184
11185         * glyphs-widget.c (widget_query_geometry):
11186         (widget_layout):
11187         (button_query_geometry):
11188         (tree_view_query_geometry):
11189         (tab_control_query_geometry):
11190         (layout_query_geometry):
11191         (layout_layout):
11192         (native_layout_layout): make instance geometry signed.
11193
11194 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11195
11196         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11197         constant.
11198
11199         * general.c (syms_of_general): Add Qfull_assoc symbol.
11200
11201         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11202         correctly.
11203         (decode_weak_list_type): Decode full-assoc type.
11204         (encode_weak_list_type): Encode full-assoc type.
11205         (Fmake_weak_list): Update doc string.
11206
11207 2000-05-30  Andy Piper  <andy@xemacs.org>
11208
11209         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11210
11211         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11212         (decode_hash_table_weakness): ditto.
11213         (Fhash_table_weakness): ditto.
11214         (Fhash_table_type): ditto.
11215         (finish_marking_weak_hash_tables): ditto.
11216         (hash_table_weakness_validate): ditto.
11217         (syms_of_elhash): ditto.
11218
11219 2000-05-28  Martin Buchholz <martin@xemacs.org>
11220
11221         * XEmacs 21.2.34 is released.
11222
11223 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11224
11225         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11226         start cache.
11227         (updating_line_start_cache): Gone.
11228         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11229         generic code to force a minimum of 1 line laid out in the
11230         CMOTION_DISP case.
11231
11232 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11233
11234         * glyphs.c (instantiate_image_instantiator): Check for initialized
11235         height & width no longer special cases IMAGE_NOTHING.
11236         (nothing_instantiate): Set height and width of instance.
11237
11238 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11239
11240         * unexelf.c (unexec): Search for ".data" section.
11241         Initialize new_data2_offset from old_data_index.
11242         Remove redundant check for ElfW.
11243
11244 2000-05-23  Andy Piper  <andy@xemacs.org>
11245
11246         * glyphs.c (get_image_instantiator_governing_domain): allow more
11247         specific domains as the governing domain rather than expecting an
11248         exact match. This fixes problems with layouts.
11249
11250 2000-05-22  Andy Piper  <andy@xemacs.org>
11251
11252         * redisplay-output.c (compare_runes): check for non-images
11253
11254         * glyphs.c (set_glyph_dirty_p): ditto.
11255         (update_glyph_cachel_data): ditto.
11256
11257         * glyphs-widget.c (layout_post_instantiate): ditto.
11258         (layout_post_instantiate): ditto.
11259
11260         * event-msw.c (mswindows_wnd_proc): warning removal.
11261
11262 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
11263
11264         * s\mingw32.h: Added #undef for CLASH_DETECTION.
11265
11266         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
11267
11268         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
11269
11270         * nt.c (rva_to_section): mingw32 needs rva_to_section.
11271         (mswindows_executable_type): mingw32 now has enough headers for
11272         this to work.
11273
11274 2000-05-20  Andy Piper  <andy@xemacs.org>
11275
11276         * console-msw.c (mswindows_output_last_error): ; -> ,
11277
11278 2000-05-12  Andy Piper  <andy@xemacs.org>
11279
11280         * console-msw.c (FROB): compare ints with ints.
11281
11282 2000-05-11  Andy Piper  <andy@xemacs.org>
11283
11284         * glyphs-x.c (x_finalize_image_instance): make minimal build
11285         happy.
11286
11287 2000-05-20  Ben Wing  <ben@xemacs.org>
11288
11289         * event-Xt.c:
11290         * event-Xt.c (vars_of_event_Xt):
11291         move modifier-keys-are-sticky to event-stream.c.
11292
11293         * event-msw.c:
11294         * event-msw.c (mswindows_enqueue_mouse_button_event):
11295         * event-msw.c (key_needs_default_processing_p):
11296         * event-msw.c (XEMSW_LCONTROL):
11297         * event-msw.c (mswindows_handle_sticky_modifiers):
11298         * event-msw.c (FROB):
11299         * event-msw.c (clear_sticky_modifiers):
11300         * event-msw.c (output_modifier_keyboard_state):
11301         * event-msw.c (output_alt_keyboard_state):
11302         * event-msw.c (mswindows_wnd_proc):
11303         * event-msw.c (mswindows_modifier_state):
11304         * event-msw.c (emacs_mswindows_handle_magic_event):
11305         implement sticky modifiers.
11306
11307         * event-stream.c:
11308         * event-stream.c (vars_of_event_stream):
11309         move modifier-keys-are-sticky here.
11310
11311         * lisp.h:
11312         add CHECK_FUNCTION.
11313
11314         * rangetab.c:
11315         implement map-range-table.
11316
11317
11318 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
11319
11320         * redisplay-tty.c (reset_tty_modes):
11321         (tty_redisplay_shutdown): Adjust argument type to
11322         tty_frame_output_end.
11323
11324 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11325
11326         * eval.c (Fbacktrace): Don't output a line with only right
11327         parenthesis.
11328
11329 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
11330
11331         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
11332         (Fpq_reset_poll): Ditto.
11333
11334 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
11335
11336         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
11337
11338 2000-05-16  Ben Wing  <ben@xemacs.org>
11339
11340         * buffer.c:
11341         * buffer.c (dfc_convert_to/from_internal_format):
11342         * buffer.c (reinit_vars_of_buffer):
11343         Fix conversion functions to allow reentrancy.
11344
11345         * console-msw.c:
11346         * console-msw.c (mswindows_output_last_error):
11347         New fun, generally useful -- output a human-readable
11348         version of GetLastError() on the console.
11349
11350         * console-msw.h:
11351         * console-msw.h (struct mswindows_frame):
11352         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
11353
11354         * console-stream.c (stream_output_begin):
11355         * console-stream.c (stream_output_end):
11356         * console-stream.c (stream_output_vertical_divider):
11357         * console-stream.c (stream_clear_region):
11358         * console-stream.c (stream_flash):
11359         * console-stream.c (console_type_create_stream):
11360         Delete blank stream methods, not needed.
11361
11362         * console.h (struct console_methods):
11363         Split begin/end methods into window and frame.
11364
11365         * event-msw.c:
11366         * event-msw.c (mswindows_handle_paint):
11367         * event-msw.c (output_alt_keyboard_state):
11368         * event-msw.c (mswindows_wnd_proc):
11369         * event-msw.c (vars_of_event_mswindows):
11370         Comment about problems with ignored-expose.
11371         Define mswindows-debug-events; not really implemented.
11372
11373         * frame-msw.c (mswindows_init_frame_1):
11374         random cleanups.
11375
11376         * glyphs-msw.c:
11377         * glyphs-msw.c (begin_defer_window_pos):
11378         * glyphs-msw.c (mswindows_unmap_subwindow):
11379         * glyphs-msw.c (mswindows_map_subwindow):
11380         * glyphs-msw.c (mswindows_resize_subwindow):
11381         Use DeferWindowPos to reduce flashing when mapping/unmapping.
11382
11383         * glyphs.c (make_image_instance_1):
11384         Fix crash.
11385
11386         * gutter.c (Fredisplay_gutter_area):
11387         Use new begin/end methods.
11388
11389         * lisp.h (Dynarr_new2):
11390         New creation fun.
11391
11392         * redisplay-msw.c:
11393         * redisplay-msw.c (mswindows_frame_output_begin):
11394         * redisplay-msw.c (mswindows_frame_output_end):
11395         * redisplay-msw.c (console_type_create_redisplay_mswindows):
11396         New begin/end methods -- handle DeferWindowPos.
11397
11398         * redisplay-output.c (redisplay_move_cursor):
11399         * redisplay-output.c (redraw_cursor_in_window):
11400         * redisplay-output.c (redisplay_update_line):
11401         * redisplay-output.c (redisplay_output_window):
11402         New begin/end methods.
11403
11404         * redisplay-tty.c:
11405         * redisplay-tty.c (tty_frame_output_begin):
11406         * redisplay-tty.c (tty_frame_output_end):
11407         * redisplay-tty.c (console_type_create_redisplay_tty):
11408         New begin/end methods.
11409
11410         * redisplay-x.c:
11411         * redisplay-x.c (x_window_output_begin):
11412         * redisplay-x.c (x_window_output_end):
11413         * redisplay-x.c (console_type_create_redisplay_x):
11414         New begin/end methods.
11415
11416         * redisplay.c (redisplay_frame):
11417         * redisplay.c (Fredisplay_echo_area):
11418         New begin/end methods.
11419         use MAYBE_DEVMETH for clear_frame; it may not exist.
11420
11421         * window.h (WINDOW_XFRAME):
11422         WINDOW_XFOO macros -- get locale and decode struct pointer.
11423
11424
11425 2000-05-12  Ben Wing  <ben@xemacs.org>
11426
11427         * emacs.c:
11428         * emacs.c (ensure_no_quitting_from_now_on):
11429         * emacs.c (fatal_error_signal):
11430         * emacs.c (mswindows_handle_hardware_exceptions):
11431         * emacs.c (main):
11432         * emacs.c (Fkill_emacs):
11433         * emacs.c (shut_down_emacs):
11434         * emacs.c (assert_failed):
11435         various improvements in fatal error handling.
11436
11437         * eval.c:
11438         move preparing_for_armageddon to emacs.c.
11439
11440         * lisp.h:
11441         declare fatal_error_in_progress.
11442
11443         * print.c:
11444         * print.c (std_handle_out_external):
11445         * print.c (std_handle_out_va):
11446         * print.c (stderr_out):
11447         * print.c (stdout_out):
11448         use console under mswin when no standard output.
11449         don't do code conversion during fatal error.
11450
11451         * scrollbar.c (Fscrollbar_page_up):
11452         * scrollbar.c (Fscrollbar_page_down):
11453         fix missing else.  reindent.
11454
11455 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
11456
11457         Emergency fix.
11458
11459         * glyphs.h (GLYPH_CACHEL_DESCENT):
11460         (GLYPH_CACHEL_DESCENT):
11461         (GLYPH_CACHEL_DESCENT):
11462         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
11463         used in case these are inline functions.
11464         Use more absurd values to error check.
11465
11466         include window.h for error check functions.
11467
11468 2000-05-11  Ben Wing  <ben@xemacs.org>
11469
11470         * cmdloop.c (Freally_early_error_handler):
11471         Display message box under windows; otherwise, message will disappear
11472         before it can be viewed.
11473
11474         * console-msw.c:
11475         * console-msw.c (Fmswindows_message_box):
11476         * console-msw.c (FROB):
11477         * console-msw.c (syms_of_console_mswindows):
11478         Define new fun `mswindows-message-box'.
11479         #### I will merge this into `popup-dialog-box'; just give me
11480         a bit of time.
11481
11482         * general.c:
11483         * general.c (syms_of_general):
11484         Some new symbols used in `mswindows-message-box'.
11485
11486         * glyphs.c:
11487         * glyphs.c (Fset_image_instance_property):
11488         put warning in this fun.
11489
11490         * glyphs.h:
11491         * glyphs.h (GLYPH_CACHEL_WIDTH):
11492         * glyphs.h (GLYPH_CACHEL_ASCENT):
11493         * glyphs.h (GLYPH_CACHEL):
11494         * glyphs.h (GLYPH_CACHEL_GLYPH):
11495         define error-checking versions to try to catch a bug i've seen --
11496         redisplay gets in an infinite loop because the glyph width of the
11497         continuation glyph is 65535.
11498
11499         * lisp.h:
11500         Extern message-box stuff.
11501
11502         * window.c (allocate_window):
11503         * window.c (make_dummy_parent):
11504         * window.c (Fset_window_configuration):
11505         Use EQUAL not EQ for subwindow caches to make them work a bit
11506         better. (Something is still very broken.)
11507
11508
11509 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11510
11511         * glyphs.c (image_instantiate): Suppress gcc warnings.
11512         (Fmake_image_instance): Fix doc string.
11513         * specifier.c (Fmake_specifier): Ditto.
11514
11515 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
11516
11517         * paths.h.in (PATH_LOCK): Removed.
11518         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
11519         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
11520
11521 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
11522
11523         * fns.c (Ffeaturep): Update e-mail address in doc-string.
11524         Document (featurep '(and xemacs 21.02)).
11525
11526 2000-05-09  Ben Wing  <ben@xemacs.org>
11527
11528         * buffer.c (complex_vars_of_buffer):
11529         update modeline-format doc.
11530
11531         * device.h:
11532         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
11533
11534         * emacs.c:
11535         timeline of all released versions of Emacs, for use in creating
11536         authorship comments and in synching up.
11537
11538         * glyphs-widget.c (image_instantiator_buttons):
11539         * glyphs-widget.c (image_instantiator_edit_fields):
11540         * glyphs-widget.c (image_instantiator_combo_box):
11541         * glyphs-widget.c (image_instantiator_scrollbar):
11542         * glyphs-widget.c (image_instantiator_progress_guage):
11543         * glyphs-widget.c (image_instantiator_tree_view):
11544         * glyphs-widget.c (image_instantiator_tab_control):
11545         * glyphs-widget.c (image_instantiator_labels):
11546         * glyphs-widget.c (image_instantiator_layout):
11547         * glyphs-widget.c (image_instantiator_native_layout):
11548         rename decode_domain method to governing_domain.
11549
11550         * glyphs.c:
11551         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
11552         * glyphs.c (add_entry_to_device_ii_format_list):
11553         make sure we don't put an entry more than once into the list.
11554         * glyphs.c (check_instance_cache_mapper):
11555         *************************************************************
11556         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11557         HAVE BEEN GETTING.
11558         *************************************************************
11559         * glyphs.c (get_image_instantiator_governing_domain):
11560         clean up, expand on new concept of governing domain.
11561         * glyphs.c (instantiate_image_instantiator):
11562         * glyphs.c (allocate_image_instance):
11563         use governing_domain instead of cache_domain in naming.
11564         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
11565         * glyphs.c (make_image_instance_1):
11566         * glyphs.c (Fmake_image_instance):
11567         allow for any domain (not just device), and process the
11568         governing domain correctly.  very big doc fix.
11569         * glyphs.c (Fimage_instance_domain):
11570         new primitive, to retrieve the governing domain of an image instance.
11571         * glyphs.c (image_instantiate):
11572         use new governing_domain stuff.  this fixes a crash you could get
11573         by instantiating certain widget glyphs in frame locales. (should
11574         signal an error instead of crashing.)
11575         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
11576         * glyphs.c (Fglyphp): clean up doc.
11577         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
11578         * glyphs.c (syms_of_glyphs):
11579         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
11580         * glyphs.c (image_instantiator_format_create): add some comments about
11581         bogus code.
11582         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
11583         for current-display-table. (Apparently Hrjove implemented in 1998 a
11584         design I wrote up in 1996, but didn't update the doc string.)
11585
11586         * glyphs.h: clean up a doc string.
11587         * glyphs.h (governing_domain):
11588         * glyphs.h (struct image_instantiator_methods):
11589         changes for governing_domain stuff.
11590
11591         * gutter.c:
11592         * gutter.c (Fgutter_specifier_p):
11593         * gutter.c (Fgutter_size_specifier_p):
11594         * gutter.c (Fgutter_visible_specifier_p):
11595         * objects.c:
11596         * objects.c (Fcolor_specifier_p):
11597         * objects.c (Ffont_specifier_p):
11598         * objects.c (Fface_boolean_specifier_p):
11599         doc strings moved to make-*-specifier.
11600
11601         * redisplay.c (add_disp_table_entry_runes_1):
11602         * redisplay.c (generate_fstring_runes):
11603         * redisplay.c (screen):
11604         add random comments and doc strings.
11605
11606         * specifier.c:
11607         * specifier.c (Fmake_specifier):
11608         major overhaul of this doc string.
11609
11610         * specifier.c (Fvalid_specifier_domain_p):
11611         comment about the bogosity of image instances being domains.
11612         * specifier.c (decode_domain):
11613         now non-static, used in glyphs.c.
11614         * specifier.c (specifier_instance):
11615         comment about the bogosity of image instances being domains.
11616         * specifier.c (Fgeneric_specifier_p):
11617         move doc string to make-generic-specifier.
11618         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
11619         rebackslashify.
11620
11621         * specifier.h:
11622         * specifier.h (DOMAIN_FRAME):
11623         * specifier.h (DOMAIN_LIVE_P):
11624         * specifier.h (DOMAIN_XDEVICE):
11625         rebackslashify.
11626         add comments about problems with these macros.
11627         prototype for decode_domain.
11628
11629         * toolbar.c:
11630         * toolbar.c (Ftoolbar_specifier_p):
11631         move doc string to `make-toolbar-specifier'.
11632
11633         * window.c (window_unmap_subwindows_cache_mapper):
11634         *************************************************************
11635         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11636         HAVE BEEN GETTING.
11637         *************************************************************
11638
11639 2000-05-09  Andy Piper  <andy@xemacs.org>
11640
11641         * glyphs.h: declare reset_frame_subwindow_instance_cache.
11642
11643         * window.c (Fset_window_configuration): reset the frame subwindow
11644         cache and re-initialize the window subwindow caches.
11645
11646         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
11647
11648 2000-05-09  Ben Wing  <ben@xemacs.org>
11649
11650         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
11651         DWORD.
11652
11653 2000-04-26  Mike Woolley  <mike@bulsara.com>
11654
11655         * ntheap.c: Changed recreate_heap to limit the amount reserved
11656         for the heap to that which is actually available. Also now
11657         displays a message box (with some dignostics) in the event that
11658         it still can't start.
11659
11660 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11661
11662         * callproc.c (Fold_call_process_internal): GCPRO path
11663
11664 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
11665
11666         Patch by Bill Perry.
11667
11668         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
11669         back data instead of #ifdef.
11670         (Fscrollbar_page_down): ditto.
11671
11672 2000-05-07  Ben Wing  <ben@xemacs.org>
11673
11674         * buffer.h:
11675         Kludge for defining Qmswindows_tstr.
11676
11677         * nt.c:
11678         * nt.c (open_input_file):
11679         * nt.c (open_output_file):
11680         * nt.c (rva_to_section):
11681         * nt.c (mswindows_executable_type):
11682         Move all memory-mapped-file routines here (some were in unexnt.c,
11683         which is bad because they are used by process-nt.c, and unexnt
11684         won't be around when portable dumping).  Synched the above routines
11685         with FSF 20.6.
11686
11687         * nt.h:
11688         Removed ifdef'd out bogus code.
11689         Fixed some prototypes.
11690
11691         * nt.h (file_data):
11692         * nt.h (OFFSET_TO_RVA):
11693         * nt.h (RVA_TO_OFFSET):
11694         * nt.h (RVA_TO_PTR):
11695         Moved the memory-mapped-file structures, macros and prototypes
11696         here, to parallel nt.c.  ntheap.h should really be removed
11697         entirely, and it's a non-portable-dumper specific file.
11698
11699         * ntheap.h (round_to_next):
11700         Moved the memory-mapped-file structures, macros and prototypes
11701         to nt.h.
11702
11703         * ntproc.c (compare_env):
11704         Moved rva_to_section and mswindows_executable_type to nt.c.
11705         Moved compare_env to process-nt.c.
11706         ntproc.c will die, one day.
11707
11708         * ntproc.c (sys_spawnve):
11709         Account for win32_ -> mswindows_.
11710
11711         * process-nt.c:
11712         * process-nt.c (struct nt_process_data):
11713         * process-nt.c (ensure_console_window_exists):
11714         * process-nt.c (compare_env):
11715         * process-nt.c (nt_create_process):
11716         * process-nt.c (nt_kill_process_by_pid):
11717         * process-nt.c (syms_of_process_nt):
11718         * process-nt.c (vars_of_process_nt):
11719         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
11720         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
11721         changes).  Eliminate our old `nt-quote-process-args' mechanism.
11722         Synch up nt_create_process with FSF 20.6 sys_spawnve.
11723         Move compare_env here from ntproc.c.
11724
11725         * process.c (Fprocess_send_region):
11726         Takes an optional fourth argument, BUFFER, which should fix some
11727         problems with call-process.
11728
11729         * syscommctrl.h:
11730         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
11731
11732         * syswindows.h:
11733         Move ICC_BAR_CLASSES to syscommctrl.h.
11734         Add preliminary macros for MSWindows/Mule.  More to come.
11735
11736         * unexnt.c:
11737         * unexnt.c (unexec):
11738         open_output_file moved to nt.c.
11739
11740
11741 2000-05-05  Andy Piper  <andy@xemacs.org>
11742
11743         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
11744         instance from the frame cache also since GC may catch up too late
11745         to make frame deletion sane.
11746
11747 2000-05-04  Andy Piper  <andy@xemacs.org>
11748
11749         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
11750         (x_finalize_image_instance): ungcpro on deletion.
11751
11752         * glyphs.c (image_instantiator_format_create): give pointers a
11753         query geometry method so that the geometry is at least set.
11754
11755         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
11756         initialize layouts if using widgets.
11757
11758 2000-05-03  Andy Piper  <andy@xemacs.org>
11759
11760         * nt.c: remove bogus reference to sysmmsystem.h
11761
11762         * gui-x.c (popup_selection_callback): fix no selection abort.
11763
11764 2000-05-02  Andy Piper  <andy@xemacs.org>
11765
11766         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
11767         (mswindows_widget_instantiate): ditto.
11768
11769         * glyphs-widget.c (initialize_widget_image_instance): initialize
11770         children correctly.
11771         (widget_instantiate): cope with children and items in the same
11772         instance.
11773
11774         * glyphs.c (mark_image_instance): cope with children as a first
11775         class member.
11776         (image_instance_equal): ditto.
11777         (image_instance_hash): ditto.
11778         (image_instance_changed): ditto.
11779
11780 2000-04-30  Andy Piper  <andy@xemacs.org>
11781
11782         * glyphs.c (subwindow_query_geometry): new function. Return some
11783         defaults.
11784         (subwindow_instantiate): don't assign dimensions if none have been
11785         given.
11786         (image_instantiator_format_create): add subwindow_query_geometry.
11787         (print_image_instance): cope with layouts as widgets.
11788
11789 2000-04-29  Andy Piper  <andy@xemacs.org>
11790
11791         * frame.c (delete_frame_internal): call
11792         free_frame_subwindow_instance_cache so that all subwindows are
11793         finalized before their parent.
11794         (mark_frame): remove subwindow_cachels.
11795         (Fmake_frame): remove subwindow_cachel manipulation.
11796         (allocate_frame_core): subwindow_instance_cache is a weak list.
11797         (delete_frame_internal): set subwindow_instance_cache to nil.
11798
11799         * glyphs-msw.c (mswindows_finalize_image_instance): make double
11800         finalization safe.
11801         (mswindows_finalize_image_instance): use the device
11802         not the domain as the domain may have died already.
11803
11804         * glyphs-x.c (x_finalize_image_instance): ditto.
11805         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
11806         HEIGHT.
11807
11808         * redisplay-output.c (redisplay_unmap_subwindows): update for
11809         subwindow instance cache as a weak list.
11810         (redisplay_unmap_subwindows_maybe): ditto.
11811         (redisplay_unmap_subwindows_except_us): ditto.
11812
11813         * glyphs.c (unmap_subwindow): error checking will check the domain
11814         so don't deal with it here. Don't use cachels anymore.
11815         (map_subwindow): ditto.
11816         (update_subwindow_cachel_data): remove old accessor names.
11817         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
11818         (Fresize_subwindow): don't update cachel.
11819         (mark_subwindow_cachels):
11820         (update_subwindow_cachel_data):
11821         (add_subwindow_cachel):
11822         (get_subwindow_cachel_index):
11823         (update_subwindow_cachel):
11824         (reset_subwindow_cachels):
11825         (mark_subwindow_cachels_as_not_updated): deleted.
11826         (cache_subwindow_instance_in_frame_maybe): new function. Add a
11827         subwindow instance to the frame cache.
11828         (find_matching_subwindow): update for subwindow instance cache as
11829         a weak list.
11830         (update_widget_instances): ditto.
11831         (image_instance_type_to_mask):inlined.
11832         (free_frame_subwindow_instance_cache): new function. finalize all
11833         subwindows that are instantiated.
11834
11835         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
11836         of cachel information.
11837         (IMAGE_INSTANCE_DISPLAY_X):
11838         (IMAGE_INSTANCE_DISPLAY_Y):
11839         (IMAGE_INSTANCE_DISPLAY_WIDTH):
11840         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
11841         (XIMAGE_INSTANCE_DISPLAY_X):
11842         (XIMAGE_INSTANCE_DISPLAY_Y):
11843         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
11844         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
11845         remove subwindow_cachel structure and function references.
11846         (image_instance_type_to_mask): inline from glyphs.c
11847
11848         * redisplay.c (redisplay_frame): remove subwindow_cachel
11849         references.
11850
11851         * frame.h (struct frame): remove subwindow_cachels.
11852         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
11853
11854         * frameslots.h: add subwindow_instance_cache.
11855
11856         * window.c (replace_window): check subwindow cache of replacement.
11857         (window_unmap_subwindows_cache_mapper):
11858         (window_unmap_subwindows): new functions. Unmap all subwindows
11859         cached on this window.
11860         (mark_window_as_deleted): unmap all subwindows.
11861
11862 2000-04-27  Andy Piper  <andy@xemacs.org>
11863
11864         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
11865
11866         * glyphs-widget.c (widget_layout): return something.
11867         (layout_layout): return something. Fail if not initialized.
11868         (layout_query_geometry): ditto.
11869         (image_instantiator_native_layout): new function. Initialized the
11870         native layout type.
11871         (widget_instantiate): don't do layout stuff here.
11872
11873         * glyphs.c (instantiate_image_instantiator): reorded calling or
11874         instantiate and post_instantiate with layout in between.
11875         (image_instance_layout): be more selective about deciding whether
11876         the layout has been done or not.
11877
11878         * glyphs.h (struct image_instantiator_methods): return a value
11879         from layout_method.
11880
11881 2000-04-26  Andy Piper  <andy@xemacs.org>
11882
11883         * glyphs.c (allocate_image_instance): make initial width and
11884         height unspecified. Set initialized to 0.
11885
11886         * syscommctrl.h new file. Encapsulates commctrl.h.
11887
11888         * syswindows.h new file. Encapsulates windows.h.
11889
11890         * ntplay.c: use new syswindows.h and syscommctrl.h header.
11891         * nt.c: ditto.
11892         * console-msw.h: ditto.
11893
11894         * redisplay-tty.c (tty_output_display_block): remove layout references.
11895
11896         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
11897         window handle rather than just the frame.
11898
11899         * glyphs.c (mark_image_instance): remove layout references.
11900         (print_image_instance): ditto.
11901         (image_instance_equal): ditto.
11902         (image_instance_hash): ditto.
11903         (decode_image_instance_type): ditto.
11904         (encode_image_instance_type): ditto.
11905         (image_instantiate): ditto.
11906         (allocate_glyph): ditto.
11907         (Fimage_instance_height): ditto.
11908         (Fimage_instance_width): ditto.
11909         (update_subwindow): ditto.
11910
11911         * redisplay-x.c (x_output_display_block): recode for layouts as
11912         widgets.
11913
11914         * redisplay-output.c (redisplay_output_layout): recode for layouts
11915         as widgets.
11916         (compare_runes): remove layout references.
11917
11918         * redisplay-msw.c (mswindows_output_display_block): recode for
11919         layouts as widgets.
11920
11921         * glyphs-widget.c (image_instantiator_layout): remove
11922         layout_possible_dest_types.
11923         (layout_possible_dest_types): deleted.
11924
11925         * glyphs.h (image_instance_type): remove layout references.
11926         (struct Lisp_Image_Instance): ditto. Add initialized flag.
11927         (IMAGE_INSTANCE_INITIALIZED): new accessor.
11928         (XIMAGE_INSTANCE_INITIALIZED): ditto.
11929
11930 2000-04-25  Andy Piper  <andy@xemacs.org>
11931
11932         * glyphs-widget.c (image_instantiator_buttons):
11933         (image_instantiator_edit_fields):
11934         (image_instantiator_combo_box):
11935         (image_instantiator_scrollbar):
11936         (image_instantiator_progress_guage):
11937         (image_instantiator_tree_view):
11938         (image_instantiator_tab_control):
11939         (image_instantiator_labels):
11940         (image_instantiator_layout): call default post_instantiate method.
11941         (widget_post_instantiate): new function. Simply lays out the
11942         widgets.
11943
11944         * glyphs.h (struct image_instantiator_methods): add
11945         post_instantiate method.
11946
11947         * glyphs.c (instantiate_image_instantiator): add post_instantiate
11948         method calls.
11949
11950 2000-04-23  Andy Piper  <andy@xemacs.org>
11951
11952         * glyphs.h (struct image_instantiator_methods): add
11953         decode_domain_method.
11954         (struct Lisp_Image_Instance): remove subwindow frame - it can be
11955         derived from the domain.
11956         (IMAGE_INSTANCE_FRAME): new accessor.
11957         (XIMAGE_INSTANCE_FRAME): ditto.
11958
11959         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
11960         instead of _SUBWINDOW_FRAME.
11961         (finalize_image_instance): ditto.
11962         (Fimage_instance_foreground): ditto.
11963         (Fimage_instance_background): ditto.
11964         (image_instantiate): ditto.
11965         (update_subwindow_cachel): ditto.
11966         (update_subwindow): ditto.
11967         (unmap_subwindow): ditto.
11968         (map_subwindow): ditto
11969         (subwindow_instantiate): ditto.
11970         * glyphs-msw.c (mswindows_update_widget): ditto.
11971         (mswindows_progress_gauge_instantiate): ditto.
11972         (mswindows_tab_control_update): ditto.
11973         * glyphs-x.c (x_update_widget): ditto.
11974         (x_widget_instantiate): ditto.
11975         (x_tab_control_instantiate): ditto.
11976         (x_tab_control_update): ditto.
11977         * event-msw.c (mswindows_wnd_proc): ditto
11978
11979         * glyphs-widget.c (image_instantiator_layout): use
11980         subwindow_decode_domain.
11981         (image_instantiator_buttons): ditto.
11982         (image_instantiator_edit_fields): ditto.
11983         (image_instantiator_combo_box): ditto.
11984         (image_instantiator_scrollbar): ditto.
11985         (image_instantiator_progress_guage): ditto.
11986         (image_instantiator_tree_view): ditto.
11987         (image_instantiator_tab_control): ditto.
11988         (image_instantiator_labels): ditto.
11989         (image_instantiator_layout): ditto.
11990
11991         * glyphs.c: add instance error checking to many functions.
11992         (instantiate_image_instantiator): decode device from cache_domain.
11993         (image_instantiate): partially rewrite by using
11994         decode_image_instantiator_domain to determine what domain the
11995         instance needs to be cached in.
11996         (decode_image_instantiator_domain): new function. Determine what
11997         domain the image needs to be cached in.
11998         (check_window_subwindow_cache): new error checking function.
11999         (check_instance_cache_mapper): ditto.
12000         (check_image_instance_structure): ditto.
12001         (subwindow_decode_domain): new function. Encodes a window as a
12002         subwindow's cache domain.
12003         (image_instantiator_format_create): use it for text and
12004         subwindows.
12005
12006 2000-04-21  Andy Piper  <andy@xemacs.org>
12007
12008         * glyphs.c (image_instance_device): new function.
12009         (image_instance_frame): new function.
12010         (image_instance_window): new function.
12011         (image_instance_live_p): new function.
12012
12013         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12014         cache to nil.
12015
12016         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12017         (IMAGE_INSTANCE_DOMAIN): new accessor.
12018         (XIMAGE_INSTANCE_DOMAIN): ditto.
12019
12020         * glyphs-x.c (x_finalize_image_instance): device->domain.
12021
12022         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12023         (mswindows_finalize_image_instance): ditto.
12024
12025         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12026         (gif_instantiate): ditto.
12027         (png_instantiate): ditto.
12028         (tiff_instantiate): ditto.
12029
12030         * glyphs.c (instantiate_image_instantiator): use domain rather
12031         than device.
12032         (mark_image_instance): device -> domain.
12033         (print_image_instance): ditto.
12034         (finalize_image_instance): ditto.
12035         (image_instance_equal): ditto.
12036         (allocate_image_instance): ditto.
12037         (Fcolorize_image_instance): ditto.
12038         (query_string_geometry): ditto.
12039         (image_instantiate): ditto
12040         (query_string_font): ditto.
12041         (image_instantiate): ditto.
12042         (update_subwindow): ditto.
12043         (unmap_subwindow): ditto.
12044         (map_subwindow): ditto.
12045         (subwindow_instantiate): ditto.
12046
12047         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12048         (DOMAIN_FRAME): ditto.
12049         (DOMAIN_WINDOW): ditto.
12050         (DOMAIN_LIVE_P): ditto.
12051         (XDOMAIN_DEVICE): ditto.
12052         (XDOMAIN_FRAME): ditto.
12053         (XDOMAIN_WINDOW): ditto.
12054
12055         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12056         a valid specifier domain.
12057
12058 2000-04-19  Andy Piper  <andy@xemacs.org>
12059
12060         * glyphs-widget.c (syms_of_glyphs_widget): remove
12061         widget-callback-current-channel.
12062         (vars_of_glyphs_widget): ditto.
12063         * glyphs.h: ditto
12064
12065         * gui.c (get_gui_callback): revert to previous behaviour.
12066
12067 2000-04-18  Andy Piper  <andy@xemacs.org>
12068
12069         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12070         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12071         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12072
12073         * glyphs.c (image_instance_equal): add margin_width.
12074         (image_instance_hash): ditto.
12075
12076         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12077         (layout_query_geometry): ditto.
12078         (layout_layout): ditto.
12079         (syms_of_glyphs_widget): add margin-width.
12080         (image_instantiator_layout): allow margin-width.
12081
12082         * glyphs.c (update_widget_instances): make a normal function.
12083         (syms_of_glyphs): remove Qupdate_widget_instances.
12084         * glyphs.h: ditto.
12085
12086         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12087         so that we don't corrupt ideas about the last event or
12088         command. Remove widget-callback-current-channel fiddling.
12089         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12090
12091 2000-05-01  Martin Buchholz <martin@xemacs.org>
12092
12093         * XEmacs 21.2.33 is released.
12094
12095 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12096
12097         * make-src-depend: Allow dots in header file name.
12098
12099 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12100
12101         * mule-charset.h (struct charset_lookup): Add
12102         next_allocated_1_byte_leading_byte and
12103         next_allocated_2_byte_leading_byte.
12104         * mule-charset.c: Move above two variables so that those values
12105         will be dumped.
12106
12107 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12108
12109         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12110         when string length is zero.
12111         (find_charsets_in_emchar_string): Ditto.
12112
12113 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12114
12115         * lisp.h: extern Qdialog and Qmenubar.
12116
12117         * gui-x.c: added events.h.
12118                 also fixed typo which made the file uncompilable.
12119
12120         * general.c: Added Qmenubar and Qdialog
12121
12122 2000-04-28  Ben Wing  <ben@xemacs.org>
12123
12124         * frame-msw.c (mswindows_init_frame_1):
12125         * frame-msw.c (mswindows_mark_frame):
12126         * event-msw.c (mswindows_enqueue_dispatch_event):
12127         * console-msw.h:
12128         * console-msw.h (struct mswindows_frame):
12129         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12130         there are now three hash tables for callbacks.
12131         mswindows_enqueue_dispatch_event is no longer static.
12132
12133         * dialog-x.c (maybe_run_dbox_text_callback):
12134         * dialog-x.c (dbox_descriptor_to_widget_value):
12135         switch to new cons3 form for callbacks.
12136
12137         * glyphs-msw.c (mswindows_register_gui_item):
12138         * glyphs-msw.c (mswindows_widget_instantiate):
12139         * glyphs-msw.c (add_tree_item):
12140         * glyphs-msw.c (add_tab_item):
12141         new image instance parameter, so it can be passed to callback-ex.
12142         respect :callback-ex as well as :callback.
12143
12144         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12145         add :callback-ex.
12146
12147         * glyphs.c (print_image_instance):
12148         prettify, e.g. now prints widget type.
12149
12150         * gui-x.h:
12151         certain funs have new image instance parameter.
12152
12153         * gui.c:
12154         * gui.c (get_gui_callback):
12155         * gui.c (gui_item_add_keyval_pair):
12156         * gui.c (gui_item_init):
12157         * gui.c (gui_add_item_keywords_to_plist):
12158         * gui.c (mark_gui_item):
12159         * gui.c (gui_item_hash):
12160         * gui.c (gui_item_equal):
12161         * gui.c (copy_gui_item):
12162         * gui.c (syms_of_gui):
12163         recognize callback-ex in a number of places.
12164         also, fix the annoying "can't get out of yes-no dialog" bug.
12165
12166         * gui.h:
12167         * gui.h (struct Lisp_Gui_Item):
12168         recognize callback-ex in a number of places.
12169
12170         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12171         new parameter in button_item_to_widget_value.
12172
12173         * glyphs-x.c (x_update_widget):
12174         * glyphs-x.c (x_button_instantiate):
12175         * glyphs-x.c (x_button_update):
12176         * glyphs-x.c (x_progress_gauge_instantiate):
12177         * glyphs-x.c (x_edit_field_instantiate):
12178         * glyphs-x.c (x_combo_box_instantiate):
12179         * glyphs-x.c (x_tab_control_instantiate):
12180         * glyphs-x.c (x_label_instantiate):
12181         new image instance parameter in various places.
12182
12183         * event-Xt.c:
12184         * event-Xt.c (enqueue_Xt_dispatch_event):
12185         this fun gets exported.
12186
12187         * gui-msw.c:
12188         * gui-msw.c (mswindows_handle_gui_wm_command):
12189         handle both :callback and :callback-ex, and generate our own
12190         event because it's one of the callback-ex arguments.
12191
12192         * gui-x.c:
12193         * gui-x.c (popup_selection_callback):
12194         handle both :callback and :callback-ex, and generate our own
12195         event because it's one of the callback-ex arguments.
12196         * gui-x.c (button_item_to_widget_value):
12197         * gui-x.c (gui_items_to_widget_values_1):
12198         * gui-x.c (gui_item_children_to_widget_values):
12199         * gui-x.c (gui_items_to_widget_values):
12200         new image instance parameter in various places.
12201
12202         * fns.c (Freplace_list):
12203         fix small typo in doc string.
12204
12205         * lisp.h:
12206         declare enqueue_Xt_dispatch_event.
12207
12208 2000-04-28  Ben Wing  <ben@xemacs.org>
12209
12210         * buffer.c:
12211         * buffer.c (Frecord_buffer):
12212         * buffer.c (syms_of_buffer):
12213         delete record-buffer-hook.
12214
12215         * fns.c:
12216         * fns.c (Freplace_list):
12217         * fns.c (syms_of_fns):
12218         new primitive replace-list.
12219
12220         * frameslots.h:
12221         slot for old buffer-alist.
12222
12223         * lisp.h:
12224         exfun replace-list.
12225
12226         * redisplay.c:
12227         * redisplay.c (redisplay_frame):
12228         * redisplay.c (syms_of_redisplay):
12229         * redisplay.c (vars_of_redisplay):
12230         new hook buffer-list-changed-hook.
12231         call it.
12232
12233 2000-04-27  Ben Wing  <ben@xemacs.org>
12234
12235         * extents.h: extern in_modeline_generation.
12236
12237         * redisplay.c (generate_formatted_string_db): set
12238         in_modeline_generation.
12239
12240         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12241         flags if in modeline generation.  otherwise frame-modified-tick
12242         is ticked far too often.
12243         Declare in_modeline_generation.
12244
12245 2000-04-26  Ben Wing  <ben@xemacs.org>
12246
12247         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12248         option.
12249         (vars_of_emacs): add quick-build as an error-checking option.
12250         A bit kludgy, but there doesn't seem much point in creating
12251         a real var for this.
12252
12253         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
12254
12255 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12256
12257         * redisplay.h (struct display_line): Add a new variable,
12258         line_continuation.
12259
12260         * redisplay.c (create_text_block): Set dl->line_continuation if
12261         the line continues.
12262         (create_string_text_block): Ditto.
12263         (regenerate_window_incrementally): Use line_continuation instead
12264         of searching continuation glyph.
12265         (add_margin_runes): Call add_glyph_rune.
12266         (add_glyph_rune): Handle margin glyph.
12267
12268 2000-04-20  Martin Buchholz  <martin@xemacs.org>
12269
12270         * filelock.c (fill_in_lock_file_name):
12271         ANSIfy.
12272         Check for IS_ANY_SEP instead of '/'.
12273         (lock_file_1):
12274         Avoid generating gratuitous garbage.  Call user_login_name() directly.
12275         Never check errno without first seeing that system call failed.
12276         (unlock_file): Add GCPRO.
12277         (Flock_buffer): Fix docstring.
12278         (Ffile_locked_p): Fix docstring.  Add GCPRO.
12279
12280 2000-04-19  Martin Buchholz  <martin@xemacs.org>
12281
12282         * sysdep.c (get_pty_max_bytes):
12283         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
12284         strings longer than 252 bytes.
12285
12286         * md5.c: Unconditionally include ANSI header <limits.h>
12287
12288         * glyphs-x.c (convert_EImage_to_XImage):
12289         * lisp-union.h (union Lisp_Object):
12290         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
12291
12292 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
12293
12294         * filelock.c (current_lock_owner): Remove unused variable o, p.
12295
12296 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
12297
12298         * callint.c: Remove multiply defined symbol Qlet
12299         (syms_of_callint): ditto.
12300
12301 2000-04-14  Andy Piper  <andy@xemacs.org>
12302
12303         * general.c (syms_of_general): add last-command, this-command, let
12304         and funcall.
12305
12306         * lisp.h: declare various symbols.
12307
12308         * glyphs.h: declare Qwidget_callback_current_channel;
12309
12310         * glyphs-widget.c (syms_of_glyphs_widget): add
12311         Qgui_callback_current_channel.
12312         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
12313
12314         * gui-msw.c (mswindows_handle_gui_wm_command): bind
12315         widget-callback-current-channel when invoking the interactive
12316         arg. Also bind last-command and next-command when invoking the
12317         widget updates.
12318         * gui-x.c (popup_selection_callback): ditto.
12319
12320         * gui.c (get_gui_callback): massage args so that we are always
12321         calling eval. This allows us to add our own variable bindings
12322         outside.
12323
12324         * glyphs-x.c (x_button_instantiate): use
12325         gui_items_to_widget_values since this is GC safe.
12326         (x_progress_gauge_instantiate): ditto.
12327         (x_edit_field_instantiate): ditto.
12328         (x_label_instantiate): ditto.
12329
12330         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
12331         (emacs_Xt_event_widget_focus_out): new function
12332         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
12333         focus.
12334         (emacs_Xt_event_add_widget_actions): new function. add focus
12335         functions as actions.
12336         (init_event_Xt_late): use it.
12337
12338 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
12339
12340         * event-stream.c (Fdispatch_event): Doc fix.
12341
12342 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
12343
12344         * postgresql.c: Remove all references to PQsetenv*.
12345
12346         * postgresql.h: Remove references to PGsetenvHandler object.
12347         * lrecord.h (lrecord_type): Ditto.
12348
12349 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12350
12351         * glyphs-msw.h (struct mswindows_image_instance_data): Added
12352         real_heigh and real_width members, and accessor macros for these.
12353
12354         * glyphs-msw.c (init_image_instance_geometry): New function.
12355         (init_image_instance_from_dibitmap): Use it.
12356         (mswindows_resource_instantiate): Use it.
12357         (init_image_instance_from_xbm_inline): Use it.
12358         (mswindows_initialize_image_instance_mask): Use real bitmap
12359         geometry.
12360         (mswindows_create_resized_bitmap): Ditto.
12361         (mswindows_create_resized_mask): Ditto.
12362
12363         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
12364         and bitmap to their surface size.
12365
12366 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
12367
12368         * process-unix.c (unix_send_process): Guard against process MIA
12369         after Faccept_process_output.
12370
12371 2000-04-11  Ben Wing  <ben@xemacs.org>
12372
12373         * eval.c (unbind_to_hairy): fix brokenness introduced by
12374         nanosecond speed improvements.
12375
12376 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
12377
12378         * sunplay.c (init_device): To play sounds correctly, the device
12379         apparently needs to be initialized at least once by XEmacs.  Make
12380         it so.
12381
12382 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12383
12384         * redisplay.c (add_margin_runes): Add text image glyph
12385           handling.
12386
12387 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
12388
12389         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
12390         gcc is newer than 2.5.
12391
12392 2000-04-06  Colin Rafferty  <colin@xemacs.org>
12393
12394         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
12395
12396         * fns.c (size_bit_vector):
12397         * alloc.c (size_vector):
12398         (make_vector_internal):
12399         (make_bit_vector_internal):
12400         (sweep_bit_vectors_1):
12401         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
12402
12403 2000-04-06  Andy Piper  <andy@xemacs.org>
12404
12405         * gmalloc.c (malloc): undo previous change.
12406         (malloc): ditto.
12407         (free): ditto.
12408         (realloc): ditto.
12409
12410 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
12411
12412         * line-number.c (buffer_line_number): Revert to former version.
12413
12414 2000-04-06  Andy Piper  <andy@xemacs.org>
12415
12416         * gmalloc.c (malloc): add error checking.
12417         (malloc): ditto.
12418         (free): ditto.
12419         (realloc): ditto.
12420
12421         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
12422         button_item_to_widget_value arg.
12423
12424         * glyphs-x.c (x_button_instantiate): add extra
12425         button_item_to_widget_value arg.
12426         (x_progress_gauge_instantiate): ditto.
12427         (x_edit_field_instantiate): ditto.
12428         (x_label_instantiate): ditto.
12429
12430         * gui-x.c (gui_items_to_widget_values_1): add extra
12431         button_item_to_widget_value arg.
12432         (button_item_to_widget_value): add extra menu_item_p arg.
12433
12434         * gui-x.h: change signature of button_item_to_widget_value.
12435
12436         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
12437         button_item_to_widget_value arg.
12438
12439 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
12440
12441         * buffer.h (struct buffer): auto_save_modified should be long.
12442
12443 2000-04-05  Andy Piper  <andy@xemacs.org>
12444
12445         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
12446         type.
12447         (button_query_geometry): give a little more room so that athena
12448         buttons fit.
12449
12450 2000-04-05  Andy Piper  <andy@xemacs.org>
12451
12452         * faces.c (complex_vars_of_faces): The widget face should inherit
12453         the font of the gui-element face.
12454
12455 2000-04-04  Andy Piper  <andy@xemacs.org>
12456
12457         * glyphs-x.c (x_button_update): new function. unconditionally
12458         update a button's state when the instance is dirty.
12459         (image_instantiator_format_create_glyphs_x): add x_button_update.
12460         (x_widget_instantiate): remove old resize cruft.
12461
12462 2000-04-02  Andy Piper  <andy@xemacs.org>
12463
12464         * frame.c (change_frame_size_1): The introduction of gutters means
12465         that we need to allow 0 as a potential frame dimension.
12466
12467 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12468
12469         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
12470         image glyph if allow_cursor.
12471         (add_hscroll_rune): Don't allow cursor to border glyph.
12472         (create_text_block): Ditto.
12473
12474         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
12475         text not in buffer.
12476         (redisplay_output_layout): Call ensure_face_cachel_complete for
12477         text image glyph.
12478
12479
12480 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12481
12482         * redisplay.c (add_glyph_rune): Adding text image as text runes.
12483
12484         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
12485         not in buffer
12486
12487         * redisplay-tty.c (tty_output_display_block): Delete the routine
12488         for text image glyph
12489         * redisplay-x.c (x_output_display_block): ditto
12490         * redisplay-msw.c (mswindows_output_display_block): ditto
12491
12492 2000-02-02  Mike Alexander  <mta@arbortext.com>
12493
12494         Note: Some of these were committed by accident as part of other
12495         patches.
12496
12497         * regex.c (regex_compile): Avoid compiler warnings.
12498
12499         * ntproc.c (sys_spawnve): Avoid compiler warnings.
12500
12501         * nt.h: Declare term_ntproc correctly.
12502
12503         * nt.c: Remove incorrect declaration of get_home_directory which
12504         is declared correctly in lisp.h.
12505
12506         * keymap.c (get_keyelt): Avoid compiler warnings.
12507         (raw_lookup_key_mapper): Avoid compiler warnings.
12508
12509         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
12510
12511         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
12512
12513         * filemode.c (mode_string): Avoid compiler warnings.
12514
12515         * file-coding.c (Fcoding_system_aliasee): Add return statement to
12516         avoid warning.
12517
12518         * events-mod.h: Undef some things that winuser.h defines differently.
12519
12520         * data.c (Faset): Avoid compiler warnings.
12521
12522         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
12523
12524 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12525
12526         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
12527         Fall through to simple beep on error.
12528         Replace "extern" by real header file.
12529
12530         * linuxplay.c: Use nativesound.h
12531         (play_sound_data): Return error code. Be less verbose on error.
12532
12533         * sunplay.c: Use nativesound.h
12534         (play_sound_data): Return error code. Be less verbose on error.
12535
12536         * ntplay.c: Use nativesound.h
12537         (play_sound_data): Return fake error code
12538
12539         * sgiplay.c: Use nativesound.h
12540         (play_sound_data): Return error code
12541
12542         * hpplay.c: Use nativesound.h, partially implement
12543         new error code. Break compilation until finished.
12544         (play_sound_data): error code.
12545
12546         * nativesound.h (play_sound_file):
12547           (play_sound_data): Prototype in new header.
12548
12549 2000-03-31  Andy Piper  <andy@xemacs.org>
12550
12551         * glyphs-widget.c: (button_query_geometry): new function. Adjust
12552         for toggle and radio buttons.
12553         (image_instantiator_buttons): use it.
12554
12555 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12556
12557         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
12558         (x_update_horizontal_scrollbar_callback): Return if no mirror was
12559         found. Scrollbar event probably belonged to some old config.
12560
12561 2000-03-31  Andy Piper  <andy@xemacs.org>
12562
12563         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
12564         than 1.
12565         (initialize_widget_image_instance): default layout to
12566         LAYOUT_HORIZONTAL rather than 0.
12567         (widget_instantiate): reverse the item list at the end rather than
12568         every iteration.
12569         (layout_layout): re-code for the border text at the front of the
12570         item list rather than at the end.
12571         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
12572         provided by the user.
12573         (widget_query_geometry): comment.
12574
12575 2000-03-30  Andy Piper  <andy@xemacs.org>
12576
12577         * glyphs-widget.c (image_instantiator_layout): allow standard
12578         widget keywords in layouts.
12579
12580         * gutter.c (output_gutter): cope with nil gutter contents.
12581
12582         * frame.c (Fset_frame_properties): add gutter docs.
12583
12584 2000-03-29  Andy Piper  <andy@xemacs.org>
12585
12586         * toolbar-msw.c (TBSTYLE_FLAT): add.
12587         (mswindows_output_toolbar): minor fiddling.
12588
12589 2000-03-29  Andy Piper  <andy@xemacs.org>
12590
12591         * gutter.c (output_gutter): force gutter size recalculation if
12592         what we are trying to display won't fit.
12593         (update_gutter_geometry): new function. A per-gutter version of
12594         update_frame_gutter_geometry.
12595         (update_frame_gutter_geometry): use it.
12596         (redraw_exposed_gutter): add extra debugging output.
12597
12598 2000-03-28  Mike Alexander  <mta@arbortext.com>
12599
12600         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
12601         (pdump_file_unmap): Implement it on Windows
12602         (pdump_file_get): Save alocated handles for pdump_file_unmap
12603
12604 2000-03-28  Andy Piper  <andy@xemacs.org>
12605
12606         * gui.c (get_gui_callback): treat Quit specially.
12607
12608 2000-03-27  Andy Piper  <andy@xemacs.org>
12609
12610         * glyphs.c (image_instantiate): be careful to check in the same
12611         way we assigned.
12612
12613 2000-03-27  Didier Verna  <didier@xemacs.org>
12614
12615         * config.h.in: define the proper SMART_INCLUDE macro.
12616         handle renaming of `foo_h_path' to `foo_h_file'.
12617
12618         * database.c: ditto.
12619
12620         * emacs.c: ditto.
12621
12622         * linuxplay.c: ditto.
12623
12624         * terminfo.c: ditto.
12625
12626         * tooltalk.h: ditto.
12627
12628 2000-03-27  Andy Piper  <andy@xemacs.org>
12629
12630         * glyphs-msw.c (mswindows_update_widget): make sure the widget
12631         gets updated whenever the face might have changed.
12632
12633 2000-03-26  Mike Alexander  <mta@arbortext.com>
12634
12635         * dumper.c (pdump_resource_free): Fix the comment.
12636
12637 2000-03-21  Olivier Galibert  <galibert@pobox.com>
12638
12639         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
12640
12641 2000-03-22  Mike Alexander  <mta@arbortext.com>
12642
12643         * dumper.c: Include Windows headers on Windows
12644         (pdump_resource_free): Add a body to the function
12645         (pdump_load): exe_name -> exe_path and add some comments.
12646
12647 2000-03-25  Mike Alexander  <mta@arbortext.com>
12648
12649         * gui.c (copy_gui_item_tree): Return a value in all cases
12650
12651 2000-03-21  Didier Verna  <didier@xemacs.org>
12652
12653         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
12654         lwlib/config.h.in.
12655         (SMART_INCLUDE): new macro.
12656         (POSTGRES_INCLUDE): new macro to include postgresql headers from
12657         the proper location.
12658
12659         * postgresql.c: use it.
12660
12661         * inline.c: ditto.
12662
12663 2000-03-24  Andy Piper  <andy@xemacs.org>
12664
12665         * gutter.c (redraw_exposed_gutters): must be "in display" when we
12666         do this.
12667
12668 2000-03-24  Andy Piper  <andy@xemacs.org>
12669
12670         * redisplay-output.c (compare_runes): use image_instance_changed
12671         to detect changes. Do not depend on glyphs_changed, only depend on
12672         dirtiness.
12673          (redisplay_output_layout): add debug messages.
12674         (compare_runes): ditto.
12675
12676         * glyphs.h: declare new functions.
12677         (struct Lisp_Image_Instance): remove percent and associated
12678         accessors.
12679
12680         * gui.h: declare new copying functions.
12681
12682         * gui.c (copy_gui_item_tree): new function.
12683         (copy_gui_item): new function.
12684         (gui_item_id_hash): revert to standard hash.
12685         (gui_item_hash): ditto.
12686         (gui_item_hash_internal): deleted.
12687         (mark_gui_item): mark value.
12688         (gui_item_add_keyval_pair): add value.
12689         (gui_item_init): ditto.
12690         (gui_add_item_keywords_to_plist): ditto.
12691         (gui_item_equal): ditto.
12692         (syms_of_gui): add Q_value.
12693
12694         * glyphs-x.c (x_progress_gauge_update): use pending items and
12695         value for setting the state.
12696         (x_update_widget): don't set items from pending here.
12697
12698         * glyphs-widget.c (update_widget): update items here.
12699         (progress_gauge_set_property): use items for storing value. Put
12700         new value in pending items.
12701
12702         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
12703         items for new value. Convert percent -> value.
12704         (mswindows_tab_control_update): don't update items here.
12705
12706         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
12707         (update_subwindow): ditto.
12708         (image_instance_changed): new function. Compare hash values and
12709         past and present widget items.
12710         (image_instantiate): We more careful about where we instantiate
12711         things.
12712         (image_instantiate): add error checking.
12713
12714         * gutter.c (syms_of_gutter): use -hook.
12715
12716 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
12717
12718         * console-tty.c (Fset_console_tty_input_coding_system): Use
12719         Qkeyboard.
12720         (Fset_console_tty_output_coding_system): Use Qterminal.
12721         (tty_init_console): Use Qkeyboard and Qterminal.
12722
12723 2000-03-21  Ben Wing  <ben@xemacs.org>
12724
12725         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
12726         From Mike Alexander <mta@arbortext.com>.
12727
12728 2000-03-21  Ben Wing  <ben@xemacs.org>
12729
12730         * event-msw.c (mswindows_need_event): Horrible kludge to fix
12731         process brokenness.  Proper implementation to come.
12732         * callproc.c:
12733         Rename call-process-internal to old-call-process-internal.
12734         New impl. in process.el.
12735
12736 2000-03-21  Martin Buchholz  <martin@xemacs.org>
12737
12738         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
12739
12740 2000-03-20  Andy Piper  <andy@xemacs.org>
12741
12742         * glyphs.c (full_list_hash): make hashes of the same elements in
12743         different orders return different values.
12744
12745 2000-03-20  Martin Buchholz <martin@xemacs.org>
12746
12747         * XEmacs 21.2.32 is released.
12748
12749 2000-03-20  Martin Buchholz  <martin@xemacs.org>
12750
12751         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
12752         (DFC_MALLOC_USE_CONVERTED_DATA):
12753         Add aliasing-safe casts to allow use with char* or unsigned char*
12754         lvalues.
12755
12756         * eldap.c (Fldap_open):
12757         (Fldap_search_basic):
12758         (Fldap_add):
12759         (Fldap_modify):
12760         Make C++-compilable.
12761         Make sure GCPRO'ed variables are initialized.
12762         Use temp variables to avoid repeated calls to Flength.
12763
12764 2000-03-16  Martin Buchholz  <martin@xemacs.org>
12765
12766         * sysfile.h:
12767         Make sure PATH_MAX is always defined.
12768         Include limits.h for PATH_MAX.
12769         Deprecate use of MAXPATHLEN.
12770
12771 2000-03-10  Martin Buchholz  <martin@xemacs.org>
12772
12773         * emacs.c: Add reinit_vars_of_fileio.
12774         * symsinit.h: Add reinit_vars_of_fileio.
12775         * fileio.c (reinit_vars_of_fileio): New.
12776         * fileio.c (Fmake_temp_name):
12777         Initialize temp_name random number from microseconds to make
12778         collisions even less likely.  Initialize always at process startup
12779         time.  (make-temp-name) used to return the same file name twice in
12780         a row when PDUMP.
12781         Random stylistic fiddling.
12782         Comment fixes.
12783
12784 2000-03-20  Andy Piper  <andy@xemacs.org>
12785
12786         * glyphs.c (image_instantiate): allow text glyphs to be
12787         instantiated in the minibuffer window.
12788
12789 2000-03-19  Andy Piper  <andy@xemacs.org>
12790
12791         * glyphs.c (image_instance_hash): be careful about which items we
12792         hash on.
12793
12794         * glyphs-widget.c (tab_control_set_property): record into pending
12795         items rather than the actual items.
12796
12797         * glyphs-x.c (x_update_widget): use pending items to update with.
12798
12799         * glyphs-msw.c (mswindows_tab_control_update): use pending items
12800         to update with.
12801
12802         * glyphs.c (mark_image_instance): mark pending items.
12803
12804         * window.c (Fset_window_configuration): record the buffer.
12805         (Fselect_window): totally revert previous change which breaks many
12806         things.
12807
12808 2000-03-18  Andy Piper  <andy@xemacs.org>
12809
12810         * glyphs-msw.c (mswindows_tab_control_update): force selected
12811         item.
12812
12813         * glyphs.c (image_instantiate): don't allow the minibuffer as a
12814         window domain cache, otherwise we get inconsistencies at
12815         startup. There is something fishy at startup which can lead to the
12816         minibuffer being the selected window when the gutter content is
12817         instantiated.
12818
12819         * gui.c (parse_gui_item_tree_list): add probably unnecessary
12820         gcpros.
12821         (parse_gui_item_tree_children): ditto.
12822         (parse_gui_item_tree_item): ditto.
12823
12824         * glyphs.c (Fupdate_widget_instances): return something.
12825
12826 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
12827
12828         * window.c (Fselect_window): Undo 2000-03-17 change.
12829
12830 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
12831
12832         * postgresql.c (Fpq_setenv): Remove this turkey when linking
12833         against v7.0 libraries.  Insta-coredump city until the postgres
12834         folks fix it.
12835
12836 2000-03-17  Andy Piper  <andy@xemacs.org>
12837
12838         * faces.c (complex_vars_of_faces): don't give the widget face an
12839         inherited background pixmap.
12840
12841         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
12842         selected item.
12843
12844         * event-stream.c (Fdispatch_non_command_events): return something.
12845
12846         * gutter.c (output_gutter): use widget face.
12847         (clear_gutter): ditto.
12848
12849         * NEWS: adjust again.
12850
12851         * window.c (Fselect_window): make sure this runs to completion to
12852         avoid oddities with Fset_window_configuration.
12853         (Fcurrent_window_configuration): in general do not save the
12854         minibuffer as the selected window.
12855
12856         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
12857
12858 2000-03-16  Olivier Galibert  <galibert@pobox.com>
12859
12860         * emacs.c (Frunning_temacs_p): Revert previous patch.
12861         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
12862
12863 2000-03-16  Andy Piper  <andy@xemacs.org>
12864
12865         * glyphs-x.c (x_tab_control_update): if no widget values then
12866         return.
12867
12868         * NEWS: update for new features.
12869
12870         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
12871         synthetic event to the native system.
12872         (reinit_vars_of_event_Xt): set force_event_pending to
12873         emacs_Xt_force_event_pending.
12874
12875         * events.h (struct event_stream): add force_event_pending.
12876
12877         * specifier.c (recompute_one_cached_specifier_in_window): add
12878         comment.
12879
12880         * redisplay.c (redisplay_frame): don't call
12881         update_frame_subwindows. Reset subwindow cachels when
12882         subwindows_changed, removing this was an optimization too far.
12883
12884         * redisplay-output.c (compare_runes): reorganize so that we catch
12885         glyph changes when we want them. Set optimize_output when this
12886         would help layouts.
12887         (redisplay_output_layout): remove frame_really_changed, use
12888         optimize_output instead.
12889
12890         * redisplay-msw.c (mswindows_output_display_block): reset
12891         optimize_output after outputting a glyph.
12892         * redisplay-x.c (x_output_display_block): ditto.
12893         * redisplay-tty.c (tty_output_display_block): ditto.
12894
12895         * gutter.c: (specifier_vars_of_gutter): use new spec changed
12896         functions.
12897         (gutter_specs_changed): do specific gutter positions.
12898         (top_gutter_specs_changed): new function. Only update the
12899         specified gutter specs.
12900         (bottom_gutter_specs_changed): ditto.
12901         (left_gutter_specs_changed): ditto.
12902         (right_gutter_specs_changed): ditto.
12903
12904         * gui.c (gui_item_hash_internal): new function, does a real hash.
12905         (gui_item_id_hash): use it.
12906         (gui_item_hash): hash the eval'ed gui_item.
12907
12908         * gui-x.c (popup_selection_callback): send an eval event to call
12909         Fupdate_widget_instances.
12910
12911         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
12912         to call Fupdate_widget_instances.
12913
12914         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
12915         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
12916
12917         * glyphs.c: (update_frame_subwindows): deleted.
12918         (Fupdate_widget_instances): new function for updating the dirty
12919         state of widgets that might have changed.
12920         (syms_of_glyphs): add Qupdate_widget_instances.
12921         (full_list_hash): hash a list completely.
12922         (image_instance_hash): use it for items and properties.
12923
12924         * frame-msw.c (mswindows_size_frame_internal): remove unused
12925         variable.
12926
12927         * faces.h (struct face_cachel): fix comment.
12928
12929         * event-stream.c (Fdispatch_non_command_events): new
12930         function. Process non-command events, forcing an event cycle
12931         beforehand.
12932         (syms_of_event_stream): declare.
12933         (event_stream_force_event_pending): new function. Force an event
12934         on the native event queue so that an event cycle will occur next
12935         time we check.
12936
12937         * event-msw.c:
12938         (struct ntpipe_shove_stream):
12939         (mswindows_enqueue_dispatch_event):
12940         (mswindows_dequeue_dispatch_event):
12941         (mswindows_cancel_dispatch_event):
12942         (mswindows_pump_outstanding_events):
12943         (mswindows_drain_windows_queue):
12944         (mswindows_handle_paint):
12945         (mswindows_wnd_proc):
12946         (mswindows_key_to_emacs_keysym):
12947         (get_process_input_waitable):
12948         (emacs_mswindows_delete_stream_pair): re-indent file.
12949         (mswindows_need_event): do not process further fds if the windows
12950         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
12951         fixes the 100% cpu problem.
12952         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
12953
12954 2000-03-15  Olivier Galibert  <galibert@pobox.com>
12955
12956         * alloc.h: New.
12957         * dumper.h: New.
12958         * dumper.c: New.
12959
12960         * emacs.c: Moved dump file searching to dumper.c.
12961         (Frunning_temacs_p): Fixed.
12962
12963         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
12964         last_lrecord_type_index_assigned.
12965
12966 2000-02-20  Olivier Galibert  <galibert@pobox.com>
12967
12968         * symsinit.h: Added reinit parameter to init_console_stream
12969         declaration.
12970
12971         * lisp.h: Added file parameter to pdump_load declaration.
12972
12973         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
12974         support.  Added dump file searching.
12975
12976         * config.h.in: Added EMACS_PROGNAME.
12977
12978         * console-stream.c (init_console_stream): Fix reinitialisation
12979         when running from temacs.
12980
12981         * alloc.c (pdump): Add id support.
12982         (pdump_load): Add file parameter and signature/id support.
12983
12984         * Makefile.in.in: Add full pdump support.
12985
12986 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
12987
12988         * postgresql.c: Update documentation to reflect latest code
12989         status.
12990         (print_result): Show tuple counts in printed representation when
12991         appropriate.
12992         (Fpq_put_nbytes): MULE-ize.
12993         (Fpq_get_line_async): Ditto.
12994
12995 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
12996
12997         * postgresql.c (Fpq_lo_import): Fix return value.
12998         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
12999
13000 2000-03-13  Ben Wing  <ben@xemacs.org>
13001
13002         * alloc.c (pdump_load):
13003         Fix compile warning under mswin.
13004
13005 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13006
13007         * postgresql.c: Mule-ization, bug fixes.
13008         Use PG_CODING to encapsulate coding system name changes.
13009         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13010         (pg-coding-system): Create.
13011
13012         (Fpq_conn_defaults): Mule-ize.
13013         (Fpq_connectdb): Mule-ize & bug fix.
13014         (Fpq_connect_start): Mule-ize.
13015         (Fpq_set_client_encoding): Mule-ize.
13016         (Fpq_finish): Document `DEAD' connection status.
13017         (Fpq_clear): Ditto.
13018         (Fpq_pgconn): Mule-ize.
13019         (Fpq_exec): Mule-ize & bug fix.
13020         (Fpq_send_query): Ditto.
13021         (Fpq_get_result): Ditto.
13022         (Fpq_res_status): Mule-ize.
13023         (Fpq_result_error_message): Mule-ize.
13024         (Fpq_ntuples): fix comments.
13025         (Fpq_fname): Mule-ize.
13026         (Fpq_fnumber): Mule-ize.
13027         (Fpq_ftype): fix comments.
13028         (Fpq_get_value): Mule-ize.
13029         (Fpq_cmd_status): Ditto.
13030         (Fpq_cmd_tuples): Ditto.
13031         (Fpq_oid_value): Ditto.
13032         (Fpq_notifies): Ditto.
13033         (Fpq_lo_import): Ditto.
13034         (Fpq_lo_export): Ditto.
13035         (Fpq_get_line): Ditto.
13036         (Fpq_put_line): Mule-ize and bug fix.
13037         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13038
13039 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13040
13041         * postgresql.c (vars_of_postgresql): Mule-ize.
13042         (Fpq_conn_defaults): Ditto.
13043
13044 2000-03-12  Ben Wing  <ben@xemacs.org>
13045
13046         * alloc.c (Fmake_byte_code):
13047         * alloc.c (debug_string_purity_print):
13048         * alloc.c (pdump_backtrace):
13049         * alloc.c (pdump_get_indirect_count):
13050         * alloc.c (pdump_register_sub):
13051         * alloc.c (pdump_register_object):
13052         * alloc.c (pdump_register_struct):
13053         * alloc.c (pdump_dump_data):
13054         * alloc.c (pdump_reloc_one):
13055         Minor cleanups.
13056
13057         * console-msw.c:
13058         * console-msw.c (GetConsoleHwnd):
13059         * console-msw.c (msw_hide_console):
13060         * console-msw.c (msw_show_console):
13061         * console-msw.c (msw_ensure_console_buffered):
13062         * console-msw.c (msw_output_console_string):
13063         * console-msw.c (console_type_create_mswindows):
13064
13065         a) Added functions to manipulate the console window for use with
13066         shell support.
13067
13068         b) Added support for writing text to the console, which is now
13069         used under Windows when xemacs is not being run non-interactively,
13070         to write text that would otherwise be destined for stdout because
13071         under these circumstances, text written to stdout tends to
13072         disappear and not be seen.
13073
13074         * console-msw.h:
13075         * event-Xt.c:
13076         * event-Xt.c (x_event_to_emacs_event):
13077         * event-Xt.c (describe_event_window):
13078         * events-mod.h (XEMACS_MOD_CONTROL):
13079         * events.c:
13080         * events.c (Fmake_event):
13081         * events.c (character_to_event):
13082         * events.c (event_to_character):
13083         * events.c (format_event_object):
13084         * events.c (Fevent_modifiers):
13085         * events.h:
13086         * events.h (struct key_data):
13087         * events.h (struct button_data):
13088         * events.h (struct misc_user_data):
13089         * frame-x.c (Fcde_start_drag_internal):
13090         * frame-x.c (Foffix_start_drag_internal):
13091         * gpmevent.c (Freceive_gpm_event):
13092         * keymap.c:
13093         * keymap.c (bucky_sym_to_bucky_bit):
13094         * keymap.c (control_meta_superify):
13095         * keymap.c (make_key_description):
13096         * keymap.c (keymap_lookup_directly):
13097         * keymap.c (create_bucky_submap):
13098         * keymap.c (keymap_store):
13099         * keymap.c (define_key_check_and_coerce_keysym):
13100         * keymap.c (define_key_parser):
13101         * keymap.c (define_key_alternate_name):
13102         * keymap.c (Fdefine_key):
13103         * keymap.c (raw_lookup_key_mapper):
13104         * keymap.c (struct map_keymap_unsorted_closure):
13105         * keymap.c (map_keymap_unsorted_mapper):
13106         * keymap.c (map_keymap_sort_predicate):
13107         * keymap.c (map_keymap_sorted):
13108         * keymap.c (accessible_keymaps_mapper_1):
13109         * keymap.c (where_is_recursive_mapper):
13110         * keymap.c (describe_map_mapper):
13111         * keymap.c (describe_map_sort_predicate):
13112         * keymap.c (describe_map):
13113         * keymap.c (complex_vars_of_keymap):
13114         And a number of other files, the key modifier preprocessor
13115         constants that xemacs uses have names that conflict with constants
13116         defined under MS Windows for other purposes, so they were renamed
13117         to begin with the prefix XEMACS_. The variables that hold such
13118         modifiers were changed to consistently be of type int to fix
13119         various compile warnings.
13120
13121         * console.c (complex_vars_of_console):
13122         * device.c:
13123         * device-msw.c:
13124         * device-msw.c (mswindows_finish_init_device):
13125         * device-msw.c (msw_get_workspace_coords):
13126         * device-msw.c (mswindows_device_system_metrics):
13127         and various other files, added support for a new
13128         device property called offset-workspace which returns the position
13129         of the upper left corner of the workspace area and goes along with
13130         the existing size-workspace property.
13131
13132         * dialog-msw.c:
13133         * dialog-msw.c (push_bufbyte_string_as_unicode):
13134         * dialog-msw.c (mswindows_popup_dialog_box):
13135         Added support for XEmacs-style accelerator specifications in
13136         button text.  Note: I didn't add support for this under X Windows,
13137         and somebody needs to do this.
13138
13139         * dialog.c:
13140         * dialog.c (Fpopup_dialog_box):
13141         Documented the support for accelerators that was just mentioned.
13142
13143         editfns.c (get_home_directory): Changed behavior under Windows
13144         when HOME not defined; former behavior was irretrievably broken.
13145
13146         * emacs.c:
13147         * emacs.c (main_1):
13148         * emacs.c (main):
13149         * minibuf.c (clear_echo_area_internal):
13150         * minibuf.c (echo_area_append):
13151         * print.c:
13152         * print.c (std_handle_out_external):
13153         * print.c (std_handle_out_va):
13154         * print.c (fatal):
13155         * print.c (write_string_to_stdio_stream):
13156         * print.c (output_string):
13157         * print.c (debug_print):
13158         * print.c (debug_backtrace):
13159         * print.c (debug_short_backtrace):
13160         Cleaned up the code that prints text to stdout so that this can be
13161         changed to output into a console window instead under MS Windows,
13162         as described above.
13163
13164         * eval.c:
13165         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13166         * eval.c (internal_catch):
13167         * eval.c (unwind_to_catch):
13168         * eval.c (throw_or_bomb_out):
13169         * eval.c (condition_case_1):
13170         * eval.c (signal_1):
13171         * eval.c (check_error_state_sanity):
13172         * eval.c (call_with_suspended_errors_1):
13173         * eval.c (call_with_suspended_errors):
13174         * eval.c (reinit_vars_of_eval):
13175         Added code to catch throw loops and check for a pesky bug that may
13176         be gone now.
13177
13178         * event-msw.c:
13179         * event-msw.c (key_needs_default_processing_p):
13180         * event-msw.c (mswindows_wnd_proc):
13181         * event-msw.c (mswindows_modifier_state):
13182         * event-msw.c (emacs_mswindows_quit_p):
13183         * event-msw.c (vars_of_event_mswindows):
13184         a) Added support for using the alt key to select menu items as is
13185         standard under MS Windows.  This is controlled using the variable
13186         menu-accelerator-enabled, just like under X Windows.  There is an
13187         option on the options menu to turn this support on.  I really
13188         think that it should be on by default under Windows, but I'm not
13189         going to make this change yet.
13190
13191         b)  Added support for dynamic display size changes under Windows.
13192
13193         * event-stream.c:
13194         * event-stream.c (maybe_echo_keys):
13195         * event-stream.c (Fnext_event):
13196         * event-stream.c (command_builder_find_leaf):
13197         * event-stream.c (lookup_command_event):
13198         * event-stream.c (execute_command_event):
13199         * event-stream.c (pre_command_hook):
13200         * event-stream.c (post_command_hook):
13201         * event-stream.c (syms_of_event_stream):
13202         * event-stream.c (vars_of_event_stream):
13203         * event-stream.c (complex_vars_of_event_stream):
13204         * events.h (struct command_builder):
13205
13206         a) Tried to clean up a little bit the horribly written x-specific
13207         accelerator code that crept into this file.  I moved this code
13208         into menubar-x.c where it belongs. I also needed to move the
13209         command builder structure into the file events.h because it is
13210         accessed directly by this accelerator code.  What I didn't do, but
13211         which should be done at some point, is to properly abstract this
13212         code using device methods instead of the kludgy way that it
13213         currently hooks into the event code.
13214
13215         b) Added the lisp variables this-command-properties and
13216         last-command- properties, which should be used to synchronize two
13217         adjacent commands in preference to playing games with the variable
13218         this-command, which is typically what happens.
13219
13220         c) Added some slightly nasty code to hook into the lisp support
13221         for shifted- motion-key selection.  This is actually necessary for
13222         somewhat complicated reasons, which are described in
13223         simple.el. (NB: I think the proper thing would be to have the code
13224         that calls the pre and post command hooks also call out to generic
13225         lisp functions in simple.el, where all built-in stuff could be
13226         added.  I will think about this more.)
13227
13228         * event-unixoid.c (poll_fds_for_input):
13229         * lread.c (readchar):
13230         * redisplay-tty.c (tty_clear_frame):
13231         * redisplay-x.c (x_get_gc):
13232         * signal.c (interrupt_signal):
13233         And a whole bunch of other files: fixed up places that printed
13234         directly to stderr to instead call the function stderr_out so that
13235         the changes I made under Windows work correctly.
13236
13237         * filemode.c (mode_string):
13238         Warning fixes.
13239
13240         * frame-msw.c:
13241         * frame-msw.c (mswindows_size_frame_internal):
13242         Fixed the computation of frame size and position to keep the frame
13243         within the workspace area, rather than within the physical
13244         dimensions of the screen, so that the frame doesn't overlap window
13245         manager decorations, such as the start menu and toolbar, typically
13246         at the bottom of the screen.
13247
13248         * frame.c (vars_of_frame):
13249         Changed the default frame title format under MS Windows to consist
13250         of buffername-XEmacs, which is standard under MS Windows.  I think
13251         it might be a good idea to change this everywhere because I think
13252         it is superior to the current frame title format, but this is the
13253         kind of change that is likely to cause some people to get annoyed,
13254         so I'm not making it.
13255
13256         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
13257
13258         * gui-msw.c (mswindows_handle_gui_wm_command):
13259         Fixed compile warnings.
13260
13261         * gui-x.c:
13262         * gui-x.c (strdup_and_add_accel):
13263         * gui-x.c (button_item_to_widget_value):
13264         * gui-x.h:
13265         Added code to automatically put an accelerator onto the beginning
13266         of menu items that don't have one as is now the standard, and is
13267         described more later.  Also fixed things so that the menu item
13268         name can be an evaluated expression, again a new standard.
13269
13270         * gui.c:
13271         * gui.c (gui_item_add_keyval_pair):
13272         * gui.c (make_gui_item_from_keywords_internal):
13273         * gui.c (gui_add_item_keywords_to_plist):
13274         * gui.c (gui_item_accelerator):
13275         * gui.c (gui_name_accelerator):
13276         * gui.c (gui_item_included_p):
13277         * gui.c (gui_item_display_flush_left):
13278         * gui.c (gui_item_display_flush_right):
13279         * gui.c (parse_gui_item_tree_item):
13280         * gui.c (parse_gui_item_tree_children):
13281         * gui.c (parse_gui_item_tree_list):
13282         Mule-ized.  Cleanup.  GCPRO addition.
13283
13284         * line-number.c (buffer_line_number):
13285         * lisp.h:
13286         * lisp.h (EMACS_INT_MAX):
13287         Added the manifest constant EMACS_INT_MIN corresponding to the
13288         existing constant EMACS_INT_MAX.  This is partially to fix compile
13289         warnings under Windows, and partly for cleanliness.
13290
13291         * menubar-msw.c:
13292         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
13293         * menubar-msw.c (msw_translate_menu_or_dialog_item):
13294         * menubar-msw.c (displayable_menu_item):
13295         * menubar-msw.c (populate_menu_add_item):
13296         * menubar-msw.c (populate_or_checksum_helper):
13297         * menubar-msw.c (populate_menu):
13298         * menubar-msw.c (update_frame_menubar_maybe):
13299         * menubar-msw.c (prune_menubar):
13300         * menubar-msw.c (msw_char_is_accelerator):
13301         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
13302         * menubar-msw.c (mswindows_handle_wm_command):
13303         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
13304         * menubar-msw.c (mswindows_handle_wm_initmenu):
13305         * menubar-msw.c (mswindows_update_frame_menubars):
13306         * menubar-msw.c (mswindows_free_frame_menubars):
13307         * menubar-msw.c (mswindows_popup_menu):
13308         Fixed a bug in handling accelerators where an extra character
13309         would be displayed in the menu item.  Also generalized the
13310         function displayable_menu_item because it is now used by the
13311         dialog box code as well.  And finally, added code in the functions
13312         that create the menubar to extract a list of accelerators for the
13313         top level menubar, which is used in the event code to determine
13314         whether a particular alt-key combination should be used to invoke
13315         a menu item, or should be passed through to access the standard
13316         XEmacs keymap binding for this key combination.
13317
13318         Much needed GCPROing.
13319
13320         * menubar-x.c:
13321         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13322         * menubar-x.c (menu_item_descriptor_to_widget_value):
13323         * menubar-x.c (restore_in_menu_callback):
13324         * menubar-x.c (x_popup_menu):
13325         * menubar-x.c (menu_move_up):
13326         * menubar-x.c (menu_move_down):
13327         * menubar-x.c (menu_move_left):
13328         * menubar-x.c (menu_move_right):
13329         * menubar-x.c (menu_select_item):
13330         * menubar-x.c (command_builder_operate_menu_accelerator):
13331         * menubar-x.c (menu_accelerator_junk_on_error):
13332         * menubar-x.c (command_builder_find_menu_accelerator):
13333         * menubar-x.c (Faccelerate_menu):
13334         * menubar.h:
13335         Moved a whole bunch of code here that was previously in
13336         event-stream.c as described above.  There is also code connected
13337         to the new standard of adding an accelerator to the beginning of
13338         menu items that don't have one as described above and below.
13339
13340         * menubar.c:
13341         * menubar.c (menu_parse_submenu_keywords):
13342         * menubar.c (Fmenu_find_real_submenu):
13343         * menubar.c (Fnormalize_menu_item_name):
13344         * menubar.c (syms_of_menubar):
13345         * menubar.c (vars_of_menubar):
13346         * menubar.c (complex_vars_of_menubar):
13347
13348         a) Cleaned up a bunch of documentation and improved it.
13349
13350         b) XEmacs now automatically adds an accelerator onto the beginning
13351         of any menu items that don't have one.  I did this because there
13352         will inevitably be some menu items on the main menubar that don't
13353         have accelerators on them because the package that adds that
13354         particular menu item hasn't yet been fixed up to have accelerators
13355         in them and it looked rather strange to have some items with and
13356         some items without accelerators, especially since even in items
13357         without accelerators, you can, at least under windows, still
13358         access the item through an accelerator corresponding to the first
13359         character in the item's name.  If people don't like this behavior,
13360         I can add a variable to turn it off optionally, but I'm not sure
13361         this is a good idea because we really do need to have accelerators
13362         on all of the menu items, and if a package doesn't like the
13363         accelerators being put on the first character, then it should put
13364         the accelerators where they belong.
13365
13366         c) I made a behavior change, which is that the descriptor that
13367         specifies the text of the menu item, which formerly was just a
13368         string, can now also be an evaluated expression.  This makes this
13369         descriptor parallel with all of the others, which could also be
13370         evaluated expressions.  This also obviates the need for the
13371         keyword :label, which was previously listed in the documentation
13372         as unimplemented, and which was for the same purpose.
13373
13374         d) GCPROing.
13375
13376         * ntproc.c:
13377         * ntproc.c (new_child):
13378         * ntproc.c (sys_spawnve):
13379         * ntproc.c (find_child_console):
13380         * ntproc.c (sys_kill):
13381         Fixed compile warnings.  By the way, this file should really go
13382         away entirely, and this will happen as soon as Kirill makes his
13383         final round of process cleanups, which affect the function
13384         call-process.
13385
13386         * process-nt.c:
13387         * process-nt.c (struct nt_process_data):
13388         * process-nt.c (find_process_from_pid):
13389         * process-nt.c (send_signal_the_nt_way):
13390         * process-nt.c (enable_child_signals):
13391         * process-nt.c (find_child_console):
13392         * process-nt.c (send_signal_the_95_way):
13393         * process-nt.c (nt_finalize_process_data):
13394         * process-nt.c (ensure_console_window_exists):
13395         * process-nt.c (nt_create_process):
13396         * process-nt.c (nt_kill_child_process):
13397         * process-nt.c (nt_kill_process_by_pid):
13398         * process-nt.c (nt_open_network_stream):
13399         * process-nt.c (vars_of_process_nt):
13400         Copied over code from Emacs 20.5 to correctly send signals to sub-
13401         processes under Windows 95.  Also added code to automatically
13402         create and hide console window when a sub-process is created under
13403         Windows 95, which obviates the need for the separate runemacs.exe
13404         executable, and finally implemented some variables that were
13405         implemented in Emacs 20.5, but previously not in XEmacs.  These
13406         include mswindows- start-process-share-console and
13407         mswindows-start-process-inherit-error-mode. (Both of these only
13408         apply to Windows 95.)
13409
13410         * regex.c (regex_compile): Fixed a compile warning.
13411
13412         * select-msw.c:
13413         * select-msw.c (mswindows_own_selection):
13414         * select-msw.c (mswindows_get_foreign_selection):
13415         * select-msw.c (mswindows_disown_selection):
13416         * select-msw.c (console_type_create_select_mswindows):
13417         * select-msw.c (syms_of_select_mswindows):
13418         Cleaned up the file and implemented the device method
13419         selection_exists_p, which had accidentally been left out.  Also
13420         removed four lisp functions that were remnants from before the
13421         time when the selection code was properly device abstracted.
13422         These functions are no longer needed because there are generic
13423         equivalents, and because they were added recently and don't exist
13424         in FSF Emacs, I don't think there's any problem with just deleting
13425         them.
13426
13427         * sysdep.c:
13428         * sysdep.c (sys_subshell):
13429         Fixed a compile warning, although in this case there's probably
13430         something wrong with this code, and it ought to be looked into
13431         more thoroughly by somebody who understands it.
13432
13433         * window.c:
13434         * window.c (Fwindow_text_area_height):
13435         * window.c (Fwindow_width):
13436         * window.c (Fwindow_full_width):
13437         * window.c (Fwindow_pixel_width):
13438         * window.c (debug_print_window):
13439         * window.c (syms_of_window):
13440         Added functions window-text-area-height and window-full-width,
13441         which are functions for returning various width and height
13442         characteristics of a window. (One of these functions is necessary
13443         for making the file dialog box work correctly, and the other one
13444         was added for completeness.)  Also added a table to the
13445         documentation for window-height which describes the entire scheme
13446         for accessing width and height characteristics of a window.
13447
13448 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13449
13450         * nt.c (fstat): Added a comment for another problem with
13451         non-encapsulated [f]stat(), reported by Adrian Aichner
13452         <aichner@ecf.teradyne.com>.
13453
13454 2000-03-11  Andy Piper  <andy@xemacs.org>
13455
13456         * window.c (make_dummy_parent): initialize subwindow instance
13457         cache.
13458         (Fset_window_configuration): zero extent_modiff.
13459
13460 2000-03-10  Andy Piper  <andy@xemacs.org>
13461
13462         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
13463         more changes can be triggered.
13464         (Fredisplay_frame): ditto.
13465         (Fredraw_device): ditto.
13466         (Fredisplay_device): ditto.
13467         (redisplay_frame): make non-static.
13468         (redisplay_frame): call update_frame_gutter_geometry outside of
13469         display proper.
13470
13471         * gutter.h: declare update_frame_gutter_geometry.
13472
13473         * redisplay.h: declare redisplay_frame.
13474
13475         * gutter.c (update_frame_gutter_geometry): move geometry changes
13476         in update_frame_gutters here. Geometry changes can only occur
13477         outside of redisplay.
13478         (update_frame_gutters): remove geometry change code.
13479         (Fredisplay_gutter_area): make sure that we are in display when we
13480         update and that we have flushed any size changes.
13481
13482 2000-03-11  Andy Piper  <andy@xemacs.org>
13483
13484         * alloc.c (pdump_dump_data): remove i & count shadows.
13485
13486 2000-02-27  Mike Alexander  <mta@arbortext.com>
13487
13488         * sysdep.h: Declare pdump_read_file
13489
13490         * sysdep.c (pdump_read_file): New function
13491
13492         * alloc.c (pdump_load): Call pdump_read_file to get the portable
13493         dump data
13494
13495 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13496
13497         * lrecord.h: add `lrecord_type_pgsetenv'.
13498
13499 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
13500
13501         * symsinit.h: declare (vars|syms)_of* functions.
13502         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
13503
13504 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
13505
13506         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
13507
13508         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
13509         GCCs.
13510
13511         * emacs.c (main_1): Call postgres initialization code.
13512
13513         * postgresql.h: New file.  PostgreSQL RDBMS support.
13514         * postgresql.c: New file.
13515
13516 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13517
13518         * redisplay-output.c (redisplay_output_display_block): Disable
13519         redundant code.
13520
13521 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13522
13523         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
13524         (Fcanna_henkan_next): Ditto.
13525         (Fcanna_bunsetu_henkou): Ditto.
13526         (Fcanna_henkan_kakutei): Ditto.
13527         (Fcanna_henkan_end): Ditto.
13528         (Fcanna_henkan_quit): Ditto.
13529         (Fcanna_henkan_next): Set retun value correctly.
13530         (c2mu): Use unsigned char instead of signed char.
13531
13532 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13533
13534         * emacs.c (main_1): Always call syms_of_gui.
13535         * inline.c: include gui.h
13536
13537 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13538
13539         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
13540         converted to Lisp_Object.
13541         (Qtop_bottom): New variable.
13542         (syms_of_redisplay): Initialize it.
13543         * redisplay.h (Vvisible_bell): Ditto.
13544         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
13545         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
13546         only flash top and bottom.
13547
13548 2000-03-08  Andy Piper  <andy@xemacs.org>
13549
13550         * buffer.c (Frename_buffer): record new buffer name the right way.
13551
13552 2000-03-08  Andy Piper  <andy@xemacs.org>
13553
13554         * glyphs.c (update_subwindow): increase hash depth so that widget
13555         items get picked up properly.
13556
13557         * redisplay-output.c (compare_runes): increase hash depth so that
13558         widget items get picked up properly.
13559
13560 2000-03-08  Andy Piper  <andy@xemacs.org>
13561
13562         * gutter.c (output_gutter): add some debug.
13563
13564         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
13565         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
13566         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
13567
13568         * redisplay-output.c (compare_runes): use display_hash to
13569         determine if glyphs really are not the same.
13570
13571         * glyphs.c (update_subwindow): check display_hash to see if
13572         anything really needs to be updated. If not then do
13573         nothing. Record the display_hash after updating.
13574         (image_instance_equal): compare the image_instance face also.
13575
13576 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
13577
13578         * redisplay.h: Fix comment style.
13579
13580 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13581
13582         * consle-msw.h (struct mswindows_frame):
13583         Added new member paint_pending to indicate whether a WM_PAINT
13584         magic event has been queued for this frame.
13585
13586         * event-msw.c (mswindows_drain_windows_queue):
13587         Don't queue a WM_PAINT magic event if one is already queued.
13588         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
13589
13590         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
13591
13592 2000-03-07  Didier Verna  <didier@xemacs.org>
13593
13594         * dired.c: #include `regex.h' after `sysfile.h'.
13595
13596 2000-03-06  Martin Buchholz  <martin@xemacs.org>
13597
13598         * sound.c (init_nas_sound): Fix compiler warning.
13599
13600         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
13601         (FREE_STRUCT_P):
13602         (MARK_STRUCT_AS_FREE):
13603         (MARK_STRUCT_AS_NOT_FREE):
13604         Make `gcc -fstrict-aliasing' work properly.
13605
13606 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13607
13608         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
13609         (mswindows_delete_device): Call CoUnnitialize().
13610
13611         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
13612
13613 2000-02-25    <CraigL@DyCon.com>
13614
13615         * process-nt.c: MinGW now has <shellapi.h>, but still needs
13616         <errno.h>.
13617
13618         * sysdep.c: This extern declaration for environ prevents MinGW
13619         from finding the variable in CRTDLL.DLL.
13620
13621         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
13622         windows headers.
13623         (SHGFI_EXETYPE): ..
13624         (WM_MOUSEWHEEL): ..
13625         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
13626         definitions.
13627         (MMRESULT): Removed, now defined in cygwin's windows headers.
13628         (TIMECAPS): ..
13629         (uid_t,gid_t,pid_t,ssize_t): ..
13630         (_timeb): Removed, MinGW defines both _timeb and timeb.
13631         (HAVE_H_ERRNO): Added.
13632         (HAVE_TZNAME): Added, configure is not detecting this.
13633
13634 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
13635
13636         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
13637         * syntax.c (syntax_match): Use it.
13638
13639         * cmds.c: Import auto-fill-chars from FSF Emacs.
13640         (Vauto_fill_chars): New variables.
13641         (internal_self_insert): Check Vauto_fill_chars.
13642         (vars_of_cmds):
13643         Declare auto-fill-chars as a Lisp variable and initialize it.
13644
13645 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13646
13647         * fileio.c (Fmake_symbolic_link):
13648         (Ffile_symlink_p):
13649         Run handlers even if local machine doesn't have symlinks.
13650
13651 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13652
13653         * event-msw.c (mswindows_drain_windows_queue):
13654         Don't generate paint magic events for non-XEmacs frames.
13655
13656 2000-03-05  Andy Piper  <andy@xemacs.org>
13657
13658         * redisplay.c (redisplay_frame): generate_displayable_area and
13659         friends assumes that we are not in GC, we therefore have to make
13660         sure that this doesn't happen.
13661
13662         * gutter.c (calculate_gutter_size): generate_displayable_area
13663         assumes that we are not in GC, we therefore have to make sure that
13664         this doesn't happen.
13665
13666 2000-03-05  Martin Buchholz  <martin@xemacs.org>
13667
13668         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
13669
13670 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13671
13672         * redisplay.c (regenerate_window): Make sure we set a sane value
13673         for end_pos even if we jump out of the loop.
13674         (regenerate_window): Answer Ben's question :-).
13675         (start_end_of_last_line): Add may_error argument.
13676         (start_of_last_line):
13677         (end_of_last_line): Pass may_error = 0.
13678         (end_of_last_line_may_error): New function.
13679         (pixel_to_glyph_translation): Use it, so we don't crash in
13680         event_to_glyph.
13681
13682 2000-03-04  Andy Piper  <andy@xemacs.org>
13683
13684         * window.h (struct window): add gutter_extent_modiff.
13685
13686         * window.c (allocate_window): zero out gutter_extent_modiff.
13687
13688         * redisplay.h: declare sync_display_line_structs.
13689
13690         * redisplay.c (add_glyph_rune): add a better comment.
13691
13692         * redisplay-output.c (sync_display_line_structs): made non-static.
13693         (compare_runes): remove unneccesary glyph cachel access.
13694
13695         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
13696
13697         * gutter.c (output_gutter): don't output the gutter if extent
13698         changes only involve extents in buffers. use 4 sets of display
13699         lines.
13700         (gutter_extent_signal_changed_region_maybe): new function. Mark
13701         extents in gutters as changed.
13702         (update_frame_gutters): use 4 sets of display lines.
13703         (reset_gutter_display_lines): ditto.
13704         (free_frame_gutters): ditto.
13705         (redraw_exposed_gutter): force output of gutters.
13706
13707         * frame.h (struct frame): add 4 sets of gutter display lines.
13708
13709         * extents.c: (extent_changed_for_redisplay): signal changes to
13710         extents in strings in the gutter as well as extents in buffers.
13711
13712 2000-03-02  Andy Piper  <andy@xemacs.org>
13713
13714         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
13715
13716         * frame.c (Fmake_frame): make sure the gutters get initialized
13717         after the frame is visible.
13718         (set_frame_selected_window): re-arrange compilation macros a
13719         little.
13720         (change_frame_size_1): mark gutters changed.
13721
13722         * device.c (Fset_device_class): mark gutters changed.
13723
13724 2000-03-01  Andy Piper  <andy@xemacs.org>
13725
13726         * window.c (window_top_frame_gutter_height): deleted.
13727         (window_bottom_frame_gutter_height): ditto.
13728         (window_left_frame_gutter_height): ditto.
13729         (window_right_frame_gutter_height): ditto.
13730         (window_top_gutter_height): don't use them.
13731         (window_bottom_gutter_height): ditto.
13732         (window_left_gutter_width): ditto.
13733         (window_right_gutter_width): ditto.
13734         (Fsplit_window): ditto.
13735         (Fwindow_pixel_edges): don't use border dimensions here.
13736
13737         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
13738         (update_scrollbar_instance): ditto.
13739
13740         * redisplay.c (generate_modeline): don't take gutters into account.
13741         (generate_modeline): ditto.
13742         (redisplay_frame): small gutter display optimization.
13743
13744         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
13745
13746         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
13747         gutters into account.
13748
13749         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
13750         for window position and type.
13751
13752         * gutter.c (get_gutter_coords): fix for frame gutters.
13753         (update_frame_gutters): update frame geometry if the gutters have
13754         changed.
13755         (init_frame_gutters): record current gutter geometries.
13756
13757         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
13758         var.
13759         (mswindows_widget_instantiate): ditto.
13760
13761         * frame.h (struct frame): add current_gutter_bounds.
13762
13763         * frame.c (change_frame_size_1): position window and minibuffer
13764         appropriately taking into account the frame gutters.
13765
13766         * frame-x.c: (x_initialize_frame_size): take into account the
13767         frame gutters.
13768
13769 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13770
13771         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
13772
13773 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13774
13775         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
13776
13777 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13778
13779         * file-coding.c (reset_decoding_stream): Clear previous
13780         detection state when autodetect.
13781
13782 2000-02-29  Didier Verna  <didier@xemacs.org>
13783
13784         * extents.c (set_extent_glyph_1): don't require extents to be
13785         attached.
13786
13787 2000-02-27  Andy Piper  <andy@xemacs.org>
13788
13789         * gutter.c (Fset_default_gutter_position): don't default left and
13790         right gutter visibility to t.
13791         (Fset_default_gutter_position): run
13792         default-gutter-position-changed-hook.
13793         (syms_of_gutter): add default-gutter-position-changed-hook.
13794
13795 2000-02-26  Andy Piper  <andy@xemacs.org>
13796
13797         * specifier.c (Fmake_specifier): add gutter references.
13798
13799         * gutter.h (RAW_WINDOW_GUTTER): new macro.
13800
13801         * lisp.h: declare Fvalid_plist_p.
13802
13803         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
13804         as changed.
13805         (default_gutter_visible_p_changed_in_window): invalidate gutter as
13806         well as its visibility so that it gets reconstructed.
13807         (construct_window_gutter_spec): new function. Construct a string
13808         to be displayed in the gutter from a plist of strings. Take care
13809         to only use elements that are declared as visible.
13810         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
13811         WINDOW_GUTTER.
13812         (gutter_validate): allow plists of strings in the specifier.
13813         (gutter_specs_changed): construct the real_gutter from the gutter
13814         specs using construct_window_gutter_spec.
13815         (gutter_visible_validate): gutter-visible is a new specifier type.
13816         (Fgutter_visible_specifier_p): new function for the new specifier.
13817         (syms_of_gutter): declare gutter-visible and
13818         Fgutter_visible_specifier_p.
13819         (specifier_type_create_gutter): intitalize new gutter-visible
13820         specifier.
13821         (reinit_specifier_type_create_gutter): ditto.
13822         (specifier_vars_of_gutter): use new specifier type for gutter
13823         visibility.
13824         (init_frame_gutters): construct real_gutter correctly.
13825         (Fgutter_specifier_p): beef up documentation.
13826         (Fgutter_size_specifier_p): ditto.
13827
13828         * winslots.h: add real_gutter slots.
13829
13830 2000-02-25  Andy Piper  <andy@xemacs.org>
13831
13832         * device-msw.c: Be kind to older cygwin versions. From Raymond
13833         Toy <toy@rtp.ericsson.se>.
13834
13835         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
13836         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
13837
13838 2000-02-25  Martin Buchholz  <martin@xemacs.org>
13839
13840         * elhash.c (MARK_OBJ): Practice macro hygiene.
13841
13842 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13843
13844         * miscplay.c: s/__inline__/inline/g;
13845         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
13846         (get_device_compdc): INLINE ==> static inline
13847         * *.[ch]: Change INLINE to INLINE_HEADER globally.
13848         find -name '*.h' | \
13849         xargs global-replace \
13850         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
13851
13852 2000-02-25  Andy Piper  <andy@xemacs.org>
13853
13854         * window.c (window_top_frame_gutter_height): new function.
13855         (window_top_window_gutter_height): ditto.
13856         (window_top_gutter_height): use them.
13857         (window_bottom_frame_gutter_height): new function.
13858         (window_bottom_window_gutter_height): ditto.
13859         (window_bottom_gutter_height): use them.
13860         (window_left_window_gutter_width): new function.
13861         (window_left_frame_gutter_width): ditto.
13862         (window_left_gutter_width): use them.
13863         (window_right_window_gutter_width): new function.
13864         (window_right_frame_gutter_width): ditto.
13865         (window_right_gutter_width): use them.
13866         (window_pixel_height): new function. calulate window pixel height
13867         with frame gutter involvement.
13868         (Fsplit_window): calculate new sizes taking frame gutters into
13869         account.
13870         (window_char_height_to_pixel_height): don't include frame gutters.
13871         (window_char_height): use window_pixel_height.
13872         (window_pixheight): rename from window_pixel_height.
13873         (change_window_height): use it.
13874         (window_pixel_height_to_char_height): don't include frame gutters.
13875         (window_char_width_to_pixel_width): ditto.
13876
13877 2000-02-25  Andy Piper  <andy@xemacs.org>
13878
13879         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
13880         if it is.
13881
13882 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13883
13884         * alloc.c (staticpro):
13885         (staticpro_nodump):
13886         (dumpstruct):
13887         (dumpopaque):
13888         (pdump_wire):
13889         (pdump_wire_list):
13890         (compact_string_chars):
13891         (pdump_dump_wired):
13892         Convert:  if (foo) abort();  ==>  assert (! foo);
13893
13894         * eldap.c (Fldap_search_basic):
13895         (Fldap_add):
13896         (Fldap_modify):
13897         (Fldap_delete):
13898         Fix compiler warnings, and possible crashes if (random) return
13899         value were to be used.
13900
13901 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13902
13903         * device-msw.c: Workaround ResetDC failure.
13904
13905         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
13906         applying a devmode.
13907
13908         * redisplay-msw.c (get_frame_dc): Added start_page_p.
13909         (mswindows_text_width): Do not start printer page.
13910
13911         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
13912
13913         * glyphs-msw.c: Added image methods to msprinter console and
13914         msprinter-specific image instantiation.
13915
13916 2000-02-20  Mike Alexander  <mta@arbortext.com>
13917
13918         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
13919         to avoid crashes when selection-sets-clipboard is on
13920         (mswindows_own_selection): ditto
13921
13922 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13923
13924         * glyphs-msw.c:
13925         * redisplay-msw.c (get_frame_dc):
13926         (get_frame_compdc):
13927         * console-msw.h:
13928         * device-msw.c (mswindows_init_device):
13929         (mswindows_delete_device):
13930         (msprinter_init_device):
13931         (msprinter_delete_device):
13932         * frame-msw.c (mswindows_init_frame_1):
13933         (mswindows_delete_frame):
13934         (msprinter_init_frame_3):
13935         (msprinter_delete_frame): Move compatible DC to device object from
13936         frame object, for both mswindows and msprinter. Only one at a time
13937         is needed, it is a real waste to have one per frame!
13938
13939 2000-02-23  Andy Piper  <andy@xemacs.org>
13940
13941         * glyphs.c: add dynamic width and height elements.
13942         (image_instance_equal): ditto.
13943
13944         * glyphs-widget.c (widget_query_geometry): calculate width and
13945         height dynamically if required.
13946         (initialize_widget_image_instance): initialize dynamic dimensions.
13947         (widget_instantiate): pick-up dynamic dimensions.
13948
13949         * glyphs.h (struct Lisp_Image_Instance): add width and height for
13950         dynamic determination. Add appropriate macros.
13951
13952         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
13953         dimensions safe.
13954         (WINDOW_GUTTER_SIZE): ditto.
13955         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
13956
13957         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
13958         inline.
13959         (get_frame_dc): ditto.
13960
13961         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
13962         here.
13963
13964 2000-02-23  Martin Buchholz <martin@xemacs.org>
13965
13966         * XEmacs 21.2.31 is released.
13967
13968 2000-02-22  Ben Wing <ben@xemacs.org>
13969
13970         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
13971
13972 2000-02-22  Andy Piper  <andy@xemacs.org>
13973
13974         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
13975
13976 2000-02-21  Mike Sperber <mike@xemacs.org>
13977
13978         * .dbxrc:
13979         * .gdbinit:
13980         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
13981         variables.
13982
13983 2000-02-21  Mike Sperber <mike@xemacs.org>
13984
13985         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
13986
13987 2000-02-21  Martin Buchholz <martin@xemacs.org>
13988
13989         * XEmacs 21.2.30 is released.
13990
13991 2000-02-20  Martin Buchholz  <martin@xemacs.org>
13992
13993         Performance hacking.
13994         * *.c (syms_of_*):
13995         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
13996         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
13997         * emacs.c (main_1):
13998         * lisp.h (DEFUN):
13999         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14000         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14001         * symeval.h (DEFVAR_SYMVAL_FWD):
14002         * symbols.c (guts_of_unbound_marker):
14003         Make all c_readonly objects also lisp_readonly and marked for life.
14004         * lrecord.h (struct lrecord_implementation):
14005         Document flags better.
14006         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14007         * lrecord.h (DECLARE_LRECORD):
14008         * lrecord.h (XSETRECORD):
14009         * lrecord.h (RECORDP):
14010         * lrecord.h (RECORD_TYPEP):
14011         * lrecord.h (RECORD_MARKER): New.
14012         * lrecord.h (error_check_*):
14013         * lrecord.h (CONCHECK_NONRECORD):
14014         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14015         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14016         * lrecord.h (set_lheader_implementation):
14017         * lrecord.h (enum lrecord_type): New.
14018         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14019         * alloc.c (disksave_object_finalization_1):
14020         * alloc.c (mark_object):
14021         * alloc.c (lrecord_type_index):
14022         * alloc.c (tick_lcrecord_stats):
14023         * alloc.c (Fgarbage_collect):
14024         * alloc.c (init_alloc_once_early):
14025         * alloc.c (pdump_load):
14026         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14027         * alloc.c (lrecord_type_index): Delete.
14028         Make lisp object type indexes be constant.
14029           Makes (byte-compile) 5% faster.
14030         Put all marker functions into their own array.
14031           Makes (garbage-collect) 5% faster.
14032         Optimize SYMBOL_VALUE_MAGIC_P.
14033           Makes (byte-compile) 2-3% faster.
14034         * config.h.in (gc_checking_assert): New.
14035         * alloc.c: Use gc_checking_assert().
14036         * .dbxrc: Make compatible with new object type implementation.
14037         * .gdbinit: Make compatible with new object type implementation.
14038         * alloc.c: Delete all symbols defined only for debugging, such as
14039         Lisp_Type_Vector and lrecord_charset.
14040
14041 2000-02-21  Andy Piper  <andy@xemacs.org>
14042
14043         * gui-msw.c (Fmswindows_shell_execute): fix file location
14044         problems.
14045
14046         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14047         unshowing so that set_window_buffer doesn't undo
14048         kill_buffer_hook's hard work.
14049
14050         * glyphs-widget.c (tab_control_query_geometry): don't count the
14051         first item when calculating geometry.
14052
14053         * glyphs.c (map_subwindow): remove redundant code.
14054         (update_frame_subwindows): be more circumspect about when to
14055         update subwindows.
14056
14057         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14058         when items haven't changed. Update faces if faces have changed as
14059         well as just the widget face.
14060         (x_tab_control_update): Update faces if faces have changed as well
14061         as just the widget face.
14062
14063 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14064
14065         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14066         registration.
14067         (build_syscolor_string): Use mswindows_color_to_string to try to
14068         get a named color.
14069         (mswindows_device_system_metrics): Reverse the foreground and
14070         background colors so that they match the documentation.
14071
14072         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14073         they match the default Windows palette.
14074         (mswindows_color_to_string): New function.
14075
14076 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14077
14078         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14079
14080 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14081
14082         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14083         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14084
14085         * symbols.c (init_symbols_once_early): Removed obsolete
14086         DATA_SEG_BITS related kludge.
14087         (defvar_magic): Ditto.
14088
14089         * malloc.c: Removed obsolete DATA_SEG_BITS
14090         * ralloc.c: Ditto.
14091         * mem-limits.h: Ditto.
14092
14093         * Makefile.in.in: Removed obsolete HAVE_SHM
14094         * emacs.c: Ditto.
14095
14096 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14097
14098         *  device-msw.c (mswindows_delete_device): Free DDE string
14099         handles.
14100
14101 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14102
14103         * keymap.c (get_keyelt):
14104         * unexnt.c (unexec):
14105         * vm-limit.c (memory_warnings):
14106         * ntheap.c (recreate_heap):
14107         * ntheap.h (UNINIT_PTR):
14108         * select-msw.c (Fmswindows_get_clipboard):
14109         (Fmswindows_set_clipboard):
14110         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14111         * objects-msw.c:
14112         * menubar-msw.c (displayable_menu_item):
14113         * glyphs-msw.c:
14114         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14115         * sysdep.c (sys_subshell):
14116         * process-nt.c (nt_create_process):
14117         * nt.c (normalize_filename):
14118         (dostounix_filename):
14119         (unixtodos_filename):
14120         * ntproc.c (win32_executable_type):
14121         * ntplay.c (play_sound_data_1):
14122         (play_sound_file):
14123         * editfns.c (get_home_directory):
14124         * event-msw.c (struct winsock_stream):
14125         (mswindows_dde_callback):
14126         * device-msw.c (msprinter_init_device):
14127         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14128
14129         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14130         mswindows_clear_toolbar were swapped!
14131
14132         * objects-msw.c:(colormap_t):
14133         (fontmap_t):
14134         * emacs.c (struct standard_args): Fixed const jumble.
14135
14136         * glyphs-widget.c (update_widget): Fixed comparison notation.
14137
14138         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14139
14140         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14141         __declspec(noreturn) syntax.
14142
14143 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14144
14145         * eldap.c (Fldap_open):
14146         (Fldap_search_basic):
14147         (Fldap_add):
14148         (Fldap_modify):
14149         Use new coding system conversion macros.
14150
14151 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14152
14153         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14154
14155 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14156
14157         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14158         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14159
14160         * eldap.c (Qadd, Qreplace): New constant symbols
14161         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14162         interruptions by XEmacs signals
14163         Remove unnecessary calls to slow_down_interrupts and
14164         speed_up_interrupts
14165         (Fldap_search_basic): Renamed from Fldap_search_internal
14166         Added new optional parameter VERBOSE that triggers the
14167         display of progress messages
14168         Remove unnecessary calls to slow_down_interrupts and
14169         speed_up_interrupts
14170         LDAP result code analysis rewritten
14171         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14172         (syms_of_eldap): Define the new symbols and functions
14173
14174
14175 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14176
14177         * realpath.c: Determine PATH_MAX maximally portably.
14178
14179         * insdel.c (bytecount_to_charcount): Optimize.
14180         The function used to be optimized for entirely ASCII sequences.
14181         Now it is optimized for successive characters from the same
14182         charset.  This also wins big for _mostly_ ASCII sequences.
14183
14184         * fileio.c (Ffile_truename): convert return from realpath() using
14185         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14186         - Rewrite GCPROing slightly.
14187
14188         * sysdep.c (sys_open): Do filename conversion, like all other
14189         sys_* functions.  Fixes bug:
14190         (let ((file-name-coding-system 'iso-8859-2))
14191            (write-region x y latin2-name))
14192         ==> writes filename using internal encoding.
14193
14194 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14195
14196         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14197         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14198         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14199         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14200         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14201         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14202         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14203         (CONST_IF_NOT_DEBUG): Delete.
14204         * alloc.c (this_one_is_unmarkable): Delete.
14205         (mark_object): Don't check for this_one_is_unmarkable. Use the
14206         c_readonly flag instead.
14207         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14208
14209 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14210
14211         * event-msw.c (mswindows_drain_windows_queue):
14212         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14213         away redundant repaint events.
14214
14215 2000-02-17  Andy Piper  <andy@xemacs.org>
14216
14217         * redisplay.h: declare mark_redisplay_structs.
14218
14219         * redisplay.c (redisplay_window):
14220         (redisplay_frame): don't check subwindows_state_changed.
14221         (mark_redisplay): mark gutters here.
14222
14223         * glyphs.c: (instantiate_image_instantiator): always layout if we
14224         haven't done so already.
14225         (allocate_image_instance): don't mark as dirty.
14226         (update_subwindow): bind inhibit_quit.
14227
14228         * gutter.c (mark_gutters): new function.
14229
14230         * glyphs-x.c (x_update_widget): Always resize to get round a
14231         widget bug.
14232
14233         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14234         breaking absolutely everything.
14235
14236         * gutter.h: declare mark_gutters.
14237
14238 2000-02-16  Martin Buchholz <martin@xemacs.org>
14239
14240         * XEmacs 21.2.29 is released.
14241
14242 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14243
14244         * fns.c (size_bit_vector): Fix computation of the size.
14245
14246 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14247
14248         * *.[ch]: Change CONST to const globally.
14249         find -name '*.[ch]' | \
14250         xargs global-replace \
14251         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
14252         - Remove vestigial references to CONST_IS_LOSING
14253
14254 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14255
14256         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
14257         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
14258         events instead of dispatching them directly.
14259         (mswindows_handle_paint): New function to do repainting.
14260         (mswindows_wnd_proc):
14261         (emacs_mswindows_handle_magic_event): Call above function.
14262
14263 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14264
14265         * objects-msw.c (mswindows_create_font_variant): Return the new
14266         font handle.
14267         (initialize_font_instance): Get font metrics from the underlined
14268         variant of the font to cope with the case where the underlined
14269         font has a bigger descent.
14270
14271 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14272
14273         * gui.c (gui_item_accelerator): Return the first underlined
14274         character in item name.
14275
14276 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14277
14278         * lisp.h: Added Qprinter.
14279
14280         * general.c (syms_of_general): Initialized it.
14281
14282         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
14283         (get_frame_dc):
14284         (get_frame_compdc): Made inline.
14285
14286         * console.h (struct console_methods): Added eject_page method.
14287
14288         * frame.h: Added FRAME_DISPLAY_P and friends.
14289         Aligned backslahes in many macros in more readable fashion.
14290         Added page_number to struct frame, and an accessor macro
14291         for it.
14292
14293         * defice.h: Added DEVICE_DISPLAY_P and friends.
14294
14295         * device.c (Fdevice_printer_p): Used these.
14296
14297         * frame.c (allocate_frame_core): Initialize page number.
14298         (Fprint_job_page_number):
14299         (Fprint_job_eject_page): Implemented.
14300
14301         * frame-msw.c (msprinter_eject_page): Added method.
14302         (msprinter_start_page): Added.
14303
14304         * window.c (Fwindow_truncated_p): Fixed docstring.
14305         (Fwindow_last_line_visible_height): Implemented.
14306
14307 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14308
14309         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
14310
14311 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14312
14313         * syntax.c (scan_words): Always advance at least one character.
14314
14315 2000-02-13  Andy Piper  <andy@xemacs.org>
14316
14317         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
14318         to make sure the glyph is in the cachels.
14319
14320         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
14321         global image instance flag.
14322         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
14323         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
14324
14325         * glyphs.c (allocate_image_instance): set dirty bits correctly.
14326         (Fset_image_instance_property): mark layout as changed.
14327         (invalidate_glyph_geometry_maybe): mark layout as changed.
14328         (glyph_width): use new NEEDS_LAYOUT macro.
14329         (glyph_ascent): ditto.
14330         (glyph_descent): ditto.
14331         (glyph_height): ditto.
14332         (image_instance_layout): mark layout as clean after laying out.
14333         (update_subwindow): don't mark layout as clean here.
14334
14335         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
14336         should no longer be needed.
14337
14338         * glyphs-x.c (x_update_widget): sanitize asserts.
14339         (x_finalize_image_instance): sanitize assignment to widgets.
14340
14341         * glyphs-widget.c (widget_instantiate): don't need to clear the
14342         layout flag here.
14343
14344 2000-02-13  Martin Buchholz  <martin@xemacs.org>
14345
14346         * sysdep.c (getcwd): Use standard prototype.
14347         * sysdep.h (getcwd): Use standard prototype.
14348
14349         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
14350         (sequence, start, end).
14351         Remove redundant type checking.
14352         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
14353         view of `caller-protects') to avoid a crash where the real fix was
14354         found elsewhere.
14355
14356 2000-02-12  Martin Buchholz  <martin@xemacs.org>
14357
14358         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
14359
14360         * s/sol2.h: Remove feature macro initialization.
14361
14362         * alloc.c (alloc_lcrecord): Add more type checking assertions.
14363         (vector_hash): New.  Code from internal_hash.
14364         * lrecord.h:
14365         Fix up allocation subsystem comments.
14366
14367         * config.h.in: Add __EXTENSIONS__ for Solaris.
14368
14369         * systime.h (EMACS_GETTIMEOFDAY): New.
14370         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
14371         Remove Solaris-specific code.
14372         Use void* for the (ignored) second arg for gettimeofday().
14373
14374         * elhash.c (hash_table_hash): Implement it, finally.
14375         * elhash.c:  Use hashcode_t.
14376
14377         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
14378         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
14379
14380         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
14381         * fns.c (size_bit_vector):
14382         * alloc.c (size_vector):
14383         (make_vector_internal):
14384         (make_bit_vector_internal):
14385         (sweep_bit_vectors_1):
14386         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
14387
14388 2000-02-10  Martin Buchholz  <martin@xemacs.org>
14389
14390         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
14391         Include strings.h to avoid warnings for bzero and strcasecmp.
14392
14393 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14394
14395         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
14396         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
14397
14398         * fns.c (size_bit_vector): New.  Declare bit vectors as a
14399         sequence.
14400
14401 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14402
14403         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
14404         use a value field instead.
14405         (symbol_value_forward_forward): Use value field.
14406         (DEFVAR_SYMVAL_FWD): Use value field.
14407         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
14408         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
14409         (DEFVAR_CONST_INT): Ditto.
14410         (DEFVAR_BOOL): Ditto.
14411         (DEFVAR_CONST_BOOL): Ditto.
14412         (DEFVAR_INT_MAGIC): Ditto.
14413         (DEFVAR_BOOL_MAGIC): Ditto.
14414
14415         * symbols.c (guts_of_unbound_marker): Use value field.
14416         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
14417         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
14418
14419         * lisp.h: Declare dumpopaque and noninteractive1.
14420
14421         * alloc.c (dumpopaque): Added.
14422         (pdump_dump_opaquevec): Added.
14423         (pdump): Call pdump_dump_opaquevec to dump opaque data.
14424         (pdump_load): Reload opaque data.  Sync noninteractive1 with
14425         noninteractive.
14426
14427 2000-02-10  Andy Piper  <andy@xemacs.org>
14428
14429         * glyphs.c (image_instance_layout): if the size changes, mark it
14430         as such.
14431
14432         * redisplay-output.c (redisplay_output_layout): Update the
14433         subwindow here.
14434         (redisplay_output_subwindow): ditto.
14435
14436         * glyphs.c (update_subwindow): make sure we reset flags for
14437         layouts as well as everything else.
14438
14439         * glyphs-widget.c (layout_layout): don't need to set the instances
14440         dimensions here.
14441
14442 2000-02-09  Martin Buchholz  <martin@xemacs.org>
14443
14444         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
14445         not HAVE_DLOPEN, which is a lower-level thing.
14446
14447         * .cvsignore: Ignore gmon.out
14448
14449 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
14450
14451         * .cvsignore: Ignore portable dumper xemacs.dmp file
14452
14453 2000-02-09  Andy Piper  <andy@xemacs.org>
14454
14455         * redisplay-output.c (redisplay_output_layout): be more clever
14456         about when we output based on the changed flags.
14457
14458         * glyphs.h (struct image_instantiator_methods): add update_method.
14459         (struct Lisp_Image_Instance): add changed flags. Declare new
14460         macros for manipulating them.
14461
14462         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
14463         (image_instance_parent_glyph): find an image_instance's parent
14464         glyph or image_instance.
14465         (image_instance_layout): mark the size as changed.
14466         (set_image_instance_dirty_p): new function. mark an image
14467         instance, plus all of its parents, as dirty.
14468         (Fset_image_instance_property): use it.
14469         (Fglyph_animated_timeout_handler): use it.
14470         (update_subwindow): call update_widget and device methods for
14471         update_subwindow. Mark all changed flags as clean.
14472         (Fresize_subwindow): mark size as changed.
14473
14474         * glyphs-x.c (x_finalize_image_instance): try and detect gc
14475         failures.
14476         (x_update_subwindow): only resize subwindows here.
14477         (x_update_widget): new function. Update all changed properties of
14478         a widget.
14479         (x_resize_subwindow): deleted.
14480         (x_widget_set_property): deleted.
14481         (x_progress_gauge_set_property): deleted.
14482         (x_progress_gauge_update): new function. Implement recorded
14483         changes.
14484         (x_tab_control_update): ditto.
14485         (x_tab_control_set_property): deleted.
14486         (console_type_create_glyphs_x): declare new functions.
14487         (image_instantiator_format_create_glyphs_x): ditto.
14488
14489         * glyphs-widget.c (widget_set_property): mark text changed.
14490         (update_widget): new function. Update properties of a widget.
14491         (widget_instantiate): for layouts make sure we set their
14492         children's parent correctly.
14493         (tab_control_set_property): new function. Record changes that will
14494         take place under redisplay's control.
14495         (progress_gauge_set_property): ditto.
14496         (image_instantiator_progress_guage): declare new functions.
14497         (image_instantiator_tab_control): ditto.
14498
14499         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
14500         now.
14501         (mswindows_update_widget): new function. Update all properties on
14502         a widget that have changed.
14503         (mswindows_button_update): new function. Update a button's set
14504         state.
14505         (mswindows_tab_control_update): new function. Update the items in
14506         a tab.
14507         (mswindows_tab_control_set_property): deleted.
14508         (mswindows_progress_gauge_update): new function. Update the
14509         progress gauge's progress.
14510         (mswindows_widget_set_property): deleted. This is all done
14511         asynchronously now.
14512         (mswindows_progress_gauge_set_property): ditto.
14513         (console_type_create_glyphs_mswindows): declare new methods.
14514         (image_instantiator_format_create_glyphs_mswindows): ditto.
14515
14516         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
14517         (msprinter_set_frame_properties): ditto.
14518
14519         * console.h (struct console_methods): Add update_widget_method.
14520
14521 2000-02-09  Andy Piper  <andy@xemacs.org>
14522
14523         * gui-msw.c (Fmswindows_shell_execute): Make
14524         mswindows-shell-execute industrial strength.
14525
14526 2000-02-08  Martin Buchholz  <martin@xemacs.org>
14527
14528         * lrecord.h: Make macro argument `props' match member function `plist'.
14529         * fns.c (Fget):
14530         * fns.c (Fput):
14531         * fns.c (Fremprop):
14532         * fns.c (Fobject_plist):
14533         * alloc.c:
14534         * symbols.c:
14535         Object property list frobbing cleanup.
14536         - Allow any lisp object (compared with `eq'), not just symbols, as
14537           keys in object plists.
14538         - Move symbol plist frobbing into symbols.c, where it belongs.
14539         - Move string plist frobbing into alloc.c, where it belongs.
14540         - Everything's an lrecord now, so no need to test for symbolp, etc.
14541         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
14542
14543         * extents.c: Reorder code to remove declarations.
14544
14545         * frame.h (store_in_alist): Remove useless declaration.
14546
14547 2000-02-07  Martin Buchholz  <martin@xemacs.org>
14548
14549         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
14550         * config.h.in: Add HAVE_XCONVERTCASE.
14551
14552 2000-02-07  Andy Piper  <andy@xemacs.org>
14553
14554         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
14555         it breaks many things.
14556
14557 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14558
14559         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
14560         actually can start a common comment type.
14561         * src/syntax.h (SYNTAX_END_P): ditto for end.
14562
14563 2000-02-07  Martin Buchholz <martin@xemacs.org>
14564
14565         * XEmacs 21.2.28 is released.
14566
14567 2000-02-06  Martin Buchholz  <martin@xemacs.org>
14568
14569         * event-Xt.c (x_keysym_to_character): New.
14570         (maybe_define_x_key_as_self_inserting_character): New.
14571         (x_has_keysym): New.
14572         Auto-define all keys on the keyboard as self-insert-key.
14573
14574 2000-02-02  Martin Buchholz  <martin@xemacs.org>
14575
14576         * menubar.c (vars_of_menubar): A small code simplification.
14577
14578         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
14579
14580         * ExternalShell.c:
14581         * ExternalClient.c:
14582         * EmacsShell-sub.c:
14583         * EmacsManager.c:
14584         * EmacsFrame.c:
14585         Use consistent style for specifying X resources.
14586
14587         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
14588         This makes (dontusethis-set-symbol-value-handler) actually usable.
14589
14590         * lrecord.h (lrecord_decription_type):
14591         * alloc.c (pdump_register_sub):
14592         (pdump_dump_data):
14593         (pdump_reloc_one):
14594         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
14595         Comply with XEmacs coding style.
14596         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
14597         args, and XD_LISP_OBJECT_ARRAY with 3 args.
14598
14599         * keymap.c (Faccessible_keymaps):
14600         Make (accessible-keymaps map "\C-h") do the Right Thing.
14601         Make (accessible-keymaps map []) do the Right Thing.
14602         Make (accessible-keymaps map "") do the Right Thing.
14603         (check_keymap_definition_loop): New function.
14604         (keymap_store_internal): Keep luser from shooting self in foot,
14605           via (define-key ctl-x-4-map "p" global-map).
14606         Remove fullness slot from struct Lisp_Keymap, since hash tables
14607         are now reliable.
14608         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
14609
14610 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14611
14612         * redisplay.c (init_redisplay): Fix small memory leak.
14613         * elhash.h:
14614         * elhash.c (pdump_reorganize_hash_table):
14615         Rename from reorganize_hash_table. Change prototype.
14616         Reuse the original memory for hentries.  Save 100k.
14617         * alloc.c (PDUMP_READ): new macro.
14618         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
14619         * alloc.c: No need to #ifndef before #undef.
14620
14621         * print.c: Allow debug_print() to print readably by modifying
14622         debug_print_readably.  Use consistent variable names.
14623
14624         * .dbxrc: Try to get things to work even if stopped in a function
14625         without source available by explicitly specifying source files.
14626 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14627
14628         * unexnt.c (_start): Removed bogus code which caused loading heap
14629         from differrent executable file.
14630         Removed bogus assignment to _fmode, which caused inconsistencies.
14631
14632 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14633
14634         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
14635         Have spawnve encapsulation regard DONT_ENCAPSULATE.
14636         Do not preliminary `#define signal sigset'.
14637
14638         * systime.h: Do not prototype environ on windows nt and cygwin,
14639         this conflicts with system header.
14640
14641         * syssignal.h: Use correct define for WINDOWSNT
14642
14643         * sysdep.h: Do not prototype environ on windows nt, this conflicts
14644         with system header.
14645
14646         * sysdep.c (near start of file): Fixed commentary and rearranged
14647         ifdefs in readable order.
14648         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
14649         (start_of_text):
14650         (end_of_text):
14651         (end_of_data): Do not compile in if using PDUMP.
14652
14653         * symsinit.h: Prototyped vars_of_nt().
14654
14655         * ntproc.c (windows9x_p): Added, instead of os_subtype.
14656         (find_child_console): Use it.
14657         (sys_kill): Use it.
14658
14659         * ntheap.h: Do not extern os_subtype.
14660
14661         * ntheap.c (cache_system_info): Do not cache unneeded:
14662         nt_major_version, nt_minor_version and os_subtype.
14663         (recreate_heap): Do not compile in when PDUMPing.
14664
14665         * nt.c (geteuid and friends): Use the new varibale
14666         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
14667         (init_user_info): Removed the above mentioned hackery.
14668         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
14669         stat has been fixed in the C runtime.
14670         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
14671
14672         * file-coding.c (struct file_coding_dump): Do not define
14673         ucs_to_mule_table in the struct if not MULE.
14674         (struct struct lrecord_description fcd_description_1): Do not dump
14675         the above.
14676
14677         * emacs.c (main_1): Call vars_of_nt().
14678         (right before Fdump_emacs_data): Don't need lastfile if using both
14679         portabe dumper and system malloc.
14680
14681         * alloc.c (Fmemory_limit): Conditionalized out.
14682         (pdump): Use OPEN_BINARY for the portable dump file.
14683         (pdump_load): Ditto.
14684
14685 2000-02-02  Mike Alexander  <mta@arbortext.com>
14686
14687         * nt.c (convert_time): Set tm_isdst before calling mktime and
14688         avoid calling it at all if the compiler supports 64 bit integers.
14689         Also initialize utc_base_ft before using it.
14690
14691 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14692
14693         * frame.c (change_frame_size_1): Take f->internal_border_width
14694         into consideration when calculating the width of the frame.
14695
14696 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14697
14698         * window.c (frame_min_height):
14699         (frame_size_valid_p):
14700         (frame_pixsize_valid_p): Added.
14701         (check_frame_size): Generalized.
14702
14703         * window.h: Prototyped the above.
14704
14705         * lisp.h:
14706         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
14707         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
14708         Deleted Vwin32_* and Vbinary_process_* unused variables.
14709
14710         * device-msw.c (msprinter_init_device): Do not get printer font
14711         list; Added DEVMODE functions.
14712
14713         * frame-msw.c: Added lots of printer code.
14714
14715         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
14716         general.c.
14717
14718         * console-msw.h: Added more msprinter device private slots.
14719
14720 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14721
14722         * event-msw.c (key_needs_default_processing_p): Added.
14723         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
14724
14725 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14726
14727         * glyphs.c (image_instance_layout): Mark image instance as clean
14728         after layout.
14729         (glyph_dirty_p): Removed redundant function.
14730         (invalidate_glyph_geometry_maybe): Added.
14731         (update_glyph_cachel_data): Call it.
14732
14733         * glyphs.h: Prototyped it.
14734
14735         * redisplay.c (add_glyph_rune): Call it.
14736         (redisplay_window): Reset glyphs cachels when frame faces have
14737         changed, thus forcing recomputation of built-in border glyphs.
14738
14739 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14740
14741         * Makefile.in.in: Make portable dumper and purify play well together.
14742         Add imperfect, but better than nothing, support for pdump.
14743         Remove xemacs.dmp when temacs is re-generated.
14744         Don't ignore errors when dumping xemacs.
14745
14746         * symbols.c (maybe_call_magic_handler): Remove one magic number.
14747
14748 2000-01-28  Andy Piper  <andy@xemacs.org>
14749
14750         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
14751         (setup_normal_frame): ditto.
14752         (setup_frame_without_minibuffer): ditto.
14753         (setup_minibuffer_frame): ditto.
14754         (delete_frame_internal): ditto.
14755         (Fmake_frame_invisible): ditto.
14756         (Ficonify_frame): ditto.
14757
14758         * window.h: change Fset_window_buffer signature.
14759
14760         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
14761         (Fset_window_buffer): allow recording of buffer if the window is
14762         the selected window.
14763         (window_loop): Use new Fset_window signature.
14764
14765 2000-01-23  Daniel Pittman  <daniel@danann.net>
14766
14767         * config.h.in: Added template for `HAVE_ATHENA_3D'
14768
14769 2000-01-29  Andy Piper  <andy@xemacs.org>
14770
14771         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
14772
14773         * gutter.c (output_gutter): Don't output if the window isn't live.
14774
14775 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14776
14777         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
14778         of 01/12/00: Moved SetFocus back here where it belongs.
14779
14780 2000-01-23  Andy Piper  <andy@xemacs.org>
14781
14782         * s/cygwin32.h: declare printer things.
14783
14784 2000-01-26  Andy Piper  <andy@xemacs.org>
14785
14786         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
14787         Alexander.
14788
14789 2000-01-24  Andy Piper  <andy@xemacs.org>
14790
14791         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
14792         (mswindows_button_instantiate): Make sure glyph is a pixmap.
14793
14794         * glyphs-widget.c (widget_instantiate): Avoid shadows.
14795
14796         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
14797
14798         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
14799
14800         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
14801         (mswindows_output_display_block): Avoid local shadows.
14802
14803         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
14804         (mswindows_enqueue_mouse_button_event): ditto.
14805         (mswindows_handle_gui_wm_command): remove declaration.
14806
14807         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
14808         warnings.
14809
14810         * console-msw.h: Avoid shadows.
14811         (mswindows_get_toolbar_button_text):
14812         (emacs_mswindows_create_stream_pair):
14813         (emacs_mswindows_delete_stream_pair):
14814         (mswindows_handle_toolbar_wm_command): declare.
14815
14816         * device-msw.c (build_syscolor_string): Avoid shadows.
14817
14818 2000-01-23  Andy Piper  <andy@xemacs.org>
14819
14820         * glyphs-widget.c (widget_instantiate): reverse the items for
14821         layouts so that children are in the expected order.
14822
14823 2000-01-28  Martin Buchholz  <martin@xemacs.org>
14824
14825         * ralloc.c: safe_bcopy ==> memmove
14826         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
14827         * s/msdos.h: Remove BCOPY macros.
14828         * insdel.c (gap_right): Remove BCOPY conditional code.
14829         * insdel.c (gap_left): Remove BCOPY conditional code.
14830         XEmacs demands a working ANSI C compiler - hence memmove.
14831
14832         * regex.c (regex_compile): Remove accidental use of trigraphs.
14833
14834 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14835
14836         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
14837         event timestamp.
14838
14839 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14840
14841         * event-msw.c (mswindows_drain_windows_queue): Added the
14842         parameter.
14843         (mswindows_need_event): Commented the call to
14844         mswindows_drain_windows_queue().
14845         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
14846         only.
14847
14848         * console-msw.h: Moved a few function prototypes here from
14849         event-msw.c.
14850
14851         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
14852         parameter from unsigned short to unsigned long.
14853         (Fmswindows_shell_execute): Added return value.
14854
14855 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14856
14857         * sysdep.c (init_system_name):
14858           process-unix.c (unix_canonicalized_host_name):
14859         Don't call freeaddrinfo() if getaddrinfo() fails.
14860
14861         * process-unix.c (unix_open_unix_network_stream):
14862         Moved the code to get a port # into address loop.
14863
14864 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14865
14866         * buffer.c (reinit_vars_of_buffer):
14867         The right place to initialize conversion_in_dynarr and
14868         conversion_out_dynarr.
14869
14870         * alloc.c (pdump): Use the real open() till sys_open() is functional.
14871
14872         * process-unix.c (unix_canonicalize_host_name): Muleize.
14873         (unix_open_network_stream): Muleize.
14874
14875         * buffer.h: Fix up prototypes for ralloc.c functions.
14876
14877 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14878         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
14879         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
14880                 instead of gethostbyname()
14881         * process-unix.c: In unix_canonicalize_host_name() and
14882                 unix_open_network_stream(), add code to use getaddrinfo()
14883                 instead of gethostbyname().
14884
14885 2000-01-27  Daniel Pittman <daniel@danann.net>
14886
14887         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
14888         libs when built with flat Athena.
14889
14890 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14891
14892         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
14893         Use coding standards for function prototypes.
14894
14895 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14896
14897         * dialog-msw.c (push_lisp_string_as_unicode):
14898         * doc.c (unparesseuxify_doc_string):
14899         * dired.c (Fuser_name_completion_1):
14900         * dired.c (Fuser_name_all_completions):
14901         * dired.c (free_user_cache):
14902         * dired.c (user_name_completion):
14903         * console-x.c (get_display_arg_connection):
14904         * minibuf.c (clear_echo_area_internal):
14905         * minibuf.c (echo_area_append):
14906         * eldap.c (Fldap_open):
14907         * eldap.c (Fldap_search_internal):
14908         * frame-x.c (x_set_frame_text_value):
14909         * frame-x.c (x_set_frame_properties):
14910         * frame-x.c (x_create_widgets):
14911         * redisplay-tty.c (term_get_fkeys_1):
14912         * objects-x.c (x_parse_nearest_color):
14913         * objects-x.c (x_valid_color_name_p):
14914         * objects-x.c (x_initialize_font_instance):
14915         * objects-x.c (x_list_fonts):
14916         * objects-x.c (x_find_charset_font):
14917         * tooltalk.c (Fadd_tooltalk_message_arg):
14918         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
14919         * tooltalk.c (Fadd_tooltalk_pattern_arg):
14920         * process-unix.c (unix_create_process):
14921         * ntproc.c (sys_spawnve):
14922         * sound.c (Fplay_sound_file):
14923         * sound.c (Fplay_sound):
14924         * buffer.c (init_initial_directory):
14925         * buffer.c (init_buffer):
14926         * editfns.c (init_editfns):
14927         * editfns.c (Ftemp_directory):
14928         * editfns.c (Fuser_full_name):
14929         * editfns.c (uncache_home_directory):
14930         * editfns.c (get_home_directory):
14931         * editfns.c (Fuser_home_directory):
14932         * editfns.c (Fformat_time_string):
14933         * editfns.c (Fcurrent_time_string):
14934         * gui-x.c (button_item_to_widget_value):
14935         * database.c (Fopen_database):
14936         * event-Xt.c (x_to_emacs_keysym):
14937         * event-Xt.c (x_event_to_emacs_event):
14938         * event-Xt.c (describe_event_window):
14939         * event-msw.c (mswindows_wnd_proc):
14940         * glyphs-eimage.c (jpeg_instantiate):
14941         * glyphs-eimage.c (gif_instantiate):
14942         * glyphs-eimage.c (png_instantiate):
14943         * glyphs-eimage.c (tiff_instantiate):
14944         * glyphs-x.c (xbm_instantiate_1):
14945         * glyphs-x.c (x_xbm_instantiate):
14946         * glyphs-x.c (x_xface_instantiate):
14947         * glyphs-x.c (autodetect_instantiate):
14948         * glyphs-x.c (cursor_font_instantiate):
14949         * glyphs-x.c (x_widget_instantiate):
14950         * glyphs-x.c (x_widget_set_property):
14951         * glyphs-x.c (x_widget_property):
14952         * glyphs-x.c (BUILD_GLYPH_INST):
14953         * print.c (write_string_to_stdio_stream):
14954         * print.c (output_string):
14955         * print.c (Falternate_debugging_output):
14956         * print.c (Fexternal_debugging_output):
14957         * glyphs-msw.c (extract_xpm_color_names):
14958         * glyphs-msw.c (mswindows_xpm_instantiate):
14959         * glyphs-msw.c (bmp_instantiate):
14960         * glyphs-msw.c (resource_name_to_resource):
14961         * glyphs-msw.c (mswindows_resource_instantiate):
14962         * glyphs-msw.c (xbm_instantiate_1):
14963         * glyphs-msw.c (mswindows_xbm_instantiate):
14964         * glyphs-msw.c (mswindows_xface_instantiate):
14965         * glyphs-msw.c (mswindows_widget_instantiate):
14966         * glyphs-msw.c (add_tree_item):
14967         * glyphs-msw.c (add_tab_item):
14968         * glyphs-msw.c (mswindows_combo_box_instantiate):
14969         * glyphs-msw.c (mswindows_widget_property):
14970         * glyphs-msw.c (mswindows_combo_box_property):
14971         * glyphs-msw.c (mswindows_widget_set_property):
14972         * console.c (stuff_buffered_input):
14973         * objects-msw.c (mswindows_initialize_color_instance):
14974         * objects-msw.c (mswindows_valid_color_name_p):
14975         * objects-msw.c (mswindows_list_fonts):
14976         * objects-msw.c (mswindows_font_instance_truename):
14977         * bytecode.c (optimize_compiled_function):
14978         * select-x.c (symbol_to_x_atom):
14979         * select-x.c (x_atom_to_symbol):
14980         * select-x.c (hack_motif_clipboard_selection):
14981         * select-x.c (selection_data_to_lisp_data):
14982         * select-x.c (lisp_data_to_selection_data):
14983         * select-x.c (Fx_get_cutbuffer_internal):
14984         * select-x.c (Fx_store_cutbuffer_internal):
14985         * buffer.h (TO_EXTERNAL_FORMAT): New function.
14986         * buffer.h (TO_INTERNAL_FORMAT): New function.
14987         * emacs.c (make_arg_list_1):
14988         * emacs.c (make_argc_argv):
14989         * emacs.c (main_1):
14990         * emacs.c (Fdump_emacs):
14991         * emacs.c (split_string_by_emchar_1):
14992         * file-coding.h:
14993         * lisp.h:
14994         * lstream.h:
14995         * symsinit.h:
14996         * device-x.c (x_init_device):
14997         * device-x.c (Fx_valid_keysym_name_p):
14998         * device-x.c (Fx_get_font_path):
14999         * device-x.c (Fx_set_font_path):
15000         * glyphs.c (bitmap_to_lisp_data):
15001         * glyphs.c (pixmap_to_lisp_data):
15002         * alloc.c (make_ext_string): Use coding system arguments.  Update
15003         all callers.
15004         * alloc.c (build_string):
15005         * callproc.c (child_setup):
15006         * callproc.c (init_callproc):
15007         * fileio.c (lisp_strerror):
15008         * fileio.c (directory_file_name):
15009         * fileio.c (Fexpand_file_name):
15010         * fileio.c (Ffile_truename):
15011         * fileio.c (Fsysnetunam):
15012         * fileio.c (Fdo_auto_save):
15013         * sysdep.c (sys_readdir):
15014         * tests.c: New file.  Allow adding C tests.
15015         Replace GET_* macros with a more comprehensible and flexible
15016         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15017         Modify all calls.
15018         Any coding system can be used to do format conversion.
15019         Eliminate enum external_data_format.
15020         Eliminate convert_to_external_format.
15021         Eliminate convert_to_internal_format.
15022         Make sure file-name, keyboard, terminal, and ctext are always
15023         defined as coding systems or aliases.  Make
15024         file-name-coding-system, terminal-coding-system, and
15025         keyboard-coding-system magical variables that are equivalent to
15026         defining the corresponding coding system aliases.
15027
15028         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15029         * file-coding.c (Fcoding_system_alias_p): New function.
15030         * file-coding.c (Fcoding_system_aliasee): New function.
15031         * file-coding.c (append_suffix_to_symbol): New function.
15032         * file-coding.c (dangling_coding_system_alias_p): New function.
15033         * file-coding.c (Ffind_coding_system):
15034         * file-coding.c (Fcopy_coding_system):
15035         * file-coding.c (encode_coding_no_conversion):
15036         * file-coding.c (syms_of_file_coding):
15037         * file-coding.c (vars_of_file_coding):
15038         Rewrite coding system alias code.
15039         Allow nested aliases, like symbolic links.
15040         Allow redefinition of coding system aliases.
15041         Prevent existence of dangling coding system aliases.
15042
15043         * dired.c (Fuser_name_completion_1):
15044         * dired.c (Fuser_name_all_completions):
15045         A crash would happen if user did QUIT in the middle of building
15046         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15047
15048         * lisp.h:
15049         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15050
15051         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15052         an unsigned char *.  Update all callers.
15053
15054 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15055
15056         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15057
15058 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15059
15060         * elhash.c (hentry_description): Use more portable definition.
15061         (resize_hash_table): Initialize new hentries using
15062         xnew_array_and_zero, thereby simplifying the code.
15063
15064         * mule-charset.c (make_charset): Make sure entire object is
15065         initialized, to avoid Purify warnings.
15066
15067         * alloc.c (resize_string): Fix unlikely crash with big strings.
15068
15069 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15070
15071         * realpath.c (xrealpath):
15072         Don't call getwd().
15073
15074 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15075
15076         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15077
15078 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15079
15080         * unexelfsgi.c (unexec): Change the way we decide which segment
15081         should be extended.
15082
15083         Assumption that .bss section should be outside the PT_LOADable
15084         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15085         it's present) is inside the 'data' segment. This would fail the
15086         test which was used to find a segment to grow and cover new
15087         heap. Instead of this assumption, I created another one - on IRIX
15088         the segment to grow should start below .bss and it's address
15089         should extent above the end of .bss. Once this segment is
15090         identified, it's grown to accommodate the new heap and new
15091         zero-length .bss section is added at the end of .data2.
15092
15093 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15094
15095         * eval.c (Feval): Wrong number of arguments should use original
15096         function, not the indirect_function version of it.
15097
15098 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15099
15100         * glyphs-x.c (x_button_instantiate): Don't add image if
15101         it is not a pixmap.
15102         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15103         is relative.
15104
15105 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15106
15107         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15108         declaration.
15109         (DEFVAR_INT_MAGIC): Ditto.
15110         (DEFVAR_BOOL_MAGIC): Ditto.
15111         * glyphs.h: Reindent backslash.
15112
15113 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15114
15115         * glyphs-widget.c (layout_query_geometry):
15116         (layout_layout): Use correct types for gheight, gwidth.
15117
15118 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15119
15120         * EmacsManager.c (QueryGeometry): Purified.
15121
15122 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15123
15124         * alloc.c (make_float): Make sure entire object is initialized, to
15125         avoid Purify warnings.
15126         (pdump_register_sub): Remove useless assignment.
15127         (pdump): Use xmalloc, not malloc.
15128         (pdump_load): Use xmalloc, not malloc.
15129
15130 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15131
15132         * callproc.c:
15133         * dired-msw.c:
15134         * fileio.c:
15135         * process-nt.c:
15136         * redisplay-msw.c:
15137         * sysdep.c: Removed redundant #include <windows.h>
15138
15139 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15140
15141         * frame.c (delete_frame_internal): Do not delete device when its
15142         implementation so declares.
15143         (delete_frame_internal): Set device selected frame to nil when
15144         last frame goes away.
15145
15146         * device-msw.c (msprinter_device_system_metrics): Implemented.
15147         (mswindows_device_system_metrics): Added 'device-dpi property.
15148
15149         * device.c: (Fdevice_printer_p): Added.
15150         Added 'offset-workspace device metric.
15151
15152         * console.h (device_metrics): Declared DM_offset_workspace.
15153
15154 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15155
15156         * fileio.c (Ffile_truename): Remove pointless and confusing
15157         initialization of elen.
15158
15159         * glyphs-widget.c: Compiler warning fixes.
15160
15161 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15162
15163         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15164         instead of a Lisp_Object as argument to make it consistent with
15165         the other LIVE_P macros.
15166         (CHECK_LIVE_PROCESS): New macro.
15167
15168         * process.c: Declare Qprocess_live_p.
15169         (Fprocess_live_p): New function.
15170         (create_process): Use PROCESS_LIVE_P.
15171         (read_process_output): Ditto.
15172         (set_process_filter): Ditto.
15173         (Fdelete_process): Ditto.
15174         (kill_buffer_processes): Ditto
15175         (process_send_signal): Use CHECK_LIVE_PROCESS.
15176         (Fprocess_input_coding_system): Check whether process is still
15177         alive (fix PR#1061).
15178         (Fprocess_output_coding_system): Ditto.
15179         (Fprocess_coding_system): Ditto.
15180         (Fset_process_input_coding_system): Ditto.
15181         (Fset_process_output_coding_system): Ditto.
15182
15183 2000-01-23  Andy Piper  <andy@xemacs.org>
15184
15185         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15186         layout and widget.
15187
15188         * glyphs.c (mark_image_instance): take into account changed
15189         image_instance format.
15190         (image_instance_equal): ditto.
15191         (image_instance_hash): ditto.
15192
15193         * glyphs-widget.c (widget_instantiate): Incorporate layout
15194         instantiation here. Delay layout of the layout until later.
15195         (layout_instantiate): deleted.
15196         (layout_query_geometry): new function. get the geometry of a
15197         layout.
15198         (layout_layout): layout a layout dynamically.
15199         (image_instantiator_widget): New function - splitting up
15200         image_instantiator_format_create_glyphs_widget for netwinder
15201         compilation.
15202         (image_instantiator_buttons):
15203         (image_instantiator_edit_fields):
15204         (image_instantiator_combo_box):
15205         (image_instantiator_scrollbar):
15206         (image_instantiator_progress_guage):
15207         (image_instantiator_tree_view):
15208         (image_instantiator_tab_control):
15209         (image_instantiator_labels):
15210         (image_instantiator_layout): ditto.
15211         (image_instantiator_format_create_glyphs_widget): Call preceding
15212         functions.
15213
15214 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15215
15216         * process.c (Fset_process_coding_system):
15217         * device-x.c (Fx_keysym_hash_table):
15218         Docstring fixes.
15219
15220         * lstream.c (Lstream_write): Return documented value, not 0.
15221
15222         * fileio.c (directory_file_name):
15223         (Fsubstitute_in_file_name):
15224         (Fsubstitute_insert_file_contents_internal):
15225         (Fwrite_region_internal):
15226         * emacs.c:
15227         * sysdep.c:
15228         * getloadavg.c:
15229         * systty.h:
15230         Remove vestigial APOLLO-conditional code.
15231
15232 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15233
15234         * getpagesize.h: Add guard macros.
15235         * libsst.h: Add guard macros.
15236         * libst.h: Add guard macros.
15237         * line-number.h: Add guard macros.
15238         * ndir.h: Add guard macros.
15239         * sysfloat.h: Add guard macros.
15240         * sysfile.h: Add guard macros.
15241         * sysproc.h: Add guard macros.
15242         * syswait.h: Add guard macros.
15243         * xintrinsic.h: Add guard macros.
15244         * xintrinsicp.h: Add guard macros.
15245         * xmmanager.h: Add guard macros.
15246         * xmmanagerp.h: Add guard macros.
15247         * xmprimitive.h: Add guard macros.
15248         * xmu.h: Add guard macros.
15249         * gpmevent.h: Add copyright statement. Add guard macros.
15250         * miscplay.h: Add guard macros.
15251         * *.h: Use consistent C-standards-approved guard macro names.
15252
15253         * opaque.c (make_opaque): Switch parameter order.
15254         * opaque.h (make_opaque): Switch parameter order.
15255         Update all callers.
15256         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
15257
15258         * config.h.in (type_checking_assert): Added.
15259         (bufpos_checking_assert): Added.
15260
15261 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15262
15263         * alloc.c: Harmless pdump changes.
15264         - Use countof().
15265         - spell alignment correctly.
15266         * sysdep.c: Use countof()
15267
15268 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15269
15270         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
15271         initially_selected_for_input() console method, default to 0.
15272         (semi_canonicalize_console_connection): Try to delegate to
15273         canonicalize_console_connection if no such console method.
15274         (canonicalize_console_connection): Vice versa.
15275         (print_console): Do not print nil connection.
15276
15277         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
15278         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
15279         (XDEVIMPF_FRAMELESS_OK): Added.
15280         (CONSOLE_INHERITS_METHOD): Added.
15281
15282         * console-msw.c (mswindows_canonicalize_console_connection):
15283         Added.
15284         (mswindows_canonicalize_device_connection): Added.
15285
15286         * console-msw.h (struct msprinter_device): Added this struct and
15287         accessor macros.
15288         (mswindows_device): Made fontlist a lisp object.
15289
15290         * device.c (semi_canonicalize_device_connection):  Try to delegate
15291         to canonicalize_device_connection if no such console method.
15292         (canonicalize_device_connection): Vice versa.
15293         (print_device): Do not print nil connection.
15294
15295         * device-msw.c (mswindows_init_device): Call InitCommonControls
15296         when have widgets.
15297         (mswindows_delete_device): Removed fontlist deallocation.
15298         (mswindows_mark_device): Added.
15299
15300         * events.c (event_equal): Added abort() at unreached code.
15301         (event_hash): Ditto.
15302
15303         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
15304         fallback tags of Windows devices.
15305
15306         * general.c (syms_of_general): Initialized Qmsprinter.
15307
15308         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
15309         of fallback tags of Windows devices.
15310
15311         * lisp.h: Declared Qmsprinter.
15312
15313         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
15314         of strings.
15315         (mswindows_list_fonts): Ditto.
15316         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
15317         that it can be used by both mswindows and msprinter devices.
15318         (initialize_font_instance): Added.
15319         (mswindows_initialize_font_instance): Use it.
15320         (msprinter_initialize_font_instance): Added.
15321
15322         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
15323         and implementation flags check.
15324         (redisplay_without_hooks): Changed the call to the above.
15325         (Fredraw_device): Ditto.
15326         (Fredisplay_device): Ditto.
15327
15328         * redisplay-msw.c (get_frame_dc): Implemented.
15329         (get_frame_compdc): Implemented.
15330         (many functions): Use the two functions above to get device
15331         contexts, ether for a window or a printer.
15332
15333 2000-01-21  Olivier Galibert  <galibert@pobox.com>
15334
15335         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
15336         initialization here.
15337         (init_symbols_once_early): Call it.
15338         * emacs.c (main_1): Call it.
15339         * symsinit.h: Declare it.
15340
15341 2000-01-19  Olivier Galibert  <galibert@pobox.com>
15342
15343         * alloc.c: Use a lrecord_header * in the backtrace instead of a
15344         Lisp_Object.
15345         (pdump_backtrace): Ditto.
15346         (pdump_register_object): Ditto.  Cleanup use of the pointers.
15347         (pdump_get_entry): Abort if trying to register a null pointer.
15348         (pdump_dump_data): Cleanup types when relocating.
15349         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
15350         (pdump_dump_rtables): Remove bad casts.
15351         (pdump_load): Cleanup relocation w.r.t union type.  Use a
15352         Lisp_Object instead of a EMACS_INT for the hashtable
15353         reorganization.
15354
15355 2000-01-20  Martin Buchholz  <martin@xemacs.org>
15356
15357         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
15358
15359         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
15360
15361         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
15362
15363         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
15364
15365 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15366
15367         * faces.h (FACE_STRIKETHRU_P): Added.
15368
15369         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
15370         of font variants.
15371
15372         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
15373         (mswindows_set_dc_font): New function, aware of font variants,
15374         separated from mswindows_update_dc.
15375
15376         * objects-msw.h (struct mswindows_font_instance_data): Added
15377         definition.
15378
15379         * objects-msw.c (mswindows_finalize_font_instance): Delete all
15380         cached fonts and the data structure.
15381         (mswindows_initialize_font_instance): Added creation of font data
15382         structure.
15383         (mswindows_print_font_instance): Print at least something.
15384         (mswindows_create_font_variant): Implemented.
15385         (mswindows_get_hfont): Implemented.
15386
15387 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
15388
15389         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
15390         prototyping problem with msvc.
15391
15392         * emacs.c (main_1): added syms_of_gui_mswindows() call
15393
15394         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
15395         syms_of_gui_mswindows() function
15396
15397         * symsinit.h: added the prototype for syms_of_gui_mswindows()
15398
15399 2000-01-18  Martin Buchholz <martin@xemacs.org>
15400
15401         * XEmacs 21.2.27 is released.
15402
15403 2000-01-18  Martin Buchholz  <martin@xemacs.org>
15404
15405         * glyphs-eimage.c (struct tiff_error_struct):
15406         (tiff_error_func):
15407         (tiff_warning_func):
15408         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
15409
15410         * unexmips.c:
15411         * unexhp9k3.c:
15412         * unexfreebsd.c:
15413         * unexec.c: Remove vestigial Lucid C code.
15414         * unexalpha.c:
15415         * unexaix.c:
15416         * termcap.c:
15417         * libsst.c: Ansify.
15418         Remove declarations of errno and strerror().
15419
15420         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
15421
15422         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
15423
15424 2000-01-16  Martin Buchholz  <martin@xemacs.org>
15425
15426         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
15427         Optimize.
15428
15429 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15430
15431         * md5.c:
15432         * file-coding.c:
15433         * file-coding.h:
15434         Change enum eol_type to eol_type_t.
15435
15436 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15437
15438         * gui.c (get_gui_callback): Check cons before accessing car.
15439
15440 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15441
15442         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
15443         (XSETSPECIFIER_TYPE): Ditto.
15444
15445 2000-01-17  Didier Verna  <didier@xemacs.org>
15446
15447         * redisplay.c (generate_fstring_runes): compute string size in
15448         characters, not bytes.
15449
15450 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15451
15452         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
15453
15454 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
15455
15456         * print.c (print_error_message): Call print_prepare().
15457
15458 2000-01-14  Martin Buchholz  <martin@xemacs.org>
15459
15460         * .dbxrc: Renamed from dbxrc.
15461
15462         * events.c (event_to_character):
15463         Use `assert (foo)' instead of `if (!foo) abort()'
15464
15465         * .gdbinit (xtype): Add documentation.
15466         * .gdbinit (check-temacs): New function.
15467         * .gdbinit (check-xemacs): New function.
15468         * dbxrc (check-xemacs): New function.
15469         * dbxrc (check-xemacs): New function.
15470
15471 2000-01-14  Andy Piper  <andy@xemacs.org>
15472
15473         * glyphs-widget.c (widget_query_geometry): Make sure that we
15474         calculate default dimensions correctly.
15475
15476 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15477
15478         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
15479
15480         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
15481         pdump_wire'd variable.
15482
15483         * emacs.c: (main_1): Conditionalized calls to
15484         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
15485
15486 2000-01-13  Martin Buchholz  <martin@xemacs.org>
15487
15488         * window.c (Fset_window_configuration):
15489         * sysdep.c (_start):
15490         * input-method-motif.c (res):
15491         * event-Xt.c (Xt_process_to_emacs_event):
15492         Simple compiler warning fixes.
15493
15494         * bytecode.c (funcall_compiled_function): Use the original
15495         function symbol on the backtrace list in preference to the
15496         compiled_function object in error messages.
15497
15498 2000-01-13  Andy Piper  <andy@xemacs.org>
15499
15500         * glyphs-x.c (update_widget_face): Make sure we update the widget
15501         background as well as foreground.
15502
15503 2000-01-13  Andy Piper  <andy@xemacs.org>
15504
15505         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
15506         fields to subwindow.
15507         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
15508         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
15509         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15510         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15511
15512         * glyphs-widget.c (check_valid_tab_orientation): new function.
15513         (initialize_widget_image_instance): zero orientation and
15514         justification.
15515         (widget_instantiate): pick up orientation.
15516         (tab_control_query_geometry): return appropriate values for
15517         vertical tabs.
15518
15519         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
15520         appropriate creation flags for left, right and bottom tabs.
15521
15522         * s/cygwin32.h: add tab definitions.
15523
15524 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15525
15526         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
15527         frame upon hiding a subwindow.
15528         (mswindows_button_instantiate): Changed the push button style to
15529         BS_PUSHBUTTON.
15530         (mswindows_button_instantiate): Removed button BS_NOTIFY
15531         style.
15532         (mswindows_button_instantiate): Removed redundant check for
15533         a disabled gui item.
15534         (mswindows_button_instantiate): Made use of WS_TABSTOP
15535         consistent: "operable" controls (edit, button, tree, scroll) have
15536         this style, "display-only" ones (static, progress gauge) do
15537         not. This style is currently ignored by XEmacs though. Also,
15538         removed the WS_EX_CONTROLPARENT style - it is not for children,
15539         it is for their parents!
15540         (mswindows_edit_field_instantiate): Ditto.
15541         (mswindows_progress_gauge_instantiate): Ditto.
15542         (mswindows_tree_view_instantiate): Ditto.
15543         (mswindows_tab_control_instantiate): Ditto.
15544         (mswindows_scrollbar_instantiate): Ditto.
15545         (mswindows_combo_box_instantiate): Ditto.
15546         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
15547         style to the "clip" window.
15548         (mswindows_button_instantiate): Removed compilation warning by
15549         equally typing terms of the ?: operator.
15550
15551 2000-01-12  Didier Verna  <didier@xemacs.org>
15552
15553         * redisplay.c (generate_fstring_runes): new parameter holding the
15554         last modeline-format extent.
15555         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
15556         extent, fill the glyph block with it.
15557         (generate_fstring_runes): handle these parameters.
15558         (generate_formatted_string_db): ditto.
15559
15560         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
15561         glyphs'extents in the modeline.
15562
15563 1999-01-11  Mike Woolley  <mike@bulsara.com>
15564
15565         * ntheap.c: Reduced the reserved heap space from 1Gb down to
15566         256Mb, as a workaround for the non-starting problem many people
15567         have experienced.
15568
15569 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15570
15571         * console-tty.c (Fset_console_tty_output_coding_system):
15572         Force redrawing tty frame.
15573
15574 2000-01-10  Didier Verna  <didier@xemacs.org>
15575
15576         * redisplay.c (generate_fstring_runes): fix size computation bug.
15577
15578 2000-01-09  William M. Perry <wmperry@aventail.com>
15579
15580         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
15581
15582 2000-01-09  Andy Piper  <andy@xemacs.org>
15583
15584         * glyphs-msw.c: index -> i to avoid shadows.
15585         (xbm_create_bitmap_from_data): make static.
15586         (check_valid_string_or_int): deleted.
15587         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
15588
15589         * glyphs-x.c (x_update_subwindow): remove unused args.
15590
15591         * glyphs.c (glyph_image_instance): return the thing. Don't set the
15592         back pointer - this is done in allocate_image_instance.
15593         (query_string_font): return Qnil to make the compiler happy.
15594         (unmap_subwindow): set to ~0 to make the compiler happy.
15595         (glyph_query_geometry): comment out until used.
15596         (glyph_layout): ditto.
15597
15598 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15599
15600         * insdel.c (signal_after_change): Remove extraneous unbind_to().