update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * char-ucs.h: Compact non-ISO-IR charset-ids.
4         (LEADING_BYTE_UCS): Changed to -177.
5         (LEADING_BYTE_CONTROL_1): Changed to -77.
6         (LEADING_BYTE_UCS_BMP): Changed to -176.
7         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
8
9 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
10
11         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
12         n to -n; charset-id of non ISO-IR sets are changed to positive
13         numbers.
14
15 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
16
17         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
18         for &MCS-XXXXXXXX; values.
19
20 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
21
22         * mule.c (Vxemacs_chise_version): Renamed from
23         `Vutf_2000_version'.
24         (vars_of_mule): Add new variable `xemacs-chise-version'; define
25         `utf-2000-version' as an alias for `xemacs-chise-version'.
26
27 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
28
29         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
30         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
31         defined.
32
33         * config.h.in (CHISE): New macro.
34
35 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
36
37         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
38         of `ucs'.
39         (Qmap_ucs): New variable.
40         (syms_of_mule_charset): Add new symbol `=ucs'.
41         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
42
43         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
44         (simplify_char_spec): Likewise.
45
46         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
47
48         * char-ucs.h (Qmap_ucs): New extern variable.
49
50 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
51
52         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
53         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
54         don't define it when UTF2000 is not defined.
55         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
56         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
57         when UTF2000 is not defined.
58         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
59         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
60
61 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
62
63         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
64
65         * mule-charset.c (Vcharset_ucs_gb): Deleted.
66         (Qucs_gb): Deleted.
67         (syms_of_mule_charset): Delete `ucs-gb'.
68         (complex_vars_of_mule_charset): Likewise.
69
70 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
71
72         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
73
74         * mule-charset.c (Vcharset_ucs_cns): Deleted.
75         (Qucs_cns): Deleted.
76         (syms_of_mule_charset): Delete `ucs-cns'.
77         (complex_vars_of_mule_charset): Likewise.
78
79 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
80
81         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
82
83         * mule-charset.c (Vcharset_ucs_jis): Deleted.
84         (Qucs_jis): Deleted.
85         (syms_of_mule_charset): Delete `ucs-jis'.
86         (complex_vars_of_mule_charset): Likewise.
87
88 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
89
90         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
91
92         * mule-charset.c (Vcharset_ucs_ks): Deleted.
93         (Qucs_ks): Deleted.
94         (syms_of_mule_charset): Delete `ucs-ks'.
95         (complex_vars_of_mule_charset): Likewise.
96
97 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
98
99         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
100         (Qideograph_daikanwa_2): Deleted.
101         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
102         (complex_vars_of_mule_charset): Likewise.
103
104         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
105         (LEADING_BYTE_DAIKANWA_1): Deleted.
106         (LEADING_BYTE_DAIKANWA_2): Deleted.
107         (MIN_CHAR_DAIKANWA): Deleted.
108         (MAX_CHAR_DAIKANWA): Deleted.
109
110 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
111
112         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
113         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
114         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
115
116         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
117         (Vcharset_ideograph_daikanwa): Deleted.
118         (Qideograph_hanziku_{1..12}): Deleted.
119         (Qideograph_daikanwa): Deleted.
120         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
121         Vcharset_ideograph_daikanwa.
122         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
123         `ideograph-hanziku-{1..12}'.
124         (complex_vars_of_mule_charset): Likewise.
125
126 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
127
128         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
129
130         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
131         (Qideograph_gt_pj_{1..11}): Deleted.
132         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
133         (complex_vars_of_mule_charset): Likewise.
134
135 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
136
137         * mule-charset.c (Vcharset_ucs_big5): Deleted.
138         (Vcharset_ideograph_gt): Deleted.
139         (Qucs_big5): Deleted.
140         (Qideograph_gt): Deleted.
141         (syms_of_mule_charset): Delete symbol `ucs-big5' and
142         `ideograph-gt'.
143         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
144         and `ideograph-gt'.
145
146         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
147         (LEADING_BYTE_GT): Deleted.
148         (MIN_CHAR_GT): Deleted.
149         (MAX_CHAR_GT): Deleted.
150
151 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
152
153         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
154
155 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
156
157         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
158         (save_uint16_byte_table): Likewise.
159         (save_byte_table): Likewise; convert values by it.
160         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
161         for `ideographic-structure'.
162         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
163         as the filter for `ideographic-structure'.
164
165 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
166
167         * chartab.c (put_char_composition): New function.
168         (Fput_char_attribute): Use `put_char_composition'; use
169         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
170
171         * fns.c (simplify_char_spec): New function.
172         (char_ref_simplify_spec): New function.
173         (Fchar_refs_simplify_char_specs): New function.
174         (syms_of_fns): Add new builtin function
175         `char-refs-simplify-char-specs'.
176
177 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
178
179         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
180         (Qideograph_cbeta): Deleted.
181         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
182         (complex_vars_of_mule_charset): Likewise.
183
184         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
185         (MIN_CHAR_CBETA): Comment out.
186         (MAX_CHAR_CBETA): Likewise.
187
188 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
189
190         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
191         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
192         CHISE client feature.
193
194 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
195
196         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
197
198 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
199
200         * mule-charset.c (charset_lookup_description_1): Use
201         `NUM_LEADING_BYTES' in UTF-2000.
202
203 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
204
205         * char-ucs.h (GC_CHARSETP): Deleted.
206
207 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
208
209         * char-ucs.h (MAX_CHAR_GT): Updated.
210
211 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
212
213         * text-coding.c: Sync with XEmacs 21.4.10.
214
215 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
216
217         * mule-charset.c (Vcharset_china3_jef): Deleted.
218         (Qchina3_jef): Deleted.
219         (syms_of_mule_charset): Don't define `china3-jef'.
220         (complex_vars_of_mule_charset): Likewise.
221
222         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
223         (MIN_CHAR_CHINA3_JEF): Comment out.
224         (MAX_CHAR_CHINA3_JEF): Comment out.
225
226 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
227
228         * mule-charset.c (Vcharset_ucs_gb): New variable.
229         (Qucs_gb): New variable.
230         (syms_of_mule_charset): Add new symbol `ucs-gb'.
231         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
232
233         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
234
235 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
236
237         * mule-charset.c (charset_code_point): if a coded-charset has a
238         final-byte, don't inherit the builtin range of the mother CCS.
239
240 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
241
242         * mule-charset.c (charset_code_point): Fix problem about
243         inheritance.
244
245 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
246
247         * mule-charset.c (decode_builtin_char): Reorganized.
248
249 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
250
251         * text-coding.c (char_encode_as_entity_reference): Modify for
252         `charset_code_point'.
253         (char_encode_shift_jis): Likewise.
254         (char_encode_big5): Likewise.
255         (char_encode_utf8): Likewise.
256         (char_encode_iso2022): Likewise.
257
258         * mule-charset.c (charset_code_point): Add new argument
259         `defined_only'.
260         (Fencode_char): Add new optional argument `defined_only'.
261
262         * chartab.c (put_char_table): Modify for `charset_code_point'.
263
264         * char-ucs.h (charset_code_point): Add new argument
265         `defined_only'.
266         (encode_char_1): Modify for `charset_code_point'.
267
268 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
269
270         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
271         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
272
273 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
274
275         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
276         (Qjis_x0208): Likewise.
277         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
278         XCHARSET_FINAL(charset).
279         (charset_code_point): Modify condition for final-byte based
280         builtin-chars.
281         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
282         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
283         in UTF-2000; specify `=jis-x0208' as the mother of
284         `japanese-jisx0208-1978', `japanese-jisx0208' and
285         `japanese-jisx0208-1990' in UTF-2000.
286
287 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
288
289         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
290
291 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
292
293         * text-coding.c (decode_coding_utf16): Support UTF-16.
294         (char_encode_utf16): Fixed.
295
296 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
297
298         * text-coding.c (Qutf16): New variable in MULE.
299         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
300         (Fcoding_system_type): Add `utf-16' in MULE.
301         (struct detection_state): Add a structure for utf16 in MULE.
302         (detect_coding_type): Setup st->utf16.mask in MULE.
303         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
304         MULE.
305         (reset_encoding_stream): Use `char_encode_utf16' and
306         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
307         (detect_coding_utf16): New function [incomplete].
308         (decode_coding_utf16): New function [support only UCS-2].
309         (char_encode_utf16): New function.
310         (char_finish_utf16): New function.
311         (syms_of_file_coding): Add new symbol `utf-16'; setup
312         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
313
314         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
315         UTF-2000.
316         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
317         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
318
319 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
320
321         * chartab.c (put_char_table): When a charset is specified as a
322         range in UTF-2000, don't support builtin characters.
323
324 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
325
326         * mule-charset.c (decode_defined_char): Don't refer external
327         database if Qunbound or Qnil are found.
328         (Fsave_charset_mapping_table): Don't define it if
329         HAVE_CHISE_CLIENT is not defined.
330         (Freset_charset_mapping_table): New function.
331         (load_char_decoding_entry_maybe): Store Qnil if a character is not
332         found in external database.
333         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
334         if HAVE_CHISE_CLIENT is not defined; add new builtin function
335         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
336
337 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
338
339         * text-coding.c (decode_coding_utf8): Check CCS is specified or
340         not.
341
342 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
343
344         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
345         Q_lowercase, Q_uppercase in UTF-2000.
346
347         * chartab.c (get_char_table): Add special code for the standard
348         case table to use character attribute `->downcase' and
349         `->uppercase' for case operations in UTF-2000.
350
351         * casetab.c (Qflippedcase): New variable in UTF-2000.
352         (Q_lowercase): Likewise.
353         (Q_uppercase): Likewise.
354         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
355         and `->uppercase' in UTF-2000.
356         (complex_vars_of_casetab): Assign attribute name `downcase' to
357         downcase and CANON table of Vstandard_case_table in UTF-2000;
358         assign attribute name `flippedcase' to upcase and EQV table of
359         Vstandard_case_table in UTF-2000.
360
361 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
362
363         * text-coding.c (decode_add_er_char): Support isolated-chars.
364         (char_encode_as_entity_reference): Likewise.
365
366 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
367
368         * emacs.c (Vutf_2000_lisp_directory): New variable.
369         (Vconfigure_utf_2000_lisp_directory): Likewise.
370         (complex_vars_of_emacs): Add new variable
371         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
372
373 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
374
375         * char-ucs.h (DECODE_CHAR): Delete special code for
376         `chinese-big5-1' and `chinese-big5-2'.
377
378         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
379         (Qbig5_2): Likewise.
380         (decode_defined_char): Support CONVERSION_BIG5_1 and
381         CONVERSION_BIG5_2.
382         (decode_builtin_char): Likewise.
383         (charset_code_point): Likewise.
384         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
385         'conversion in UTF-2000.
386         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
387         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
388         `chinese-big5-2' as children of `chinese-big5'.
389
390         * char-ucs.h (CONVERSION_BIG5_1): New macro.
391         (CONVERSION_BIG5_2): New macro.
392
393 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
394
395         * text-coding.c (char_encode_big5): Support entity-reference.
396
397 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
398
399         * text-coding.c (char_encode_as_entity_reference): New function.
400         (char_encode_utf8): Use `char_encode_as_entity_reference'.
401
402 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
403
404         * text-coding.c (decode_coding_big5): Support entity-reference
405         decoding feature.
406
407 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
408
409         * text-coding.c (allocate_coding_system): Initialize initial
410         charsets for CODESYS_UTF8.
411         (Fmake_coding_system): Accept charset-g0, charset-g1 and
412         charset-g2 for CODESYS_UTF8.
413         (decode_coding_utf8): Use charset-g0.
414         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
415         to force variants to map to UCS.
416
417 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
418
419         * text-coding.c (Qutf_8_mcs): New variable.
420         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
421         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
422         instead of `utf-8' in UTF-2000.
423
424 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
425
426         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
427         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
428         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
429         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
430         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
431         CONVERSION_96x96x96x96 are introduced.
432         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
433         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
434         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
435
436         * char-ucs.h (CONVERSION_94): New macro.
437         (CONVERSION_96): New macro.
438         (CONVERSION_94x94): New macro.
439         (CONVERSION_96x96): New macro.
440         (CONVERSION_94x94x94): New macro.
441         (CONVERSION_96x96x96): New macro.
442         (CONVERSION_94x94x94x60): New macro.
443         (CONVERSION_94x94x94x94): New macro.
444         (CONVERSION_96x96x96x96): New macro.
445
446 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
447
448         * chartab.c (Vcharacter_variant_table): Deleted.
449         (Fchar_variants): Use character-attribute `->ucs-variants' instead
450         of `Vcharacter_variant_table'.
451         (Fput_char_attribute): Likewise.
452         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
453         (complex_vars_of_chartab): Likewise.
454
455 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
456
457         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
458
459         * fns.c (Qideographic_structure): New variable.
460         (Qkeyword_char): New variable.
461         (ids_format_unit): New function.
462         (Fideographic_structure_to_ids): New function.
463         (syms_of_fns): Add new symbols `ideographic-structure' and
464         `:char'; add new builtin function `ideographic-structure-to-ids'.
465
466         * data.c (Fchar_ref_p): New function.
467         (syms_of_data): Add new builtin function `char-ref-p'.
468
469         * chartab.h: Add an EXFUN for `Ffind_char'.
470
471 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
472
473         * text-coding.c (Vcharacter_composition_table): Deleted.
474         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
475         in every UTF-2000.
476
477         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
478         UTF-2000.
479         (Vcharacter_composition_table): Deleted.
480         (Fget_composite_char): Use the implementation for external-DB
481         support in every UTF-2000.
482         (Fput_char_attribute): Likewise.
483         (char_attribute_system_db_file): Don't define if external-DB
484         feature is not available.
485         (Fsave_char_attribute_table): Likewise.
486         (Fmount_char_attribute_table): Likewise.
487         (Fclose_char_attribute_table): Likewise.
488         (Freset_char_attribute_table): Likewise.
489         (Fload_char_attribute_table): Likewise.
490         (syms_of_chartab): Don't define `save-char-attribute-table',
491         `mount-char-attribute-table', `reset-char-attribute-table',
492         `close-char-attribute-table' and `load-char-attribute-table' if
493         external-DB feature is not available.
494         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
495
496 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
497
498         * text-coding.c (Qcomposition): Add extern if external-DB feature
499         is supported.
500         (Vcharacter_composition_table): Don't add extern if external-DB
501         feature is supported.
502         (COMPOSE_ADD_CHAR): Modify for new data-representation of
503         character composition rule if external-DB feature is supported.
504
505         * chartab.c (Vcharacter_composition_table): Don't define if
506         external-DB feature is supported.
507         (Qcomposition): New variable.
508         (Fget_composite_char): New implementation for external-DB support.
509         (Fput_char_attribute): Use `composition' property of each
510         character instead of `Vcharacter_composition_table' to store
511         character-composition rules if external-DB feature is supported.
512         (syms_of_chartab): Add new symbol `composition'.
513         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
514         external-DB feature is supported.
515
516 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
517
518         * chartab.c (Vchar_db_stingy_mode): New variable.
519         (load_char_attribute_maybe): Close database if
520         Vchar_db_stingy_mode is not NIL.
521         (Fload_char_attribute_table_map_function): Use
522         `get_char_id_table_0' instead of `get_char_id_table'.
523         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
524
525         * chartab.h (get_char_id_table_0): New inline function.
526         (get_char_id_table): Use `get_char_id_table_0'.
527
528 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
529
530         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
531         and `COMPOSE_ADD_CHAR'.
532         (decode_coding_iso2022): Use `decode_flush_er_chars'.
533
534 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
535
536         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
537         instead of `DECODE_ADD_UCS_CHAR'.
538         (COMPOSE_ADD_CHAR): Likewise.
539
540 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
541
542         * text-coding.c (decode_flush_er_chars): New inline function.
543         (decode_add_er_char): New function.
544         (decode_coding_utf8): Use `decode_flush_er_chars' and
545         `decode_add_er_char'.
546
547 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
548
549         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
550         done before `decode_output_utf8_partial_char'.
551
552         * mule-charset.c (complex_vars_of_mule_charset): Specify
553         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
554         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
555
556 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
557
558         * mule-charset.c (decode_defined_char): New function; search
559         mother.
560         (decode_builtin_char): Don't search mother if
561         XCHARSET_MAX_CODE(charset) == 0.
562         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
563         == 0 even if code >= XCHARSET_MAX_CODE(charset).
564         (Fdecode_char): Use `decode_defined_char' instead of
565         `DECODE_DEFINED_CHAR'.
566         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
567         mother of `Vcharset_ucs_jis'.
568
569         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
570         instead of `DECODE_DEFINED_CHAR'.
571
572         * char-ucs.h (decode_defined_char): Renamed from
573         `DECODE_DEFINED_CHAR'; changed to normal function.
574         (DECODE_CHAR): Use `decode_defined_char' instead of
575         `DECODE_DEFINED_CHAR'.
576
577         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
578
579 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
580
581         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
582
583         * text-coding.c (Vcoded_charset_entity_reference_alist): New
584         variable.
585         (Quse_entity_reference): New variable.
586         (Qd): New variable.
587         (Qx): New variable.
588         (QX): New variable.
589         (coding_system_description): Add description for
590         `ccs_priority_list'.
591         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
592         (allocate_coding_system): Initialize `ccs_priority_list' in
593         UTF-2000.
594         (Fmake_coding_system): Add description about
595         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
596         (codesys).
597         (Fcoding_system_property): Accept `disable-composition' and
598         `use-entity-reference' in UTF-2000.
599         (struct decoding_stream): Add new member `er_counter' and `er_buf'
600         in UTF-2000.
601         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
602         (decode_coding_utf8): Decode entity-reference if
603         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
604         (char_encode_utf8): Encode non-Unicode characters as
605         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
606         (str->codesys).
607         (syms_of_file_coding): Add new symbols `use-entity-reference',
608         `d', `x', `X'.
609         (vars_of_file_coding): Add new variable
610         `coded-charset-entity-reference-alist'.
611         (complex_vars_of_file_coding): Declare `disable-composition' and
612         `use-entity-reference' to be coding-system-properties in UTF-2000.
613
614         * file-coding.h (struct Lisp_Coding_System): Add new member
615         `use_entity_reference' and `ccs_priority_list'.
616         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
617         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
618         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
619
620 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
621
622         * chartab.c (save_uint8_byte_table): Don't clear the table.
623         (save_uint16_byte_table): Likewise.
624         (save_byte_table): Likewise.
625         (Fmount_char_attribute_table): New function.
626         (syms_of_chartab): Add new builtin function
627         `mount-char-attribute-table'.
628
629 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
630
631         * mule-charset.c (Fsave_charset_mapping_table): Open database as
632         "w+" mode.
633         (load_char_decoding_entry_maybe): Open database as read-only mode.
634
635         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
636         open database as "w+" mode.
637         (load_char_attribute_maybe): Open database as read-only mode.
638         (Fload_char_attribute_table): Likewise.
639
640 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
641
642         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
643         (char_table_description): Delete member `db_file'.
644         (Fmake_char_table): Don't refer `ct->db_file'.
645         (Fcopy_char_table): Likewise.
646         (Fsave_char_attribute_table): Likewise.
647         (Fclose_char_attribute_table): Likewise.
648         (Freset_char_attribute_table): Likewise.
649         (load_char_attribute_maybe): Likewise.
650         (Fload_char_attribute_table): Likewise.
651
652         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
653
654 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
655
656         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
657         (Fsave_char_attribute_table): Don't check `ct->db_file' if
658         `ct->db' is living.
659         (load_char_attribute_maybe): Likewise.
660         (Fload_char_attribute_table): Likewise.
661
662 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
663
664         * chartab.c (Fclose_char_attribute_table): Set Qnil on
665         `ct->db_file' unconditionally.
666
667 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
668
669         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
670         UTF-2000.
671         (char_table_description): Add description for `db_file' and `db'
672         in UTF-2000.
673         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
674         UTF-2000.
675         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
676         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
677         (Fclose_char_attribute_table): New function.
678         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
679         (load_char_attribute_maybe): Change interface; use `cit->db_file'
680         and `cit->db'.
681         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
682         (syms_of_chartab): Add new builtin function
683         `Fclose_char_attribute_table'.
684
685 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
686
687         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
688         `db' in UTF-2000.
689         (load_char_attribute_maybe): Change interface.
690         (get_char_id_table): Modify for `load_char_attribute_maybe'.
691
692 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
693
694         * database.h: Add an EXFUN for `Fdatabase_live_p'.
695
696 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
697
698         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
699         instead of `DECODE_CHAR' for mother; don't use special code for
700         chinese-big5 to use code space of chinese-big5-1 and
701         chinese-big5-2.
702         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
703         `MAX_CHAR_BIG5_CDP' for chinese-big5.
704
705         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
706         (MAX_CHAR_BIG5_CDP): Revival.
707
708 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
709
710         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
711         the XLFD registry-encoding name of `chinese-big5'.
712
713 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
714
715         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
716         (Qchinese_big5_cdp): Deleted.
717         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
718         (complex_vars_of_mule_charset): Delete coded-charset
719         `chinese-big5-cdp'.
720
721         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
722         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
723         `CHARSET_ID_OFFSET - n' for private CCS.
724         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
725         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
726         of `MIN_LEADING_BYTE'.
727         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
728         `(CHARSET_ID_OFFSET - 97)'.
729         (MIN_CHAR_BIG5_CDP): Deleted.
730         (MAX_CHAR_BIG5_CDP): Deleted.
731
732 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
733
734         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
735
736 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
737
738         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
739         (vars_of_mule): Add new variable `utf-2000-version' [moved from
740         chartab.c].
741
742         * chartab.c (Vutf_2000_version): Moved to mule.c.
743         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
744
745 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
746
747         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
748         when HAVE_CHISE_CLIENT is not defined.
749
750         * mule.c (vars_of_mule): Provide feature `chise' when
751         HAVE_CHISE_CLIENT is defined.
752
753 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
754
755         * config.h.in (UTF2000): Add comment.
756         (HAVE_CHISE_CLIENT): New macro.
757
758 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
759
760         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
761         CONSP.
762         (Fput_char_attribute): Likewise.
763         (char_attribute_system_db_file): Encode file-name of attribute.
764         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
765         the initial value.
766
767 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
768
769         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
770         (Fsave_charset_mapping_table): Use
771         `char_attribute_system_db_file'.
772         (load_char_decoding_entry_maybe): Likewise.
773
774         * chartab.h (Qsystem_char_id): New external variable.
775         (char_attribute_system_db_file): New prototype.
776
777         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
778         (char_attribute_system_db_file): New function.
779         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
780         (Freset_char_attribute_table): Likewise.
781         (load_char_attribute_maybe): Likewise.
782         (Fload_char_attribute_table): Likewise.
783         (syms_of_chartab): Add new symbol `system-char-id'.
784
785 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
786
787         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
788         `XCHARSET_GRAPHIC(ccs)'.
789
790 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
791
792         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
793
794 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
795
796         * chartab.c (Q_ucs_variants): New variable.
797         (syms_of_chartab): Add new symbol `->ucs-variants'.
798         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
799         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
800         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
801
802         * mule-charset.c (load_char_decoding_entry_maybe): New function.
803
804         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
805         `HAVE_DATABASE' is defined.
806         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
807         `HAVE_DATABASE' is defined.
808
809 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
810
811         * chartab.c (Fsave_char_attribute_table): Don't clear internal
812         attribute-table.
813         (Freset_char_attribute_table): New function.
814         (syms_of_chartab): Add new builtin function
815         `reset-char-attribute-table'.
816
817 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
818
819         * chartab.c (load_char_attribute_maybe): Don't make directories.
820
821 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
822
823         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
824
825         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
826         for decoding-table.
827
828 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
829
830         * mule-charset.c (Fsave_charset_mapping_table): Use
831         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
832
833         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
834         instead of `XCHARSET_CHARS'.
835
836 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
837
838         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
839         (XCHARSET_BYTE_SIZE): Likewise.
840
841         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
842         mule-charset.c].
843         (XCHARSET_BYTE_SIZE): Likewise.
844
845 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
846
847         * chartab.c (Fput_char_attribute): Use exec-directory instead of
848         data-directory to store database.
849         (Fsave_char_attribute_table): Likewise.
850         (load_char_attribute_maybe): Likewise.
851         (Fload_char_attribute_table): Likewise.
852
853 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
854
855         * mule-charset.c (Fsave_charset_mapping_table): New function.
856         (syms_of_mule_charset): Add new builtin function
857         `save-charset-mapping-table'.
858
859 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
860
861         * char-ucs.h (decoding_table_check_elements): Delete prototype.
862         (get_ccs_octet_table): New inline function.
863         (put_ccs_octet_table): Likewise.
864         (decoding_table_put_char): Use `get_ccs_octet_table' and
865         `put_ccs_octet_table'.
866         (decoding_table_remove_char): Use `decoding_table_put_char'.
867         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
868
869         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
870         into encoding_table.
871         (make_charset): Use Qunbound instead Qnil as initial value of
872         decoding_table.
873
874 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
875
876         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
877         element is Qunloaded.
878         (map_over_uint16_byte_table): Likewise.
879         (map_over_byte_table): Likewise.
880         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
881         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
882         database support, load encoding-table of the specified
883         coded-charset if it is not loaded yet.
884         (save_uint8_byte_table): New function of UTF-2000 with external
885         database support.
886         (save_uint16_byte_table): Likewise.
887         (save_byte_table): Likewise.
888         (Fput_char_attribute): Don't store value into external database
889         even if the external database feature is supported in UTF-2000;
890         set `attribute' as name of char-table if the external database
891         feature is supported.
892         (Fsave_char_attribute_table): New function in UTF-2000.
893         (syms_of_chartab): Add new builtin function
894         `save-char-attribute-table' in UTF-2000.
895
896 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
897
898         * chartab.c (char_attribute_table_to_put): New variable in
899         UTF-2000.
900         (Qput_char_table_map_function): Likewise.
901         (value_to_put): Likewise.
902         (Fput_char_table_map_function): New function in UTF-2000.
903         (put_char_table): Use `Fmap_char_attribute' for
904         CHARTAB_RANGE_CHARSET in UTF-2000.
905         (Fput_char_attribute): Store symbol instead of string in
906         `XCHAR_TABLE_NAME (table)'.
907         (load_char_attribute_maybe): Likewise.
908         (syms_of_chartab): Add new symbol/function
909         `put-char-table-map-function'.
910
911 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
912
913         * database.h: Add new EXFUN for `Fmap_database'.
914
915         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
916         (syms_of_database): Likewise.
917
918         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
919         UTF-2000.
920         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
921         (XCHAR_TABLE_UNLOADED): Likewise.
922
923         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
924         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
925         HAVE_DATABASE is defined.
926         (char_attribute_table_to_load): New variable of UTF-2000 with
927         external database support.
928         (Qload_char_attribute_table_map_function): Likewise.
929         (Fload_char_attribute_table_map_function): New function of
930         UTF-2000 with external database support.
931         (Fload_char_attribute_table): New function of UTF-2000.
932         (Fmap_char_attribute): Call Fload_char_attribute_table if
933         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
934         (syms_of_chartab): Add new symbol and function
935         `load-char-attribute-table-map-function' in UTF-2000 with external
936         database support; add new function `load-char-attribute-table' in
937         UTF-2000.
938
939 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
940
941         * chartab.h (load_char_attribute_maybe): New prototype for
942         UTF-2000 with DATABASE support.
943         (get_char_id_table): Use `load_char_attribute_maybe' if
944         HAVE_DATABASE is defined.
945
946         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
947         with DATABASE support.
948
949 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
950
951         * chartab.c (Fput_char_attribute): Use S-expression as key of
952         external database.
953
954         * chartab.h (get_char_id_table): Use S-expression as key of
955         external database.
956
957 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
958
959         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
960         if an element is not loaded, load the corresponding attributes
961         from an external database.
962         (map_over_uint16_byte_table): Likewise.
963         (map_over_byte_table): Likewise.
964         (map_char_table): Modify for `map_over_uint8_byte_table',
965         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
966         element is not loaded, load the corresponding attributes from an
967         external database.
968         (Fput_char_attribute): Change initial values to Qunloaded.
969
970         * chartab.h (get_char_id_table): If a character attribute is not
971         loaded and the attribute value is not found in an external
972         database, store Qunbound as the attribute value.
973
974 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
975
976         * chartab.c (BT_UINT8_unloaded): New macro.
977         (UINT8_VALUE_P): Accept Qunloaded.
978         (UINT8_ENCODE): Likewise.
979         (UINT8_DECODE): Likewise.
980         (BT_UINT16_unloaded): New macro.
981         (UINT16_VALUE_P): Accept Qunloaded.
982         (UINT16_ENCODE): Likewise.
983         (UINT16_DECODE): Likewise.
984         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
985         BT_UINT16_unloaded.
986         (mark_char_table): Mark `ct->name' in UTF-2000.
987         (char_table_description): Add `name' in UTF-2000.
988         (Fmake_char_table): Initialize `ct->name'.
989         (Fcopy_char_table): Copy `ct->name'.
990         (Fput_char_attribute): Store value into an external database if
991         HAVE_DATABASE is defined.
992
993         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
994         UTF-2000.
995         (CHAR_TABLE_NAME): New macro in UTF-2000.
996         (XCHAR_TABLE_NAME): New macro in UTF-2000.
997         (get_char_id_table): Try to read an external database if Qunloaded
998         is stored in a table.
999
1000         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1001         Qunloaded.
1002
1003 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1004
1005         * database.h: Add EXFUN definitions for Fopen_database,
1006         Fput_database, Fget_database and Fclose_database.
1007
1008         * data.c (Qunloaded): New variable in UTF-2000.
1009
1010         * lisp.h (Qunloaded): New variable in UTF-2000.
1011
1012 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1013
1014         * mule-charset.c (put_char_ccs_code_point): Modify for
1015         `decoding_table_remove_char' and `decoding_table_put_char'.
1016         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1017
1018         * char-ucs.h (decoding_table_remove_char): Change arguments to
1019         hide decoding_table vector.
1020         (decoding_table_put_char): Likewise.
1021
1022 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1023
1024         * mule-charset.c (decoding_table_remove_char): Moved to
1025         char-ucs.h.
1026         (decoding_table_put_char): Likewise.
1027
1028         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1029         from mule-charset.c].
1030         (decoding_table_remove_char): New inline function [moved from
1031         mule-charset.c].
1032         (decoding_table_put_char): Likewise.
1033
1034 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1035
1036         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1037         extension.
1038
1039 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1040
1041         * mule-charset.c (decode_builtin_char): Support mother charsets.
1042
1043 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1044
1045         * mule-charset.c (Q94x94x60): New variable.
1046         (charset_code_point): Support conversion `94x94x60'.
1047         (Fmake_charset): Likewise.
1048         (syms_of_mule_charset): Add new symbol `94x94x60'.
1049
1050         * char-ucs.h (CONVERSION_94x94x60): New macro.
1051
1052 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1053
1054         * mule-charset.c (charset_code_point): Unify code about
1055         `code-offset'.
1056
1057 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1058
1059         * mule-charset.c (charset_code_point): Merge code about builtin
1060         characters into code about mother charsets; don't use
1061         `range_charset_code_point'.
1062         (range_charset_code_point): Deleted.
1063
1064 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1065
1066         * mule-charset.c (Qcode_offset): New variable.
1067         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1068         `max-code'; accept new property `code-offset'.
1069         (syms_of_mule_charset): Add new symbol `code-offset'.
1070
1071 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1072
1073         * mule-charset.c (range_charset_code_point): Fixed.
1074
1075 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1076
1077         * mule-charset.c (decode_builtin_char): Change semantics of
1078         code-offset of coded-charset.
1079         (charset_code_point): Likewise.
1080         (range_charset_code_point): Likewise.
1081         (complex_vars_of_mule_charset): Modify for the change.
1082
1083 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1084
1085         * mule-charset.c (Fencode_char): Reverse arguments.
1086
1087         * mule-charset.c (charset_code_point): Fixed.
1088
1089 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1090
1091         * mule-charset.c (Vcharset_mojikyo): Deleted.
1092         (Vcharset_mojikyo_2022_1): Deleted.
1093         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1094         (Qmin_code): New variable in UTF-2000.
1095         (Qmax_code): Likewise.
1096         (Qmother): Likewise.
1097         (Qconversion): Likewise.
1098         (Q94x60): Likewise.
1099         (Qmojikyo): Deleted.
1100         (Qmojikyo_2022_1): Deleted.
1101         (Qmojikyo_pj_{1..22}): Deleted.
1102         (mark_charset): Mark `cs->mother'.
1103         (charset_description): Add description for `mother'.
1104         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1105         new arguments `mother' and `conversion'; use
1106         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1107         (charset_code_point): Moved from char-ucs.h; support `mother'
1108         charset feature.
1109         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1110         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1111         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1112         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1113         allow 2 as the value of `graphic' in UTF-2000; add new properties
1114         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1115         require `final' in UTF-2000; modify for `make_charset'.
1116         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1117         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1118         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1119         (Fencode_char): New function.
1120         (syms_of_mule_charset): Add new builtin function `encode-char' in
1121         UTF-2000; add new symbols `min-code', `max-code', `mother',
1122         `conversion' and `94x60'; delete symbols `mojikyo',
1123         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1124         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1125         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1126         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1127
1128         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1129         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1130
1131         * char-ucs.h (Vcharset_mojikyo): Deleted.
1132         (Vcharset_mojikyo_2022_1): Deleted.
1133         (LEADING_BYTE_MOJIKYO): Deleted.
1134         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1135         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1136         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1137         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1138         add new member `mother'; add new member `conversion'.
1139         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1140         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1141         (CHARSET_MOTHER): New macro.
1142         (CHARSET_CONVERSION): New macro.
1143         (CONVERSION_IDENTICAL): New macro.
1144         (CONVERSION_94x60): New macro.
1145         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1146         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1147         (XCHARSET_MOTHER): New macro.
1148         (XCHARSET_CONVERSION): New macro.
1149         (MIN_CHAR_MOJIKYO): Deleted.
1150         (MAX_CHAR_MOJIKYO): Deleted.
1151         (DECODE_MOJIKYO_2022): Deleted.
1152         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1153         (charset_code_point): Changed to non-inline function.
1154         (encode_char_1): Use `charset_code_point'.
1155         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1156
1157 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1158
1159         * lread.c (read_compiled_function): Fix prototype.
1160         (read_vector): Likewise.
1161
1162 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1163
1164         * lrecord.h (struct lrecord_header): Delete `older'.
1165         (set_lheader_implementation): Delete code for `older'.
1166         (set_lheader_older_implementation): Deleted.
1167         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1168         (OLDER_RECORD_P): Deleted.
1169         (OLDER_RECORD_HEADER_P): Deleted.
1170         (alloc_older_lcrecord): Deleted.
1171         (alloc_older_lcrecord_type): Deleted.
1172
1173         * alloc.c (all_older_lcrecords): Deleted.
1174         (alloc_older_lcrecord): Deleted.
1175         (disksave_object_finalization_1): Delete code for older objects.
1176         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1177         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1178
1179 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1180
1181         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1182         instead of `make_older_vector'.
1183         (put_char_ccs_code_point): Likewise.
1184         (mark_charset): Mark `cs->decoding_table'.
1185         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1186
1187         * lisp.h (make_older_vector): Deleted.
1188         (make_vector_newer): Deleted.
1189
1190         * config.h.in (HAVE_GGC): Deleted.
1191
1192         * alloc.c (make_older_vector): Deleted.
1193         (make_vector_newer_1): Deleted.
1194         (make_vector_newer): Deleted.
1195
1196 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1197
1198         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1199         (Qideograph_daikanwa_2): New variable.
1200         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1201         (complex_vars_of_mule_charset): Add new coded-charset
1202         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1203         `LEADING_BYTE_DAIKANWA'.
1204
1205         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1206         (LEADING_BYTE_DAIKANWA_1): New macro.
1207         (LEADING_BYTE_DAIKANWA_2): New macro.
1208         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1209
1210 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1211
1212         * mule-charset.c (complex_vars_of_mule_charset): Change
1213         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1214         the second revised version.
1215
1216 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1217
1218         * mule-charset.c (Vcharset_ucs_smp): New variable.
1219         (Vcharset_ucs_sip): New variable.
1220         (Qucs_smp): New variable.
1221         (Qucs_sip): New variable.
1222         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1223         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1224         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1225         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1226         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1227         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1228
1229         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1230         (LEADING_BYTE_UCS_SIP): New macro.
1231         (MIN_CHAR_SMP): New macro.
1232         (MAX_CHAR_SMP): New macro.
1233         (MIN_CHAR_SIP): New macro.
1234         (MAX_CHAR_SIP): New macro.
1235
1236 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1237
1238         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1239         utf-2000.
1240
1241 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1242
1243         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1244         value; don't store value into `encoding_table' of `Lisp_Charset'.
1245         (mark_charset): `encoding_table' was deleted.
1246         (charset_description): Likewise.
1247         (make_charset): Likewise.
1248         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1249         `put_char_ccs_code_point'.
1250
1251         * chartab.h (Fput_char_attribute): New EXFUN.
1252
1253         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1254         is unified with normal symbol space.
1255         (Fget_char_attribute): Likewise.
1256         (Fput_char_attribute): Likewise; behavior of
1257         `put_char_ccs_code_point' is changed.
1258
1259         * char-ucs.h: Include "elhash.h".
1260         (Vchar_attribute_hash_table): New external variable.
1261         (struct Lisp_Charset): Delete `encoding_table'.
1262         (CHARSET_ENCODING_TABLE): New implementation; refer
1263         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1264         `Lisp_Charset'.
1265
1266 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1267
1268         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1269         (cs) == 0.
1270
1271 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1272
1273         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1274         `chinese-big5'.
1275
1276 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1277
1278         * chartab.c (uint8_byte_table_description): New constant.
1279         (uint8-byte-table): Use `uint8_byte_table_description'.
1280         (uint16_byte_table_description): New constant.
1281         (uint16-byte-table): Use `uint16_byte_table_description'.
1282
1283 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1284
1285         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1286         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1287
1288 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1289
1290         * mule-charset.c (Vcharset_ucs_ks): New variable.
1291         (Qucs_ks): New variable.
1292         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1293         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1294
1295         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1296
1297 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1298
1299         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1300         (Fdecode_char): Likewise.
1301
1302         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1303         chartab.h.
1304         (Fdefine_char): Modify for Fdecode_char.
1305         (Ffind_char): Likewise.
1306
1307         * mule-charset.c (Fdecode_char): Add new optional argument
1308         `defined-only'.
1309         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1310
1311 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1312
1313         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1314         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1315         (allocate_coding_system): Initialize initial-charsets of
1316         CODESYS_BIG5 in XEmacs UTF-2000.
1317         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1318         CODESYS_BIG5 in XEmacs UTF-2000.
1319         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1320         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1321
1322         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1323         variables.
1324         (Qideograph_hanziku_{1 .. 12}): Likewise.
1325         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1326         .. 12}'.
1327         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1328         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1329         `ideograph-hanziku-{1 .. 12}'.
1330
1331         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1332         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1333         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1334         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1335         (DECODE_DEFINED_CHAR): New inline function.
1336         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1337
1338 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1339
1340         * mule-charset.c (Vcharset_china3_jef): Renamed from
1341         `Vcharset_japanese_jef_china3'.
1342         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1343         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1344         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1345         (syms_of_mule_charset): Rename `china3-jef' from
1346         `japanese-jef-china3'.
1347         (complex_vars_of_mule_charset): Likewise; rename
1348         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1349
1350         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1351         `LEADING_BYTE_JEF_CHINA3'.
1352         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1353         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1354
1355 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1356
1357         * mule-charset.c (encode_builtin_char_1): Comment out special code
1358         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1359
1360         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1361         (MAX_CHAR_MOJIKYO_0): Comment out.
1362         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1363         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1364         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1365         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1366
1367 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1368
1369         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1370         (Qideograph_cbeta): New variable.
1371         (encode_builtin_char_1): Comment out special code for
1372         coded-charset `mojikyo' and `japanese-jef-china3'.
1373         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1374         (complex_vars_of_mule_charset): Add new coded-charset
1375         `ideograph-cbeta'.
1376
1377         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1378         (MIN_CHAR_CBETA): New macro.
1379         (MAX_CHAR_CBETA): New macro.
1380
1381 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1382
1383         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1384         (LEADING_BYTE_JEF_CHINA3): New macro.
1385         (MIN_CHAR_JEF_CHINA3): New macro.
1386         (MAX_CHAR_JEF_CHINA3): Likewise.
1387         (DECODE_CHAR): Fixed.
1388
1389 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1390
1391         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1392         (Qjapanese_jef_china3): New variable.
1393         (encode_builtin_char_1): Support `japanese-jef-china3'.
1394         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1395         (complex_vars_of_mule_charset): Add new coded-charset
1396         `japanese-jef-china3'.
1397
1398 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1399
1400         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1401         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1402         94^4, 96^3, 96^4, 128^n and 256^n set.
1403         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1404         (map_char_table): Likewise.
1405
1406 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1407
1408         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1409         UTF-2000.
1410
1411 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1412
1413         * chartab.h (get_char_id_table): New inline function.
1414
1415         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1416         function.
1417
1418 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1419
1420         * chartab.h (decode_char_table_range): New prototype in XEmacs
1421         UTF-2000.
1422         (put_char_id_table): New inline function in XEmacs UTF-2000.
1423
1424         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1425         function.
1426         (decode_char_table_range): Delete static declaration in XEmacs
1427         UTF-2000.
1428
1429 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1430
1431         * chartab.c (put_char_id_table): Use `put_char_table'.
1432
1433 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1434
1435         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1436         (map_over_uint16_byte_table): Likewise.
1437         (map_over_byte_table): Likewise.
1438         (map_char_table): Modify for `map_over_uint8_byte_table',
1439         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1440         UTF-2000.
1441
1442 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1443
1444         * chartab.c (struct map_char_table_for_charset_arg): New
1445         structure.
1446         (map_char_table_for_charset_fun): New function.
1447         (map_char_table): Use `map_char_table' for encoding_table of
1448         `range->charset'.
1449
1450 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1451
1452         * chartab.c (map_char_table): Check a character is found in
1453         range->charset instead of non default value is defined in
1454         char-table when range is CHARTAB_RANGE_ROW.
1455
1456 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1457
1458         * chartab.c (map_char_id_table): Deleted.
1459         (Fmap_char_attribute): Use `map_char_table' instead of
1460         `map_char_id_table'.
1461
1462 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1463
1464         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1465         UTF-2000.
1466         (update_syntax_table): Deleted in XEmacs UTF-2000.
1467
1468         * syntax.c (find_defun_start): Use `syntax_table' instead of
1469         `mirror_syntax_table' in XEmacs UTF-2000.
1470         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1471         UTF-2000.
1472         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1473         XEmacs UTF-2000.
1474         (Fmatching_paren): Likewise.
1475         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1476         in XEmacs UTF-2000.
1477         (find_start_of_comment): Likewise.
1478         (find_end_of_comment): Likewise.
1479         (Fforward_comment): Likewise.
1480         (scan_lists): Likewise.
1481         (char_quoted): Likewise.
1482         (Fbackward_prefix_chars): Likewise.
1483         (scan_sexps_forward): Likewise.
1484         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1485         (update_syntax_table): Likewise.
1486
1487         * search.c (skip_chars): Use `syntax_table' instead of
1488         `mirror_syntax_table' in XEmacs UTF-2000.
1489         (wordify): Likewise.
1490         (Freplace_match): Likewise.
1491
1492         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1493         `mirror_syntax_table' in XEmacs UTF-2000.
1494         (WORDCHAR_P_UNSAFE): Likewise.
1495         (re_match_2_internal): Likewise.
1496
1497         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1498         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1499
1500         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1501         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1502
1503         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1504         XEmacs UTF-2000.
1505
1506         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1507         UTF-2000.
1508         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1509         (char_table_description): Delete `mirror_table' in XEmacs
1510         UTF-2000.
1511         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1512         UTF-2000.
1513         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1514         (Fcopy_char_table): Likewise.
1515         (put_char_table): Don't call `update_syntax_table' in XEmacs
1516         UTF-2000.
1517
1518         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1519         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1520         (casify_region_internal): Likewise.
1521
1522         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1523
1524         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1525         `mirror_syntax_table' in XEmacs UTF-2000.
1526
1527         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1528         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1529         (Fexpand_abbrev): Likewise.
1530
1531 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1532
1533         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1534
1535 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1536
1537         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1538         (map_over_uint16_byte_table): Likewise.
1539         (map_over_byte_table): Likewise.
1540         (get_char_id_table): Refer `cit->default_value'.
1541         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1542         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1543         of character-id ranges.
1544         (mark_char_table): Mark `ct->default_value'.
1545         (char_table_description): Add `default_value'.
1546         (fill_char_table): Use `default_value'.
1547         (decode_char_table_range): Decode `nil' as
1548         `CHARTAB_RANGE_DEFAULT'.
1549         (get_char_id_table): Refer `cit->default_value'.
1550         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1551         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1552         temporary hack; check value of char-table is bound or not.
1553         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1554
1555         * chartab.h (struct Lisp_Char_Table): Add new member
1556         `default_value' in XEmacs UTF-2000.
1557         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1558         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1559         UTF-2000.
1560
1561 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1562
1563         * chartab.h (Lisp_Char_ID_Table): Deleted.
1564
1565         * chartab.c (char_table_description): Fix typo.
1566         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1567         `Lisp_Char_ID_Table'.
1568
1569 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1570
1571         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1572         `CHAR_ID_TABLE_P'.
1573
1574         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1575         `CHAR_ID_TABLE_P'.
1576
1577         * chartab.h (XCHAR_ID_TABLE): Deleted.
1578         (XSETCHAR_ID_TABLE): Deleted.
1579         (CHAR_ID_TABLE_P): Deleted.
1580
1581         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1582         `CHAR_ID_TABLE_P'.
1583         (Fget_composite_char): Likewise.
1584         (put_char_table): Likewise.
1585         (add_char_attribute_alist_mapper): Fixed.
1586         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1587         `CHAR_ID_TABLE_P'.
1588         (Fget_char_attribute): Likewise.
1589         (Fget_char_attribute): Likewise.
1590         (Fmap_char_attribute): Likewise.
1591
1592         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1593         `CHAR_ID_TABLE_P'.
1594         (encode_char_1): Likewise.
1595
1596 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1597
1598         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1599         `XCHAR_ID_TABLE'.
1600
1601         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1602         instead of `XCHAR_ID_TABLE'.
1603         (remove_char_ccs): Likewise.
1604
1605         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1606         `XCHAR_ID_TABLE'.
1607         (Fget_composite_char): Likewise.
1608         (Fchar_variants): Likewise.
1609         (put_char_table): Likewise.
1610         (add_char_attribute_alist_mapper): Likewise.
1611         (Fchar_attribute_alist): Likewise.
1612         (Fget_char_attribute): Likewise.
1613         (Fput_char_attribute): Likewise.
1614         (Fmap_char_attribute): Likewise.
1615         (Fmap_char_attribute): Likewise.
1616
1617         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1618         `XCHAR_ID_TABLE'.
1619         (encode_char_1): Likewise.
1620
1621 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1622
1623         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1624         `Lisp_Char_ID_Table'.
1625         (mark_char_id_table): Deleted.
1626         (print_char_id_table): Likewise.
1627         (char_id_table_equal): Likewise.
1628         (char_id_table_hash): Likewise.
1629         (char_id_table_description): Likewise.
1630         (char_id_table): Likewise.
1631         (make_char_id_table): Use `Fmake_char_table' and
1632         `fill_char_table'.
1633         (get_char_id_table): Use `Lisp_Char_Table' instead of
1634         `Lisp_Char_ID_Table'.
1635         (put_char_id_table): Likewise.
1636         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1637         `XCHAR_ID_TABLE'.
1638         (Fremove_char_attribute): Likewise.
1639         (syms_of_chartab): Don't define type `char-id-table'.
1640
1641         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1642         (char_id_table): Likewise.
1643         (GC_CHAR_ID_TABLE_P): Likewise.
1644         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1645         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1646         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1647         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1648         (get_char_id_table): Use `Lisp_Char_Table' instead of
1649         `Lisp_Char_ID_Table'.
1650         (put_char_id_table_0): Likewise.
1651         (put_char_id_table): Likewise.
1652
1653 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1654
1655         * chartab.h: Lisp_Byte_Table related codes are moved from
1656         chartab.h.
1657
1658         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1659
1660 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1661
1662         * chartab.h: Don't include "chartab.h".
1663         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1664         (Lisp_Char_ID_Table): Likewise.
1665         (char_id_table): Likewise.
1666         (XCHAR_ID_TABLE): Likewise.
1667         (XSETCHAR_ID_TABLE): Likewise.
1668         (CHAR_ID_TABLE_P): Likewise.
1669         (GC_CHAR_ID_TABLE_P): Likewise.
1670         (get_char_id_table): Likewise.
1671
1672         * char-ucs.h: Include "chartab.h".
1673         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1674         (Lisp_Char_ID_Table): Likewise.
1675         (char_id_table): Likewise.
1676         (XCHAR_ID_TABLE): Likewise.
1677         (XSETCHAR_ID_TABLE): Likewise.
1678         (CHAR_ID_TABLE_P): Likewise.
1679         (GC_CHAR_ID_TABLE_P): Likewise.
1680         (get_char_id_table): Likewise.
1681
1682 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1683
1684         * chartab.c (copy_uint8_byte_table): New function.
1685         (copy_uint16_byte_table): New function.
1686         (copy_byte_table): New function.
1687         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1688         characters to call.
1689         (map_over_uint16_byte_table): Likewise.
1690         (map_over_byte_table): Likewise.
1691         (get_byte_table): Move prototype to chartab.h.
1692         (put_byte_table): Likewise.
1693         (put_char_id_table_0): Moved to chartab.h.
1694         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1695         (char_table_entry_equal): Likewise.
1696         (char_table_entry_hash): Likewise.
1697         (char_table_entry_description): Likewise.
1698         (char_table_entry): Likewise.
1699         (make_char_table_entry): Likewise.
1700         (copy_char_table_entry): Likewise.
1701         (get_non_ascii_char_table_value): Likewise.
1702         (map_over_charset_ascii): Likewise.
1703         (map_over_charset_control_1): Likewise.
1704         (map_over_charset_row): Likewise.
1705         (map_over_other_charset): Likewise.
1706         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1707         (print_char_table): Likewise.
1708         (char_table_equal): Likewise.
1709         (char_table_hash): Likewise.
1710         (char_table_description): Likewise.
1711         (fill_char_table): Likewise.
1712         (Fcopy_char_table): Likewise.
1713         (get_char_table): Likewise.
1714         (Fget_range_char_table): Likewise.
1715         (put_char_table): Likewise.
1716         (map_char_table): Likewise.
1717         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1718         UTF-2000.
1719
1720 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1721
1722         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1723         `Vauto_fill_chars' in XEmacs UTF-2000.
1724
1725         * chartab.h (get_byte_table): New prototype [moved from
1726         chartab.c].
1727         (put_byte_table): Likewise [moved from chartab.c].
1728         (put_char_id_table_0): New inline function [moved from chartab.c].
1729         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1730         (Lisp_Char_Table_Entry): Likewise.
1731         (char_table_entry): Likewise.
1732         (XCHAR_TABLE_ENTRY): Likewise.
1733         (XSETCHAR_TABLE_ENTRY): Likewise.
1734         (CHAR_TABLE_ENTRYP): Likewise.
1735         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1736         (NUM_ASCII_CHARS): Likewise.
1737         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1738         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1739
1740 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1741
1742         * chartab.c (get_char_id_table): Change interface.
1743         (put_char_id_table_0): New function.
1744         (put_char_id_table): Change interface; new implementation.
1745         (Fget_composite_char): Modify for interface change of
1746         `get_char_id_table'.
1747         (Fchar_variants): Likewise.
1748         (add_char_attribute_alist_mapper): Likewise.
1749         (Fchar_attribute_alist): Likewise.
1750         (Fget_char_attribute): Likewise.
1751         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1752         as same as character as the first argument like `put-char-table';
1753         modify for interface change of `put_char_id_table'.
1754         (Fremove_char_attribute): Modify for interface change of
1755         `put_char_id_table'.
1756
1757 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1758
1759         * text-coding.c: Sync up with XEmacs 21.2.41.
1760         (COMPOSE_ADD_CHAR): Modify for interface change of
1761         `get_char_id_table'.
1762
1763         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1764         change of `put_char_id_table'.
1765         (remove_char_ccs): Likewise.
1766
1767         * chartab.h (put_char_id_table): Change interface.
1768
1769         * char-ucs.h (get_char_id_table): Change interface.
1770         (charset_code_point): Modify for interface change of
1771         `get_char_id_table'.
1772         (encode_char_1): Likewise.
1773
1774 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1775
1776         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1777         argument `ccs'.
1778         (map_over_uint16_byte_table): Likewise.
1779         (map_over_byte_table): Likewise.
1780         (map_char_id_table): Add new argument `range' like
1781         `map_char_table'.
1782         (Fmap_char_attribute): Add new argument `range' like
1783         `Fmap_char_table'.
1784
1785 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1786
1787         * chartab.c (map_over_uint8_byte_table): Change interface of
1788         mapping function to use struct chartab_range instead of Emchar.
1789         (map_over_uint16_byte_table): Likewise.
1790         (map_over_byte_table): Likewise.
1791         (map_char_id_table): Likewise.
1792         (struct slow_map_char_id_table_arg): Deleted.
1793         (slow_map_char_id_table_fun): Deleted.
1794         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1795         function `slow_map_char_table_fun' instead of struct
1796         `slow_map_char_id_table_arg' and function
1797         `slow_map_char_id_table_fun'.
1798
1799 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1800
1801         * mule-charset.c: Move char-it-table related codes to chartab.c.
1802         (Vutf_2000_version): Moved to chartab.c.
1803         (Fdefine_char): Likewise.
1804         (Ffind_char): Likewise.
1805         (syms_of_mule_charset): Move types `uint8-byte-table',
1806         `uint16-byte-table', `byte-table' and `char-id-table' to
1807         chartab.c; move functions `char_attribute_list,
1808         `find_char_attribute_table, `char_attribute_alist,
1809         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1810         `map_char_attribute, `define_char, `find_char, `char_variants and
1811         `get_composite_char to chartab.c; move symbols `=>ucs',
1812         `->decomposition', `compat', `isolated', `initial', `medial',
1813         `final', `vertical', `noBreak', `fraction', `super', `sub',
1814         `circle', `square', `wide', `narrow', `small' and `font' to
1815         chartab.c.
1816         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1817         setting codes for `Vcharacter_composition_table' and
1818         `Vcharacter_variant_table' to chartab.c.
1819         (complex_vars_of_mule_charset): Move setting code for
1820         `Vchar_attribute_hash_table' to chartab.c.
1821
1822         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1823         (make_char_id_table): New prototype.
1824         (put_char_id_table): Likewise.
1825         (Fget_char_attribute): Likewise.
1826
1827         * chartab.c: Move char-id-table related code from mule-charset.c.
1828         (Vutf_2000_version): Moved from mule-charset.c.
1829
1830         * char-ucs.h (Qucs): New external variable.
1831         (put_char_ccs_code_point): New prototype.
1832         (remove_char_ccs): Likewise.
1833
1834 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1835
1836         * mule-charset.c (Vcharset_ucs_jis): New variable.
1837         (Qucs_jis): Likewise.
1838         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1839         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1840
1841         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1842
1843 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1844
1845         * mule-charset.c (map_over_uint8_byte_table): New function.
1846         (map_over_uint16_byte_table): Likewise.
1847         (map_over_byte_table): Likewise.
1848         (map_char_id_table): Likewise.
1849         (slow_map_char_id_table_fun): Likewise.
1850         (Fmap_char_attribute): Likewise.
1851         (syms_of_mule_charset): Add new function `map-char-attribute'.
1852
1853 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1854
1855         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1856         (syms_of_mule_charset): Add new function `find-char'.
1857
1858 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1859
1860         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1861         XEmacs UTF-2000.
1862         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1863         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1864         XEmacs UTF-2000.
1865         (complex_vars_of_mule_charset): Add new coded-charset
1866         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1867         `ideograph-gt-pj-*'.
1868
1869         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1870
1871 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1872
1873         * mule-charset.c (encode_builtin_char_1): Purge codes about
1874         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1875         {MIN|MAX}_CHAR_HEBREW.
1876         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1877         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1878
1879         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1880         (MAX_CHAR_GREEK): Purged.
1881         (MIN_CHAR_CYRILLIC): Purged.
1882         (MAX_CHAR_CYRILLIC): Purged.
1883         (MIN_CHAR_HEBREW): Commented out.
1884         (MAX_CHAR_HEBREW): Likewise.
1885
1886 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1887
1888         * mule-charset.c (Qto_ucs): New variable.
1889         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1890         (Fdefine_char): Likewise.
1891         (syms_of_mule_charset): Add new symbol `=>ucs'.
1892
1893 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1894
1895         * mule-charset.c (Fdecode_char): Fixed.
1896
1897 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1898
1899         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1900         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1901         "tcvn5712-1".
1902
1903 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1904
1905         * mule-charset.c (Vcharset_ucs_big5): New variable.
1906         (Qucs_big5): Likewise.
1907         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1908         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1909
1910         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1911
1912 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1913
1914         * mule-charset.c (decode_builtin_char): Check Big5 code range
1915         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1916
1917 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1918
1919         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1920         (Qchinese_gb12345): Likewise.
1921         (Fdecode_builtin_char): Fixed.
1922         (syms_of_mule_charset): Add `chinese-gb12345'.
1923         (complex_vars_of_mule_charset): Add coded-charset
1924         `chinese-gb12345'.
1925
1926         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1927         (LEADING_BYTE_CHINESE_GB12345): New macro.
1928
1929 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1930
1931         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1932         and `latin-viscii-upper' for `latin-viscii'.
1933
1934 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1935
1936         * mule-charset.c (Fdecode_builtin_char): Comment out
1937         regularization code for ISO-IR GR representation.
1938
1939 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1940
1941         * mule-charset.c (decode_builtin_char): New function; renamed from
1942         `make_builtin_char'; return -1 instead of signal.
1943         (Fdecode_builtin_char): Use `decode_builtin_char'.
1944
1945         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1946         `make_builtin_char'.
1947         (DECODE_CHAR): Use `decode_builtin_char' instead of
1948         `make_builtin_char'; use mapping table of `chinese-big5' for
1949         `chinese-big5-{1,2}'.
1950
1951 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1952
1953         * text-coding.c (char_encode_big5): New function.
1954         (char_finish_big5): Likewise.
1955         (reset_encoding_stream): Use `char_encode_big5' and
1956         `char_finish_big5' for CODESYS_BIG5.
1957         (mule_encode): Don't use `encode_coding_big5'.
1958         (encode_coding_big5): Deleted.
1959
1960 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1961
1962         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1963         0x81- in XEmacs UTF-2000.
1964         (detect_coding_big5): Likewise.
1965
1966 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1967
1968         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1969         generate character-id if the CCS property does not have
1970         corresponding predefined character.
1971         (make_builtin_char): Return -1 if corresponding predefined
1972         character is not found.
1973         (Fdecode_char): Return nil if corresponding character is not
1974         found.
1975         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1976         don't map to builtin ucs space.
1977
1978 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1979
1980         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1981         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1982
1983 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1984
1985         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1986         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1987         (Qideograph_gt): Likewise.
1988         (Qideograph_gt_pj_{1..11}): Likewise.
1989         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1990         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1991         `ideograph-gt-pj-11'.
1992         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1993         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1994         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1995
1996         * char-ucs.h (LEADING_BYTE_GT): New macro.
1997         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1998         (MIN_CHAR_GT): Likewise.
1999         (MAX_CHAR_GT): Likewise.
2000
2001 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2002
2003         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2004         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2005
2006         * doprnt.c (unsigned_int_converters): Add `c'.
2007         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2008
2009         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2010         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2011         `MIN_CHAR_MOJIKYO'.
2012         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2013         (MAX_CHAR_MOJIKYO_0): New macro.
2014         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2015
2016 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2017
2018         * mule-charset.c (Fdefine_char): Delete cemented out code.
2019         (encode_builtin_char_1): Modify for new allocation of builtin
2020         Mojikyo characters.
2021
2022         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2023
2024 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2025
2026         * mule-charset.c (Vcharset_ucs_cns): New variable.
2027         (Qucs_cns): New variable.
2028         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2029         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2030
2031 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2032
2033         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2034
2035 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2036
2037         * search.c (search_buffer): Make `charset_base_code' as
2038         character-id >> 6 to eliminate the corresponding last byte in
2039         UTF-8 representation [I'm not sure it is right thing].
2040         (boyer_moore): Likewise.
2041
2042 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2043
2044         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2045         representation in MULE.
2046
2047 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2048
2049         * text-coding.c (Fmake_coding_system): Use
2050         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2051         `EXTERNAL_PROPERTY_LIST_LOOP'.
2052
2053 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2054
2055         * text-coding.c (decode_output_utf8_partial_char): New function.
2056         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2057
2058 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2059
2060         * text-coding.c (decode_coding_utf8): Output original byte
2061         sequence if it is broken; change order of conditions.
2062
2063         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2064         of conditions.
2065
2066         * mb-multibyte.h (BYTE_ASCII_P):
2067         Use bit ops for char-signedness safety.
2068         (BYTE_C0_P): Use bit ops for char-signedness safety.
2069         (BYTE_C1_P): Use bit ops for char-signedness safety.
2070
2071         * character.h: (XCHAR_OR_CHAR_INT):
2072         Always use inline function.
2073         Remove redundant type checking assert() - XINT will abort quite
2074         nicely.
2075
2076 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2077
2078         * text-coding.c: (Fencode_shift_jis_char):
2079         (Fencode_big5_char):
2080         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2081         Replace 0 with '\0' when working with bytes.
2082         Replace initial "(" with "\(" in docstrings.
2083
2084         (Fmake_coding_system):
2085         When type is ccl and value is vector, register it with a proper
2086         symbol.  And checks whether the given ccl program is valid.
2087         (mule_decode): When calling ccl_driver, if src indicates
2088         NULL pointer, set an empty string instead.
2089         (mule_encode): Likewise.
2090
2091         (detect_eol_type):
2092         (detect_coding_sjis):
2093         (decode_coding_sjis):
2094         (detect_coding_big5):
2095         (decode_coding_big5):
2096         (detect_coding_ucs4):
2097         (decode_coding_ucs4):
2098         (detect_coding_utf8):
2099         (decode_coding_utf8):
2100         (detect_coding_iso2022):
2101         (decode_coding_iso2022):
2102         (decode_coding_no_conversion):
2103         (mule_decode):
2104         Make all detecting and decoding functions take an Extbyte * arg.
2105         (text_encode_generic):
2106         (encode_coding_big5):
2107         (encode_coding_no_conversion):
2108         (mule_encode):
2109         Make all encoding functions take a Bufbyte * arg.
2110         Use size_t instead of unsigned int for memory sizes.
2111         Only cast to unsigned char whenever dereferencing Extbyte *.
2112
2113         (struct lrecord_description fcd_description_1): Use countof.
2114         (complex_vars_of_file_coding):
2115         Use countof instead of sizeof.
2116         Use CHECK_NATNUM instead of CHECK_INT.
2117
2118 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2119
2120         * mule-charset.c (Fget_char_attribute): Add new optional argument
2121         `default-value'.
2122         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2123         (remove_char_ccs): Likewise.
2124
2125 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2126
2127         * text-coding.c (char_encode_shift_jis): New implementation in
2128         UTF-2000.
2129         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2130         ...)'.
2131
2132         * mule-charset.c (Vcharset_chinese_big5): New variable in
2133         UTF-2000.
2134         (Qchinese_big5): New variable in UTF-2000.
2135         (BIG5_SAME_ROW): New macro in UTF-2000.
2136         (make_builtin_char): Use builtin characters of
2137         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2138         characters of `Vcharset_chinese_big5'.
2139         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2140         (complex_vars_of_mule_charset): Add new coded-charset
2141         `chinese-big5' in UTF-2000.
2142
2143         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2144         (Vcharset_chinese_big5): New external variable declaration.
2145         (Vcharset_japanese_jisx0208_1990): Likewise.
2146
2147 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2148
2149         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2150         function.
2151         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2152
2153 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2154
2155         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2156         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2157         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2158         `mojikyo-pj-*'.
2159
2160 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2161
2162         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2163
2164 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2165
2166         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2167         to 0.17.
2168
2169 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2170
2171         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2172         for `CHARSET_BY_ATTRIBUTES'.
2173         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2174         `CHARSET_BY_ATTRIBUTES'.
2175
2176         * text-coding.c (struct decoding_stream): Rename member `CH' to
2177         `CPOS'.
2178         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2179         (decode_coding_sjis): Likewise.
2180         (decode_coding_big5): Likewise.
2181         (decode_coding_ucs4): Likewise.
2182         (decode_coding_utf8): Likewise.
2183         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2184         `CHARSET_BY_ATTRIBUTES'.
2185         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2186         `str->counter'; decode 3, 4 bytes sets.
2187         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2188         sets.
2189         (decode_coding_no_conversion): Use `str->cpos' instead of
2190         `str->ch'.
2191
2192         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2193         (Qmojikyo_2022_1): New variable.
2194         (make_charset): Don't use `CHARSET_TYPE_*'.
2195         (range_charset_code_point): Support coded-charset
2196         `mojikyo-2022-1'.
2197         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2198         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2199         `CHARSET_BY_ATTRIBUTES'.
2200         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2201         `CHARSET_BY_ATTRIBUTES'.
2202         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2203         (complex_vars_of_mule_charset): Add new coded-charset
2204         `mojikyo-2022-1'.
2205
2206         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2207         interface; changed to inline function.
2208
2209         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2210         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2211         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2212         (CHARSET_TYPE_94): Deleted.
2213         (CHARSET_TYPE_94X94): Deleted.
2214         (CHARSET_TYPE_96): Deleted.
2215         (CHARSET_TYPE_96X96): Deleted.
2216         (CHARSET_TYPE_128): Deleted.
2217         (CHARSET_TYPE_128X128): Deleted.
2218         (CHARSET_TYPE_256): Deleted.
2219         (CHARSET_TYPE_256X256): Deleted.
2220         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2221         to inline function.
2222         (DECODE_MOJIKYO_2022): New inline function.
2223         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2224         `Vcharset_mojikyo_2022_1'.
2225
2226 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2227
2228         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2229         instead of `EQ'.
2230         (put_byte_table): Likewise.
2231         (char_id_table_equal): Use `get_byte_table' [new implementation].
2232
2233 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2234
2235         * mule-charset.c: Include <limits.h> in UTF-2000.
2236         (BT_UINT8_MIN): New macro in UTF-2000.
2237         (BT_UINT8_MAX): New macro in UTF-2000.
2238         (BT_UINT8_t): New macro in UTF-2000.
2239         (BT_UINT8_nil): New macro in UTF-2000.
2240         (BT_UINT8_unbound): New macro in UTF-2000.
2241         (INT_UINT8_P): New inline function in UTF-2000.
2242         (UINT8_VALUE_P): New inline function in UTF-2000.
2243         (UINT8_ENCODE): New inline function in UTF-2000.
2244         (UINT8_DECODE): New inline function in UTF-2000.
2245         (mark_uint8_byte_table): New function in UTF-2000.
2246         (print_uint8_byte_table): New function in UTF-2000.
2247         (uint8_byte_table_equal): New function in UTF-2000.
2248         (uint8_byte_table_hash): New function in UTF-2000.
2249         (make_uint8_byte_table): New function in UTF-2000.
2250         (uint8_byte_table_same_value_p): New function in UTF-2000.
2251         (BT_UINT16_MIN): New macro in UTF-2000.
2252         (BT_UINT16_MAX): New macro in UTF-2000.
2253         (BT_UINT16_t): New macro in UTF-2000.
2254         (BT_UINT16_nil): New macro in UTF-2000.
2255         (BT_UINT16_unbound): New macro in UTF-2000.
2256         (INT_UINT16_P): New inline function in UTF-2000.
2257         (UINT16_VALUE_P): New inline function in UTF-2000.
2258         (UINT16_ENCODE): New inline function in UTF-2000.
2259         (UINT16_DECODE): New inline function in UTF-2000.
2260         (UINT8_TO_UINT16): New inline function in UTF-2000.
2261         (mark_uint16_byte_table): New function in UTF-2000.
2262         (print_uint16_byte_table): New function in UTF-2000.
2263         (uint16_byte_table_equal): New function in UTF-2000.
2264         (uint16_byte_table_hash): New function in UTF-2000.
2265         (make_uint16_byte_table): New function in UTF-2000.
2266         (uint16_byte_table_same_value_p): New function in UTF-2000.
2267         (print_byte_table): New function in UTF-2000.
2268         (byte-table): Use `print_byte_table' as printer.
2269         (make_byte_table): Delete second argument `older'.
2270         (byte_table_same_value_p): New function in UTF-2000.
2271         (copy_byte_table): Deleted.
2272         (get_byte_table): New function in UTF-2000.
2273         (put_byte_table): New function in UTF-2000.
2274         (print_char_id_table): New function in UTF-2000.
2275         (char-id-table): Use `print_char_id_table' as printer.
2276         (make_char_id_table): Delete second argument `older'.
2277         (get_char_id_table): Use `get_byte_table [new implementation].
2278         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2279         implementation].
2280         (Ffind_char_attribute_table): New function in UTF-2000.
2281         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2282         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2283         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2284         (syms_of_mule_charset): Add new function
2285         `find-char-attribute-table' in UTF-2000.
2286
2287         * lrecord.h (enum lrecord_type): Add
2288         `lrecord_type_uint16_byte_table' and
2289         `lrecord_type_uint8_byte_table'.
2290
2291         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2292         (Lisp_Uint8_Byte_Table): New type.
2293         (XUINT8_BYTE_TABLE): New macro.
2294         (XSETUINT8_BYTE_TABLE): New macro.
2295         (UINT8_BYTE_TABLE_P): New macro.
2296         (GC_UINT8_BYTE_TABLE_P): New macro.
2297         (struct Lisp_Uint16_Byte_Table): New structure.
2298         (Lisp_Uint16_Byte_Table): New type.
2299         (XUINT16_BYTE_TABLE): New macro.
2300         (XSETUINT16_BYTE_TABLE): New macro.
2301         (UINT16_BYTE_TABLE_P): New macro.
2302         (GC_UINT16_BYTE_TABLE_P): New macro.
2303
2304 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2305
2306         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2307         (Vcharacter_ideographic_strokes_table): Deleted.
2308         (Vcharacter_total_strokes_table): Deleted.
2309         (Vcharacter_morohashi_daikanwa_table): Deleted.
2310         (Vcharacter_decomposition_table): Deleted.
2311         (Qname): Deleted because it is duplicated.
2312         (Qideographic_radical): Deleted.
2313         (Qideographic_strokes): Deleted.
2314         (Qtotal_strokes): Deleted.
2315         (Qmorohashi_daikanwa): Deleted.
2316         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2317         `ideographic-radical', `ideographic-strokes', `total-strokes',
2318         `morohashi-daikanwa' and `->decomposition'.
2319         (Fget_char_attribute): Likewise.
2320         (Fput_char_attribute): Likewise; use `make-vector' instead of
2321         `make_older_vector' for `->decomposition' value.
2322         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2323         `ideograph-daikanwa'.
2324         (syms_of_mule_charset): Delete builtin symbols `name',
2325         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2326         `morohashi-daikanwa'.
2327         (vars_of_mule_charset): Don't setup
2328         `Vcharacter_ideographic_radical_table',
2329         `Vcharacter_ideographic_strokes_table',
2330         `Vcharacter_total_strokes_table',
2331         `Vcharacter_morohashi_daikanwa_table' and
2332         `Vcharacter_decomposition_table'.
2333
2334 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2335
2336         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2337         `make_older_vector', `make_vector_newer_1' and
2338         `make_vector_newer'.
2339
2340         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2341         `make_older_vector' and `make_vector_newer'.
2342
2343         * config.h.in (HAVE_GGC): New macro.
2344
2345 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2346
2347         * mule-charset.c (struct char_attribute_list_closure): New
2348         structure in UTF-2000.
2349         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2350         (Fchar_attribute_list): Likewise.
2351         (Fset_charset_mapping_table): Use `make_vector_newer'.
2352         (Fdecode_builtin_char): New function in UTF-2000.
2353         (syms_of_mule_charset): Add new function `char-attribute-list' and
2354         `decode-builtin-char' in UTF-2000.
2355
2356         * lisp.h (make_vector_newer): New prototype.
2357
2358         * alloc.c (make_vector_newer_1): New function.
2359         (make_vector_newer): New function.
2360
2361 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2362
2363         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2364         50100)'.
2365
2366 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2367
2368         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2369         (Vcharacter_attribute_table): Deleted.
2370         (Vcharacter_name_table): Deleted.
2371         (put_char_attribute): Deleted.
2372         (remove_char_attribute): Deleted.
2373         (struct char_attribute_alist_closure): New structure.
2374         (add_char_attribute_alist_mapper): New function.
2375         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2376         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2377         (Fget_char_attribute): Likewise.
2378         (Fput_char_attribute): Likewise.
2379         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2380         of `remove_char_attribute'.
2381         (Fdefine_char): Return character.
2382         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2383         and `Vcharacter_name_table'.
2384         (complex_vars_of_mule_charset): Likewise
2385         `Vchar_attribute_hash_table'.
2386
2387 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2388
2389         * character.h (CHARC_CHARSET): New macro.
2390         (CHARC_CHARSET_ID): New macro.
2391         (CHARC_CODE_POINT): New macro.
2392         (CHARC_COLUMNS): New macro.
2393         (CHARC_TO_CHAR): New inline function.
2394         (CHARC_EQ): New inline function.
2395         (CHARC_ASCII_EQ): New inline function.
2396         (CHARC_IS_SPACE): New inline function.
2397         (ASCII_TO_CHARC): New inline function.
2398
2399         * char-ucs.h (encode_char_2): Deleted.
2400         (ENCODE_CHAR): Use `encode_char_1' again.
2401         (breakup_char_1): Likewise.
2402         (CHAR_TO_CHARC): New inline function.
2403
2404         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2405
2406 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2407
2408         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2409         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2410         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2411         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2412         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2413         `CHARC_IS_SPACE'.
2414         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2415
2416         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2417         `CHARC_CODE_POINT'.
2418         (x_output_display_block): Use `CHARC_CHARSET' and
2419         `CHARC_ASCII_EQ'.
2420
2421         * redisplay-tty.c (tty_output_display_block): Use
2422         `CHARC_ASCII_EQ'.
2423         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2424
2425         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2426
2427         * insdel.c (find_charsets_in_charc_string): Use
2428         `CHARC_CHARSET_ID'.
2429         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2430         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2431         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2432         (convert_charc_string_into_malloced_string): Likewise.
2433
2434 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2435
2436         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2437         instead of <Emchar_dynarr *> for buf; use
2438         `convert_bufbyte_string_into_charc_dynarr' instead of
2439         `convert_bufbyte_string_into_emchar_dynarr'; use
2440         `find_charsets_in_charc_string' instead of
2441         `find_charsets_in_emchar_string'.
2442
2443         * redisplay.h:
2444         - Include "character.h".
2445         (struct rune): New member `cglyph'; delete member `chr'.
2446
2447         * redisplay.c (redisplay_text_width_charc_string): New function;
2448         delete `redisplay_text_width_emchar_string'.
2449         (rtw_charc_dynarr): New variable; renamed from
2450         `rtw_emchar_dynarr'.
2451         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2452         `rtw_emchar_dynarr'; use
2453         `convert_bufbyte_string_into_charc_dynarr' instead of
2454         `convert_bufbyte_string_into_emchar_dynarr'; use
2455         `redisplay_text_width_charc_string' instead of
2456         `redisplay_text_width_emchar_string'.
2457         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2458         instead of `rtw_emchar_dynarr'; use
2459         `convert_bufbyte_string_into_charc_dynarr' instead of
2460         `convert_bufbyte_string_into_emchar_dynarr'.
2461         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2462         `redisplay_text_width_charc_string' instead of
2463         `redisplay_text_width_emchar_string'.
2464         (create_text_block): Modify for <struct rune> change.
2465         (generate_formatted_string_db): Likewise.
2466         (create_string_text_block): Likewise.
2467         (pixel_to_glyph_translation): Likewise.
2468
2469         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2470         instead of <const Emchar *>.
2471         (x_text_width): Likewise.
2472         (x_output_display_block): Use <Charc_dynarr *> instead
2473         <Emchar_dynarr *>; modify for <structure rune> change.
2474         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2475         *>.
2476
2477         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2478         <const Emchar *>; use `charc_string_displayed_columns' instead of
2479         `emchar_string_displayed_columns'.
2480         (tty_output_display_block): Use <Charc_dynarr *> instead of
2481         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2482         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2483         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2484         `tty_output_emchar_dynarr_dynarr'.
2485         (tty_output_charc_dynarr): New function; delete
2486         `tty_output_charc_dynarr'.
2487
2488         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2489         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2490         <Emchar_dynarr *> for buf; use
2491         `convert_bufbyte_string_into_charc_dynarr' instead of
2492         `convert_bufbyte_string_into_emchar_dynarr'.
2493
2494         * frame.c (title_string_charc_dynarr): New variable; renamed from
2495         `title_string_emchar_dynarr'.
2496         (generate_title_string): Use `title_string_charc_dynarr' instead
2497         of `title_string_emchar_dynarr'; use
2498         `convert_charc_string_into_malloced_string' instead of
2499         `convert_emchar_string_into_malloced_string'.
2500         (init_frame): Use `title_string_charc_dynarr' instead of
2501         `title_string_emchar_dynarr'.
2502
2503         * console.h:
2504         - Include "character.h".
2505         (struct console_methods): Use <const Charc *> instead of <const
2506         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2507         <Emchar_dynarr *> in output_string_method.
2508
2509         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2510         <Emchar_dynarr *>.
2511
2512         * console-stream.c (stream_text_width): Use <const Charc *>
2513         instead of <const Emchar *>.
2514
2515         * character.h (Charc_dynarr): New type.
2516
2517         * char-ucs.h (structure Charc): New structure; define new type
2518         `Charc'.
2519
2520         * char-lb.h (DECODE_CHAR): New inline function.
2521         (encode_char_1): New inline function.
2522         (ENCODE_CHAR): New macro.
2523         (structure Charc): New structure; define new type `Charc'.
2524
2525         * char-1byte.h (Vcharset_control_1): New macro.
2526         (Vcharset_latin_iso8859_1): New macro.
2527         (DECODE_CHAR): New inline function.
2528         (encode_char_1): New inline function.
2529         (ENCODE_CHAR): New macro.
2530         (structure Charc): New structure; define new type `Charc'.
2531
2532         * insdel.c (find_charsets_in_charc_string): New function; delete
2533         `find_charsets_in_emchar_string'.
2534         (charc_string_displayed_columns): New function; delete
2535         `emchar_string_displayed_columns'.
2536         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2537         `convert_bufbyte_string_into_emchar_dynarr'.
2538         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2539         `convert_charc_string_into_bufbyte_dynarr'.
2540         (convert_charc_string_into_malloced_string): New function; delete
2541         `convert_charc_string_into_malloced_string'.
2542
2543         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2544         `find_charsets_in_emchar_string'.
2545         (charc_string_displayed_columns): New prototype; delete
2546         `emchar_string_displayed_columns'.
2547         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2548         `convert_charc_string_into_bufbyte_dynarr'.
2549         (convert_charc_string_into_malloced_string): New prototype; delete
2550         `convert_charc_string_into_malloced_string'.
2551
2552 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2553
2554         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2555
2556 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2557
2558         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2559
2560         * char-ucs.h: Use <short> for <Charset_ID>.
2561
2562         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2563         <Charset_ID>.
2564
2565 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2566
2567         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2568         to 0.16.
2569
2570 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2571
2572         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2573         variable.
2574         (Qmorohashi_daikanwa): New variable.
2575         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2576         for `morohashi-daikanwa' attribute.
2577         (Fget_char_attribute): Likewise.
2578         (Fput_char_attribute): Likewise.
2579         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2580         has the same value of `ideograph-daikanwa'.
2581         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2582         (vars_of_mule_charset): Setup
2583         `Vcharacter_morohashi_daikanwa_table'.
2584
2585 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2586
2587         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2588         attributes.
2589         (add_charset_to_list_mapper): Add `key' instead of
2590         `XCHARSET_NAME (value)' to return aliases.
2591
2592 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2593
2594         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2595         variable.
2596         (Vcharacter_ideographic_strokes_table): New variable.
2597         (Qideographic_radical): New variable.
2598         (Qideographic_strokes): New variable.
2599         (Fchar_attribute_alist): Use
2600         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2601         attribute; use `Vcharacter_ideographic_strokes_table' for
2602         `ideographic-strokes' attribute.
2603         (Fget_char_attribute): Likewise.
2604         (Fput_char_attribute): Likewise.
2605         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2606         `ideographic-strokes'.
2607         (vars_of_mule_charset): Setup
2608         `Vcharacter_ideographic_radical_table' and
2609         `Vcharacter_ideographic_strokes_table'.
2610
2611 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2612
2613         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2614         (Qtotal_strokes): New variable.
2615         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2616         `total-strokes' attribute.
2617         (Fget_char_attribute): Likewise.
2618         (Fput_char_attribute): Likewise.
2619         (syms_of_mule_charset): Add new symbol `total-strokes'.
2620         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2621
2622 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2623
2624         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2625         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2626         are found.
2627         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2628         `->decomposition' attribute.
2629         (Fput_char_attribute): Likewise.
2630         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2631
2632 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2633
2634         * mule-charset.c (decoding_table_check_elements): New function.
2635         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2636
2637 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2638
2639         * mule-charset.c (Fset_charset_mapping_table): Use
2640         `put_char_ccs_code_point'.
2641
2642 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2643
2644         * mule-charset.c (decoding_table_put_char): New inline function.
2645         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2646
2647 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2648
2649         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2650         (XCHARSET_BYTE_SIZE): New macro.
2651         (decoding_table_remove_char): New inline function.
2652         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2653         `decoding_table_remove_char'.
2654         (remove_char_ccs): Use `decoding_table_remove_char'.
2655         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2656
2657 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2658
2659         * mule-charset.c (Vcharacter_name_table): New variable.
2660         (Qname): New variable.
2661         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2662         attribute.
2663         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2664         `Vcharacter_name_table' for `name' attribute.
2665         (Fremove_char_attribute): Use function `remove_char_ccs'.
2666         (put_char_ccs_code_point): New function.
2667         (remove_char_ccs): New function.
2668         (syms_of_mule_charset): Add new symbol `name'.
2669         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2670
2671 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2672
2673         * mule-charset.c (make_byte_table): Add new argument `older'.
2674         (make_char_id_table): Likewise.
2675         (copy_char_id_table): Comment out because it is not used.
2676         (put_char_id_table): Modify for `make_byte_table'.
2677         (Fput_char_attribute): Make encoding_table as older object;
2678         inherit older bit of `Vcharacter_composition_table'.
2679         (mark_charset): Don't mark `cs->encoding_table'.
2680         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2681         normal object; make `Vcharacter_composition_table' as an older
2682         object; delete staticpro for `Vcharacter_composition_table'; make
2683         `Vcharacter_variant_table' as a normal object.
2684
2685         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2686         (mark_object): Don't check older object in UTF-2000.
2687
2688         * lrecord.h (struct lrecord_header): Add new member `older' in
2689         UTF-2000.
2690         (set_lheader_implementation): Setup `SLI_header->older' in
2691         UTF-2000.
2692         (set_lheader_older_implementation): New macro in UTF-2000.
2693         (OLDER_RECORD_P): New macro in UTF-2000.
2694         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2695         (alloc_older_lcrecord): New prototype in UTF-2000.
2696         (alloc_older_lcrecord_type): New macro in UTF-2000.
2697
2698 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2699
2700         * mule-charset.c (byte_table_description): Use
2701         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2702         (char_id_table_description): Delete bogus `, 1'.
2703         (Fget_char_attribute): Refer encoding_table of each coded-charset
2704         to get value of coded-charset attribute of a character.
2705         (Fput_char_attribute): Use `make_older_vector' instead of
2706         `make_vector'; use encoding_table of each coded-charset to store
2707         value of coded-charset attribute of a character.
2708         (Fremove_char_attribute): Use encoding_table of each coded-charset
2709         to store value of coded-charset attribute of a character.
2710         (mark_charset): Mark `cs->encoding_table'; don't mark
2711         `cs->decoding_table'.
2712         (charset_description): Add description of new member
2713         `encoding_table'.
2714         (make_charset): Initialize `encoding_table'.
2715
2716         * char-ucs.h (struct Lisp_Charset): Add new member
2717         `encoding_table'.
2718         (CHARSET_ENCODING_TABLE): New macro.
2719         (XCHARSET_ENCODING_TABLE): New macro.
2720         (charset_code_point): New implementation.
2721         (encode_char_1): Likewise.
2722
2723         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2724         (disksave_object_finalization_1): Call finalizers of
2725         `all_older_lcrecords' in UTF-2000.
2726         (make_older_vector): New function in UTF-2000.
2727         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2728         UTF-2000.
2729
2730         * lisp.h (make_older_vector): New prototype in UTF-2000.
2731
2732 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2733
2734         * lrecord.h (enum lrecord_type): Rename
2735         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2736
2737         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2738         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2739         `get_char_code_table'.
2740
2741         * mule-charset.c (mark_char_id_table): Renamed from
2742         `mark_char_code_table'.
2743         (char_id_table_equal): Renamed from `char_code_table_equal'.
2744         (char_id_table_hash): Renamed from `char_code_table_hash'.
2745         (make_char_id_table): Renamed from `make_char_code_table'.
2746         (copy_char_id_table): Renamed from `copy_char_code_table'.
2747         (get_char_id_table): Renamed from `get_char_code_table'.
2748         (put_char_id_table): Renamed from `put_char_code_table'.
2749         (to_char_id): Renamed from `to_char_code'.
2750
2751         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2752         `Lisp_Char_Code_Table'.
2753         (char_id_table): Renamed from `char_code_table'.
2754         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2755         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2756         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2757         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2758         (get_char_id_table): Renamed from `get_char_code_table'.
2759
2760 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2761
2762         * lrecord.h (enum lrecord_type): Rename
2763         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2764
2765         * mule-charset.c (mark_byte_table): Renamed from
2766         `mark_char_byte_table'.
2767         (byte_table_equal): Renamed from `char_byte_table_equal'.
2768         (byte_table_hash): Renamed from `byte_table_hash'.
2769         (make_byte_table): Renamed from `make_byte_table'.
2770         (copy_byte_table): Renamed from `copy_char_byte_table'.
2771
2772         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2773         `Lisp_Char_Byte_Table'.
2774         (byte_table): Renamed from `char_byte_table'.
2775         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2776         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2777         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2778         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2779
2780 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2781
2782         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2783         (dfc_convert_to_internal_format): Likewise.
2784         
2785         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2786         * text-coding.c (Fcoding_system_alias_p): New function.
2787         * text-coding.c (Fcoding_system_aliasee): New function.
2788         * text-coding.c (append_suffix_to_symbol): New function.
2789         * text-coding.c (dangling_coding_system_alias_p): New function.
2790         * text-coding.c (Ffind_coding_system):
2791         * text-coding.c (Fcopy_coding_system):
2792         * text-coding.c (encode_coding_no_conversion):
2793         * text-coding.c (syms_of_file_coding):
2794         * text-coding.c (vars_of_file_coding):
2795         Rewrite coding system alias code.
2796         Allow nested aliases, like symbolic links.
2797         Allow redefinition of coding system aliases.
2798         Prevent existence of dangling coding system aliases.
2799         Eliminate convert_to_external_format.
2800         Eliminate convert_to_internal_format.
2801         
2802         * text-coding.c: Change enum eol_type to eol_type_t.
2803
2804 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2805
2806         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2807         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2808
2809         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2810         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2811
2812 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2813
2814         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2815         `ideograph-daikanwa'.
2816
2817         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2818         (Vcharset_ucs_bmp): Likewise.
2819         (Vcharset_mojikyo): Add new extern variable definition.
2820         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2821         (Vcharset_latin_iso8859_3): Likewise.
2822         (Vcharset_latin_iso8859_4): Likewise.
2823         (Vcharset_latin_iso8859_9): Likewise.
2824         (Vcharset_latin_viscii_lower): Likewise.
2825         (Vcharset_latin_viscii_upper): Likewise.
2826         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2827         `mojikyo' code-point is used to decode.
2828         (encode_char_2): New function [to convert `mojikyo' code-point to
2829         Mojikyo font encoding].
2830         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2831         (breakup_char_1): Likewise.
2832         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2833
2834 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2835
2836         * text-coding.c (Fmake_coding_system): Add document about
2837         `disable-composition' property.
2838
2839 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2840
2841         * text-coding.c (Qdisable_composition): New variable; delete
2842         `Qcomposite'.
2843         (Fmake_coding_system): Add new property `disable-composite';
2844         delete property `composite'.
2845         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2846         instead of `!CODING_SYSTEM_COMPOSITE'.
2847         (syms_of_file_coding): Add new symbol `disable-composition';
2848         delete symbol `composite'.
2849
2850         * file-coding.h (struct Lisp_Coding_System): Add
2851         `disable_composition'; delete `enable_composition'.
2852         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2853         `CODING_SYSTEM_COMPOSITE'.
2854         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2855         `XCODING_SYSTEM_COMPOSITE'.
2856
2857 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2858
2859         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2860         to 0.15.
2861
2862 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2863
2864         * text-coding.c (Qcomposite): New variable.
2865         (Fmake_coding_system): Add new property `composite'.
2866         (struct decoding_stream): Add `combined_char_count',
2867         `combined_chars' and `combining_table' in UTF-2000.
2868         (COMPOSE_FLUSH_CHARS): New macro.
2869         (COMPOSE_ADD_CHAR): New macro.
2870         (reset_decoding_stream): Reset `str->combined_char_count' and
2871         `str->combining_table' in UTF-2000.
2872         (decode_coding_iso2022): Modify for character-decomposition.
2873         (syms_of_file_coding): Add new symbol `composite'.
2874
2875 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2876
2877         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2878         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2879         of `Vcharacter_composition_table' if `->decomposition' property
2880         has only 1 element.
2881         (Qlatin_tcvn5712): New variable.
2882         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2883         (complex_vars_of_mule_charset): Add new coded-charset
2884         `latin-tcvn5712'.
2885
2886         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2887
2888 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2889
2890         * file-coding.h (struct Lisp_Coding_System): Add
2891         `enable_composition'.
2892         (CODING_SYSTEM_COMPOSITE): New macro.
2893         (XCODING_SYSTEM_COMPOSITE): New macro.
2894
2895 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2896
2897         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2898
2899 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2900
2901         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2902         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2903
2904 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2905
2906         * mule-charset.c (Vcharset_mojikyo): New variable.
2907         (Fdefine_char): Don't use coded-charset which does not have
2908         non-builtin character range to allocate character-id.
2909         (Qmojikyo): New variable.
2910         (syms_of_mule_charset): Add new symbol `mojikyo'.
2911         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2912
2913         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2914         (LEADING_BYTE_MOJIKYO): New macro.
2915         (MIN_CHAR_MOJIKYO): New macro.
2916         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2917         (MAX_CHAR_MOJIKYO): New macro.
2918
2919 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2920
2921         * mule-charset.c (remove_char_attribute): Fixed.
2922
2923 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2924
2925         * mule-charset.c (remove_char_attribute): New function.
2926         (Fremove_char_attribute): New function.
2927         (encode_builtin_char_1): Comment out builtin-support for
2928         greek-iso8859-7 and cyrillic-iso8859-5.
2929         (Fdecode_char): Check `code' is an integer.
2930         (syms_of_mule_charset): Add `remove-char-attribute'.
2931         (MIN_CHAR_GREEK): Deleted.
2932         (MAX_CHAR_GREEK): Likewise.
2933         (MIN_CHAR_CYRILLIC): Likewise.
2934         (MAX_CHAR_CYRILLIC): Likewise.
2935         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2936         MAX_CHAR_GREEK for `greek-iso8859-7'.
2937
2938         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2939         (MAX_CHAR_GREEK): Likewise.
2940         (MIN_CHAR_CYRILLIC): Likewise.
2941         (MAX_CHAR_CYRILLIC): Likewise.
2942
2943 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2944
2945         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2946         format is used without `ucs' property.
2947         (Fdecode_char): Fix problem with GR representation.
2948         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2949         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2950
2951 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2952
2953         * mule-charset.c (make_builtin_char): New function.
2954         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2955         (Fset_charset_mapping_table): Modify for new representation of
2956         code-point.
2957         (Fdecode_char): New function.
2958         (syms_of_mule_charset): Add new builtin function `decode-char' in
2959         UTF-2000.
2960
2961         * char-ucs.h (make_builtin_char): New prototype.
2962         (DECODE_CHAR): New inline function.
2963         (MAKE_CHAR): Use `DECODE_CHAR'.
2964
2965 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2966
2967         * text-coding.c (parse_charset_conversion_specs): Use
2968         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2969         `XCHARSET_TYPE'.
2970         (iso2022_designate): Likewise.
2971
2972         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2973         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2974
2975         * mule-charset.c (Vcharset_ucs): New variable.
2976         (print_charset): Change design; use `CHARSET_CHARS' and
2977         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2978         (make_charset): Change signature to specify `chars' and
2979         `dimension' instead of `type'.
2980         (range_charset_code_point): Modify for 256^n-set.
2981         (encode_builtin_char_1): Encode as `ucs' in default.
2982         (Fmake_charset): Modify for `make_charset'.
2983         (Fmake_reverse_direction_charset): Likewise.
2984         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2985         UTF-2000.
2986         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2987         for `make_charset'.
2988
2989         * char-ucs.h (Vcharset_ucs): New variable.
2990         (LEADING_BYTE_UCS): New macro.
2991         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2992         and `chars' to `unsigned short' from `unsigned int'.
2993         (CHARSET_TYPE): Deleted.
2994         (XCHARSET_TYPE): Deleted.
2995
2996 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2997
2998         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2999
3000         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3001         (ENCODE_CHAR): New macro.
3002
3003 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3004
3005         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3006         to 0.14 (Kawachi-Katakami).
3007
3008 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3009
3010         * text-coding.c (char_encode_shift_jis): Modify for
3011         `charset_code_point'.
3012         (char_encode_iso2022): Likewise.
3013
3014         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3015         (integer) instead of list of <Lisp_Object>s (integers) as the
3016         format of code-point of a coded-charset.
3017         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3018         (encode_builtin_char_1): New function; delete
3019         `split_builtin_char'.
3020         (charset_code_point): Return <int> instead of <Lisp_Object>.
3021         (Fsplit_char): Don't use `SPLIT_CHAR'.
3022
3023         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3024         prototype for `split_builtin_char'.
3025         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3026         (charset_code_point): Likewise.
3027         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3028         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3029
3030 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3031
3032         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3033         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3034
3035 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3036
3037         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3038
3039         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3040         (MAX_CHAR_OBS_94x94): Deleted.
3041
3042 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3043
3044         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3045
3046         * char-ucs.h (MAX_CHAR_BMP): New macro.
3047
3048 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3049
3050         * text-coding.c: Sync with r21-2-24.
3051
3052 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3053
3054         * file-coding.c: Modify for UTF-2000.
3055
3056 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3057
3058         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3059         to 0.13 (Takaida).
3060
3061 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3062
3063         * mule-charset.c (split_builtin_char): Delete builtin support for
3064         `katakana-jisx0201'.
3065         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3066         BMP area in builtin representation.
3067
3068         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3069         `Vcharset_katakana_jisx0201'.
3070
3071 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3072
3073         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3074         (Qisolated): New variable.
3075         (Qinitial): New variable.
3076         (Qmedial): New variable.
3077         (Qfinal): New variable.
3078         (Qvertical): New variable.
3079         (Qsmall): New variable.
3080         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3081         `Qvertical' and `Qsmall'.
3082         (Qmojikyo_pj_[1 .. 21]): New variable.
3083         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3084         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3085         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3086         .. 21]'.
3087
3088 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3089
3090         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3091         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3092         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3093
3094 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3095
3096         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3097         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3098         BMP.
3099         (Qjapanese_jisx0208_1990): New variable.
3100         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3101         (complex_vars_of_mule_charset): Add new coded-charset
3102         `japanese-jisx0208-1990'.
3103
3104         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3105         (MIN_CHAR_JIS_X0208_1990): New macro.
3106         (MAX_CHAR_JIS_X0208_1990): New macro.
3107
3108 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3109
3110         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3111         coded-charset is not found.
3112
3113 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3114
3115         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3116         (Fdefine_char): Use `Fmake_char'.
3117
3118 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3119
3120         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3121         (Vcharset_hiragana_jisx0208): Deleted.
3122         (Vcharset_katakana_jisx0208): Deleted.
3123         (Qideograph_daikanwa): New variable.
3124         (Qhiragana_jisx0208): Deleted.
3125         (Qkatakana_jisx0208): Deleted.
3126         (split_builtin_char): Split `ideograph-daikanwa'.
3127         (Fsplit_char): New implementation for UTF-2000.
3128         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3129         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3130         (complex_vars_of_mule_charset): Add new coded-charset
3131         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3132         `katakana-jisx0208'.
3133
3134         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3135         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3136         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3137         (MIN_CHAR_DAIKANWA): New macro.
3138         (MAX_CHAR_DAIKANWA): New macro.
3139
3140 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3141
3142         * data.c (Fstring_to_number): Don't recognize floating point if
3143         base is not 10.
3144
3145 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3146
3147         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3148
3149 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3150
3151         * mule-charset.c (Qsquare): New variable.
3152         (to_char_code): Add `Qsquare'.
3153         (syms_of_mule_charset): Add new symbol `square'.
3154
3155 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3156
3157         * mule-charset.c (Qcircle): New variable.
3158         (to_char_code): Add `Qcircle'.
3159         (syms_of_mule_charset): Add new symbol `circle'.
3160
3161 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3162
3163         * mule-charset.c (Qfont): New variable.
3164         (to_char_code): Add `Qfont'.
3165         (syms_of_mule_charset): Add new symbol `font'.
3166
3167 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3168
3169         * mule-charset.c (Qsub): New variable.
3170         (to_char_code): Add `Qsub'.
3171         (syms_of_mule_charset): Add new symbol `sub'.
3172
3173 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3174
3175         * mule-charset.c (Fput_char_attribute): Convert each element of
3176         VALUE to GL position if ATTRIBUTE is a GR-set,
3177
3178 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3179
3180         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3181         coded-charset is a GR-set.
3182
3183 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3184
3185         * mule-charset.c (Fput_char_attribute): Check each element of
3186         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3187
3188 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3189
3190         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3191         UTF-2000.
3192         (Qethiopic_ucs): New variable in UTF-2000.
3193         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3194         (complex_vars_of_mule_charset): Add new coded-charset
3195         `ethiopic-ucs' in UTF-2000.
3196
3197         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3198         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3199         9)'.
3200         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3201         10)'.
3202         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3203
3204 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3205
3206         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3207         `ascii'.
3208
3209 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3210
3211         * mule-charset.c (Vcharacter_variant_table): New variable.
3212         (Q_ucs): New variable.
3213         (Fchar_variants): New function.
3214         (Fput_char_attribute): Register `->ucs' value to
3215         `Vcharacter_variant_table'.
3216         (syms_of_mule_charset): Add new function `char-variants' and new
3217         symbol `->ucs'.
3218         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3219
3220 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3221
3222         * mule-charset.c (get_char_code_table): Allow negative character
3223         code.
3224         (put_char_code_table): Likewise.
3225         (Vcharacter_composition_table): New variable.
3226         (Q_decomposition): New variable.
3227         (Qwide): New variable.
3228         (Qnarrow): New variable.
3229         (Qcompat): New variable.
3230         (QnoBreak): New variable.
3231         (Qsuper): New variable.
3232         (Qfraction): New variable.
3233         (to_char_code): New function.
3234         (Fget_composite_char): New function.
3235         (Fput_char_attribute): Register `->decomposition' value to
3236         `Vcharacter_composition_table'.
3237         (syms_of_mule_charset): Add new function `get-composite-char', new
3238         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3239         `super' and `fraction'.
3240         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3241
3242 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3243
3244         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3245         character; copy the return value.
3246
3247 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3248
3249         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3250
3251         * mule-charset.c (range_charset_code_point): Must use make_int.
3252         (split_builtin_char): New function.
3253
3254 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3255
3256         * mule-charset.c (char_byte_table): Change name from
3257         "char-code-table" to "char-byte-table".
3258         (mark_char_code_table): New function.
3259         (char_code_table_equal): New function.
3260         (char_code_table_hash): New function.
3261         (char_code_table_description): New constant.
3262         (char_code_table): New type.
3263         (make_char_code_table): New function.
3264         (copy_char_code_table): New function.
3265         (get_char_code_table): Modify for `char_code_table' type.
3266         (put_char_code_table): Likewise.
3267         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3268         (Kashiwara).
3269
3270         * char-ucs.h (char_code_table): New type.
3271         (XCHAR_CODE_TABLE): New macro.
3272         (XSETCHAR_CODE_TABLE): New macro.
3273         (CHAR_CODE_TABLE_P): New macro.
3274         (GC_CHAR_CODE_TABLE_P): New macro.
3275         (struct Lisp_Char_Code_Table): New structure.
3276
3277 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3278
3279         * mule-charset.c (Fmake_charset): Setup byte_offset for
3280         {94|96}^n-set.
3281
3282 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3283
3284         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3285         character.
3286
3287 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3288
3289         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3290         is found.
3291
3292 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3293
3294         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3295         charset, it is regarded as a charset.
3296         (put_char_attribute): New function in UTF-2000.
3297         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3298         charset, mapping-table of the charset is modified.
3299         (Fdefine_char): New function in UTF-2000.
3300         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3301         `Fput_char_attribute'.
3302         (syms_of_mule_charset): Add new function `define-char' and new
3303         symbol `ucs' in UTF-2000.
3304         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3305
3306 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3307
3308         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3309         non-UTF-2000 configuration.
3310
3311 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3312
3313         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3314         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3315
3316         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3317         deleted.
3318         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3319         (Fset_charset_mapping_table): Likewise.
3320
3321         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3322         (CHARSET_ENCODING_TABLE): Delete.
3323         (XCHARSET_ENCODING_TABLE): Delete.
3324         (charset_code_point): New interface.
3325
3326 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3327
3328         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3329         instead of `charset_get_byte1' and `charset_get_byte2'.
3330
3331         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3332         (charset_get_byte2): Deleted.
3333
3334 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3335
3336         * char-ucs.h (SPLIT_CHAR): New inline function.
3337         (breakup_char_1): Use `SPLIT_CHAR'.
3338
3339         * mule-charset.c (range_charset_code_point): New function.
3340         (charset_code_point): New function.
3341
3342         * char-ucs.h (range_charset_code_point): New interface.
3343         (breakup_char_1): Use `range_charset_code_point'.
3344
3345 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3346
3347         * mule-charset.c (Fmake_charset): Delete unused local variable
3348         `code_offset'.
3349
3350         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3351         (breakup_char_1): Find a charset and code-point in
3352         `Vcharacter_attribute_table'.
3353
3354 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3355
3356         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3357         to 0.10 (Yao).
3358
3359 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3360
3361         * mule-charset.c (Vcharacter_attribute_table): New variable.
3362         (Fchar_attribute_alist): New function.
3363         (Fget_char_attribute): New function.
3364         (Fput_char_attribute): New function.
3365         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3366         too.
3367         (syms_of_mule_charset): Add new function `char-attribute-alist',
3368         `get-char-attribute' and `put-char-attribute'.
3369         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3370
3371 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3372
3373         * mule-charset.c (Fmake_charset): Just use
3374         `get_unallocated_leading_byte'.
3375
3376         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3377         sets; don't use final-byte based number for private sets.
3378
3379 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3380
3381         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3382         integer.
3383
3384 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3385
3386         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3387         to 0.9.
3388
3389 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3390
3391         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3392         of `CHAR_LEADING_BYTE' in UTF-2000.
3393
3394         * insdel.c (find_charsets_in_bufbyte_string): Use
3395         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3396         (find_charsets_in_emchar_string): Likewise.
3397
3398         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3399         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3400
3401         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3402         (CHAR_CHARSET_ID): New macro.
3403
3404 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3405
3406         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3407         charset-id - MIN_LEADING_BYTE.
3408         (put_char_table): Likewise.
3409
3410 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3411
3412         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3413         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3414         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3415         (CHARSET_ID_OFFSET): New macro.
3416         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3417         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3418         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3419         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3420         4).
3421         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3422         5).
3423         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3424         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3425         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3426         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3427         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3428
3429 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3430
3431         * mule-charset.c (next_allocated_leading_byte): New variable in
3432         UTF-2000.
3433         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3434         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3435         (get_unallocated_leading_byte): Simply use
3436         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3437         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3438         UTF-2000.
3439
3440         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3441         (MAX_LEADING_BYTE_PRIVATE): New macro.
3442         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3443         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3444
3445 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3446
3447         * mule-charset.c (Fmake_charset): Allocate final-byte based
3448         charset-id for 94-set, 96-set and 94x94-set.
3449
3450 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3451
3452         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3453         ambiguous `else'.
3454         (Fmake_charset): Likewise.
3455         (complex_vars_of_mule_charset): Modify the font registry of
3456         `ucs-bmp' not to match `Ethiopic-Unicode'.
3457
3458 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3459
3460         * mule-charset.c (complex_vars_of_mule_charset): Add font
3461         registory of `ucs-bmp'.
3462
3463 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3464
3465         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3466         coded-charsets in `default-coded-charset-priority-list' when
3467         breaking up a character.
3468
3469         * mule-charset.c (Vcharset_latin_viscii): New variable.
3470         (Qlatin_viscii): New variable.
3471         (make_charset): Don't use `decoding_table'.
3472         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3473         byte_offset.
3474         (Fset_charset_mapping_table): New implementation.
3475         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3476         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3477         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3478         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3479         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3480         charset `latin_viscii'.
3481
3482         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3483         (CHARSET_TYPE_94X94): Change to 1 from 2.
3484         (CHARSET_TYPE_96): Change to 2 from 1.
3485         (CHARSET_TYPE_128): New macro.
3486         (CHARSET_TYPE_128X128): Change to 5 from 4.
3487         (CHARSET_TYPE_256): New macro.
3488         (CHARSET_TYPE_256X256): Change to 7 from 5.
3489         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3490
3491 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3492
3493         * text-coding.c (char_encode_shift_jis): Refer
3494         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3495         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3496
3497         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3498         (char_byte_table_equal): New function in UTF-2000.
3499         (char_byte_table_hash): New function in UTF-2000.
3500         (char_byte_table_description): New constant in UTF-2000.
3501         (char_byte_table): New type in UTF-2000.
3502         (make_char_byte_table): New function in UTF-2000.
3503         (copy_char_byte_table): New function in UTF-2000.
3504         (make_char_code_table): New macro in UTF-2000.
3505         (get_char_code_table): New function in UTF-2000.
3506         (put_char_code_table): New function in UTF-2000.
3507         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3508         (charset_description): Add setting in UTF-2000.
3509         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3510         `CHARSET_TO_BYTE1_TABLE(cs)'.
3511         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3512         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3513         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3514         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3515         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3516         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3517         `CHARSET_TO_BYTE2_TABLE(cs)'.
3518
3519         * char-ucs.h (char_byte_table): New type.
3520         (XCHAR_BYTE_TABLE): New macro.
3521         (XSETCHAR_BYTE_TABLE): New macro.
3522         (CHAR_BYTE_TABLE_P): New macro.
3523         (GC_CHAR_BYTE_TABLE_P): New macro.
3524         (struct Lisp_Char_Byte_Table): New structure.
3525         (get_char_code_table): New interface.
3526         (Emchar_to_byte_table): Deleted.
3527         (get_byte_from_character_table): Deleted.
3528         (struct Lisp_Charset): Add `encoding_table'; delete
3529         `to_byte1_table' and `to_byte2_table'.
3530         (CHARSET_ENCODING_TABLE): New macro.
3531         (CHARSET_TO_BYTE1_TABLE): Deleted.
3532         (CHARSET_TO_BYTE2_TABLE): Deleted.
3533         (XCHARSET_ENCODING_TABLE): New macro.
3534         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3535         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3536
3537 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3538
3539         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3540         `vietnamese-viscii-*'.
3541
3542 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3543
3544         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3545         (Qvietnamese_viscii_upper): New variable.
3546         (Fdefine_charset_alias): New function.
3547         (syms_of_mule_charset): Add new function `define-charset-alias'.
3548         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3549         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3550         `latin-viscii-*'.
3551
3552 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3553
3554         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3555         (MAX_CHAR_OBS_94x94): New macro.
3556         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3557         for 94x94 sets.
3558
3559         * mule-charset.c (put_byte_from_character_table): Change unit size
3560         from 128 to 256.
3561         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3562         not defined.
3563         (Fmake_reverse_direction_charset): Modify dummy argument of
3564         `make_charset' for non-UTF-2000 environment.
3565
3566 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3567
3568         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3569
3570         * mule-charset.c (destroy_byte_from_character_table): New macro.
3571         (latin_jisx0201_to_ucs): Deleted.
3572         (latin_iso8859_2_to_ucs): Deleted.
3573         (latin_iso8859_3_to_ucs): Deleted.
3574         (latin_iso8859_4_to_ucs): Deleted.
3575         (latin_iso8859_9_to_ucs): Deleted.
3576         (latin_viscii_lower_to_ucs): Deleted.
3577         (latin_viscii_upper_to_ucs): Deleted.
3578         (mark_charset): Mark `cs->decoding_table'.
3579         (Fcharset_mapping_table): Fix DOC-string.
3580         (Fset_charset_mapping_table): New function.
3581         (syms_of_mule_charset): Add nwe function
3582         `set-charset-mapping-table'.
3583         (complex_vars_of_mule_charset): Don't setup and use
3584         `latin_*_to_ucs'.
3585
3586 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3587
3588         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3589         charset.
3590
3591 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3592
3593         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3594         (Vcharset_katakana_jisx0208): New variable.
3595         (Qhiragana_jisx0208): New variable.
3596         (Qkatakana_jisx0208): New variable.
3597         (make_charset): Add new argument `byte_offset'.
3598         (charset_get_byte1): Modify for new coded-charset definition; use
3599         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3600         `XCHARSET_BYTE_OFFSET'.
3601         (Fmake_charset): Modify for `make_charset'.
3602         (Fmake_reverse_direction_charset): Likewise.
3603         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3604         `katakana-jisx0208'.
3605         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3606         `.'  in font registry of charset `katakana-jisx0201',
3607         `latin-jisx0201', `vietnamese-viscii-lower' and
3608         `vietnamese-viscii-upper'; modify DOC-string of charset
3609         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3610         registry of charset `japanese-jisx0208' not to use font for JIS
3611         X0208:1990; add new charset `hiragana-jisx0208' and
3612         `katakana-jisx0208'.
3613
3614         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3615         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3616         (struct Lisp_Charset): Add `byte_offset'.
3617         (CHARSET_BYTE_OFFSET): New macro.
3618         (XCHARSET_UCS_MIN): New macro.
3619         (XCHARSET_UCS_MAX): New macro.
3620         (XCHARSET_CODE_OFFSET): New macro.
3621         (XCHARSET_BYTE_OFFSET): New macro.
3622         (MIN_CHAR_HIRAGANA): New macro.
3623         (MAX_CHAR_HIRAGANA): New macro.
3624         (MIN_CHAR_KATAKANA): New macro.
3625         (MAX_CHAR_KATAKANA): New macro.
3626         (MAKE_CHAR): Modify for new coded-charset definition; use
3627         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3628         `XCHARSET_BYTE_OFFSET'.
3629
3630 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3631
3632         * mule-charset.c (CHAR96): Deleted.
3633         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3634         <Lisp_Object>.
3635         (latin_iso8859_2_to_ucs): Likewise.
3636         (latin_iso8859_3_to_ucs): Likewise.
3637         (latin_iso8859_4_to_ucs): Likewise.
3638         (latin_iso8859_9_to_ucs): Likewise.
3639         (latin_viscii_lower_to_ucs): Likewise.
3640         (latin_viscii_upper_to_ucs): Likewise.
3641         (latin_tcvn5712_to_ucs): Commented out.
3642         (make_charset): Change type of argument `decoding_table' from
3643         <Emchar*> to <Lisp_Object> [vector of characters].
3644         (Fmake_charset): Modify for `make_charset'.
3645         (Fmake_reverse_direction_charset): Likewise.
3646         (Fcharset_mapping_table): New function in UTF-2000.
3647         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3648         UTF-2000.
3649         (complex_vars_of_mule_charset): Modify for type change of
3650         `*_to_ucs'; modify for `make_charset'.
3651
3652         * char-ucs.h (struct Lisp_Charset): Change type of
3653         `decoding_table' from <Emchar*> to <Lisp_Object>.
3654         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3655
3656 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3657
3658         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3659         error with non-UTF-2000-Mule.
3660
3661 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3662
3663         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3664         in lisp again].
3665         (Vcharset_chinese_cns11643_4): Likewise.
3666         (Vcharset_chinese_cns11643_5): Likewise.
3667         (Vcharset_chinese_cns11643_6): Likewise.
3668         (Vcharset_chinese_cns11643_7): Likewise.
3669         (Qchinese_cns11643_3): Likewise.
3670         (Qchinese_cns11643_4): Likewise.
3671         (Qchinese_cns11643_5): Likewise.
3672         (Qchinese_cns11643_6): Likewise.
3673         (Qchinese_cns11643_7): Likewise.
3674         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3675         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3676         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3677         (complex_vars_of_mule_charset): Likewise.
3678
3679 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3680
3681         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3682         96-set.
3683         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3684         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3685
3686 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3687
3688         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3689         0xFF60.
3690         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3691         (breakup_char_1): Likewise.
3692
3693         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3694         one of them includes the specified character.
3695
3696 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3697
3698         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3699
3700 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3701
3702         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3703
3704 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3705
3706         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3707         definition for non-UTF-2000 Mule.
3708         (latin_iso8859_3_to_ucs): Likewise.
3709         (latin_iso8859_4_to_ucs): Likewise.
3710         (latin_iso8859_9_to_ucs): Likewise.
3711         (latin_jisx0201_to_ucs): Likewise.
3712         (MIN_CHAR_THAI): Likewise.
3713         (MAX_CHAR_THAI): Likewise.
3714         (MIN_CHAR_GREEK): Likewise.
3715         (MAX_CHAR_GREEK): Likewise.
3716         (MIN_CHAR_HEBREW): Likewise.
3717         (MAX_CHAR_HEBREW): Likewise.
3718         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3719         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3720         (MIN_CHAR_CYRILLIC): Likewise.
3721         (MAX_CHAR_CYRILLIC): Likewise.
3722
3723 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3724
3725         * char-ucs.h (breakup_char_1): Use
3726         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3727         thai-tis620 and katakana-jisx0201 area.
3728
3729 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3730
3731         * char-ucs.h (breakup_char_1): Use
3732         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3733         area.
3734
3735         * text-coding.c (reset_encoding_stream): Fixed.
3736         (char_encode_ucs4): Delete `& 255'.
3737
3738         * char-ucs.h (breakup_char_1): Use
3739         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3740
3741 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3742
3743         * file-coding.c (Fmake_coding_system): Don't set up
3744         `codesys->fixed.size'.
3745         (encode_coding_no_conversion): Don't refer
3746         `str->codesys->fixed.size'.
3747
3748 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3749
3750         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3751         (latin_a_char_to_byte1): Deleted.
3752         (latin_a_char_to_byte2): Deleted.
3753
3754 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3755
3756         * mule-charset.c (make_charset): Add new argument `ucs_min',
3757         `ucs_max' and `code_offset'.
3758         (charset_get_byte1): New implementation [delete specific charset
3759         depended implementations].
3760         (Fmake_charset): Modify for `make_charset'.
3761         (Fmake_reverse_direction_charset): Likewise.
3762         (complex_vars_of_mule_charset): Likewise.
3763
3764         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3765         `code_offset'.
3766         (CHARSET_UCS_MIN): New macro.
3767         (CHARSET_UCS_MAX): New macro.
3768         (CHARSET_CODE_OFFSET): New macro.
3769         (MAKE_CHAR): Delete charset depended definitions [except
3770         katakana-jisx0201].
3771
3772 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3773
3774         * char-ucs.h (breakup_char_1): Use
3775         `Vdefault_coded_charset_priority_list' for C0-Controls,
3776         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3777
3778 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3779
3780         * char-ucs.h (charset_get_byte1): New function.
3781         (XCHARSET_GET_BYTE1): Deleted.
3782         (charset_get_byte2): New function.
3783         (XCHARSET_GET_BYTE2): Deleted.
3784         (Vdefault_coded_charset_priority_list): New external variable.
3785         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3786         `Vdefault_preferred_coded_charset_list'.
3787
3788         * mule-charset.c (charset_get_byte1): New function.
3789         (charset_get_byte2): New function.
3790         (Vdefault_coded_charset_priority_list): New variable.
3791         (vars_of_mule_charset): Add new variable
3792         `default-coded-charset-priority-list'.
3793
3794 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3795
3796         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3797         (XCHARSET_GET_BYTE2): New inline function.
3798         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3799         `XCHARSET_GET_BYTE2'.
3800
3801 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3802
3803         * mule-charset.c (make_charset): Initialize
3804         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3805         NULL if table is not defined.
3806
3807 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3808
3809         * text-coding.c (char_encode_shift_jis): Use
3810         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3811         `ucs_to_latin_jisx0201'.
3812
3813         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3814         (ucs_to_latin_iso8859_2): Deleted.
3815         (ucs_to_latin_iso8859_3): Deleted.
3816         (ucs_to_latin_iso8859_4): Deleted.
3817         (ucs_to_latin_iso8859_9): Deleted.
3818         (ucs_to_latin_viscii_lower): Deleted.
3819         (ucs_to_latin_viscii_upper): Deleted.
3820         (ucs_to_latin_tcvn5712): Deleted.
3821         (make_charset): Add new argument `decoding_table'; set up
3822         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3823         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3824         `decoding_table' is defined in UTF-2000.
3825         (Fmake_charset): Modify for `make_charset'.
3826         (Fmake_reverse_direction_charset): Likewise.
3827         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3828         and `GENERATE_96_SET'.
3829
3830         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3831         (ucs_to_latin_jisx0201): Deleted.
3832         (latin_iso8859_2_to_ucs): Deleted.
3833         (ucs_to_latin_iso8859_2): Deleted.
3834         (latin_iso8859_3_to_ucs): Deleted.
3835         (ucs_to_latin_iso8859_3): Deleted.
3836         (latin_iso8859_4_to_ucs): Deleted.
3837         (ucs_to_latin_iso8859_4): Deleted.
3838         (latin_iso8859_9_to_ucs): Deleted.
3839         (ucs_to_latin_iso8859_9): Deleted.
3840         (latin_viscii_lower_to_ucs): Deleted.
3841         (ucs_to_latin_viscii_lower): Deleted.
3842         (latin_viscii_upper_to_ucs): Deleted.
3843         (ucs_to_latin_viscii_upper): Deleted.
3844         (struct Lisp_Charset): Renamed `encoding_table' to
3845         `to_byte1_table'; add `to_byte2_table'.
3846         (CHARSET_DECODING_TABLE): New macro.
3847         (CHARSET_TO_BYTE1_TABLE): New macro.
3848         (CHARSET_TO_BYTE2_TABLE): New macro.
3849         (XCHARSET_DECODING_TABLE): New macro.
3850         (XCHARSET_TO_BYTE1_TABLE): New macro.
3851         (XCHARSET_TO_BYTE2_TABLE): New macro.
3852         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3853         tables.
3854         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3855         don't use `ucs_to_*' tables.
3856
3857 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3858
3859         * text-coding.c (Fmake_coding_system): Don't set up
3860         `codesys->fixed.size'.
3861         (encode_coding_no_conversion): Use `if' instead of `switch'.
3862
3863         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3864
3865 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3866
3867         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3868         (Fmake_charset): Modify for `make_charset'.
3869         (Fmake_reverse_direction_charset): Likewise.
3870         (complex_vars_of_mule_charset): Likewise.
3871
3872 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3873
3874         * text-coding.c (char_encode_shift_jis): Use table
3875         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3876
3877 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3878
3879         * text-coding.c (text_encode_generic): Use `if' instead of
3880         `switch'.
3881         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3882         decode JIS-Latin.
3883
3884 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3885
3886         * text-coding.c (encode_coding_sjis): Deleted.
3887         (char_encode_shift_jis): New function.
3888         (char_finish_shift_jis): New function.
3889         (reset_encoding_stream): Set up `encode_char' and `finish' for
3890         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3891         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3892         (char_encode_utf8): Treat `eol_type'.
3893
3894 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3895
3896         * file-coding.c (decode_coding_iso2022): Use
3897         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3898
3899 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3900
3901         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3902         to 0.7 (Hirano).
3903
3904 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3905
3906         * char-lb.h (CHAR_COLUMNS): New macro.
3907
3908 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3909
3910         * text-coding.c (char_encode_ucs4): New function.
3911         (char_finish_ucs4): New function.
3912         (encode_coding_ucs4): Deleted.
3913         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3914         (text_encode_generic): Delete local variable `charset' and `half'.
3915         (ucs_to_mule_table): Deleted.
3916         (mule_to_ucs_table): Deleted.
3917         (Fset_ucs_char): Deleted.
3918         (ucs_to_char): Deleted.
3919         (Fucs_char): Deleted.
3920         (Fset_char_ucs): Deleted.
3921         (Fchar_ucs): Deleted.
3922         (decode_ucs4): Deleted.
3923         (mule_char_to_ucs4): Deleted.
3924         (encode_ucs4): Deleted.
3925         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3926         (decode_coding_utf8): Likewise.
3927         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3928         (char_encode_iso2022): Fixed.
3929         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3930         `Fset_char_ucs' and `Fchar_ucs'.
3931         (complex_vars_of_file_coding): Don't initialize
3932         `ucs_to_mule_table'.
3933
3934         * objects-tty.c (tty_initialize_font_instance): Don't use
3935         `XCHARSET_COLUMNS'.
3936
3937         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3938         UTF-2000.
3939
3940         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3941         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3942
3943         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3944         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3945         (emchar_string_displayed_columns): Likewise.
3946
3947         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3948         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3949         (string_column_at_point): Likewise.
3950         (Fmove_to_column): Likewise.
3951
3952         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3953         `encoding_table' and `decoding_table'.
3954         (CHARSET_REP_BYTES): Deleted.
3955         (XCHARSET_REP_BYTES): Deleted.
3956         (XCHARSET_COLUMNS): Deleted.
3957         (CHAR_COLUMNS): New macro.
3958         (lookup_composite_char): Deleted unconditionally.
3959         (composite_char_string): Likewise.
3960
3961 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3962
3963         * char-ucs.h (Emchar_to_byte_table): New type.
3964         (get_byte_from_character_table): New function interface.
3965         (Vcharset_latin_jisx0201): New variable.
3966         (latin_jisx0201_to_ucs): New variable.
3967         (ucs_to_latin_jisx0201): New variable.
3968         (Vcharset_latin_iso8859_2): New variable.
3969         (latin_iso8859_2_to_ucs): New variable.
3970         (ucs_to_latin_iso8859_2): New variable.
3971         (Vcharset_latin_iso8859_3): New variable.
3972         (latin_iso8859_3_to_ucs): New variable.
3973         (ucs_to_latin_iso8859_3): New variable.
3974         (Vcharset_latin_iso8859_4): New variable.
3975         (latin_iso8859_4_to_ucs): New variable.
3976         (ucs_to_latin_iso8859_4): New variable.
3977         (Vcharset_latin_iso8859_9): New variable.
3978         (latin_iso8859_9_to_ucs): New variable.
3979         (ucs_to_latin_iso8859_9): New variable.
3980         (Vcharset_latin_viscii_lower): New variable.
3981         (latin_viscii_lower_to_ucs): New variable.
3982         (ucs_to_latin_viscii_lower): New variable.
3983         (Vcharset_latin_viscii_upper): New variable.
3984         (latin_viscii_upper_to_ucs): New variable.
3985         (ucs_to_latin_viscii_upper): New variable.
3986         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3987         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3988         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3989         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3990         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3991         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3992         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3993         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3994         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3995         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3996
3997         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3998         (Vcharset_latin_viscii_upper): New variable.
3999         (make_byte_from_character_table): New function.
4000         (put_byte_from_character_table): New function.
4001         (get_byte_from_character_table): New function.
4002         (CHAR96): New macro.
4003         (ucs_to_latin_jisx0201): New variable.
4004         (latin_jisx0201_to_ucs): New variable.
4005         (ucs_to_latin_iso8859_2): New variable.
4006         (latin_iso8859_2_to_ucs): New variable.
4007         (ucs_to_latin_iso8859_3): New variable.
4008         (latin_iso8859_3_to_ucs): New variable.
4009         (ucs_to_latin_iso8859_4): New variable.
4010         (latin_iso8859_4_to_ucs): New variable.
4011         (ucs_to_latin_iso8859_9): New variable.
4012         (latin_iso8859_9_to_ucs): New variable.
4013         (ucs_to_latin_viscii_lower): New variable.
4014         (latin_viscii_lower_to_ucs): New variable.
4015         (ucs_to_latin_viscii_upper): New variable.
4016         (latin_viscii_upper_to_ucs): New variable.
4017         (ucs_to_latin_tcvn5712): New variable.
4018         (latin_tcvn5712_to_ucs): New variable.
4019         (Qlatin_viscii_lower): New variable.
4020         (Qlatin_viscii_upper): New variable.
4021         (syms_of_mule_charset): Set up new symbol
4022         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4023         (complex_vars_of_mule_charset): Set up new charset
4024         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4025         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4026         `ucs_to_<CHARSET>' tables.
4027
4028 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4029
4030         * text-coding.c: New file.
4031
4032 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4033
4034         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4035
4036         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4037         (MAKE_CHAR): Modify for `ucs-bmp'.
4038         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4039         non-MULE characters of BMP.
4040
4041 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4042
4043         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4044         to 0.6.
4045
4046 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4047
4048         * lstream.h:
4049         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4050         - Include character.h for `CHAR_ASCII_P'.
4051
4052         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4053
4054         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4055         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4056
4057         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4058         (BYTE_C0_P): Likewise.
4059         (BYTE_C1_P): Likewise.
4060         (Lstream_get_emchar_1): Likewise.
4061         (Lstream_fput_emchar): Likewise.
4062         (Lstream_funget_emchar): Likewise.
4063         (copy_internal_to_external): Likewise.
4064         (copy_external_to_internal): Likewise.
4065
4066         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4067         (BYTE_C0_P): Likewise.
4068         (BYTE_C1_P): Likewise.
4069         (Lstream_get_emchar_1): Likewise.
4070         (Lstream_fput_emchar): Likewise.
4071         (Lstream_funget_emchar): Likewise.
4072         (copy_internal_to_external): Likewise.
4073         (copy_external_to_internal): Likewise.
4074
4075         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4076         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4077
4078         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4079         (BYTE_ASCII_P): Moved to mb-1byte.h.
4080
4081 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4082
4083         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4084
4085         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4086         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4087         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4088         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4089         (VALIDATE_CHARPTR_FORWARD): Likewise.
4090         (simple_charptr_emchar): Moved to mb-multibyte.h.
4091         (simple_set_charptr_emchar): Likewise.
4092         (simple_charptr_copy_char): Likewise.
4093         (non_ascii_charptr_emchar): Likewise.
4094         (non_ascii_set_charptr_emchar): Likewise.
4095         (non_ascii_charptr_copy_char): Likewise.
4096         (charptr_emchar): Moved to mb-*byte.h.
4097         (set_charptr_emchar): Likewise.
4098         (charptr_copy_char): Likewise.
4099
4100         * mb-1byte.h, mb-multibyte.h: New files.
4101
4102 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4103
4104         * mb-utf-8.h (MULTIBYTE): New macro.
4105         (MAX_EMCHAR_LEN): Moved from buffer.h.
4106         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4107
4108         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4109
4110         * mb-lb.h, multibyte.h: New files.
4111
4112         * char-1byte.h (Charset_ID): Moved from buffer.h.
4113         (MIN_LEADING_BYTE): Likewise.
4114         (LEADING_BYTE_ASCII): Likewise.
4115         (NUM_LEADING_BYTES): Likewise.
4116         (CHARSETP): Likewise.
4117         (CHARSET_BY_LEADING_BYTE): Likewise.
4118         (XCHARSET_LEADING_BYTE): Likewise.
4119         (XCHARSET_GRAPHIC): Likewise.
4120         (XCHARSET_COLUMNS): Likewise.
4121         (XCHARSET_DIMENSION): Likewise.
4122         (CHAR_CHARSET): Likewise.
4123         (CHAR_LEADING_BYTE): Likewise.
4124         (BREAKUP_CHAR): Likewise.
4125         (Vcharset_ascii): Likewise.
4126
4127         * buffer.h: Include multibyte.h unconditionally.
4128         (VALID_CHARPTR_P): Moved to multibyte.h.
4129         (ASSERT_VALID_CHARPTR): Likewise.
4130         (REAL_INC_CHARPTR): Likewise.
4131         (REAL_INC_CHARBYTIND): Likewise.
4132         (REAL_DEC_CHARPTR): Likewise.
4133         (INC_CHARPTR): Likewise.
4134         (INC_CHARBYTIND): Likewise.
4135         (DEC_CHARPTR): Likewise.
4136         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4137         (VALIDATE_CHARPTR_FORWARD): Likewise.
4138         (charptr_n_addr): Likewise.
4139         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4140         (simple_charptr_emchar): Moved to multibyte.h.
4141         (simple_set_charptr_emchar): Likewise.
4142         (simple_charptr_copy_char): Likewise.
4143         (non_ascii_charptr_emchar): Likewise.
4144         (non_ascii_set_charptr_emchar): Likewise.
4145         (non_ascii_charptr_copy_char): Likewise.
4146         (charptr_emchar): Likewise.
4147         (set_charptr_emchar): Likewise.
4148         (charptr_copy_char): Likewise.
4149         (charptr_emchar_n): Likewise.
4150         (Charset_ID): Moved to char-1byte.h.
4151         (Vcharset_ascii): Likewise.
4152         (CHAR_CHARSET): Likewise.
4153         (CHAR_LEADING_BYTE): Likewise.
4154         (LEADING_BYTE_ASCII): Likewise.
4155         (NUM_LEADING_BYTES): Likewise.
4156         (MIN_LEADING_BYTE): Likewise.
4157         (CHARSETP): Likewise.
4158         (CHARSET_BY_LEADING_BYTE): Likewise.
4159         (XCHARSET_LEADING_BYTE): Likewise.
4160         (XCHARSET_GRAPHIC): Likewise.
4161         (XCHARSET_COLUMNS): Likewise.
4162         (XCHARSET_DIMENSION): Likewise.
4163         (BREAKUP_CHAR): Likewise.
4164
4165 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4166
4167         * character.h: Add document about interface for characters.
4168
4169         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4170         (MAKE_CHAR): Delete comment about
4171         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4172         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4173         (BREAKUP_CHAR): Modify name of arguments.
4174         (CHAR_CHARSET): Modify name of argument.
4175
4176         * buffer.h: Delete document about Emchar accessors.
4177
4178 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4179
4180         * character.h (CHAR_INTP): Moved from buffer.h
4181         (CHAR_OR_CHAR_INTP): Likewise.
4182         (XCHAR_OR_CHAR_INT): Likewise.
4183         (CHECK_CHAR_COERCE_INT): Likewise.
4184
4185         * buffer.h (CHAR_INTP): Moved to character.h
4186         (CHAR_OR_CHAR_INTP): Likewise.
4187         (XCHAR_OR_CHAR_INT): Likewise.
4188         (CHECK_CHAR_COERCE_INT): Likewise.
4189
4190 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4191
4192         * character.h:
4193         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4194         - Include char-1byte.h, char-lb.h or char-ucs.h.
4195
4196         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4197
4198         * buffer.h: Include character unconditionally.
4199         (valid_char_p): Moved to char-*.h.
4200         (non_ascii_valid_char_p): Moved to char-lb.h.
4201
4202         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4203
4204 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4205
4206         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4207         in UTF-2000 because it is not ported yet and not to use
4208         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4209         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4210         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4211
4212         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4213         (CHAR_ASCII_P): Moved from character.h.
4214
4215         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4216         (CHAR_ASCII_P): Likewise.
4217         (CHAR_FIELD1_MASK): Deleted.
4218         (CHAR_FIELD2_MASK): Deleted.
4219         (CHAR_FIELD3_MASK): Deleted.
4220         (MAX_CHAR_BASIC_LATIN): New macro.
4221         (CHAR_FIELD1): Deleted.
4222         (CHAR_FIELD2_INTERNAL): Deleted.
4223         (CHAR_FIELD3_INTERNAL): Deleted.
4224         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4225         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4226         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4227         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4228         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4229         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4230         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4231         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4232         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4233         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4234         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4235         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4236         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4237         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4238         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4239         (MIN_CHAR_COMPOSITION): Deleted.
4240         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4241         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4242
4243 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4244
4245         * buffer.h: Include mb-utf-8.h in UTF-2000.
4246
4247         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4248
4249         * mb-utf-8.h: New file.
4250
4251 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4252
4253         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4254         instead of `int'.
4255
4256         * mule-charset.h, buffer.h (Charset_ID): New type.
4257
4258 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4259
4260         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4261         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4262         instead of `MULE_CHAR_PRIVATE_OFFSET',
4263         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4264         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4265         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4266
4267         * character.h (Vcharset_japanese_jisx0212): New variable
4268         definition.
4269
4270 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4271
4272         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4273         (charset_by_attributes): Delete array about direction.
4274         (latin_a_char_to_charset): New variable in UTF-2000.
4275         (latin_a_char_to_byte1): New variable in UTF-2000.
4276         (latin_a_char_to_byte2): New variable in UTF-2000.
4277         (Qucs_bmp): New variable.
4278         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4279         `Bufbyte'.
4280         (next_allocated_2_byte_leading_byte): Likewise.
4281         (non_ascii_set_charptr_emchar): Likewise.
4282         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4283         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4284         `charset_by_attributes'.
4285         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4286         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4287         and `CHARSET_BY_LEADING_BYTE'.
4288         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4289         `utf-2000-version' to `vars_of_mule_charset'.
4290         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4291         define `leading-code-private-11' in UTF-2000; move setting of
4292         `utf-2000-version' from `syms_of_mule_charset'.
4293         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4294         UTF-2000.
4295
4296         * character.h (Charset_ID): New type.
4297         (LEADING_BYTE_UCS_BMP): New macro.
4298         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4299         (CHARSET_ID_OFFSET_94): New macro.
4300         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4301         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4302         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4303         final-byte.
4304         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4305         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4306         (CHARSET_ID_OFFSET_96): New macro.
4307         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4308         CHARSET_ID_OFFSET_96 and final-byte.
4309         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4310         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4311         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4312         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4313         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4314         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4315         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4316         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4317         (LEADING_BYTE_THAI_TIS620): Likewise.
4318         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4319         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4320         (CHARSET_ID_OFFSET_94x94): New macro.
4321         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4322         CHARSET_ID_OFFSET_94x94 and final-byte.
4323         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4324         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4325         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4326         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4327         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4328         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4329         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4330         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4331         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4332         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4333         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4334         (CHARSET_TYPE_128X128): New macro.
4335         (CHARSET_TYPE_256X256): New macro.
4336         (XCHARSET_PRIVATE_P): Delete unconditionally.
4337         (charset_by_attributes): Delete array about direction.
4338         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4339         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4340         (MIN_CHAR_94): New macro.
4341         (MAX_CHAR_94): New macro.
4342         (MIN_CHAR_96): New macro.
4343         (MAX_CHAR_96): New macro.
4344         (MIN_CHAR_94x94): New macro.
4345         (MAX_CHAR_94x94): New macro.
4346         (MIN_CHAR_96x96): New macro.
4347         (MAX_CHAR_96x96): New macro.
4348         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4349         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4350         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4351         - 32)'.
4352         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4353         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4354         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4355         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4356         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4357         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4358         `XCHARSET_LEADING_BYTE' to make code-point.
4359         (latin_a_char_to_charset): New variable.
4360         (latin_a_char_to_byte1): New variable.
4361         (latin_a_char_to_byte2): New variable.
4362         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4363         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4364         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4365
4366         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4367         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4368         (find_charsets_in_emchar_string): Likewise.
4369         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4370
4371         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4372         `int'.
4373         (decode_coding_iso2022): Likewise.
4374
4375         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4376         of `unsigned char'.
4377
4378         * redisplay.c (redisplay_text_width_emchar_string): Use
4379         `Charset_ID' instead of `unsigned char'.
4380         (redisplay_frame_text_width_string): Likewise.
4381
4382         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4383         `unsigned char'.
4384
4385         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4386         instead of `unsigned char'.
4387         (face_cachel_charset_font_metric_info): Likewise.
4388
4389         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4390         (get_non_ascii_char_table_value): Likewise.
4391         (get_char_table): Likewise.
4392         (put_char_table): Likewise.
4393         (map_over_other_charset): Likewise.
4394         (map_char_table): Likewise.
4395
4396         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4397         instead of `unsigned char'.
4398
4399 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4400
4401         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4402         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4403
4404         * mule-charset.c (leading_code_private_11): Don't define in
4405         UTF-2000.
4406
4407         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4408         in UTF-2000 because it is not ported yet and not to use
4409         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4410
4411 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4412
4413         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4414
4415 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4416
4417         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4418         in UTF-2000.
4419
4420         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4421         of unsigned char to store leading-byte.
4422
4423         * chartab.c (get_non_ascii_char_table_value): Don't use
4424         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4425
4426         * file-coding.c (encode_coding_big5): Delete bogus implementation
4427         in UTF2000.
4428
4429         * character.h (LEADING_BYTE_*): Delete definition for
4430         non-UTF-2000.
4431         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4432         (LEADING_BYTE_PREFIX_P): Deleted.
4433         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4434         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4435         (BUFBYTE_LEADING_BYTE_P): Deleted.
4436         (CHARSET_PRIVATE_P): Deleted unconditionally.
4437         (rep_bytes_by_first_byte): Deleted unconditionally.
4438         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4439         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4440         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4441         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4442         (CHAR_FIELD2): Deleted.
4443         (CHAR_FIELD3): Deleted.
4444         (MAKE_CHAR): Delete definition for non-UTF-2000.
4445         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4446         (breakup_char_1): New implementation.
4447         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4448         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4449
4450 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4451
4452         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4453         condition.
4454
4455 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4456
4457         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4458         (CHARSET_PRIVATE_P): Likewise.
4459         (XCHARSET_PRIVATE_P): Likewise.
4460         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4461
4462         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4463         UTF2000.
4464         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4465
4466 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4467
4468         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4469         (NUM_LEADING_BYTES): Changed from 128 to 256.
4470         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4471         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4472         UTF2000.
4473         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4474
4475         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4476         UTF2000.
4477         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4478         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4479         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4480         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4481         (Qchinese_cns11643_3): New variable in UTF2000.
4482         (Qchinese_cns11643_4): New variable in UTF2000.
4483         (Qchinese_cns11643_5): New variable in UTF2000.
4484         (Qchinese_cns11643_6): New variable in UTF2000.
4485         (Qchinese_cns11643_7): New variable in UTF2000.
4486         (syms_of_mule_charset): Define `chinese-cns11643-3',
4487         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4488         and `chinese-cns11643-7' in UTF2000.
4489         (vars_of_mule_charset): Initialize
4490         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4491         + 1 in UTF2000.
4492         (complex_vars_of_mule_charset): Setup charset
4493         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4494         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4495
4496 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4497
4498         * mule-charset.c: Move setting for `leading-code-private-11' from
4499         `syms_of_mule_charset' to `vars_of_mule_charset'.
4500
4501 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4502
4503         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4504         and `NUM_LEADING_BYTES' in assert.
4505
4506 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4507
4508         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4509         instead of 128.
4510         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4511         `NUM_LEADING_BYTES' instead of 128.
4512
4513 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4514
4515         * mule-charset.h (charset_by_leading_byte): Use
4516         `NUM_LEADING_BYTES' instead of 128.
4517         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4518
4519         * mule-charset.c (charset_by_leading_byte): Use
4520         `NUM_LEADING_BYTES' instead of 128.
4521         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4522
4523         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4524         128.
4525
4526 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4527
4528         * mule-charset.c (syms_of_mule_charset): Update to
4529         0.4 (Shin-Imamiya).
4530
4531 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4532
4533         * file-coding.c (encode_coding_sjis): New implementation for
4534         UTF2000.  (decode_coding_sjis): Ditto.
4535
4536 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4537
4538         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4539         Don't define in UTF2000.
4540
4541         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4542         defined.
4543
4544         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4545         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4546         MULE.
4547
4548 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4549
4550         * config.h.in (CHAR_IS_UCS4): New macro.
4551
4552         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4553         conventional MULE representation.
4554         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4555
4556         * mule-charset.h: Reverted to original.
4557
4558         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4559         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4560         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4561
4562         * character.h: New file.
4563
4564         * file-coding.c (Fmake_coding_system): Set 1 to
4565         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4566         defined.
4567         (encode_coding_no_conversion): New implementation for UTF2000.
4568
4569         * file-coding.h (struct Lisp_Coding_System): Add new member
4570         `fixed.size'.
4571
4572 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4573
4574         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4575         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4576         (encode_coding_iso2022): New implementation for UTF2000.
4577
4578 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4579
4580         * mule-canna.c (c2mu): New implementation for UTF2000.
4581         (m2c): Likewise.
4582
4583 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4584
4585         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4586
4587 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4588
4589         * file-coding.c (reset_encoding_stream): Set 0 to
4590         `str->iso2022.current_char_boundary' in UTF2000.
4591         (encode_utf8): Don't define in UTF2000.
4592         (encode_coding_utf8): New implementation for UTF-8 representation
4593         of UTF2000.
4594         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4595
4596 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4597
4598         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4599
4600         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4601         UTF2000.
4602         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4603
4604         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4605
4606         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4607         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4608         as UTF-8 in UTF2000.
4609         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4610         (non_ascii_valid_char_p): Don't define in UTF2000.
4611         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4612         (Lstream_get_emchar_1): Likewise.
4613         (utf-2000-version): New variable in UTF2000.
4614
4615         * lread.c (read_escape): Add new reader `u'.
4616
4617         * insdel.c (three_to_one_table): Don't define in UTF2000.
4618         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4619         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4620         UTF2000.
4621         (bytind_to_bufpos_func): Likewise.
4622         (buffer_mule_signal_inserted_region): Likewise.
4623         (vars_of_insdel): Don't initialize `three_to_one_table'.
4624         (init_buffer_text): Use `buf->text->mule_size' instead of
4625         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4626         UTF2000.
4627
4628         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4629         UTF-8 representation in UTF2000.
4630         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4631         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4632         (decode_coding_iso2022): Don't define local variable `lb' in
4633         UTF2000; don't use LEADING_BYTE in UTF2000; use
4634         `DECODE_ADD_UCS_CHAR' in UTF2000.
4635         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4636
4637         * config.h.in (UTF2000): New macro.
4638
4639         * buffer.h (struct buffer_text): Add new member `mule_size' and
4640         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4641         (valid_char_p): Return always 1 in UTF2000.
4642         (MAX_EMCHAR_LEN): 6 in UTF2000.
4643         (three_to_one_table): Don't define in UTF2000.
4644         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4645         UTF2000.
4646         (real_bytind_to_bufpos): Likewise.
4647
4648         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4649
4650 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4651
4652         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4653         representation change.
4654         (Vutf_2000_version): New variable.
4655         (leading_code_private_11): New variable.
4656         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4657         `leading-code-private-11'.
4658
4659         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4660         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4661         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4662         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4663         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4664         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4665         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4666         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4667         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4668         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4669         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4670         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4671         (MIN_CHAR_GREEK): New macro.
4672         (MAX_CHAR_GREEK): New macro.
4673         (MIN_CHAR_CYRILLIC): New macro.
4674         (MAX_CHAR_CYRILLIC): New macro.
4675         (MIN_CHAR_HEBREW): New macro.
4676         (MAX_CHAR_HEBREW): New macro.
4677         (MIN_CHAR_THAI): New macro.
4678         (MAX_CHAR_THAI): New macro.
4679         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4680         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4681         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4682         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4683         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4684         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4685         (CHAR_FIELD2): New inline function.
4686         (CHAR_FIELD3): New inline function.
4687         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4688         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4689         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4690         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4691         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4692         (MIN_CHAR_COMPOSITION): Likewise.
4693         (CHAR_LEADING_BYTE): Modified for character representation change.
4694         (MAKE_CHAR): Likewise.
4695
4696         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4697         (Vcharset_greek_iso8859_7): Likewise.
4698         (Vcharset_cyrillic_iso8859_5): Likewise.
4699         (Vcharset_hebrew_iso8859_8): Likewise.
4700         (Vcharset_thai_tis620): Likewise.
4701         (Vcharset_katakana_jisx0201): Likewise.
4702
4703 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
4704
4705         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
4706
4707 2002-12-14  Ben Wing  <ben@xemacs.org>
4708
4709         * callint.c: Declaration error.
4710         * dumper.c (pdump):
4711         * dumper.c (pdump_load): Warning fix.
4712         * process.c: GCPRO error.
4713         * glyphs.c (unmap_subwindow):
4714         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
4715         * event-stream.c (maybe_kbd_translate): Wrong argument to
4716         character_to_event().
4717
4718         * alloc.c (garbage_collect_1):
4719         * emacs.c:
4720         * emacs.c (debug_can_access_memory):
4721         * emacs.c (fatal_error_signal):
4722         * emacs.c (mswindows_handle_hardware_exceptions):
4723         * emacs.c (main_1):
4724         * emacs.c (main):
4725         * emacs.c (assert_failed):
4726         * emacs.c (syms_of_emacs):
4727         * lisp.h:
4728         * print.c:
4729         * print.c (std_handle_out_va):
4730         * print.c (write_string_to_stdio_stream):
4731         * print.c (write_fmt_string):
4732         * print.c (printing_badness):
4733         * print.c (printing_major_badness):
4734         * print.c (print_internal):
4735         * print.c (debug_print_no_newline):
4736         * print.c (debug_backtrace):
4737         Be more defensive in handling bad values when printing.  Add code
4738         from trunk involving inhibit_non_essential_printing_operations.
4739         When going down or in debug_print(), don't do external conversion
4740         and such and try really, really hard when printing to avoid core
4741         dumping.  Add force-debugging-signal, debug_break().
4742
4743 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
4744
4745         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
4746         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
4747
4748 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
4749
4750         * database.c: Fix open_database. Berkeley DB API has changed in
4751         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
4752
4753 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
4754
4755         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
4756
4757 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
4758
4759         * event-Xt.c (Xt_timeout):
4760         (Xt_timeout_callback):
4761         (emacs_Xt_add_timeout):
4762         (emacs_Xt_remove_timeout):
4763         (Xt_timeout_to_emacs_event):
4764         Turn completed_timeouts from a stack into a queue.  Fixes
4765         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
4766
4767 2002-11-07  Wolfram Gloger  <wg@malloc.de>
4768
4769         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
4770         * emacs.c (main): Assert that mmap'd allocation is disabled.
4771
4772 2002-10-14  Andy Piper  <andy@xemacs.org>
4773
4774         * glyphs-widget.c (layout_query_geometry): add in fiddle
4775         factor. Include border text in width layout calculation.
4776         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
4777
4778 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
4779
4780         * XEmacs 21.4.10 "Military Intelligence" is released.
4781
4782 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
4783
4784         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
4785         using the NAS private array SoundFileInfo that no longer exists in
4786         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
4787         and earlier.  This is broken for some versions between 1.5a and
4788         1.5f.
4789
4790 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
4791
4792         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
4793
4794         * emacs.c (shut_down_emacs): Improve crash message.
4795
4796 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
4797
4798         * file-coding.c (determine_real_coding_system): Check for coding
4799         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
4800         shebangs and Python PEP 263.
4801
4802 2002-10-08  Andy Piper  <andy@xemacs.org>
4803
4804         * glyphs-widget.c (layout_query_geometry): only resize dynamically
4805         if static sizes haven't been set.
4806
4807 2002-08-30  Mike Alexander  <mta@arbortext.com>
4808
4809         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
4810         to close a socket.
4811
4812 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
4813
4814         * callproc.c (child_setup): 21.4 doesn't have retry_close.
4815
4816 2002-09-20  Mike Sperber <mike@xemacs.org>
4817
4818         (This partially gets back my patch from 2002-07-20 without the
4819         bug.)
4820         * callproc.c (child_setup): Remove Ben's comment noting confusion
4821         over the file descriptors >= 3: close_process_descs() doesn't
4822         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
4823         * process-unix.c (unix_create_process): Call
4824         begin_dont_check_for_quit to inhibit unwanted interaction (and
4825         thus breaking of X event synchronicity) in the child.
4826
4827 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
4828
4829         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
4830         widget.
4831
4832 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
4833
4834         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
4835         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
4836         the xemacs process did not exit, but looped infinitely here.  This
4837         fixes that problem.
4838
4839 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4840
4841         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
4842         (find_context): Improve comments.
4843
4844         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
4845         (re_match_2): An XCHAR_TABLE operation was missing.
4846
4847         Many of the following changes were inspired by Andy Piper's (now
4848         obsolete) patch to make syntax-table text property lookup optional.
4849
4850         [Documentation]
4851
4852         * syntax.h (top level): Document semantics of syntax flags.
4853         * syntax.c (comstr_start, Fforward_comment): Improve comments.
4854         * syntax.c, syntax.h (top level): Document syntax cache better in
4855         comments.
4856
4857         [Instrument syntax caching (temporary change)]
4858
4859         * syntax.h (enum syntax_cache_statistics_functions, struct
4860         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
4861         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
4862         * syntax.c (scan_words, Fforward_comment, scan_lists,
4863         Fbackward_prefix_characters):
4864         * font-lock.c (find_context):
4865         Use them to instrument syntax caching. 
4866         * syntax.c (struct syntax_cache_statistics, scs_statistics,
4867         syntax_cache_statistics_function_names): New type and variables.
4868         * syntax.c (update_syntax_cache): Update and report statistics.
4869
4870         [Major syntax cache optimizations]
4871
4872         syntax.c (lookup_syntax_properties): Default off.
4873
4874         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
4875         * syntax.c (update_syntax_cache):
4876         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
4877
4878         [Minor syntax cache optimizations and code clarifications]
4879
4880         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
4881         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
4882         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
4883         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
4884         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
4885         (Code clarification.)
4886
4887         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
4888         scan_lists): Compute code from syncode, use Boolean macros instead
4889         of redundant masking operations.  (Code clarification; any decent
4890         compiler can do this optimization.)
4891
4892         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
4893         for clarity.
4894
4895         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
4896         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
4897         use F*_single_property_change instead of F*_extent_change.
4898         Currently F*_single_property_change is _much_ less efficient.
4899
4900         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
4901         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
4902         syntax_cache.object properly, don't leave Qt or Qnil.
4903         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
4904         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
4905         tests for Qt or Qnil.
4906
4907 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
4908
4909         * redisplay.c (point_in_line_start_cache): 
4910         * extents.c (print_extent_1):
4911         Fix warnings.
4912
4913         * extents.c (Fset_extent_property): Document `syntax-table' property.
4914
4915         * extents.h (Fnext_single_property_change): EXFUN it.
4916
4917 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
4918
4919         * search.c (clear_unused_search_regs): New static function.
4920         (search_buffer): 
4921         (simple_search): 
4922         (boyer_moore):
4923         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
4924         Minor clarifications in comments.
4925
4926         * regex.c (re_match_2_internal): Ensure no stale submatches.
4927
4928 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
4929
4930         * event-Xt.c (enqueue_focus_event): Add missing prototype.
4931
4932 2002-08-29  Jerry James  <james@xemacs.org>
4933
4934         * lisp.h: structrures -> structures.
4935
4936 2002-06-03  Andy Piper  <andy@xemacs.org>
4937
4938         * frame.c (frame_conversion_internal): add conversion appropriate
4939         for setting frame dimensions in pixels.
4940
4941         * console.h (struct console_methods): add device-specific widget
4942         layout functions.
4943
4944         * emacs.c (main_1): initialize glyph vars.
4945
4946         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
4947         (handle_focus_event_2): new function. Allow focus to
4948         be set to a particular window and widget.
4949         (enqueue_focus_event): new function. Create a
4950         synthetic focus event.
4951         (emacs_Xt_handle_magic_event): call
4952         handle_focus_event_2.
4953
4954         * frame.c (Fset_frame_pixel_height): new function. Allow
4955         pixel-based sizing. Does the right thing on character-oriented
4956         displays.
4957         (Fset_frame_pixel_width): ditto.
4958         (Fset_frame_pixel_size): ditto.
4959         (syms_of_frame): declare.
4960
4961         * general-slots.h: add :vertically-justify and
4962         :horizontally-justify.
4963
4964         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
4965         (mswindows_widget_border_width): new function.
4966         (mswindows_combo_box_instantiate): set border widths.
4967         (console_type_create_glyphs_mswindows): declare.
4968
4969         * glyphs-widget.c:
4970         (check_valid_justification): allow vertical and horizontal
4971         justification.
4972         (widget_border_width): new function. Call device methods.
4973         (widget_instance_border_width): ditto.
4974         (logical_unit_height): new function. Determine the height of a
4975         logical-unit. Logical units are intended to provide grid-like
4976         layout for subcontrols in a layout. If the layout is
4977         :vertically-justify top then subcontrols will be positioned on
4978         logical-unit boundaries, thus allowing adjacent subcontrols to
4979         line up.
4980         (widget_logical_unit_height): ditto for widgets.
4981         (redisplay_widget): misc cleanup.
4982         (widget_spacing): new function. Call device specific
4983         methods. Intended to be the default gap between adjacent widgets.
4984         (widget_query_geometry): use new spacing functions to determine
4985         appropriate geometry.
4986         (initialize_widget_image_instance): initialize horizontal and
4987         vertical justification.
4988         (widget_instantiate): use logica-units where appropriate for
4989         sizing large widgets.
4990         (button_query_geometry): use widget_instance_border_width.
4991         (tree_view_query_geometry): ditto.
4992         (tab_control_query_geometry): ditto.
4993         (edit_field_query_geometry): new function.
4994         (layout_update): pick up :justify, :horizontally-justify and
4995         :vertically-justify none of which worked previously. :justify is
4996         used as a fallback for both horizontal and vertical justification.
4997         (layout_query_geometry): use logical units to size appropriately.
4998         (layout_layout): ditto.
4999         (Fwidget_logical_to_character_width): new function. Allow users to
5000         convert from logical units to characters so that frame sizes can
5001         be set appropriately.
5002         (Fwidget_logical_to_character_height): ditto.
5003         (syms_of_glyphs_widget): declare.
5004         (image_instantiator_edit_fields): add edit_field_query_geometry.
5005         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5006         :horizontally-justify.
5007         (specifier_vars_of_glyphs_widget): new function. Declare
5008         Vwidget_border_width which is not yet used.
5009
5010         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5011         (x_widget_border_width): new function.
5012         (x_widget_instantiate): create a sensible name for widgets.
5013         (console_type_create_glyphs_x): declare x_widget_border_width.
5014
5015         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5016         (struct Lisp_Image_Instance): add :vertically-justify and
5017         :horizontally-justify.
5018         (LAYOUT_JUSTIFY_TOP): new.
5019         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5020         (ROUND_UP): new macro. Round argument up to next integral
5021         interval.
5022
5023         * redisplay-output.c (redisplay_output_layout): misc formatting.
5024
5025         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5026
5027 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5028
5029         * XEmacs 21.4.9 "Informed Management" is released.
5030
5031 2002-08-19  Andy Piper  <andy@xemacs.org>
5032
5033         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5034         win32 format.
5035
5036         * realpath.c (xrealpath): normalize drive spec also so that dir
5037         sep chars are not mixed on cygwin.
5038
5039 2002-08-06  Jerry James  <james@xemacs.org>
5040
5041         * window.c (Fsplit_window): Count only half of the divider width
5042         against the left window when splitting horizontally. 
5043
5044 2002-06-24  Andy Piper  <andy@xemacs.org>
5045
5046         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5047         toolbar was cleared.
5048
5049         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5050         function. Split out from mswindows_output_frame_toolbars.
5051         (mswindows_output_frame_toolbars): move clear pieces to
5052         mswindows_output_frame_toolbars.
5053
5054         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5055         out from gtk_output_frame_toolbars.
5056         (gtk_output_frame_toolbars): move clear pieces to
5057         gtk_clear_frame_toolbars.
5058
5059         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5060         the frame is cleared. How this ever worked before is a mystery.
5061         (x_output_frame_toolbars): Only output toolbars.
5062         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5063
5064         * gutter.c (update_gutter_geometry):
5065         Mark frame layout changed.
5066         (update_frame_gutter_geometry, update_frame_gutters):
5067         Respect frame_layout_changed.
5068
5069         * console.h (struct console_methods): add
5070         clear_frame_toolbars_method.
5071
5072         * redisplay.c (redisplay_frame): call
5073         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5074
5075         * toolbar.h: declare update_frame_toolbars_geometry.
5076
5077         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5078         out from update_frame_toolbars.  Call clear_frame_toolbars.
5079         (update_frame_toolbars): only output, do not change geometry.
5080
5081         * redisplay.c: add frame_layout_changed.
5082
5083         * redisplay.h: add frame_layout_changed.
5084         (CLASS_RESET_CHANGED_FLAGS): set it.
5085         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5086         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5087         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5088
5089         * device.h (struct device): add frame_layout_changed.
5090         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5091
5092         * frame.h (struct frame): add frame_layout_changed.
5093         (MARK_FRAME_LAYOUT_CHANGED): new.
5094
5095 2002-06-30  Mike Alexander  <mta@arbortext.com>
5096
5097         * event-msw.c (mswindows_need_event): Don't wait for a new message
5098         if the queue is not empty.  Suggested by Paul Moore.
5099
5100 2002-06-12  Andy Piper  <andy@xemacs.org>
5101
5102         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5103         for printing on accurately.
5104
5105 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5106
5107         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5108         WM_ACTIVATE message. Make sure that the frame is visible if the
5109         window is visible. This seemss to fix the problem where XEmacs
5110         appears to freeze after switching desktops with certain virtual
5111         window managers.
5112         (debug_output_mswin_message): Added code to output message
5113         parameters for WM_WINDOWPOSCHANGED, 
5114         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5115
5116 2002-05-25  Andy Piper  <andy@xemacs.org>
5117
5118         * select-x.c (vars_of_select_x): Fix docstring of
5119         x-selection-strict-motif-ownership
5120
5121 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5122
5123         * keymap.c (get_keymap):
5124         Add comment about do_autoload GCPROs own args.
5125
5126 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5127
5128         * bytecode.c (execute_optimized_program): check_opcode ifdef
5129         ERROR_CHECK_BYTE_CODE.
5130
5131 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5132
5133         Thanks to Ben Wing and Michael Sperber.
5134
5135         * eval.c (Fcommand_execute):
5136         (Feval):
5137         (Ffuncall):
5138         (Fmacroexpand_internal):
5139         (function_argcount):
5140         callint.c (Fcall_interactively):
5141         Add comment about do_autoload GCPROs own args.
5142
5143         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5144
5145         * eval.c (Ffuncall): Extra braces to placate GCC.
5146
5147 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5148
5149         * backtrace.h (grow_specpdl):
5150         (SPECPDL_RESERVE):
5151         * EmacsFrame.c (EmacsFrameSetValues):
5152         * eval.c (grow_specpdl):
5153         * ExternalShell.c (hack_event_masks_1):
5154         * glyphs-x.c (convert_EImage_to_XImage): 
5155         (x_finalize_image_instance):
5156         * ralloc.c (page_size):
5157         (r_alloc_sbrk):
5158         * xgccache.c (gc_cache_hash):
5159         Fix unsigned comparison warnings.
5160
5161 2002-07-29  Jerry James  <james@xemacs.org>
5162
5163         * lread.c (locate_file): Any nonnegative return value indicates
5164         success if MODE is nonnegative.
5165
5166 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5167
5168         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5169         argument. 
5170
5171 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5172
5173         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5174
5175         * dumper.c (pdump_get_indirect_count):
5176         (pdump_scan_by_alignment):
5177         (pdump_dump_root_struct_ptrs):
5178         (pdump_dump_rtables):
5179         (pdump_dump_root_objects):
5180         (pdump):
5181         * nas.c (WaveOpenDataForReading):
5182         * fns.c (print_bit_vector):
5183         * font-lock.c (SINGLE_SYNTAX_STYLE):
5184         * glyphs.c (check_for_ignored_expose):
5185         (find_matching_subwindow):
5186         * glyphs-eimage.c:
5187         * imgproc.c (get_histogram):
5188         * redisplay.c (point_in_line_start_cache):
5189         * redisplay-output.c (redisplay_unmap_subwindows):
5190         * symbols.c (defsymbol_massage_name_1):
5191         (defkeyword_massage_name):
5192         (deferror_massage_name_and_message):
5193         * redisplay-x.c (x_output_string): 
5194         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5195         * frame.h (struct frame):
5196         * filelock.c (current_lock_owner):
5197         * doprnt.c (emacs_doprnt_1):
5198         * lisp.h (struct Lisp_Bit_Vector):
5199         (DO_REALLOC):
5200         Fix warnings.
5201
5202 2002-02-13  Ben Wing  <ben@xemacs.org>
5203
5204         * event-stream.c (reset_key_echo):
5205         * event-stream.c (reset_this_command_keys):
5206         * event-stream.c (execute_command_event):
5207         If console is dead as a result of C-x 5 0, then post-command stuff
5208         needs to be careful and do only non-console-specific stuff.
5209
5210 2002-07-01  Mike Sperber <mike@xemacs.org>
5211
5212         * process-unix.c (unix_send_process): Mark coding_outstream as
5213         non-open upon SIGPIPE.
5214
5215         * event-stream.c (Fnext_event): Reorder switch cases to something
5216         that makes sense.
5217
5218 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5219
5220         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
5221         Don't bogusly reinitialize ascii_character property.
5222
5223 2002-07-08  Mike Sperber <mike@xemacs.org>
5224
5225         * process.c (Fstart_process_internal): Do error checking before we
5226         fork off the child, so the child can't muck with the state of the
5227         parent.
5228
5229 2002-07-08  Mike Sperber <mike@xemacs.org>
5230
5231         * ralloc.c (init_ralloc): Allocate properly for pdump.
5232
5233 2002-06-12  Andy Piper  <andy@xemacs.org>
5234
5235         * glyphs.c (query_string_geometry): check the string.
5236
5237         * glyphs-widget.c (widget_logical_unit_height): cope with nil
5238         widget names.
5239
5240 2002-06-17  Jerry James  <james@xemacs.org>
5241
5242         * sysdll.c: Remove RTLD_GLOBAL initialization.
5243         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
5244
5245 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
5246
5247         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
5248
5249 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
5250
5251         * sysdep.c (sys_rename): Make sys_rename work for the case where
5252         Windows rename sets errno to EACCES if target file exists.
5253
5254 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
5255
5256         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5257         Fix detection of metric units to work on Win95
5258
5259 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
5260
5261         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
5262
5263 2002-04-25  Andy Piper  <andy@xemacs.org>
5264
5265         * redisplay.c (create_text_block): Remove extra comment trailer.
5266
5267 2002-04-24  Andy Piper  <andy@xemacs.org>
5268
5269         * redisplay.c (create_text_block): Don't actually add propagation
5270         data if the line ends after we have added a glyph.
5271
5272 2002-04-22  Andy Piper  <andy@xemacs.org>
5273
5274         * extents.c (extent_fragment_update): check for glyphs we have
5275         previously displayed.
5276         * extents.c (print_extent_1): warning removal.
5277         * extents.h: change prototype.
5278         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
5279         widths correctly for wide glyphs.
5280         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
5281         * redisplay.c (prop_type): add PROP_GLYPH.
5282         * redisplay.c (struct prop_block): add glyph type
5283         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
5284         to the propagation data.
5285         * redisplay.c (create_text_block): if there is a glyph in the
5286         propagation data use it to salt extent_fragment_update.
5287         * redisplay.c (create_string_text_block): ditto.
5288
5289 2002-04-13  Nix  <nix@esperi.demon.co.uk>
5290
5291         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
5292         * redisplay-output.c (compare_runes): Compare them.
5293         * redisplay.c: Update copyright date.
5294         * redisplay.c (pos_data): Add need_baseline_computation field.
5295         * redisplay.c (add_glyph_rune): Update ascent, descent, and
5296         need_baseline_computation; zero yoffset. Set max_pixmap_height
5297         for all pixmaps, not just automatically positioned ones.
5298         * redisplay.c (calculate_yoffset): New, compute yoffset values.
5299         * redisplay.c (calculate_baseline): New, compute textual baseline.
5300         * redisplay.c (add_glyph_rune): Call them.
5301         * redisplay.c (create_text_block): Likewise.
5302         * redisplay.c (create_overlay_glyph_block): Likewise.
5303         * redisplay.c (add_margin_runes): Likewise.
5304         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
5305
5306         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
5307         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
5308         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
5309         * redisplay-msw.c (mswindows_output_string): Likewise.
5310         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
5311         * redisplay-gtk.c (gtk_output_display_block): Likewise.
5312         * redisplay-x.c (x_output_display_block): Likewise.
5313
5314 2002-03-28  Ben Wing  <ben@xemacs.org>
5315
5316         * redisplay.c: Fixed bug in redisplay
5317         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
5318         and down of the lines, since they're bigger than the line
5319         size. (It was seen most obviously when there's a horizontal scroll
5320         bar, e.g. do C-h a glyph or something like that.) The problem was
5321         that the glyph-contrib-p setting on glyphs was ignored even if it
5322         was set properly, which it wasn't until now.
5323
5324 2002-04-24  Andy Piper  <andy@xemacs.org>
5325
5326         * lisp.h (Dynarr_end): Fix definition.
5327
5328 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
5329
5330         * redisplay.c (mark_redisplay): Remove call to
5331         update_frame_window_mirror.
5332
5333 2001-11-15  Andy Piper  <andy@xemacs.org>
5334
5335         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
5336         cygwin (again).
5337
5338 2002-02-13  Andy Piper  <andy@xemacs.org>
5339
5340         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
5341         we did in fact enqueue the XM_MAPFRAME event.
5342
5343 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
5344
5345         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
5346         to fix problem switching between virtual desktops under virtuawin
5347         virtual window manager.
5348
5349 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
5350
5351         * event-msw.c: Typo fix.
5352         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
5353         magic XM_MAPFRAME event has been sent.
5354
5355 2001-11-23  Andy Piper  <andy@xemacs.org>
5356
5357         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
5358
5359 2001-11-21  Andy Piper  <andy@xemacs.org>
5360
5361         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
5362         mouse events outside the frame.
5363
5364 2002-03-20  Andy Piper  <andy@xemacs.org>
5365
5366         * menubar-msw.c (mswindows_popup_menu): warning removal.
5367         * dialog-msw.c (dialog_popped_down): ditto.
5368
5369 2001-12-11  Andy Piper  <andy@xemacs.org>
5370
5371         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
5372         * dialog-msw.c (mswindows_make_dialog_box_internal): set
5373         popup_up_p.
5374         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
5375         * menubar-msw.c (mswindows_handle_wm_command): ditto.
5376         * menubar-msw.c (mswindows_popup_menu): ditto.
5377
5378 2001-10-29  Andy Piper  <andy@xemacs.org>
5379
5380         * dialog-msw.c (handle_directory_dialog_box): quit if the user
5381         cancels.
5382
5383 2002-01-03  Andy Piper  <andy@xemacs.org>
5384
5385         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
5386         letters.
5387         (xrealpath): ditto.
5388
5389 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
5390
5391         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
5392         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
5393         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5394         Detect and handle case where machine is set up for metric units
5395
5396 2002-04-02  Andy Piper  <andy@xemacs.org>
5397
5398         * dired-msw.c (mswindows_get_files): 
5399         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
5400         completely handled by XEmacs. Suggested by Thomas Vogler
5401         <mail@thomas-vogler.de>.
5402
5403 2001-11-14  Andy Piper  <andy@xemacs.org>
5404
5405         * nt.c (REG_ROOT): change registry key to XEmacs.
5406
5407 2002-04-27  Andy Piper  <andy@xemacs.org>
5408
5409         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
5410
5411 2002-04-26  Andy Piper  <andy@xemacs.org>
5412
5413         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
5414         behavior.
5415
5416 2002-03-14  Mike Alexander  <mta@arbortext.com>
5417
5418         * event-msw.c (mswindows_unwait_process): New, remove process from
5419         wait list
5420         * process-nt.c (nt_finalize_process_data): Call
5421         mswindows_unwait_process
5422         * console-msw.h: Declare mswindows_unwait_process
5423
5424 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
5425
5426         * editfns.c (Fdecode_time):
5427         (Fformat_time_string):
5428         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
5429         (make_time): Warning elimination (change arg name).
5430
5431 2001-11-24  Andy Piper  <andy@xemacs.org>
5432
5433         * window.c (Fsplit_window): Doc return type.
5434
5435 2002-04-01  Andy Piper  <andy@xemacs.org>
5436
5437         * emacs.c (Fkill_emacs): Only output message box in interactive
5438         mode.
5439
5440 2002-04-26  Andy Piper  <andy@xemacs.org>
5441  
5442         * config.h.in: pull in 21.5.x change to stop alloca warnings under
5443         cygwin.
5444
5445 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
5446
5447         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
5448         bit platform.
5449
5450 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
5451
5452         * XEmacs 21.4.8 "Honest Recruiter" is released.
5453
5454 2002-05-07  Nix  <nix@esperi.demon.co.uk>
5455
5456         Supersedes 2002-04-17 patch.
5457
5458         * process.h (PROCESS_LIVE_P): Use the process status as
5459         evidence of health, not the state of the input stream.
5460         (PROCESS_READABLE_P): Say if the process is readable
5461         from. (It may be dead nonetheless.)
5462         (CHECK_READABLE_PROCESS): Test for that condition.
5463
5464         * process.c (create_process): Use PROCESS_READABLE_P.
5465         (read_process_output, set_process_filter): Likewise.
5466
5467         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
5468         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
5469
5470         This code is #if 0'd, this is not the time to add new functions:
5471
5472         * process.c (Fprocess_readable_p): Report readability status.
5473         * process.c (Qprocess_readable_p): New, associated symbol...
5474         * process.c (syms_of_process): ... initialize it.
5475
5476 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
5477
5478         * XEmacs 21.4.7 "Economic Science" is released.
5479
5480 2002-04-17  Nix  <nix@esperi.demon.co.uk>
5481
5482         * process.h (PROCESS_LIVE_P): Use the process status as
5483         evidence of health, not the state of the input stream.
5484
5485 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
5486
5487         * sysdep.c (sys_siglist): change "signum" to "signal"
5488
5489 2001-04-21  Martin Buchholz  <martin@xemacs.org>
5490
5491         * s/darwin.h: New file.
5492         Thanks to Greg Parker <gparker@cs.stanford.edu>.
5493         
5494 2002-04-23  Andreas Jaeger  <aj@suse.de>
5495
5496         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
5497         which use lib64 for 64-bit libs.
5498         (START_FILES): Likewise.
5499
5500 2002-02-11  Mike Sperber  <mike@xemacs.org>
5501
5502         * device-x.c: 
5503         (x_IO_error_handler):
5504         (x_init_device): Temporarily keep device in static variable
5505         `device_being_initialized' so we can recover gracefully from
5506         internal XOpenDevice failure.  (XOpenDevice is documented to
5507         return NULL on failure, but sometimes calls the IO error handler
5508         instead.)
5509
5510 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
5511
5512         * dired.c (Ffile_name_all_completions): Change documentation --
5513         remove reference to completion-ignored-extensions.
5514         * dired.c (vars_of_dired): Change documentation for
5515         completion-ignored-extensions -- remove reference to
5516         file-name-all-completions.
5517
5518 2002-03-06  Jerry James  <james@xemacs.org>
5519
5520         * emodules.c (emodules_load): Fix multiple loading of same module.
5521
5522 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
5523         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
5524         RTLD_LAZY to avoid incorrect symbol binding when using nested
5525         shared libraries on Solaris.
5526
5527 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
5528
5529         * fileio.c (Ffind_file_name_handler): Improve docstring.
5530
5531 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
5532
5533         * fns.c (Fmapconcat): Improve docstring.
5534
5535 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
5536
5537         * device-gtk.c: Add prototype for
5538         emacs_gtk_selection_clear_event_handle.
5539         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
5540         selection.  Setup signal handler for "selection_clear_event"
5541         (emacs_gtk_selection_clear_event_handle).
5542
5543         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
5544         other applications owning the clipboard (based on
5545         x_handle_selection_clear).
5546
5547 2001-12-23  William M. Perry  <wmperry@gnu.org>
5548
5549         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
5550         
5551 2002-01-04  Martin Buchholz  <martin@xemacs.org>
5552
5553         * keymap.c (define_key_alternate_name): Parenthesize EQ.
5554
5555 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
5556
5557         * XEmacs 21.4.6 "Common Lisp" is released.
5558
5559 2001-12-16  Torsten Duwe  <duwe@caldera.de>
5560
5561         * search.c (Freplace_match): Add missing sub-expression functionality.
5562
5563         * buffer.c (decode_buffer): Add a check for pointer type to
5564         decode_buffer, before gcc's CSE optimization reorders a
5565         dereference in front of the allow_string test.
5566
5567 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
5568
5569         * window.c (window_loop): Fix bug that sometimes prevented
5570         window_loop() from iterating across multiple devices.  Also, at
5571         Ben's request, changed infloop-detecting code to abort() instead
5572         of silently terminating window_loop().
5573
5574 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
5575
5576         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
5577         * editfns.c (make_time): New function.
5578         (Fencode_time): Use it instead of wasteful_word_to_lisp.
5579         * lisp.h (make_time): Prototype and comment it.
5580         * dired.c (wasteful_word_to_lisp): Deprecate.
5581         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
5582
5583 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
5584
5585         * fileio.c (auto_save_1): Use current coding system, not
5586         escape-quoted.
5587
5588 2001-11-13  Ben Wing  <ben@xemacs.org>
5589
5590         * window.c:
5591         * window.c (window_truncation_on):
5592         * window.c (syms_of_window):
5593         truncate-partial-width-windows should respect the buffer being
5594         displayed, like other redisplay vars.
5595
5596 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
5597
5598         * event-stream.c (Fread_key_sequence): save current buffer.
5599
5600 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5601
5602         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
5603
5604 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5605
5606         * alloc.c (lcrecord_stats): Add space for types defined in modules.
5607
5608 2001-10-26  Mike Alexander  <mta@arbortext.com>
5609
5610         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
5611
5612 2001-10-25  Andy Piper  <andy@xemacs.org>
5613
5614         * ChangeLog:
5615         * dialog-msw.c (handle_directory_proc): new function.
5616          (handle_directory_dialog_box): new fucntion.
5617          (handle_file_dialog_box): use new directory dialog support.
5618          (mswindows_make_dialog_box_internal): ditto.
5619         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
5620         handling.
5621         (mswindows_find_frame): make global.
5622         * fileio.c (Fexpand_file_name): build fix.
5623         * general-slots.h: add Qdirectory.
5624         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
5625         handling.
5626         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
5627         cygwin not leaving win32 paths unchanged.
5628         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
5629         cygwin runtime to do path conversion.
5630         (Fmswindows_shell_execute): fix cygwin handling of URLs.
5631         (syms_of_win32): add new function.
5632         * window.c (window_loop): build fix.
5633
5634 2001-10-15  Andy Piper  <andy@xemacs.org>
5635
5636         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
5637
5638 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
5639
5640         * XEmacs 21.4.5 "Civil Service" is released.
5641
5642 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
5643
5644         * glyphs-x.c: Force buffer-tab highlight update when moving the
5645         buffer, avoiding an ugly black border, used for keyboard focus
5646         indication, on a widget that can never have keyboard focus, the
5647         buffer tab.
5648
5649 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
5650
5651         * process-unix.c (unix_open_multicast_group): Remove too much
5652         conversion between host and network byte order.
5653
5654 2001-09-10  Nix  <nix@esperi.demon.co.uk>
5655
5656         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
5657         before replacing them.
5658
5659         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
5660         operation.
5661
5662         * src/window.c (undedicate_windows): Use it.
5663         * src/window.h: Add prototype.
5664
5665 2001-09-17  Ben Wing  <ben@xemacs.org>
5666
5667         * fileio.c (normalize_filename):
5668         * fileio.c (Fexpand_file_name):
5669         Fix various C++ compile errors in Andy's recent code.
5670         
5671         * callint.c (Fcall_interactively):
5672         * editfns.c (Ftemp_directory):
5673         * editfns.c (Fuser_full_name):
5674         * emacs.c (argmatch):
5675         * lread.c (locate_file_map_suffixes):
5676         * redisplay-x.c (x_ring_bell):
5677         Fix sign-compare warnings.
5678         
5679 2001-09-08  Andy Piper  <andy@xemacs.org>
5680
5681         * fileio.c (normalize_filename): copied from nt.c
5682         * (Ffile_name_directory): enable win32 paths under cygwin.
5683         * (Ffile_name_nondirectory): ditto.
5684         * (directory_file_name): ditto.
5685         * (Fexpand_file_name): ditto.
5686         * (Ffile_truename): ditto.
5687         * (Fsubstitute_in_file_name): ditto.
5688         * (Ffile_name_absolute_p): ditto.
5689         * (Ffile_readable_p): ditto.
5690
5691 2001-09-08  Andy Piper  <andy@xemacs.org>
5692
5693         * device-msw.c (mswindows_finish_init_device): remove dde
5694         initialization.
5695         * device-msw.c (mswindows_init_dde): factor out from
5696         mswindows_finish_init_device()
5697         * device-msw.c (init_mswindows_very_early): new function
5698         initialize but don't enable dde.
5699         * emacs.c (main_1): call init_mswindows_very_early.
5700         * event-msw.c:
5701         * event-msw.c (mswindows_dde_callback): only execute when we are
5702         ready.
5703         * symsinit.h: declare init_mswindows_very_early.
5704
5705 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5706
5707         [sjt: This has been in 21.5 for months with no complaints.]
5708
5709         * console.h (struct console_methods): Added flags member.
5710         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
5711         (CONMETH_IMPL_FLAG):
5712         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
5713         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5714
5715         * device.c (window_system_pixelated_geometry): Use the above macros.
5716
5717         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
5718         implememntation flag.
5719         * device.h (DEVICE_DISPLAY_P): Use it.
5720
5721         * frame.c (delete_frame_internal): Use the above macro.
5722
5723         * redisplay.c (redisplay_device): Use it.
5724         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5725         (redisplay_frame): Ditto.
5726
5727         * device-msw.c (mswindows_device_implementation_flags): Removed.
5728         (msprinter_device_implementation_flags): Removed.
5729         (console_type_create_device_mswindows): Removed references to
5730         implementation_flags methods, set implementation flags here.
5731         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
5732
5733         * device-gtk.c (gtk_device_implementation_flags): Removed method.
5734         (console_type_create_device_gtk): Removed method declaration.
5735         Added commented out statement which semantically matches the
5736         commented out statement in the above removed method.
5737
5738 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
5739
5740         The attached patch fixes a few warnings. 
5741
5742         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
5743         * src/frame-gtk.c: guard against GNOME calls in GTK only
5744         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
5745         * src/select-gtk.c: prototype lisp_to_time
5746
5747 2001-06-08  Ben Wing  <ben@xemacs.org>
5748
5749         ------ gc-in-window-procedure fixes ------
5750         
5751         * alloc.c:
5752         * alloc.c (struct post_gc_action):
5753         * alloc.c (register_post_gc_action):
5754         * alloc.c (run_post_gc_actions):
5755         * alloc.c (garbage_collect_1):
5756         Create "post-gc actions", to avoid those dreaded "GC during window
5757         procedure" problems.
5758
5759         * event-msw.c:
5760         Abort, clean and simple, when GC in window procedure.  We want
5761         to flush these puppies out.
5762
5763         * glyphs-msw.c:
5764         * glyphs-msw.c (finalize_destroy_window):
5765         * glyphs-msw.c (mswindows_finalize_image_instance):
5766         Use a post-gc action when destroying subwindows.
5767
5768         * lisp.h:
5769         Declare register_post_gc_action().
5770
5771         * scrollbar-msw.c:
5772         * scrollbar-msw.c (unshow_that_mofo):
5773         Use a post-gc action when unshowing scrollbar windows, if in gc.
5774
5775         * redisplay.c (mark_redisplay):
5776         Add comment about the utter evilness of what's going down here.
5777
5778         ------ cygwin setitimer fixes ------
5779         
5780         * Makefile.in.in (sheap_objs):
5781         * Makefile.in.in (profile_objs):
5782         * Makefile.in.in (objs):
5783         Compile profile.c only when HAVE_SETITIMER.
5784         
5785         * nt.c (mswindows_sigset):
5786         * nt.c (mswindows_sighold):
5787         * nt.c (mswindows_sigrelse):
5788         * nt.c (mswindows_sigpause):
5789         * nt.c (mswindows_raise):
5790         * nt.c (close_file_data):
5791         Style fixes.
5792         
5793         * nt.c:
5794         Move setitimer() emulation to win32.c, because Cygwin needs it too.
5795         
5796         * profile.c:
5797         * profile.c (Fstart_profiling):
5798         * profile.c (Fstop_profiling):
5799         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
5800         instead of just plain setitimer().
5801         
5802         * signal.c:
5803         * signal.c (set_one_shot_timer):
5804         * signal.c (alarm):
5805         Define qxe_setitimer() as an encapsulation around setitimer() --
5806         call setitimer() directly unless Cygwin or MS Win, in which case
5807         we use our simulated version in win32.c.
5808         
5809         * systime.h:
5810         * systime.h (struct itimerval):
5811         * systime.h (ITIMER_REAL):
5812         Prototype mswindows_setitimer() and qxe_setitimer().  Long
5813         comment about "qxe" and the policy regarding encapsulation.
5814
5815         * win32.c:
5816         * win32.c (setitimer_helper_proc):
5817         * win32.c (setitimer_helper_period):
5818         * win32.c (setitimer_helper):
5819         * win32.c (mswindows_setitimer):
5820         Move setitimer() emulation here, so Cygwin can use it.
5821         Rename a couple of functions and variables to be longer and more
5822         descriptive.  In setitimer_helper_proc(), send the signal
5823         using either mswindows_raise() or (on Cygwin) kill().  If for
5824         some reason we are still getting lockups, we'll change the kill()
5825         to directly invoke the signal handlers.
5826
5827         ------ windows shell fixes ------
5828         
5829         * callproc.c:
5830         * ntproc.c:
5831         Comments about how these two files must die.
5832
5833         * callproc.c (init_callproc):
5834         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
5835         not just COMSPEC. (more correct and closer to FSF.) Don't
5836         force a value for SHELL into the environment. (Comments added
5837         to explain why not.)
5838         
5839         * nt.c (init_user_info):
5840         Don't shove a fabricated SHELL into the environment.  See above.
5841
5842 2001-06-01  Ben Wing  <ben@xemacs.org>
5843
5844         * Makefile.in.in (ldflags):
5845         eliminate that pesky "defaulting to 00401000" warning.
5846         * nt.h:
5847         eliminate warnings.
5848
5849 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
5850
5851         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
5852         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
5853
5854 2001-04-24  Jerry James <james@xemacs.org>
5855
5856         * faces.h: pass parameters to Fadd_spec_to_specifier in the
5857         correct order.
5858
5859 2001-06-01  Ben Wing  <ben@xemacs.org>
5860
5861         * event-msw.c (debug_mswin_messages):
5862         conditionalize the messages that were causing compile errors.
5863         (if only macros could generate #ifdef statements ...)
5864
5865 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
5866
5867         * XEmacs 21.4.4 "Artificial Intelligence" is released.
5868
5869 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5870
5871         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
5872
5873 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5874
5875         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
5876         * process-unix.c (unix_canonicalize_host_name):
5877         sysdep.c (init_system_name):
5878         Use it to conditionally support IPv6 canonicalization.
5879
5880 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
5881
5882         * event-msw.c:
5883         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
5884
5885 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
5886
5887         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
5888         attempt is made to scroll when no scroll bar is available.
5889
5890 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5891
5892         * input-method-motif.c (XIM_delete_frame): New callback.
5893         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
5894         got deleted from 21.4.3.)
5895
5896 2001-06-01  Ben Wing  <ben@xemacs.org>
5897
5898         * nt.c (mswindows_utime):
5899         * nt.c (close_file_data):
5900         fix off-by-one-indirection error.
5901
5902 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
5903
5904         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
5905         because set_file_times() now takes Lisp_Object path, instead of
5906         char*.
5907         * nt.c: Include buffer.h.
5908         * nt.c (convert_from_time_t): New.
5909         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
5910         not set mtime correctly.
5911         * nt.h: Declare mswindows_utime().
5912         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
5913         path, instead of char*.
5914         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
5915
5916 2001-05-30  Ben Wing  <ben@xemacs.org>
5917
5918         For 21.4:
5919
5920         (Stephen, just take all event-msw.c patches.  This includes
5921         the "iconify" fix below.)
5922
5923         * event-msw.c:
5924         * event-msw.c (mswindows_dequeue_dispatch_event):
5925         * event-msw.c (assert):
5926         * event-msw.c (emacs_mswindows_quit_p):
5927         * event-msw.c (debug_mswin_messages):
5928         * event-msw.c (debug_output_mswin_message):
5929         * event-msw.c (vars_of_event_mswindows):
5930         Fix yet more problems with C-g handling.
5931         Implement debug-mswindows-events.
5932         
5933 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5934
5935         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
5936         
5937 2001-05-23  Ben Wing  <ben@xemacs.org>
5938
5939         * event-msw.c (winsock_writer):
5940         * event-msw.c (winsock_closer):
5941         prior kludgy code was clobbering the buffer, thinking it was
5942         "unused" space to store an unneeded return value; instead, use
5943         the variable we've already got staring us in the face.
5944
5945 2001-05-17  Andy Piper  <andy@xemacs.org>
5946
5947         * sysfile.h: don't assume that file attributes are boolean
5948
5949 2001-05-23  Ben Wing  <ben@xemacs.org>
5950
5951         * device-msw.c (msprinter_init_device):
5952         signal an error rather than crash with an unavailable network
5953         printer (from Mike Alexander).
5954         
5955         * event-msw.c:
5956         * event-msw.c (struct winsock_stream):
5957         * event-msw.c (winsock_writer):
5958         * event-msw.c (winsock_closer):
5959         * event-msw.c (make_winsock_stream_1):
5960         cleanup headers.  fix (hopefully) an error with data corruption
5961         when sending to a network connection.
5962
5963         * fileio.c (Fexpand_file_name): Fix evil code that attempts
5964         to handle the ~user prefix by (a) always assuming we're referencing
5965         ourselves and not even verifying the user -- hence any file with
5966         a tilde as its first char is invalid! (b) if there wasn't a slash
5967         following the filename, the pointer was set *past* the end of
5968         file and we started reading from uninitialized memory.  Now we
5969         simply treat these as files, always.
5970
5971         * buffer.c (common_init_complex_vars_of_buffer): comment change.
5972         
5973 2001-05-19  Ben Wing  <ben@xemacs.org>
5974
5975         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
5976
5977         * process-nt.c:
5978         * process-nt.c (vars_of_process_nt):
5979         remove unused mswindows-quote-process-args.  rec for 21.4.
5980         
5981 2001-05-12  Ben Wing  <ben@xemacs.org>
5982
5983         * event-msw.c (mswindows_dde_callback):
5984         * event-msw.c (mswindows_wnd_proc):
5985         eliminate cygwin warnings.
5986
5987 2001-05-06  Ben Wing  <ben@xemacs.org>
5988
5989         * console-msw.h:
5990         * device-msw.c:
5991         * device-msw.c (print_dialog_worker):
5992         * device-msw.c (mswindows_handle_print_dialog_box):
5993         * device-msw.c (syms_of_device_mswindows):
5994         * dialog-msw.c (mswindows_make_dialog_box_internal):
5995         * general-slots.h:
5996         implement printing the selection when it's selected.
5997
5998 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
5999
6000         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6001
6002 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6003
6004         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6005         EMACS_INT is signed.
6006
6007 2001-04-15  Michael Lausch  <mla@1012surf.net>
6008
6009         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6010         gtk_widget_request_size() to give scrollbar >0 width for
6011         GTK >1.2.8.
6012
6013 2001-05-30  William M. Perry  <wmperry@gnu.org>
6014
6015         * event-gtk.c: Check for buttons as modifier keys.
6016
6017 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6018
6019         * s\mingw32.h:
6020         Properly find MinGW's <process.h> inside Cygwin's restructured
6021         include directories.  Don't try to include <cygwin/version.h>
6022         since we are dropping support for MinGW in versions of Cygwin
6023         earlier than b21.
6024         * nt.c:
6025         Drop support for MinGW in versions of Cygwin before b21.
6026         * sysdep.c:
6027         Properly find MinGW's <process.h> inside Cygwin's restructured
6028         include directories.
6029         * syswindows.h:
6030         Drop support for MinGW in versions of Cygwin before b21.
6031         * unexcw.c:
6032         Even though a.out.h is no longer detected by configure, allow
6033         MinGW to use it until we figure out how to do the job with Win32.
6034
6035 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6036
6037         * syntax.c (find_start_of_comment):
6038         Fix `unbalanced parentheses' bug when dealing with mixed comment
6039         styles in c++/java/etc. mode
6040
6041 2001-05-29  Mike Alexander  <mta@arbortext.com>
6042
6043         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6044         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6045
6046 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6047
6048         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6049
6050 2001-03-31  Mike Sperber <mike@xemacs.org>
6051
6052         * search.c (Freplace_match): Support FSF-style specification of
6053         match subexpression when applied to a buffer.
6054
6055 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6056
6057         * event-stream.c (is_scrollbar_event): add missing semicolon
6058
6059 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6060
6061         * Makefile.in.in: Use TAR macro instead of hardcoding
6062           tar.  Allows use of GNU tar instead of system tar
6063
6064 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6065
6066         * event-stream.c (is_scrollbar_event): add missing semicolon
6067
6068 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6069
6070         * XEmacs 21.4.3 "Academic Rigor" is released.
6071
6072 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6073
6074         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6075
6076 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6077
6078         * buffer.c (Vcase_fold_search): Remove obsolete
6079           comment about non ASCII case-fold-search.  This
6080           bug has been fixed by case-table changes.
6081
6082 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6083
6084         * event-msw.c: Restore include of events-mod.h.
6085
6086 2001-04-22   zhaoway  <zw@debian.org>
6087
6088         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6089         !HAVE_SCROLLBARS.
6090
6091 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6092
6093         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6094
6095 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6096
6097         * mule-charset.c (Fmake_charset): Add missing else.
6098
6099 2001-04-23  Ben Wing  <ben@xemacs.org>
6100
6101         * event-msw.c (FAKE_MOD_QUIT):
6102         * event-msw.c (mswindows_dequeue_dispatch_event):
6103         * event-msw.c (mswindows_wnd_proc):
6104         * event-msw.c (emacs_mswindows_quit_p):
6105         Get critical quit working.
6106
6107 2001-05-05  Ben Wing  <ben@xemacs.org>
6108
6109         * console-msw.h:
6110         * device-msw.c:
6111         * device-msw.c (mswindows_get_default_margin):
6112         * frame-msw.c (mswindows_size_frame_internal):
6113         * frame-msw.c (msprinter_init_frame_1):
6114         * frame-msw.c (vars_of_frame_mswindows):
6115         Change top/bottom margin defaults to 0.5 inches.
6116
6117 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6118
6119         Fix link error with gcc 3.0 on Linux.
6120         * terminfo.c (UP): Remove.
6121         * terminfo.c (BC): Remove.
6122         * terminfo.c (PC): Remove.
6123         They weren't used, and in any case, these symbols should be
6124         defined in the *library*.
6125
6126 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6127
6128         * s/aix4.h: Fix crash with xlc -O3.
6129         Improve comment explaining how -O3 works.
6130
6131 2001-04-15  Ben Wing  <ben@xemacs.org>
6132
6133         * event-stream.c:
6134         * event-stream.c (Fnext_event):
6135         * event-stream.c (is_scrollbar_event):
6136         * event-stream.c (execute_command_event):
6137         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6138         crash' problem.  His fix introduces other problems.  We filter
6139         out scrollbar events specifically, making them somewhat invisible
6140         to command-building, and not appearing in `this-command-keys'.
6141         More work is still needed (see comments in event-stream.c), but
6142         this fixes all the major problems.
6143
6144 2001-04-20  Ben Wing  <ben@xemacs.org>
6145
6146         * .cvsignore: Added stuff for Windows.
6147
6148 2001-04-28  Ben Wing  <ben@xemacs.org>
6149
6150         * buffer.c (Ferase_buffer):
6151         * editfns.c (buffer_insert1):
6152         * editfns.c (Finsert_before_markers):
6153         * editfns.c (Finsert_string):
6154         * editfns.c (Finsert_char):
6155         * editfns.c (Fdelete_region):
6156         * editfns.c (Fwiden):
6157         * editfns.c (Fnarrow_to_region):
6158         remove bogus lines setting zmacs_region_stays to 0.
6159         
6160 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6161
6162         * process-unix.c (unix_open_network_stream): If connect() fails
6163         invalidate file descriptor after closing it.
6164
6165 2001-03-08  Mike Alexander  <mta@arbortext.com>
6166
6167         * event-msw.c (mswindows_need_event_in_modal_loop):
6168         Don't dispatch a message if we didn't get one.
6169         (mswindows_need_event):
6170         Terminate the correct process when one exits instead of the first
6171         one on Vprocess_list and look for process termination when in
6172         mswindows_protect_modal_loop.
6173
6174 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6175
6176         * XEmacs 21.4.1 "Copyleft" is released.
6177
6178 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6179
6180         * input-method-motif.c (XIM_delete_frame): New callback.
6181         (XIM_init_frame): Register it.
6182
6183 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6184
6185         * XEmacs 21.4.0 "Solid Vapor" is released.
6186
6187 2001-04-15  Ben Wing  <ben@xemacs.org>
6188
6189         * cmdloop.c (call_command_loop):
6190         Fix braino in bit-rotting code.
6191         
6192 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6193
6194         * extents.c (Fset_extent_endpoints): Force creation of extent info
6195         in buffer_or_string.
6196
6197         * extents.c (process_extents_for_insertion_mapper): Correctly
6198         check for open-open zero-length extents.
6199
6200 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6201
6202         * lisp.h: New typedefs Memory_count, Element_count.
6203         * regex.c:
6204         * regex.h:
6205         Sign-compare warning elimination: several unsigned -> signed.
6206         Based on work by Ben Wing <ben@xemacs.org>.
6207
6208 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6209
6210         * XEmacs 21.2.47 "Zephir" is released.
6211
6212 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6213
6214         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6215
6216 2001-04-03  Mike Sperber <mike@xemacs.org>
6217
6218         * search.c: Revert previous patch due because of release.
6219
6220 2001-03-30  Ben Wing  <ben@xemacs.org>
6221
6222         * s\cygwin32.h:
6223         Add missing killpg prototype.
6224
6225         * elhash.c:
6226         Add a comment about fixing problems when a new entry is added
6227         while mapping.
6228
6229         * frame-msw.c (mswindows_init_frame_1):
6230         Fix compile warnings.
6231
6232         * menubar.c (vars_of_menubar):
6233         Provide `menu-accelerator-support' to indicate that we properly
6234         support %_ in menu specifications, so that package code can
6235         conditionalize on this (and remove %_ from menu specifications
6236         on older versions).
6237
6238         * event-msw.c:
6239         * scrollbar-msw.c:
6240         * scrollbar-msw.c (can_scroll):
6241         * scrollbar-msw.h:
6242         Fix handling of mouse wheel under Windows to follow standards --
6243         now scrolls window under pointer, not selected window.
6244
6245 2001-03-31  Mike Sperber <mike@xemacs.org>
6246
6247         * search.c (Freplace_match): Support FSF-style specification of
6248         match subexpression when applied to a buffer.
6249
6250 2001-03-15  Martin Buchholz  <martin@xemacs.org>
6251
6252         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
6253         function to modify KEYMAP, so map over a copy of the hash table.
6254
6255 2001-03-21  Martin Buchholz <martin@xemacs.org>
6256
6257         * XEmacs 21.2.46 "Urania" is released.
6258
6259 2001-03-20  Dan Holmsand  <dan@eyebee.com>
6260
6261         * realpath.c (xrealpath): Make file-truename work with symlinks to
6262         /cygdrive paths on cygwin. Always lowercase drive-letters on
6263         native windows.
6264         (cygwin_readlink): Don't try to find canonical filename unless
6265         file exists.
6266
6267 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
6268
6269         * ChangeLog: Log GTK merge.
6270
6271         * dumper.c:
6272         * select-x.c:
6273         * specifier.c:
6274         * symeval.h:
6275         Revert gratuitous whitespace changes from GTK merge.
6276
6277         * emacs.c: Document end of complex #ifdef @ l. 1495.
6278
6279
6280 2001-03-12  Andy Piper  <andy@xemacs.org>
6281
6282         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
6283         have to do likewise.
6284
6285 2001-03-12  Andy Piper  <andy@xemacs.org>
6286
6287         * sysdep.c: we only support mingw now.
6288
6289 2001-03-09  Andy Piper  <andy@xemacs.org>
6290
6291         * unexcw.c (copy_executable_and_dump_data_section): making approx
6292         overrun a warning only.
6293
6294 2001-03-10  William M. Perry  <wmperry@aventail.com>
6295
6296         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
6297         satisfy Stephen's identical-after-cpp plea.
6298
6299 2001-03-02  Ben Wing  <ben@xemacs.org>
6300
6301         * cmds.c:
6302         * cmds.c (Fforward_char):
6303         * syntax.c:
6304         * window.c:
6305
6306         Augment documentation of the most common motion commands to make
6307         note of the shifted-motion support.
6308         
6309 2001-03-02  Ben Wing  <ben@xemacs.org>
6310
6311         * nt.c (mswindows_fstat):
6312         * nt.c (mswindows_stat):
6313         * search.c (boyer_moore):
6314         Fix compile warnings under Windows.
6315         
6316         * sysdep.c (sys_readdir):
6317         Fix buggy filename-conversion code under Mule.
6318
6319 2001-03-09  William M. Perry  <wmperry@aventail.com>
6320
6321         * Makefile.in.in:
6322         * config.h.in:
6323         * console.c:
6324         * console.h:
6325         * device.c:
6326         * device.h:
6327         * dragdrop.c:
6328         * emacs.c:
6329         * event-stream.c:
6330         * events.c:
6331         * events.h:
6332         * faces.c:
6333         * frame.h:
6334         * general-slots.h:
6335         * glyphs.c:
6336         * gutter.c:
6337         * inline.c:
6338         * lisp.h:
6339         * lrecord.h:
6340         * make-src-depend:
6341         * redisplay-output.c:
6342         * redisplay.c:
6343         * symsinit.h:
6344         * sysfile.h:
6345         * toolbar.c:
6346         * window.c:
6347         The Great GTK Merge.
6348
6349         * ChangeLog.GTK:
6350         * console-gtk.c:
6351         * console-gtk.h:
6352         * device-gtk.c:
6353         * emacs-marshals.c:
6354         * emacs-widget-accessors.c:
6355         * event-gtk.c:
6356         * frame-gtk.c:
6357         * gccache-gtk.c:
6358         * gccache-gtk.h:
6359         * glade.c:
6360         * glyphs-gtk.c:
6361         * glyphs-gtk.h:
6362         * gtk-glue.c:
6363         * gtk-xemacs.c:
6364         * gtk-xemacs.h:
6365         * gui-gtk.c:
6366         * gui-gtk.h:
6367         * menubar-gtk.c:
6368         * native-gtk-toolbar.c:
6369         * objects-gtk.c:
6370         * objects-gtk.h:
6371         * redisplay-gtk.c:
6372         * scrollbar-gtk.c:
6373         * scrollbar-gtk.h:
6374         * select-gtk.c:
6375         * toolbar-gtk.c:
6376         * ui-byhand.c:
6377         * ui-gtk.c:
6378         * ui-gtk.h:
6379         The Great GTK Merge: new files.
6380
6381 2001-02-26  Ben Wing  <ben@xemacs.org>
6382
6383         Reapplied Lstream change.
6384
6385 2001-02-26  Ben Wing  <ben@xemacs.org>
6386
6387         Undid the last change, since it is more controversial than I
6388         thought.  It should be back in at some point soon.
6389         
6390 2001-02-25  Ben Wing  <ben@xemacs.org>
6391
6392         * buffer.c:
6393         * callproc.c (Fold_call_process_internal):
6394         * event-msw.c (ntpipe_slurp_reader):
6395         * event-msw.c (ntpipe_shove_writer):
6396         * event-msw.c (winsock_reader):
6397         * event-msw.c (winsock_writer):
6398         * file-coding.c:
6399         * file-coding.c (detect_eol_type):
6400         * file-coding.c (detect_coding_type):
6401         * file-coding.c (determine_real_coding_system):
6402         * file-coding.c (Fdetect_coding_region):
6403         * file-coding.c (decoding_reader):
6404         * file-coding.c (decoding_writer):
6405         * file-coding.c (mule_decode):
6406         * file-coding.c (Fdecode_coding_region):
6407         * file-coding.c (encoding_reader):
6408         * file-coding.c (encoding_writer):
6409         * file-coding.c (mule_encode):
6410         * file-coding.c (Fencode_coding_region):
6411         * file-coding.c (detect_coding_sjis):
6412         * file-coding.c (decode_coding_sjis):
6413         * file-coding.c (encode_coding_sjis):
6414         * file-coding.c (detect_coding_big5):
6415         * file-coding.c (decode_coding_big5):
6416         * file-coding.c (encode_coding_big5):
6417         * file-coding.c (detect_coding_ucs4):
6418         * file-coding.c (decode_coding_ucs4):
6419         * file-coding.c (encode_coding_ucs4):
6420         * file-coding.c (detect_coding_utf8):
6421         * file-coding.c (decode_coding_utf8):
6422         * file-coding.c (encode_coding_utf8):
6423         * file-coding.c (detect_coding_iso2022):
6424         * file-coding.c (decode_coding_iso2022):
6425         * file-coding.c (encode_coding_iso2022):
6426         * file-coding.c (decode_coding_no_conversion):
6427         * file-coding.c (encode_coding_no_conversion):
6428         * glyphs-x.c (write_lisp_string_to_temp_file):
6429         * gpmevent.c (tty_get_foreign_selection):
6430         * lisp.h:
6431         * lstream.c:
6432         * lstream.c (Lstream_flush_out):
6433         * lstream.c (Lstream_adding):
6434         * lstream.c (Lstream_write_1):
6435         * lstream.c (Lstream_write):
6436         * lstream.c (Lstream_raw_read):
6437         * lstream.c (Lstream_read_more):
6438         * lstream.c (Lstream_read):
6439         * lstream.c (Lstream_unread):
6440         * lstream.c (Lstream_fputc):
6441         * lstream.c (stdio_reader):
6442         * lstream.c (stdio_writer):
6443         * lstream.c (filedesc_reader):
6444         * lstream.c (filedesc_writer):
6445         * lstream.c (lisp_string_reader):
6446         * lstream.c (struct fixed_buffer_stream):
6447         * lstream.c (make_fixed_buffer_input_stream):
6448         * lstream.c (make_fixed_buffer_output_stream):
6449         * lstream.c (fixed_buffer_reader):
6450         * lstream.c (fixed_buffer_writer):
6451         * lstream.c (struct resizing_buffer_stream):
6452         * lstream.c (resizing_buffer_writer):
6453         * lstream.c (dynarr_writer):
6454         * lstream.c (lisp_buffer_reader):
6455         * lstream.c (lisp_buffer_writer):
6456         * lstream.h:
6457         * lstream.h (lstream_implementation):
6458         * lstream.h (struct lstream):
6459         * md5.c (Fmd5):
6460         * process-nt.c (nt_send_process):
6461         * process-unix.c (unix_send_process):
6462         
6463         Correct Lstream lossage due to mixing of signed and unsigned
6464         quantities.  All Lstream uses of size_t and ssize_t are now a
6465         single signed data type Lstream_data_count.  This fixes problems
6466         under Windows with sending large quantities of data to a process,
6467         and may well fix other subtle bugs.
6468
6469 2001-02-23  Martin Buchholz <martin@xemacs.org>
6470
6471         * XEmacs 21.2.45 "Thelxepeia" is released.
6472
6473 2001-02-21  Martin Buchholz  <martin@xemacs.org>
6474
6475         * lisp-union.h (XSETINT): 
6476         (XSETCHAR):
6477         (XSETOBJ): 
6478         Reverse previous change of 2001-02-06.
6479
6480 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
6481
6482         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
6483         buffers.
6484         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6485         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
6486         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
6487         * regex.c (POS_AS_IN_BUFFER): removed
6488         * regex.c (re_search_2):
6489         * regex.c (re_match_2):
6490         Don't use an offset of 1 when calculating buffer positions, since
6491         `BI_BUF_BEGV' does it already.
6492
6493 2001-02-18  Wim Dumon  <wim@easics.be>
6494
6495         * insdel.c (prepare_to_modify_buffer): Also check for
6496         supersession when clash-detection is enabled. 
6497
6498 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
6499
6500         * regex.c (re_match_2_internal):
6501         Convert temp characters from 'const unsigned char' to 're_char'.
6502         Fix crashing bug with extended characters under mule.
6503         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
6504         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
6505         font-lock, pdump, and new syntax-table code.
6506         * syntax.c (find_start_of_comment):
6507         (find_end_of_comment):
6508         (forward-comment):
6509         Fix crashing bugs involving moving beyond end of buffer.
6510         * syntax.c (find_start_of_comment):
6511         Fixed logic to allow proper detection of cases where the same
6512         character is used to end both a two-char comment start and a
6513         two-char comment end sequence. Fixes `(forward-comment -1)'.
6514         * syntax.c (find_start_of_comment):
6515         Return position just past last comment-end character for all cases
6516         (previously was only done for two-char comment-end sequences).
6517         * syntax.c (forward-comment):
6518         Take value returned from `find_end_of_comment', rather than
6519         incrementing it.
6520         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6521         Properly deal with BUFFERP (syntax_cache.object)
6522
6523 2001-02-17  Martin Buchholz  <martin@xemacs.org>
6524
6525         * alloc.c (Fgarbage_collect): 
6526         * alloc.c (make_bit_vector_from_byte_vector):
6527         -Wsign-compare-correctness.
6528
6529 2001-02-16  Martin Buchholz  <martin@xemacs.org>
6530
6531         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
6532         (XSETCHAR): Likewise.
6533         (XSETOBJ): Likewise.
6534
6535 2001-02-15  Martin Buchholz  <martin@xemacs.org>
6536
6537         * mule-canna.c (canna-func-delete_previous): 
6538         Rename to canna-func-delete-previous.
6539
6540 2001-02-14  Martin Buchholz  <martin@xemacs.org>
6541
6542         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
6543
6544 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
6545
6546         * font-lock.c (find_context): Fix C++ compile errors introduced by
6547         recent patch
6548
6549 2001-02-13  Martin Buchholz  <martin@xemacs.org>
6550
6551         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
6552         pragma, but earlier ones barf on the same pragma.
6553
6554 2001-02-06  Mike Sperber <mike@xemacs.org>
6555
6556         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
6557         `configure-mule-lisp-directory'.
6558
6559 2001-02-12  Martin Buchholz  <martin@xemacs.org>
6560
6561         Make sure dump-id.c is compiled in the same way as other .c's.
6562         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
6563         * dump-id.h: Remove.
6564         * emacs.c: Move dump-id.h into dumper.h.
6565         * dumper.h: Move dump-id.h into dumper.h.
6566         * Makefile.in.in:
6567         Use standard .c.o rule for building dump-id.o.
6568         Remove preprocessor flags from link command.
6569         Add dump-id.o to ${otherobjs} if PDUMP.
6570
6571 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
6572
6573         Port FSF 20.7 syntax table improvements.
6574         * syntax.c.
6575         * syntax.h.
6576
6577         Fixups for new syntax table stuff.
6578         * dired.c: Include syntax.c.
6579         (Fdirectory_files): Initialize regex_match_object and
6580         regex_emacs_buffer.
6581         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
6582         and Fget_char_property.
6583
6584         Use ported FSF 20.7 syntax table improvements.
6585         * font-lock.c.
6586         * regex.c.
6587         * search.c.
6588         
6589 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6590
6591         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
6592         Unixware's enum boolean from sys/types.h.
6593
6594 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6595
6596         Fix support for building with latest Purify.
6597         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
6598         (PURIFY_FLAGS): Likewise.
6599
6600 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6601
6602         * fileio.c (lisp_string_set_file_times): New.
6603         * fileio.c (Fcopy_file): Use it.
6604         Fixes bug:
6605         (copy-file filename non-ascii-filename t t)
6606         ==> No such file or directory, non-ascii-filename
6607
6608 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6609
6610         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
6611         USHRT_MAX seems clearer than ~0 anyways.
6612
6613 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6614
6615         dumper improvements.  Inspired by Olivier.
6616         * dumper.c (pdump_max_align): New.
6617         * dumper.c (pdump_add_entry): Use pdump_max_align.
6618         * dumper.c (pdump_get_entry_list): Likewise.
6619         * dumper.c (pdump_scan_by_alignment): Likewise.
6620         Don't iterate through unnecessary alignments.
6621         * dumper.c (pdump_file_get): No need to align result of malloc().
6622         * dumper.c (pdump_mallocadr): Remove.  
6623         The result of malloc() is guaranteed to be maximally aligned.
6624         * dumper.c: s/elmt/elt/g;
6625         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
6626         * dumper.c (pdump_alert_undump_object): Likewise.
6627         * dumper.c (pdump_align_table): 
6628         Don't support alignments > 64.
6629         Store ALIGNOF's, not shift counts, in table.
6630
6631 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6632
6633         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
6634         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
6635         * systime.h: Use HAVE_UTIME.
6636         * sysdep.c (struct utimbuf): Remove.
6637         * sysdep.c (set_file_times): Prefer utime() to utimes().
6638         * config.h.in (HAVE_UTIME): New.
6639         * config.h.in (HAVE_UTIME_H): Remove.
6640         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
6641
6642 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6643
6644         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
6645
6646 2001-02-08  Martin Buchholz  <martin@xemacs.org>
6647
6648         * s/irix6-0.h: Use the standard system memmove, not bcopy.
6649
6650 2001-02-08  Martin Buchholz <martin@xemacs.org>
6651
6652         * XEmacs 21.2.44 "Thalia" is released.
6653
6654 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6655
6656         Fixes crashes in kill-emacs on some systems.
6657         * process-unix.c (unix_kill_child_process):
6658         It's OK for kill() to fail with ESRCH.
6659
6660 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6661
6662         Contortions to make .gdbinit tricks work on most systems.
6663         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
6664         * alloc.c (dbg_valmask): Make non-const.
6665         * alloc.c (dbg_typemask): Make non-const.
6666         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
6667         * alloc.c (dbg_valbits): Make non-const.
6668         * alloc.c (dbg_gctypebits): Make non-const.
6669         * .gdbinit (decode_object): Make it work with AIX cc.
6670
6671 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6672
6673         * elhash.c (make_general_lisp_hash_table):
6674         Use simpler and more efficient calloc to clear entries.
6675
6676 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6677
6678         * window.c (window_scroll): Work around an AIX C compiler bug.
6679         Fixes 'scroll-up' does nothing problem with xlC.
6680
6681 2001-02-05  Martin Buchholz  <martin@xemacs.org>
6682
6683         * .gdbinit: Remove obsolete comment.
6684
6685 2001-01-31  Mike Alexander  <mta@arbortext.com>
6686
6687         * select.c (Fown_selection_internal): Set owned_p for device
6688         method correctly.
6689
6690 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6691
6692         Port to g++ 2.97.
6693         "not" cannot be used as a macro name as it is an operator in C++
6694         * config.h.in: Stop #defining `not'.
6695         * chartab.c (check_category_char): not ==> not_p
6696         * chartab.h: Likewise.
6697         * regex.c (re_match_2_internal): Likewise.
6698
6699 2001-02-02  Martin Buchholz  <martin@xemacs.org>
6700
6701         * lisp-disunion.h: Fix up comments.
6702
6703 2001-01-31  Martin Buchholz  <martin@xemacs.org>
6704
6705         * keymap.c (define_key_check_and_coerce_keysym):
6706         (syms_of_keymap):
6707         Support mouse-6 and mouse-7 bindings in the obvious way.
6708
6709 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6710
6711         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
6712
6713 2001-01-30  Martin Buchholz  <martin@xemacs.org>
6714
6715         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
6716         Previous patch missed DEFVAR_INT_MAGIC.
6717         Make sure future DEFVAR_foo use correct types.
6718         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
6719         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
6720         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
6721         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
6722         * (DEFVAR_INT): Likewise.
6723         * redisplay.c (vertical_clip): Should be of type Fixnum.
6724         * redisplay.c (horizontal_clip): Likewise.
6725         * lisp.h (dump_add_opaque_int): New.
6726         (dump_add_opaque_fixnum): New.
6727
6728 2001-01-29  Andy Piper  <andy@xemacs.org>
6729
6730         * glyphs-widget.c (check_valid_int_or_function): allow symbols
6731         since they can be eval'ed
6732
6733 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6734
6735         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
6736         Oops, XEmacs redefines `class'.  Use `typename' instead.
6737
6738 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6739
6740         * dumper.c: Fix C++ compile errors.
6741
6742 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6743
6744         * tparam.c: Use correct prototypes.
6745
6746 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6747
6748         * sysproc.h: #include util.h for NetBSD's openpty.
6749
6750 2001-01-27  Martin Buchholz  <martin@xemacs.org>
6751
6752         More 64-bit correctness.
6753         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
6754         Use a typedef `fixnum' for the type used for DEFVAR_INT.
6755         Fix up comments.
6756         This finally finishes the 64-bit SGI port.
6757         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
6758         * symbols.c: Fix up comments and type casts.
6759         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
6760         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
6761         * symeval.h (Fixnum): New type.
6762         * symeval.h (symbol_value_type): Fix up comment.
6763
6764         * commands.h:
6765         * nt.c:
6766         * emacs.c:
6767         * data.c:
6768         * redisplay.c:
6769         * abbrev.c:
6770         * dired-msw.c:
6771         * event-Xt.c:
6772         * eldap.c:
6773         * window.c:
6774         * sound.c:
6775         * event-stream.c:
6776         * eval.c:
6777         * buffer.c:
6778         * mule-canna.c: A million DEFVAR_INTs here...
6779         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
6780         * extents.c:
6781         * cmdloop.c:
6782         * lisp.h:
6783         * select-x.c:
6784         * console-x.h:
6785         * event-msw.c:
6786         * mule-wnnfns.c:
6787         * hpplay.c:
6788         * ralloc.c:
6789         * alloc.c:
6790         * keymap.c:
6791         * profile.c:
6792         s/int/Fixnum/g in DEFVAR_INT declarations.
6793
6794 2001-01-26  Martin Buchholz  <martin@xemacs.org>
6795
6796         Port pdump to SGI alignment-sensitive environment.
6797         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
6798         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
6799         properly aligned.
6800         Define and use aligned reading and writing macros.
6801         Use buffered stdio instead of posix i/o for faster dumping.
6802         Eliminate kludgy 256 byte space for header.
6803         Read and write from dump file using structs for alignment safety.
6804         * dumper.c (pdump_align_stream): New.
6805         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
6806         * dumper.c (PDUMP_READ_ALIGNED): New.
6807         * dumper.c (PDUMP_WRITE_ALIGNED): New.
6808         * dumper.c (pdump_static_Lisp_Object): New struct.
6809         * dumper.c (pdump_static_pointer): New struct.
6810         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
6811         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
6812         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
6813         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
6814
6815         * dumper.c (pdump_backtrace):
6816         * dumper.c (pdump_get_indirect_count):
6817         * dumper.c (pdump_register_object):
6818         * dumper.c (pdump_register_struct):
6819         * dumper.c (pdump_reloc_one):
6820         * dumper.c (pdump_scan_by_alignment):
6821         * dumper.c (pdump_dump_from_root_struct_ptrs):
6822         * dumper.c (pdump_dump_opaques):
6823         * dumper.c (pdump_dump_rtables):
6824         * dumper.c (pdump_dump_from_root_objects):
6825         * dumper.c (pdump):
6826         * dumper.c (pdump_load_finish):
6827         Use aligned reading and writing.
6828
6829         * dumper.c (pdump_free): Make static.
6830         * dumper.c (pdump_hFile): Likewise.
6831         * dumper.c (pdump_hMap): Likewise.
6832
6833 2001-01-26  Martin Buchholz <martin@xemacs.org>
6834
6835         * XEmacs 21.2.43 "Terspichore" is released.
6836
6837 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6838
6839         Type fiddling for window_config.saved_windows_count
6840         * window.c (struct window_config): 
6841         Make saved_windows_count member unsigned.
6842         * window.c (sizeof_window_config_for_n_windows): 
6843         Make parameter unsigned.
6844         * window.c (mark_window_config):
6845         * window.c (window_config_equal):
6846         * window.c (free_window_configuration):
6847         * window.c (Fset_window_configuration):
6848         * window.c (count_windows):
6849         * window.c (Fcurrent_window_configuration):
6850         * window.c (reinit_vars_of_window):
6851         Update all callers and users.
6852
6853 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6854
6855         Alignment correctness for flexible arrays.
6856         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
6857         Make alignment-correct. Add interesting comments.
6858         * alloc.c (size_vector):
6859         * alloc.c (make_vector_internal):
6860         * alloc.c (make_bit_vector_internal):
6861         * alloc.c (sweep_bit_vectors_1):
6862         * fns.c (size_bit_vector):
6863         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
6864         * window.c (sizeof_window_config_for_n_windows): 
6865         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
6866
6867 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6868
6869         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
6870
6871 2001-01-23  Andy Piper  <andy@xemacs.org>
6872
6873         * select.c (Fown_selection_internal): pass owned_p
6874
6875         * select-msw.c (mswindows_own_selection): New Signature.
6876
6877         * console.h (struct console_methods): add owned_p to
6878         _own_selection.
6879
6880         * select-x.c (x_own_selection): pass owned_p
6881         (hack_motif_clipboard_selection): use owned_p
6882         (vars_of_select_x): new variable -
6883         x_selection_strict_motif_ownership.
6884
6885 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6886
6887         * specifier.h (specifier_data_offset): Remove pointless parens.
6888         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
6889
6890 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6891
6892         Make Lisp_Object sizeof methods be alignment-correct.
6893         pdump must restore objects to the same alignment as the C compiler
6894         assumes.  It really matters on SGIs.
6895         * lstream.c (aligned_sizeof_lstream): New.
6896         (sizeof_lstream): Use aligned_sizeof_lstream.
6897         (Lstream_new): Likewise.
6898         * opaque.c (aligned_sizeof_opaque): New.
6899         (sizeof_opaque): Use aligned_sizeof_opaque.
6900         (make_opaque): Likewise.
6901         * specifier.c (aligned_sizeof_specifier): New.
6902         (sizeof_specifier): Use aligned_sizeof_specifier.
6903         (make_specifier_internal): Likewise.
6904
6905 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6906
6907         * lstream.h (struct lstream): Use max_align_t for trailing data.
6908         * specifier.h (struct Lisp_Specifier): Likewise.
6909
6910 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6911
6912         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
6913         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
6914         (CCL_SUSPEND): Likewise.
6915         (CCL_INVALID_CMD): Likewise.
6916         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
6917         (ccl_driver): Likewise.
6918         (CCL_WRITE_CHAR): Macro hygiene.
6919         (CCL_WRITE_STRING): Macro hygiene.
6920
6921 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6922
6923         Port "portable" dumper to SunOS 4 and HP-UX.
6924         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
6925         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
6926         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
6927
6928 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6929
6930         * lisp.h (ALIGNOF): A better definition for C++.
6931
6932 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6933
6934         Macro hygiene.
6935         Fix printf warnings: int format, long int arg.
6936         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
6937         (PUSH_FAILURE_POINT): Use correct printf formats.
6938         (POP_FAILURE_POINT): Use correct printf formats.  
6939         Use do {...} while (0)
6940
6941 2001-01-20  Martin Buchholz <martin@xemacs.org>
6942
6943         * XEmacs 21.2.42 "Poseidon" is released.
6944
6945 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6946
6947         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
6948
6949 2001-01-19  Martin Buchholz  <martin@xemacs.org>
6950
6951         De-kludgify FIXED_TYPE free list frobbing.
6952         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
6953         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
6954         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
6955         * alloc.c (Lisp_Free): New pseudo lisp object definition.
6956         * alloc.c (LRECORD_FREE_P): New.
6957         * alloc.c (MARK_LRECORD_AS_FREE): New.
6958         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
6959         * alloc.c (STRUCT_FREE_P): Deleted.
6960         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
6961         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
6962         * alloc.c (STRING_CHARS_FREE_P): New.
6963         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
6964         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
6965         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
6966         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
6967         * alloc.c (resize_string): Use new definitions.
6968         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
6969         * alloc.c (verify_string_chars_integrity): Use new definitions.
6970         * alloc.c (compact_string_chars): Use new definitions.
6971         * alloc.c: Update monster comments.
6972         * lrecord.h (lrecord_type): Add some new lrecord types for
6973         alloc.c's use.
6974
6975 2001-01-18  Martin Buchholz  <martin@xemacs.org>
6976
6977         Improve alignment hackery.
6978         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
6979         (max_align_t): Moved from opaque.h - general purpose.
6980         (ALIGN_PTR): Use size_t, not long.
6981         * opaque.h (max_align_t): Move to lisp.h.
6982
6983 2001-01-18  Norbert Koch  <nk@LF.net>
6984
6985         * gui.h: Fix and add prototypes to fix build problems.
6986
6987 2001-01-18  Martin Buchholz  <martin@xemacs.org>
6988
6989         temacs is going away, so `dump-temacs' is now a bad name.
6990         * .dbxrc (dump-temacs): Rename to `dmp'.
6991         * .gdbinit (dump-temacs): Rename to `dmp'.
6992
6993 2001-01-17  Andy Piper  <andy@xemacs.org>
6994
6995         * glyphs.c (print_image_instance): comment to make martin happy.
6996
6997         * glyphs-x.c (x_redisplay_widget): update faces after a frame
6998         change.
6999
7000         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7001         activation.
7002         (mswindows_tab_control_redisplay): warning suppression.
7003
7004         * glyphs-widget.c (widget_update): re-write to cope with updated
7005         items.
7006         (widget_instantiate): use new gui_item functions.
7007         (tab_control_update): deleted.
7008         (progress_gauge_update): deleted.
7009         (image_instantiator_progress_guage): take out update reference.
7010         (image_instantiator_tree_view): ditto.
7011         (image_instantiator_tab_control): ditto.
7012
7013         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7014         Right the new way.
7015         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7016         return whether anything was changed.
7017         (update_gui_item_keywords): as it sounds.
7018
7019         * gui.h: declare widget_gui_parse_item_keywords.
7020
7021         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7022         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7023
7024 2001-01-17  Martin Buchholz <martin@xemacs.org>
7025
7026         * XEmacs 21.2.41 "Polyhymnia" is released.
7027
7028 2001-01-16  Didier Verna  <didier@xemacs.org>
7029
7030         * glyphs.c (image_instantiate): don't use fallbacks when
7031         instantiating a face's background pixmap by inheritance.
7032
7033 2001-01-14  Mike Sperber <mike@xemacs.org>
7034
7035         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7036         Conditionalize accordingly.
7037
7038 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7039
7040         * dumper.c (pdump_file_get): Fix a compiler warning.
7041
7042 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7043
7044         Make Purify happy when pdumping.
7045         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7046         iniitalizing all bits of new lisp object memory.
7047         * symbols.c (Fmake_local_variable): Likewise.
7048         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7049         * symbols.c (Fdefvaralias): Likewise.
7050         * mule-charset.c (vars_of_mule_charset): Likewise.
7051
7052 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7053         Add the `-nd' flag when running pre-dump operations under the debugger.
7054         * .dbxrc (run-temacs): Add `-nd'.
7055         * .dbxrc (update-elc): Likewise.
7056         * .dbxrc (dump-temacs): Likewise.
7057         * .gdbinit (run-temacs): Likewise.
7058         * .gdbinit (check-temacs): Likewise.
7059         * .gdbinit (update-elc): Likewise.
7060         * .gdbinit (dump-temacs): Likewise.
7061
7062 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7063
7064         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7065         export OBJECT_MODE=64
7066         configure --pdump --use-union-type=no
7067         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7068         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7069
7070         * miscplay.c (sndcnv8U_2mono):
7071         Avoid two uses of `++' in the same expression.
7072         Suppresses a GCC warning.
7073
7074 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7075
7076         Make sure future compilers don't miscompile alloc.c.
7077         * alloc.c:
7078         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7079         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7080
7081 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7082
7083         * dumper.c: A little post-pdump-rename comment fixup.
7084
7085 2001-01-09  Jerry James  <james@eecs.ku.edu>
7086
7087         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7088
7089 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7090
7091         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7092         script:
7093         #!/bin/sh
7094         replace_symbol () {
7095           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7096         }
7097
7098         replace_symbol pdump_wire_lists pdump_weak_object_chains
7099         replace_symbol pdump_wire_list dump_add_weak_object_chain
7100
7101         replace_symbol pdump_wires pdump_root_objects
7102         replace_symbol pdump_wire dump_add_root_object
7103
7104         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7105         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7106
7107         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7108         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7109         replace_symbol dumpstructinfo pdump_root_struct_ptr
7110         replace_symbol dumpstruct dump_add_root_struct_ptr
7111
7112         replace_symbol dumpopaque dump_add_opaque
7113         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7114         replace_symbol dumpopaqueinfos pdump_opaques
7115         replace_symbol dumpopaqueinfo pdump_opaque
7116
7117         replace_symbol nb_structdump nb_root_struct_ptrs
7118         replace_symbol nb_opaquedump nb_opaques
7119
7120         replace_symbol align_table pdump_align_table
7121         replace_symbol dump_header pdump_header
7122
7123         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7124         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7125
7126
7127 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7128
7129         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7130         optimizing bytecount_to_charcount().
7131
7132 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7133
7134         * config.h.in:
7135         (HAVE_DLFCN_H): Removed.
7136         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7137
7138 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7139
7140         Portable dumper maintainability improvements.
7141         * alloc.c (staticpro):
7142         * alloc.c (staticpro_nodump):
7143         * alloc.c (garbage_collect_1):
7144         * alloc.c (reinit_alloc_once_early):
7145         * alloc.c (init_alloc_once_early):
7146         * alloc.c: Move dumper functions to alloc.c.
7147         * dumper.c (pdump_backtrace):
7148         * dumper.c (pdump_dump_structs):
7149         * dumper.c (pdump_dump_opaques):
7150         * dumper.c (pdump_dump_rtables):
7151         * dumper.c (pdump_dump_wired):
7152         * dumper.c (pdump):
7153         * dumper.c (pdump_load_check):
7154         * dumper.c (pdump_load_finish):
7155         * dumper.c (pdump_file_unmap):
7156         * dumper.c (pdump_file_get):
7157         * dumper.c (pdump_resource_free):
7158         * dumper.c (pdump_resource_get):
7159         * dumper.c (pdump_file_free):
7160         * dumper.c (pdump_file_try):
7161         * dumper.c (pdump_load):
7162         Remove fixed size limits on staticpro(), staticpro_nodump(),
7163         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7164         Remove custom code for dumping lrecord_implementations_table - use
7165         dumpopaque instead.
7166         Remove (most of the) custom code for dumping staticpros - dump it
7167         like any other dynarr.
7168
7169         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7170         * dumper.c: Moved functions from alloc.c.
7171         * alloc.c (dumpstruct): Moved to dumper.c.
7172         * alloc.c (dumpopaque): Likewise.
7173         * alloc.c (pdump_wire): Likewise.
7174         * alloc.c (pdump_wire_list): Likewise.
7175
7176         * lisp.h (Dynarr_sizeof): New.
7177         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7178         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7179         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7180
7181         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7182         * lisp.h (dumpopaque): ditto.
7183         * lisp.h (pdump_wire): ditto.
7184         * lisp.h (pdump_wire_list): ditto.
7185
7186 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7187
7188         * make-src-depend (PrintPatternDeps):
7189         Use `sort' to make output independent of perl version.
7190
7191 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7192
7193         Port to Netbsd 1.5.
7194         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7195         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7196
7197 2001-01-03  Didier Verna  <didier@xemacs.org>
7198
7199         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7200         that `focus_frame' is alive before thinking of calling
7201         `redisplay_redraw_cursor' on it.
7202
7203 2001-01-08  Martin Buchholz <martin@xemacs.org>
7204
7205         * XEmacs 21.2.40 is released.
7206
7207 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7208
7209         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7210
7211 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7212
7213         * alloc.c (dbg_valmask): Make const.
7214         * alloc.c (dbg_typemask): Make const.
7215         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7216         * alloc.c (dbg_valbits): Make const.
7217         * alloc.c (dbg_gctypebits): Make const.
7218
7219 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
7220
7221         * redisplay-x.c (x_bevel_area):
7222         redisplay.h (struct rune):
7223         Typo fixes in comments.
7224
7225 2001-01-05  Andy Piper  <andy@xemacs.org>
7226
7227         * glyphs-x.c (x_redisplay_widget): use size changed for offset
7228         adjustment.
7229
7230         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
7231
7232 2001-01-05  Martin Buchholz  <martin@xemacs.org>
7233
7234         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
7235
7236         * mule-ccl.c (stack_idx_of_map_multiple):
7237         Non const global data must not be initialized!
7238         Found by MIYASHITA Hisashi.
7239
7240 2001-01-02  Andy Piper  <andy@xemacs.org>
7241
7242         * frame.c (change_frame_size): make sure frame size is always
7243         marked as changed.
7244
7245         * glyphs.c (image_instance_layout): minor code reuse.
7246
7247         * window.c (Fcurrent_window_configuration): revert previous
7248         change.
7249
7250 2001-01-02  Martin Buchholz  <martin@xemacs.org>
7251
7252         * glyphs.h:
7253         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
7254
7255 2000-12-31  Andy Piper  <andy@xemacs.org>
7256
7257         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
7258         when widget gets unmapped.
7259
7260         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
7261         function. Make sure widgets losing focus don't just drop it.
7262         (handle_focus_event_1): record the widget with focus.
7263
7264 2000-12-31  Andy Piper  <andy@xemacs.org>
7265
7266         * window.c (allocate_window): use
7267         make_image_instance_cache_hash_table.
7268         (make_dummy_parent): ditto.
7269         (Fset_window_configuration): ditto.
7270
7271         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
7272
7273         * glyphs.c (process_image_string_instantiator): use
7274         INSTANTIATOR_TYPE.
7275         (get_image_instantiator_governing_domain): ditto.
7276         (normalize_image_instantiator): ditto.
7277         (instantiate_image_instantiator): ditto.
7278         (make_image_instance_1): ditto.
7279         (image_instantiate): ditto. Key on glyph *and* instantiator type.
7280         (instantiator_eq_equal): new function for use with instance hash
7281         tables.
7282         (instantiator_eq_hash): ditto.
7283         (make_image_instance_cache_hash_table): create a suitable hash
7284         table for storing image instances.
7285
7286         * elhash.h (hash_table_weakness): new internal weakness type
7287         HASH_TABLE_KEY_CAR_VALUE_WEAK.
7288         declare new functions.
7289
7290         * elhash.c (finish_marking_weak_hash_tables): introduce yet
7291         another weakness type for glyphs.
7292         (make_standard_lisp_hash_table): new function split out from
7293         make_general_lisp_hash_table.
7294         (make_lisp_hash_table): call make_standard_lisp_hash_table.
7295         (hash_table_instantiate): ditto.
7296         (Fmake_hash_table): ditto.
7297
7298 2000-12-31  Martin Buchholz <martin@xemacs.org>
7299
7300         * XEmacs 21.2.39 is released.
7301
7302 2000-12-29  Andy Piper  <andy@xemacs.org>
7303
7304         * menubar.c (menubar_visible_p_changed): signal the frame changed.
7305
7306         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
7307         the frame has changed so that we pick up geometry changes such as
7308         menubar visibility.
7309
7310 2000-12-28  Andy Piper  <andy@xemacs.org>
7311
7312         * lastfile.c (my_ebss): make a char array so we can pad the
7313         bss. Fixes cygwin unexec.
7314
7315         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
7316
7317 2000-12-26  Andy Piper  <andy@xemacs.org>
7318
7319         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
7320         comments and try and be more precise about a non-/SIGIO world.
7321         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
7322         SIGIO.
7323
7324         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
7325         we don't normalize to zero width or height.
7326
7327 2000-12-24  Andy Piper  <andy@xemacs.org>
7328
7329         * Makefile.in.in (ldflags): add -mwindows when appropriate.
7330
7331 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
7332
7333         * s/sco5.h: SCO 5 has pty support.
7334
7335 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
7336
7337         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
7338         input-method-xlib.c contains whole contents of input-method-xfs.c,
7339         so we can use input-method-xlib.c's code for USE_XFONTSET
7340         using #ifdefs.
7341         * input-method-xfs.c: removed.
7342
7343 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
7344
7345         * file-coding.h (enum coding_category_type): reorder enumerators to
7346         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
7347         (now one greater than largest real coding_category_type enumerator).
7348         * file-coding.c (coding_category_symbol, coding_category_by_priority,
7349         coding_category_system, fcd_descriptihon_1, decode_coding_category,
7350         Fcoding_category_list, Fset_coding_priority_list,
7351         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
7352         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
7353
7354 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7355
7356         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
7357         * redisplay-output.c (redisplay_output_window): Clear top of window
7358         when face is changed.
7359         * redisplay-x.c (x_redraw_exposed_window): Call
7360         redisplay_clear_top_of_window.
7361         * redisplay.h: Publish redisplay_clear_top_of_window.
7362
7363 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7364
7365         * buffer.c (Fkill_buffer): Map over all devices.
7366         * window.c (window_loop): Remove UNSHOW_BUFFER code.
7367         (list_windows): New function.
7368         (list_all_windows): Ditto.
7369         (Freplace_buffer_in_windows): Use them.
7370
7371 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
7372
7373         * database.c (berkdb_subtype): Recognize new subtype `queue'.
7374         (Fopen_database): Use `db_create' instead of `db_open'.
7375         (syms_of_database): Initialize Qqueue.
7376
7377 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7378
7379         * buffer.c (common_init_complex_vars_of_buffer): Initialize
7380         buffer_local_face_property.
7381         * buffer.h (struct buffer): New member buffer_local_face_property.
7382         * window.c (Fset_window_buffer):  Mark window's face as changed
7383         when buffer has buffer local face.
7384         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
7385         * objects.c (color_after_change): Set buffer_local_face_property
7386         when locale of face specifier is buffer.
7387         * objects.c (font_after_change): Ditto.
7388         * objects.c (face_boolean_after_change): Ditto.
7389         * glyphs.c (image_after_change): Ditto.
7390
7391 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7392
7393         * nt.c (mswindows_fstat): Report file permissions, volume serial
7394         number, etc. Code adapted from FSF Emacs 20.7.
7395
7396 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7397
7398         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
7399         of stat when we don't have symbolic links, to make sure
7400         mswindows_stat is called on mswindows.
7401
7402 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7403
7404         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
7405
7406 2000-12-12  Martin Buchholz  <martin@xemacs.org>
7407
7408         * doprnt.c (emacs_doprnt_1): More printing fixes.
7409         Make printing of numbers compatible with libc and FSF Emacs.
7410         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
7411         Use the system printf to do most of the hard work of formatting,
7412         instead of doprnt_1().
7413         Calculate memory to allocate for format string.
7414         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
7415         (doprnt_1): Cleaner code and documentation.
7416
7417 2000-12-01  Jerry James  <james@eecs.ukans.edu>
7418
7419         * Makefile.in.in: Use the loop variable to install headers.
7420
7421 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7422
7423         * window.c (Fsplit_window): Don't invalidate face cache.
7424
7425 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7426
7427         * minibuf.c (Fall_completions): Undo the previous change
7428         which removed checking elements start with space.
7429
7430 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7431
7432         * mule-canna.c: Didier suppression.
7433
7434 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7435
7436         * mule-canna.c: rename static unsigned char buf[] to key_buffer
7437         (warning suppression).  Add English comment translations.
7438
7439 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7440
7441         * unexelfsgi.c (unexec): Better test for mmap failure.
7442
7443 2000-12-05  Martin Buchholz <martin@xemacs.org>
7444
7445         * XEmacs 21.2.38 is released.
7446
7447 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7448
7449         * redisplay.c (bar-cursor): Make a user variable.
7450
7451         * symsinit.h: Add init_postgresql_from_environment.
7452
7453 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7454
7455         * regex.c: Convert to clean C.
7456
7457 2000-12-05  Dan Holmsand  <dan@eyebee.com>
7458
7459         * realpath.c:
7460         Don't #include sysfile.h. Revert to duplicating PATH_MAX
7461         initialization.
7462         (sys_readlink): renamed to system_readlink to avoid conflict with
7463         the other sys_readlink.
7464
7465 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
7466
7467         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
7468
7469 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
7470
7471         * postgresql.c (init_postgresql_from_environment): new function.
7472         (vars_of_postgresql): Move code initializing Lisp variables out and
7473         into init_postgresql_from_environment.
7474         emacs.c (main_1): Call init_postgresql_from_environment if and only
7475         if running a dumped XEmacs.
7476
7477 2000-08-31  Dan Holmsand  <dan@eyebee.com>
7478
7479         * buffer.c: Make find-file-compare-truenames default to true on
7480         windows.
7481
7482         * realpath.c (win32_abs_start):
7483         (cygwin_readlink):
7484         (win32_readlink): New functions.
7485         (xrealpath): Return really real filenames on windows.
7486
7487         * fileio.c (Ffile_truename): Make file-truename work on windows.
7488
7489 2000-11-29  Didier Verna  <didier@xemacs.org>
7490
7491         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
7492         * faces.c (update_face_cachel_data): use it.
7493         * faces.c (add_face_cachel): use it. Complete background pixmap
7494         frobbing in face cache if `update_face_cachel_data' has not done so.
7495
7496 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
7497
7498         * search.c (string_match_1): Don't set last_thing_searched
7499         when search failed.
7500
7501 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
7502
7503         * buffer.c: Include casetab.h
7504         (common_init_complex_vars_of_buffer): Use new case-table object.
7505         * buffer.h: Include casetab.h
7506         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
7507         (DOWNCASE_TABLE_OF): Ditto.
7508         * bufslots.h: Remove char-tables and add case-table.
7509         * casetab.c: Include casetab.h
7510         (CASE_TABLE_P): Removed.
7511         (mark_case_table): New function.
7512         (allocate_case_table): New function.
7513         (Fcase_table_p): Use new case-table.
7514         (case_table_char): New function.
7515         (Fget_case_table): Ditto.
7516         (Fput_case_table): Ditto.
7517         (Fput_case_table_pair): Ditto.
7518         (Fcopy_case_table): Ditto.
7519         (Fcurrent_case_table): Return case-table.
7520         (Fstandard_case_table): Return case-table.
7521         (Fset_case_table): Fix doc-string.
7522         (set_case_table): Use case-table
7523         (syms_of_casetab): DEFSUBR new functions.
7524         (complex_vars_of_casetab): Set up standard case-table.
7525         * casetab.h: New file.
7526         * editfns.c: Include casetab.h
7527         (Fcompare_buffer_substrings): Use case-table.
7528         * inline.c: Include casetab.h
7529         * lisp.h: Remove bogus extern.
7530         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
7531         * search.c: Include casetab.h
7532         (TRANSLATE_ASCII): Removed.
7533         (TRANSLATE): Unconditionally translate character.
7534         (looking_at_1): Use case-table.
7535         (string_match_1): Ditto.
7536         (fast_string_match): Ditto.
7537         (search_command): Ditto.
7538         (search_buffer): Separate boyer_moore.  Check whether
7539         boyer_moore is possible.
7540         (simple_search): New function.
7541         (boyer_moore): Separated from search_buffer. Translate char.
7542
7543 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7544
7545         * regex.c (RE_TR_ASCII): Removed.
7546         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
7547         (PATFETCH): Call PATFETCH_RAW.
7548         (PATFETCH_RAW): Fetch Emchar.
7549         (PATUNFETCH): Decrement charptr.
7550         (GET_BUFFER_SPACE): Rename b to buf_end.
7551         (BUF_PUSH): Ditto.
7552         (BUF_PUSH_2): Ditto.
7553         (BUF_PUSH_3): Ditto.
7554         (EXTEND_BUFFER): Ditto.
7555         (SET_LIST_BIT): Ditto.
7556         (regex_compile): Ditto.  Translate non ASCII char.
7557         (compile_range): Ditto.
7558         (re_search_2): Ditto.
7559         (re_match_2_internal): Compare Emchar.
7560         (bcmp_translate): Ditto.
7561
7562 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
7563
7564         * lisp.h (basic char/int typedefs):  comment improvement.
7565
7566 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
7567
7568         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
7569         unstomp inhibit_site_lisp.  Improve comments.
7570
7571 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
7572
7573         * mule-charset.c (Fcharset_property):  improve type checking, comments.
7574
7575 2000-11-28  Andy Piper  <andy@xemacs.org>
7576
7577         * redisplay-output.c (redisplay_output_subwindow): make sure we do
7578         clipped display for windows in the gutter also.
7579         (redisplay_display_boxes_in_window_p): change semantics of return
7580         codes to be more intuitive.
7581
7582         * gutter.h: declare display_boxes_in_gutter_p.
7583
7584         * gutter.c (display_boxes_in_gutter_p): new function for
7585         redisplay.
7586
7587 2000-11-22  Andy Piper  <andy@xemacs.org>
7588
7589         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
7590         autodetect domain.
7591
7592 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
7593
7594         * callproc.c (Fold_call_process_internal):
7595         * gpm.c (Freceive_gpm_event):
7596         (tty_get_foreign_selection): Might be just warning supression.
7597         * fileio.c (Fwrite_region_internal):
7598         (Fset_visited_file_modtime):
7599         * keymap.c (event_matches_key_specifier_p):
7600         Initialize GCPROed variable.
7601
7602         * menubar-x.c (command_builder_find_menu_accelerator):
7603         Initialize before use.
7604
7605 2000-11-23  Andy Piper  <andy@xemacs.org>
7606
7607         * unexcw.c (unexec): make the resulting executable executable.
7608
7609 2000-11-21  Martin Buchholz  <martin@xemacs.org>
7610
7611         * doc.c (get_doc_string):
7612         Use size_t, not int, for result of XSTRING_LENGTH.
7613
7614         * cmds.c (Fdelete_char):
7615         * cmds.c (Fpoint_at_eol):
7616         * cmds.c (Fself_insert_command):
7617         Use EMACS_INT, not int, for result of XINT.
7618         Someday, someone will want to insert more than 2**31 identical characters.
7619
7620         * cmds.c (Fdelete_char):
7621         * cmds.c (Fdelete_backward_char):
7622         * syntax.c (Fforward_word):
7623         * syntax.c (Fforward_comment):
7624         Make COUNT argument optional, for consistency with forward-char et al.
7625
7626 2000-11-22  Martin Buchholz  <martin@xemacs.org>
7627
7628         * lisp.h:
7629         * print.c (long_to_string):
7630         Return a useful value: the pointer at end of data written.
7631
7632         * doprnt.c:
7633         Use `static const char * const' for constant strings.
7634         (union printf_arg): Delete `i', `ui' members.
7635         (get_doprnt_args):
7636         (emacs_doprnt_1):
7637         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
7638         Do all printf-ing via the `l' specifier.
7639         Use EMACS_INT instead of int.
7640         Optimize.
7641
7642 2000-11-20  Didier Verna  <didier@xemacs.org>
7643
7644         * faces.c (update_face_cachel_data): don't frob the background
7645         pixmap when the window is being created. The face is needed but
7646         does not exist yet.
7647
7648 2000-11-20  Andy Piper  <andy@xemacs.org>
7649
7650         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
7651         messing with a debug environment.
7652
7653 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7654
7655         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
7656
7657 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7658
7659         * casetab.c (Fcase_table_p): Fix compile error and crash.
7660
7661 2000-11-18  Philip Aston  <philipa@mail.com>
7662
7663         * s/cygwin32.h: Cygwin has SVR4-like pty support.
7664
7665 2000-11-18  Martin Buchholz  <martin@xemacs.org>
7666
7667         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
7668         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
7669
7670 2000-11-17  Martin Buchholz  <martin@xemacs.org>
7671
7672         * config.h.in: Define HAVE_ELF_H if elf.h exists.
7673         * unexelf.c: Use HAVE_ELF_H.
7674         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
7675         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
7676         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
7677         Greg Harrington <greg_harrington@hotmail.com> provided a machine
7678         for testing.
7679         So this is an unexelfsgi.c from a different line of development.
7680
7681 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7682
7683         * regex.c (RE_TR_ASCII): New function.
7684         (RE_TRANSLATE): Call it.
7685
7686 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7687
7688         * buffer.h (TRT_TABLE_OF): Remove assert.
7689         (IN_TRT_TABLE_DOMAIN): Removed.
7690
7691 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7692
7693         * free-hook.c (log_gcpro):
7694         (show_gcprohist): Add support for GCPRO5.
7695
7696 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
7697
7698         * emacs.c (main_1): Improve -sd error message when --pdump=no.
7699
7700 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
7701
7702         * symeval.h: Declare flush_all_buffer_local_cache.
7703
7704         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
7705         (flush_buffer_local_cache): Added.
7706         (flush_all_buffer_local_cache): Added.
7707
7708         * lrecord.h: Remove unused XD_LO_RESET_NIL.
7709
7710         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
7711         (pdump_dump_data): Ditto.
7712         (pdump_reloc_one): Ditto.
7713         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
7714         before dumping.
7715
7716
7717 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7718
7719         * buffer.c: Remove if 0'ed entry.
7720         * buffer.h: Rewrite TRT to use char-table.
7721         * bufslots.h: Remove mirror tables.
7722         * casetab.c: Remove mirror tables.
7723         (CASE_TABLE_P): New macro.
7724         (Fcase_table_p): Element of a case table is string or char-table.
7725         (make_mirror_trt_table): Removed.
7726         (set_case_table): Setup char-table from strings for backward
7727         compatibility.
7728         * dired.c (Fdirectory_files):
7729         * dired-msw.c: (mswindows_get_files):
7730         * lisp.h: Change prototype of re_pattern_buffer.
7731         * regex.c: (RE_TRANSLATE): New macro.
7732         (TRANSLATE_P): Ditto.
7733         Change translate to type RE_TRANSLATE_TYPE.
7734         * regex.h: Define RE_TRANSLATE_TYPE
7735         * search.c (TRANSLATE): New macro.
7736         (TRANSLATE_ASCII): New macro.
7737         Translate table is changed to Lisp_Object.
7738         (signal_failure): Inhibit return.
7739
7740 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7741
7742         * device-msw.c:
7743         * eldap.c:
7744         * event-Xt.c:
7745         * event-stream.c:
7746         * print.c:
7747         Do UNGCPRO before return.
7748
7749 2000-11-14  Martin Buchholz <martin@xemacs.org>
7750
7751         * XEmacs 21.2.37 is released.
7752
7753 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7754
7755         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
7756         Add comments about discarded return value.
7757
7758 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
7759
7760         * callint.c:
7761         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
7762
7763 2000-10-27  Andy Piper  <andy@xemacs.org>
7764
7765         * gutter.c (Fset_default_gutter_position): default left and right
7766         gutters to visible.
7767         (calculate_gutter_size): calculate resonable heuristic for left
7768         and right gutter sizes.
7769         (specifier_vars_of_gutter): change left and right gutter sizes to
7770         autodetect.
7771         (calculate_gutter_size_from_display_lines): new function.
7772         (output_gutter): check for resizing on left and right gutters.
7773         (clear_gutter): don't special case top and left gutters.
7774         (specifier_vars_of_gutter): use new signature for
7775         set_specifier_caching.
7776
7777         * glyphs-x.c (x_redisplay_widget): spelling fix.
7778         * glyphs.c (specifier_vars_of_glyphs):
7779         * menubar.c (specifier_vars_of_menubar):
7780         * redisplay.c (specifier_vars_of_redisplay):
7781         * toolbar.c (specifier_vars_of_toolbar):
7782         * window.c (specifier_vars_of_window):
7783         * scrollbar.c (specifier_vars_of_scrollbar):
7784         (complex_vars_of_scrollbar): use new signature for
7785         set_specifier_caching.
7786
7787         * specifier.c (set_specifier_caching): include recompute flag.
7788         (recompute_one_cached_specifier_in_window): always recompute if
7789         flag set.
7790         (recompute_one_cached_specifier_in_frame): ditto.
7791
7792         * specifier.h (struct specifier_caching): add recompute flag.
7793
7794 2000-10-24  Andy Piper  <andy@xemacs.org>
7795
7796         * unexcw.c (copy_executable_and_dump_data_section): add new
7797         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
7798         5.0 happy.
7799
7800 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7801
7802         * console-x.h (x_device): New member modifier_release_time.
7803         * event-Xt.c (x_handle_sticky_modifiers):
7804         Bound interval modifier keys are sticky.
7805         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
7806         * events.h: extern it.
7807
7808 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7809
7810         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
7811
7812 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7813
7814         * event-stream.c (execute_command_event): Preserve current_events
7815         and the like when event is misc-user-event.
7816         Inhibit quit during the call to maybe_echo_keys.
7817
7818 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
7819
7820         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
7821         symlink when buffer is killed.
7822         (inhibit_clash_detection): New variable.
7823
7824 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7825
7826         * console.c (Fset_input_method): Trigger redisplay on tty.
7827
7828 2000-11-07  Martin Buchholz  <martin@xemacs.org>
7829
7830         * process.c (Fprocess_status): Revert to previous behavior:
7831         (process-status "nosuchprocess") ==> nil
7832
7833 2000-11-06  Martin Buchholz  <martin@xemacs.org>
7834
7835         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
7836         Work around another GCC 2.95.2 optimizer bug.
7837
7838 2000-11-02  Martin Buchholz  <martin@xemacs.org>
7839
7840         * process.c (Fget_process): Use LIST_LOOP_2.
7841         (kill_buffer_processes): Use LIST_LOOP_2.
7842
7843         * minibuf.c (Fall_completions):
7844         Delete old non-functional code for FSF fourth argument.
7845
7846         * frame.c (frame_matches_frame_spec):
7847         Renamed from `frame_matches_frametype'.  Update all callers.
7848         (device_matches_device_spec):
7849         Renamed from 'device_matches_console_spec'.  Update all callers.
7850
7851         * doc.c (Fsubstitute_command_keys):
7852         Remove buffer overflow crash.  Small code cleanups.
7853
7854         * casetab.c (check_case_table): Simpler code.
7855
7856         * window.c (Freplace_buffer_in_windows):
7857         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
7858         (and similar implementation) as Fdelete_windows_on.
7859         Update all callers.
7860
7861         * alloc.c (Fmake_list):
7862         * alloc.c (make_vector):
7863         * alloc.c (Fmake_vector):
7864         * alloc.c (make_bit_vector):
7865         * alloc.c (Fmake_bit_vector):
7866         * alloc.c (Fbit_vector):
7867         * alloc.c (Fmake_string):
7868         * alloc.c (Fpurecopy):
7869         * alloc.c (Fmemory_limit):
7870         * buffer.c:
7871         * buffer.c (Fget_buffer):
7872         * buffer.c (Fkill_buffer):
7873         * buffer.c (complex_vars_of_buffer):
7874         * bytecode.c (Fcompiled_function_stack_depth):
7875         * callint.c (Fprefix_numeric_value):
7876         * event-stream.c:
7877         * event-stream.c (Fread_key_sequence):
7878         * casetab.c:
7879         * casetab.c (Fcase_table_p):
7880         * casetab.c (check_case_table):
7881         * casetab.c (Fset_case_table):
7882         * casetab.c (Fset_standard_case_table):
7883         * chartab.c:
7884         * chartab.c (Fchar_table_type):
7885         * chartab.c (Freset_char_table):
7886         * chartab.c (Fget_char_table):
7887         * chartab.c (Fget_range_char_table):
7888         * chartab.c (Fput_char_table):
7889         * chartab.c (Fmap_char_table):
7890         * chartab.c (Fcategory_table_p):
7891         * chartab.c (Fcheck_category_at):
7892         * chartab.c (Fchar_in_category_p):
7893         * chartab.c (Fcategory_table):
7894         * chartab.c (Fcopy_category_table):
7895         * chartab.c (Fset_category_table):
7896         * chartab.c (Fcategory_designator_p):
7897         * chartab.c (Fcategory_table_value_p):
7898         * cmds.c (Fdelete_char):
7899         * cmds.c (Fdelete_backward_char):
7900         * cmds.c (Fself_insert_command):
7901         * cmds.c (Fself_insert_internal):
7902         * console.c (Fvalid_console_type_p):
7903         * console.c (Fcdfw_console):
7904         * console.c (Fconsole_type):
7905         * console.c (Fconsole_name):
7906         * console.c (Fconsole_device_list):
7907         * console.c (Fconsole_on_window_system_p):
7908         * data.c:
7909         * data.c (Feq):
7910         * data.c (Fold_eq):
7911         * data.c (Fsubr_interactive):
7912         * data.c (Fchar_to_int):
7913         * data.c (Fint_to_char):
7914         * data.c (Fsetcar):
7915         * data.c (Fsetcdr):
7916         * data.c (Fnumber_to_string):
7917         * data.c (Fstring_to_number):
7918         * data.c (Frem):
7919         * database.c (mark_database):
7920         * database.c (finalize_database):
7921         * database.c (Fdatabase_live_p):
7922         * database.c (Fdatabasep):
7923         * device-x.c (Fx_get_resource):
7924         * device.c (Fdfw_device):
7925         * dired.c:
7926         * dired.c (Ffile_name_completion):
7927         * dired.c (Ffile_name_all_completions):
7928         * dired.c (Fuser_name_completion):
7929         * dired.c (Fuser_name_completion_1):
7930         * dired.c (Fuser_name_all_completions):
7931         * doc.c (Fdocumentation):
7932         * doc.c (Fdocumentation_property):
7933         * doc.c (Fsubstitute_command_keys):
7934         * editfns.c:
7935         * editfns.c (Fchar_to_string):
7936         * editfns.c (Fstring_to_char):
7937         * editfns.c (Ftemp_directory):
7938         * editfns.c (Finsert_char):
7939         * editfns.c (Fbuffer_substring_no_properties):
7940         * editfns.c (Fnarrow_to_region):
7941         * editfns.c (Fchar_equal):
7942         * editfns.c (Fchar_Equal):
7943         * editfns.c (Ftranspose_regions):
7944         * emacs.c (Fdump_emacs):
7945         * eval.c (Fthrow):
7946         * eval.c (Fcommand_execute):
7947         * eval.c (Fautoload):
7948         * eval.c (Fbacktrace):
7949         * eval.c (Fbacktrace_frame):
7950         * events.c:
7951         * events.c (Fcopy_event):
7952         * events.c (Fcharacter_to_event):
7953         * events.c (Fevent_button):
7954         * events.c (Fevent_process):
7955         * extents.c:
7956         * extents.c (Fnext_extent_change):
7957         * extents.c (Fextent_property):
7958         * faces.c (Ffacep):
7959         * faces.c (Fmake_face):
7960         * file-coding.c:
7961         * file-coding.c (Fencode_shift_jis_char):
7962         * file-coding.c (Fencode_big5_char):
7963         * fileio.c (Ffile_name_directory):
7964         * fileio.c (Ffile_name_nondirectory):
7965         * fileio.c (Ffile_name_as_directory):
7966         * fileio.c (Fdirectory_file_name):
7967         * fileio.c (Ffile_truename):
7968         * fileio.c (Fsubstitute_in_file_name):
7969         * fileio.c (Ffile_modes):
7970         * fileio.c (Fset_file_modes):
7971         * fileio.c (Fset_default_file_modes):
7972         * fileio.c (Fverify_visited_file_modtime):
7973         * floatfns.c (Facos):
7974         * floatfns.c (Fasin):
7975         * floatfns.c (Fatan):
7976         * floatfns.c (Fcos):
7977         * floatfns.c (Fsin):
7978         * floatfns.c (Ftan):
7979         * floatfns.c (Fbessel_j0):
7980         * floatfns.c (Fbessel_j1):
7981         * floatfns.c (Fbessel_jn):
7982         * floatfns.c (Fbessel_y0):
7983         * floatfns.c (Fbessel_y1):
7984         * floatfns.c (Fbessel_yn):
7985         * floatfns.c (Ferf):
7986         * floatfns.c (Ferfc):
7987         * floatfns.c (Flog_gamma):
7988         * floatfns.c (Fexp):
7989         * floatfns.c (Fexpt):
7990         * floatfns.c (Flog):
7991         * floatfns.c (Flog10):
7992         * floatfns.c (Fsqrt):
7993         * floatfns.c (Fcube_root):
7994         * floatfns.c (Facosh):
7995         * floatfns.c (Fasinh):
7996         * floatfns.c (Fatanh):
7997         * floatfns.c (Fcosh):
7998         * floatfns.c (Fsinh):
7999         * floatfns.c (Ftanh):
8000         * floatfns.c (Fabs):
8001         * floatfns.c (Ffloat):
8002         * floatfns.c (Flogb):
8003         * floatfns.c (Fceiling):
8004         * floatfns.c (Ffloor):
8005         * floatfns.c (Fround):
8006         * floatfns.c (Ftruncate):
8007         * floatfns.c (Ffceiling):
8008         * floatfns.c (Fffloor):
8009         * floatfns.c (Ffround):
8010         * floatfns.c (Fftruncate):
8011         * fns.c (Fstring_equal):
8012         * fns.c (Fstring_lessp):
8013         * fns.c (concat2):
8014         * fns.c (concat3):
8015         * fns.c (vconcat2):
8016         * fns.c (vconcat3):
8017         * fns.c (Fsubstring):
8018         * fns.c (Fassoc):
8019         * fns.c (Fold_assoc):
8020         * fns.c (assoc_no_quit):
8021         * fns.c (Fassq):
8022         * fns.c (Fold_assq):
8023         * fns.c (assq_no_quit):
8024         * fns.c (Frassoc):
8025         * fns.c (Fold_rassoc):
8026         * fns.c (Frassq):
8027         * fns.c (Fold_rassq):
8028         * fns.c (rassq_no_quit):
8029         * fns.c (Fremassoc):
8030         * fns.c (remassoc_no_quit):
8031         * fns.c (Fremassq):
8032         * fns.c (remassq_no_quit):
8033         * fns.c (Fremrassoc):
8034         * fns.c (Fremrassq):
8035         * fns.c (remrassq_no_quit):
8036         * fns.c (Fsort):
8037         * fns.c (Fplist_get):
8038         * fns.c (Fplist_put):
8039         * fns.c (Fplist_remprop):
8040         * fns.c (Fplist_member):
8041         * fns.c (Flax_plist_get):
8042         * fns.c (Flax_plist_put):
8043         * fns.c (Flax_plist_remprop):
8044         * fns.c (Flax_plist_member):
8045         * fns.c (Fequal):
8046         * fns.c (Fold_equal):
8047         * fns.c (Frequire):
8048         * fns.c (Fbase64_encode_region):
8049         * fns.c (Fbase64_encode_string):
8050         * fns.c (Fbase64_decode_region):
8051         * frame.c:
8052         * frame.c (frame_matches_frame_spec):
8053         * frame.c (device_matches_device_spec):
8054         * frame.c (next_frame):
8055         * frame.c (previous_frame):
8056         * frame.c (Fnext_frame):
8057         * frame.c (Fprevious_frame):
8058         * frame.c (Fframe_property):
8059         * frame.c (Fset_frame_height):
8060         * frame.c (Fset_frame_size):
8061         * frame.h:
8062         * glyphs.c:
8063         * glyphs.c (if):
8064         * glyphs.c (decode_error_behavior_flag):
8065         * glyphs.c (Fmake_image_instance):
8066         * indent.c (Findent_to):
8067         * intl.c (Fignore_defer_gettext):
8068         * keymap.c (Fkeymapp):
8069         * keymap.c (Flookup_key):
8070         * lread.c:
8071         * lread.c (Fload_internal):
8072         * lread.c (Feval_buffer):
8073         * lread.c (Feval_region):
8074         * macros.c (Fexecute_kbd_macro):
8075         * marker.c (set_marker_internal):
8076         * marker.c (Fset_marker):
8077         * marker.c (set_marker_restricted):
8078         * marker.c (Fcopy_marker):
8079         * marker.c (noseeum_copy_marker):
8080         * menubar.c:
8081         * menubar.c (Fpopup_menu):
8082         * minibuf.c:
8083         * mule-charset.c (Fcharset_name):
8084         * mule-charset.c (Fchar_charset):
8085         * mule-charset.c (Fchar_octet):
8086         * mule-charset.c (Fsplit_char):
8087         * mule-wnnfns.c (Fwnn_open):
8088         * mule-wnnfns.c (Fwnn_dict_comment):
8089         * mule-wnnfns.c (Fwnn_quit_henkan):
8090         * mule-wnnfns.c (Fwnn_word_toroku):
8091         * mule-wnnfns.c (Fwnn_word_sakujo):
8092         * mule-wnnfns.c (Fwnn_word_use):
8093         * mule-wnnfns.c (Fwnn_hindo_set):
8094         * objects.c:
8095         * objects.c (Fmake_color_instance):
8096         * objects.c (Fmake_font_instance):
8097         * print.c (Fwrite_char):
8098         * process.c:
8099         * process.c (mark_process):
8100         * process.c (print_process):
8101         * process.c (get_process_from_usid):
8102         * process.c (Fprocessp):
8103         * process.c (Fprocess_live_p):
8104         * process.c (Fget_process):
8105         * process.c (Fget_buffer_process):
8106         * process.c (get_process):
8107         * process.c (Fprocess_id):
8108         * process.c (Fprocess_name):
8109         * process.c (Fprocess_command):
8110         * process.c (init_process_io_handles):
8111         * process.c (start_process_unwind):
8112         * process.c (Fstart_process_internal):
8113         * process.c (Fopen_multicast_group_internal):
8114         * process.c (Fset_process_window_size):
8115         * process.c (read_process_output):
8116         * process.c (send_process):
8117         * process.c (Fprocess_tty_name):
8118         * process.c (Fset_process_buffer):
8119         * process.c (Fprocess_buffer):
8120         * process.c (Fprocess_mark):
8121         * process.c (set_process_filter):
8122         * process.c (Fset_process_filter):
8123         * process.c (Fprocess_filter):
8124         * process.c (Fprocess_send_region):
8125         * process.c (Fprocess_send_string):
8126         * process.c (exec_sentinel):
8127         * process.c (Fset_process_sentinel):
8128         * process.c (Fprocess_sentinel):
8129         * process.c (status_notify):
8130         * process.c (Fprocess_status):
8131         * process.c (Fprocess_exit_status):
8132         * process.c (process_send_signal):
8133         * process.c (Fprocess_send_eof):
8134         * process.c (deactivate_process):
8135         * process.c (remove_process):
8136         * process.c (Fdelete_process):
8137         * process.c (kill_buffer_processes):
8138         * process.c (Fprocess_kill_without_query):
8139         * process.c (Fprocess_kill_without_query_p):
8140         * rangetab.c:
8141         * rangetab.c (Fget_range_table):
8142         * rangetab.c (Fput_range_table):
8143         * rangetab.c (Fremove_range_table):
8144         * rangetab.c (Fclear_range_table):
8145         * search.c:
8146         * search.c (Fskip_chars_forward):
8147         * search.c (Fskip_chars_backward):
8148         * search.c (Fskip_syntax_forward):
8149         * search.c (Fskip_syntax_backward):
8150         * search.c (search_command):
8151         * search.c (Freplace_match):
8152         * search.c (Fregexp_quote):
8153         * select.c (Fown_selection_internal):
8154         * select.c (Fselection_owner_p):
8155         * select.c (Fselection_exists_p):
8156         * select.c (Fget_selection_internal):
8157         * specifier.c:
8158         * symbols.c:
8159         * symbols.c (Fintern):
8160         * symbols.c (Fintern_soft):
8161         * symbols.c (Funintern):
8162         * symbols.c (Fapropos_internal):
8163         * symbols.c (Fset_default):
8164         * syntax.c:
8165         * syntax.c (Fsyntax_table_p):
8166         * syntax.c (Fcopy_syntax_table):
8167         * syntax.c (Fset_syntax_table):
8168         * syntax.c (Fchar_syntax):
8169         * syntax.c (syntax_match):
8170         * syntax.c (Fmatching_paren):
8171         * syntax.c (Fforward_word):
8172         * syntax.c (scan_lists):
8173         * syntax.c (Fscan_lists):
8174         * syntax.c (Fscan_sexps):
8175         * syntax.c (Fparse_partial_sexp):
8176         * toolbar.c (Fcheck_toolbar_button_syntax):
8177         * tooltalk.doc:
8178         * window.c:
8179         * window.c (Fwindowp):
8180         * window.c (Fwindow_live_p):
8181         * window.c (Fwindow_point):
8182         * window.c (Fdelete_window):
8183         * window.c (Fnext_window):
8184         * window.c (Fprevious_window):
8185         * window.c (Fother_window):
8186         * window.c (window_loop):
8187         * window.c (Fget_lru_window):
8188         * window.c (Fsplit_window):
8189         * window.c (Fenlarge_window):
8190         * window.c (Fenlarge_window_pixels):
8191         * window.c (Fshrink_window):
8192         * window.c (Fshrink_window_pixels):
8193         * window.c (change_window_height):
8194         * window.c (Fwindow_configuration_p):
8195         * window.c (Fcurrent_window_configuration):
8196         * window.h:
8197         * casefiddle.c (casify_object):
8198         * casefiddle.c (Fupcase):
8199         * casefiddle.c (Fdowncase):
8200         * casefiddle.c (Fcapitalize):
8201         * casefiddle.c (Fupcase_initials):
8202         * casefiddle.c (casify_region_internal):
8203         * casefiddle.c (casify_region):
8204         * casefiddle.c (Fupcase_region):
8205         * casefiddle.c (Fdowncase_region):
8206         * casefiddle.c (Fcapitalize_region):
8207         * casefiddle.c (Fupcase_initials_region):
8208         * casefiddle.c (Fupcase_word):
8209         * casefiddle.c (Fdowncase_word):
8210         * casefiddle.c (Fcapitalize_word):
8211         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8212         Replace 0 with '\0' when working with bytes.
8213         Replace initial "(" with "\(" in docstrings.
8214
8215 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8216
8217         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8218
8219         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
8220
8221 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8222
8223         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
8224
8225 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8226
8227         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
8228         correctly.
8229
8230 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8231
8232         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
8233         (inhibit_auto_save_session): New variable.
8234         (vars_of_fileio): Declare and initialize them.
8235         * fileio.c (Fdo_auto_save): Don't create session file if
8236         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
8237
8238 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8239
8240         * sgiplay.c (play_internal): C++ compilability.
8241         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
8242         * callproc.c (Fold_call_process_internal):
8243         Remove unused vars `env', `first'.
8244         * scrollbar.c (update_scrollbar_instance):
8245         #### unused var `current_window'.
8246         * redisplay-tty.c: Put currently unused vars insert_mode_on,
8247         etc. within #ifdef NOT_YET.
8248         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
8249         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
8250         * specifier.c (specifier_instance):
8251         #### unused var `tag'.
8252         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
8253
8254 2000-10-27  Martin Buchholz  <martin@xemacs.org>
8255
8256         * fns.c (Fbutlast):
8257         * fns.c (list_sort):
8258         * fns.c (Ffillarray):
8259         * fns.c (bytecode_nconc2):
8260         * fns.c (Fnconc):
8261         * fns.c (mapcar1):
8262         * fns.c (Fmapconcat):
8263         Be pedantically 64-bit correct.  For the time when someone will
8264         want to have a list with length > 2**32.
8265
8266         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8267         Work around MIPSpro compiler bug.
8268
8269         * process-unix.c (unix_kill_child_process): Add snarky comment.
8270         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
8271
8272         * config.h.in: Oops, _getpt ==> _getpty
8273
8274 2000-10-26  Martin Buchholz  <martin@xemacs.org>
8275
8276         * config.h.in:
8277         * regex.c:
8278         Use void*, not char*, as return type of alloca().
8279
8280         * alloc.c (free_marker): Side effect inside assert expression!
8281
8282 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
8283
8284         * mule-charset.c (Fset_charset_ccl_program): To check
8285         if the given ccl program is valid, use setup_ccl_program()
8286         instead of CHECK_VECTOR().
8287         (Fmake_charset): Likewise.
8288
8289 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
8290
8291         * faces.c (get_extent_fragment_face_cache_index):
8292         Fix cachel.merged_faces memory leak.
8293
8294 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
8295
8296         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
8297         Reset MSB of octets obtained by DECODE_SJIS
8298         because of the incompatibility with Emacs.
8299         (ccl_driver)<CCL_ENCODE_SJIS>:
8300         Set MSB of octets before passing them to
8301         ENCODE_SJIS because of the incompatibility
8302         with Emacs.
8303
8304 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
8305
8306         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
8307         (DECLARE_LRECORD): Undo the last change.
8308         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
8309
8310 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
8311
8312         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
8313         the implementation to lrecord_implementations_table.
8314
8315 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
8316
8317         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
8318         initial value of `lrecord_type_##c_name' and
8319         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
8320         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
8321         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
8322         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
8323         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
8324
8325 2000-10-17  Martin Buchholz  <martin@xemacs.org>
8326
8327         * miscplay.c (sndcnv8S_2mono):
8328         (sndcnv2monounsigned):
8329         (sndcnvULaw_2linear):
8330         (sndcnv16swap):
8331         Remove implementation-defined behavior.
8332
8333 2000-10-12  Martin Buchholz  <martin@xemacs.org>
8334
8335         * input-method-xlib.c: Warning suppression.
8336
8337 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
8338
8339         * mule-ccl.c: Sync up with Emacs 21.0.90.
8340         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
8341         Do nothing.
8342         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
8343         Likewise.
8344         (ccl_driver[WriteMultibyteChar2]): Bug fix.
8345         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
8346         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
8347         leading char belongs to official 2-dimensional charset.
8348         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
8349         write the given character as is.  Otherwise,
8350         if it is a multibyte char, convert it by
8351         non_ascii_set_charptr_emchar, then write it.
8352         (CCL_WRITE_STRING): Likewise.
8353         (ccl_get_compiled_code): New function.
8354         (setup_ccl_program): When ccl_prog is invalid,
8355         return -1.
8356         (Fregister_code_conversion_map): New function.
8357         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
8358
8359         * mule-ccl.h: Sync up with Emacs 21.0.90.
8360         (Fregister_ccl_program): export it.
8361
8362         * redisplay-msw.c (separate_textual_runs):
8363         If ccl program is not valid, don't do ccl conversion.
8364
8365         * redisplay-x.c (separate_textual_runs): Ditto.
8366
8367         * file-coding.c (Fmake_coding_system):
8368         When type is ccl and value is vector, register it
8369         with a proper symbol.  And checks whether the
8370         given ccl program is valid.
8371         (mule_decode): When calling ccl_driver, if src indicates
8372         NULL pointer, set an empty string instead.
8373         (mule_encode): Likewise.
8374
8375 2000-10-11  Martin Buchholz  <martin@xemacs.org>
8376
8377         The following large batch of changes gets us back to a state of
8378         C++ compilability.  Extbyte is now a char, which means that
8379         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
8380
8381         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
8382
8383         * sound.c (Fplay_sound): Type correctness.
8384
8385         * select-x.c (hack_motif_clipboard_selection): Type correctness.
8386         (x_get_window_property): Type correctness.
8387         (receive_incremental_selection): unsigned char ==> Extbyte
8388         (selection_data_to_lisp_data): unsigned char ==> Extbyte
8389         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
8390         (Fx_store_cutbuffer_internal): Type correctness.
8391
8392         * process-unix.c (try_to_initialize_subtty): Type correctness.
8393
8394         * objects-x.c (x_print_color_instance): Type correctness.
8395         (x_print_font_instance): Type correctness.
8396         (x_list_fonts): SExtbyte ==> Extbyte.
8397         (valid_x_font_name_p): SExtbyte ==> Extbyte.
8398         (x_find_charset_font): SExtbyte ==> Extbyte.
8399         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
8400         (truename_via_XListFonts): SExtbyte ==> Extbyte.
8401         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
8402         Use bufbyte_strcmp.
8403
8404         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
8405         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
8406         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
8407         (BYTE_C0_P): Use bit ops for char-signedness safety.
8408         (BYTE_C1_P): Use bit ops for char-signedness safety.
8409         (CHARSET_BY_LEADING_BYTE):
8410         (CHARSET_BY_ATTRIBUTES):
8411         Always use inline function.
8412         Use type_checking_assert.
8413         Hide chlook.
8414
8415         * mule-charset.c (non_ascii_charptr_copy_char):
8416         Modify to work with both ASCII and non-ASCII characters.
8417         Improve docs and variable names.
8418         Replace over-clever fall-through switch with a simple loop.
8419         (Lstream_get_emchar_1):
8420         Replace over-clever fall-through switch with a simple loop.
8421
8422         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8423         Warning suppression.
8424
8425         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
8426         the return value of Lstream_getc, which could be EOF as well.
8427
8428         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
8429
8430         * lisp.h: Make Extbyte a char, not unsigned char, so that external
8431         APIs can be used on Extbytes without casts.  Risky!
8432         (SExtbyte): Remove.
8433         (UExtbyte): Remove.
8434
8435         * input-method-xlib.c (XIM_init_device):
8436         Use Xlib.h instead of IntrinsicP.h.
8437         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
8438         which will break in X11R7.
8439         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
8440         to call XRegisterIMInstantiateCallback with correct types.
8441
8442         * gui-x.c (button_item_to_widget_value): Type correctness.
8443
8444         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
8445
8446         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
8447         (xbm_instantiate_1): Type correctness.
8448         (BUILD_GLYPH_INST):  Type correctness.
8449
8450         * fileio.c (Fsubstitute_in_file_name): Type correctness.
8451
8452         * file-coding.c:
8453         (decode_coding_sjis):
8454         (decode_coding_big5):
8455         (decode_coding_ucs4):
8456         (decode_coding_utf8):
8457         (decode_coding_iso2022):
8458         (decode_coding_no_conversion):
8459         Make all decoding functions take an Extbyte * arg.
8460         (encode_coding_sjis):
8461         (encode_coding_big5):
8462         (encode_coding_ucs4):
8463         (encode_coding_utf8):
8464         (encode_coding_iso2022):
8465         (encode_coding_no_conversion):
8466         Make all encoding functions take a Bufbyte * arg.
8467         Use size_t instead of unsigned int for memory sizes.
8468         Only cast to unsigned char whenever dereferencing Extbyte *.
8469
8470         * doc.c (unparesseuxify_doc_string): Type correctness.
8471
8472         * console-x.c (split_up_display_spec):
8473         Rewrite without using details of internal string representation.
8474         (x_semi_canonicalize_device_connection): Type correctness.
8475
8476         * config.h.in:
8477         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
8478         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
8479         (HAVE_XFREE386): Removed.
8480
8481         * buffer.h (DEC_CHARPTR): `const' correctness.
8482         (bufbyte_strcmp): New.
8483         (bufbyte_memcmp): New.
8484
8485         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
8486
8487         * buffer.h (XCHAR_OR_CHAR_INT):
8488         Always use inline function.
8489         Remove redundant type checking assert() - XINT will abort quite nicely.
8490
8491 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8492
8493         * search.c (Freplace_match): Set newtext to an empty string.
8494
8495 2000-10-10  Martin Buchholz  <martin@xemacs.org>
8496
8497         * s/decosf1-3.h: Remove #include of stropts.h
8498         * s/ptx.h: Remove #include of stropts.h
8499         * s/usg5-4.h: Remove #include of stropts.h
8500         * sysproc.h:
8501         * config.h.in:
8502         Use stropts.h, not sys/stropts.h.
8503         Use strtio.h, not sys/strtio.h.
8504
8505 2000-10-04  Martin Buchholz <martin@xemacs.org>
8506
8507         * XEmacs 21.2.36 is released.
8508
8509 2000-09-21  Andy Piper  <andy@xemacs.org>
8510
8511         * glyphs-x.c (x_redisplay_widget): make sure non-structural
8512         changes still involve copying the widget tree.
8513         (update_widget_face): make sure a change is register in the widget
8514         tree. Call update_tab_widget_face appropriately.
8515         (update_tab_widget_face): ditto.
8516         (x_tab_control_redisplay): make sure non-structural changes still
8517         involve copying the widget tree.
8518
8519 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
8520
8521         * lread.c (locate_file): Check the path element is non-nil.
8522
8523 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8524
8525         * lisp.h: Warning suppression for SCO compilers.
8526
8527         * redisplay-tty.c (reset_tty_modes): Fix crash.
8528         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
8529
8530 2000-09-27  Martin Buchholz  <martin@xemacs.org>
8531
8532         Big signal/process handling overhaul.  Bugs fixed:
8533         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
8534         M-x comint-kill-subjob should work for both values nil and t of
8535         process-connection-type. It was broken on most platforms.
8536         Testing on Irix and Cygwin still needed.  Other plaforms tested.
8537         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
8538         * process-unix.c: Signal/Process handling overhaul.
8539         (pty_name): make 64 bytes, as `expect' does, for paranoia.
8540         (allocate_pty): Use all available modern methods of allocating
8541         ptys, falling back to old style BSD allocation as a last resort.
8542         Use allegedly more secure Unix98 pty allocation by default.
8543         (allocate_pty_the_old_fashioned_way): New. the last resort.
8544         (unix_create_process): Push ptem, ldterm, ttcompat where
8545         available.  Autoconfiscate.
8546         (try_to_initialize_subtty): New.
8547         (unix_kill_child_process): Proper signal handling for ptys on most
8548         platforms, using special knowledge of AIX, BSD, etc...
8549         (unix_create_process): Always disconnect_controlling_terminal() for
8550         subprocesses, whether using ptys or not.
8551         * process.h: Remove old getpt-dependent PTY code.
8552         * process.c (Fprocess_send_signal): New, obvious generic function.
8553         (decode_signal): New.
8554         (Finterrupt_process):
8555         (Fkill_process):
8556         (Fquit_process):
8557         (Fstop_process):
8558         (Fcontinue_process):
8559         (Fsignal_process): Use decode_signal.
8560         (process_send_signal):
8561         Many docstring corrections.
8562         Allow any signal to be sent to a process object.
8563         * config.h.in: Add symbols for big signal/process overhaul.
8564         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
8565         * sysproc.h: Include process-related headers, where available:
8566         sys/stropts.h sys/strtio.h pty.h libutil.h
8567         * s/irix4-0.h:
8568         * s/irix5-0.h:
8569         * s/cygwin32.h:
8570         * s/gnu.h:
8571         * s/linux.h:
8572         * s/hpux.h:
8573         * s/aix3-1.h:
8574         Remove old S&M pty stuff.
8575         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
8576         * systty.h: Simplify cpp hackery, improve comments.
8577         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
8578
8579         * editfns.c (Fformat_time_string):
8580         Be a little more paranoid with the return value of ctime.
8581
8582         * fileio.c (check_executable):
8583         (check_writable):
8584         Use symbolic constants X_OK, W_OK.
8585
8586         * console-x.c (split_up_display_spec): Fix a warning.
8587
8588 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8589
8590         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
8591         * ntproc.c (sys_spawnve): make_string ==> build_string
8592         Small clarity improvements.
8593
8594 2000-09-30  Martin Buchholz  <martin@xemacs.org>
8595
8596         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
8597
8598         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
8599
8600         * config.h.in (HAVE_STRCASECMP): Remove.
8601
8602 2000-09-29  Martin Buchholz  <martin@xemacs.org>
8603
8604         * redisplay-output.c (redisplay_output_pixmap):
8605         Cleaner and possibly more 64-bit correct code.
8606
8607 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
8608
8609         * dumper.c (pdump_load_finish): move restoration of
8610         `noninteractive1' to emacs.c (main_1).
8611         * emacs.c (main_1): protect LISP-visible command-line flags
8612         from pdump_load().
8613
8614 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
8615
8616         * Makefile.in.in (versionclean):  Use EXE_TARGET and
8617         DUMP_TARGET instead of literal program names.
8618
8619 2000-09-20  Martin Buchholz  <martin@xemacs.org>
8620
8621         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
8622
8623 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8624
8625         * *: Spelling mega-patch
8626
8627 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8628
8629         * fns.c (bad_bad_turtle):
8630         Delete "Eek!" comment, since we fixed the bug to which it refers.
8631
8632 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8633
8634         * alloca.c: Replace REGISTER with register.
8635
8636 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
8637
8638         * file-coding.c (ucs_to_char): Use countof.
8639
8640 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8641
8642         * file-coding.c: (ucs_to_char):
8643         (complex_vars_of_file_coding):
8644         Use countof instead of sizeof.
8645         Use CHECK_NATNUM instead of CHECK_INT.
8646
8647         * sysdep.c (strcasecmp): Remove.
8648         * device-x.c (ascii_strcasecmp): New.
8649         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
8650         Avoid using non-standard non-portable strcasecmp.
8651
8652 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8653
8654         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
8655         * font-lock.c: remove reference to emacsfns.h.
8656         * search.c: small doc improvement.
8657         * event-Xt.c: correct file names in comments.
8658         * console-x.h Correct file names in comments.
8659         * frame.c: Correct file names in comments.
8660         * event-stream.c: remove Energize from comments.
8661
8662 2000-09-15  Martin Buchholz  <martin@xemacs.org>
8663
8664         * symeval.h (DEFERROR_STANDARD):
8665         (DEFERROR):
8666         (DEFSYMBOL):
8667         (DEFSYMBOL_NO_DUMP):
8668         (DEFSYMBOL_MULTIWORD_PREDICATE):
8669         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
8670         (DEFKEYWORD):
8671         The construct &##name is not sensible C.
8672         Fixes compilation errors with Unixware native compiler.
8673
8674 2000-09-14  Martin Buchholz  <martin@xemacs.org>
8675
8676         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
8677         (next_frame_internal): Removed.  We now just have next_frame.
8678         (next_frame):
8679         Write a simpler and cleaner one-pass algorithm.
8680         Remove called_from_delete_device arg and #ifdefed-out code.
8681         (previous_frame):
8682         Renamed from prev_frame.  Update callers.
8683         Cleaned up to have an analogous implementation to next_frame.
8684         (other_visible_frames_internal): Remove the
8685         called_from_delete_device bogus arg, and hence, remove this
8686         function.  Just use other_visible_frames().
8687
8688         * window.c (Fnext_window):
8689         Prettify docstring.
8690         Since next_frame() is guaranteed to return a frame, remove check
8691         for nil inserted in previous patch.
8692         (Fprevious_window):
8693         Prettify docstring.
8694         Make code look more like Fnext_window.
8695         (window_loop):
8696         Respect the `console' arg when iterating through windows.
8697         Fixes bug: (get-buffer-window buffer t device) not respecting
8698         the `device' arg.
8699         This function needs more work, as others have pointed out.
8700
8701         * frame.h: Rename prev_frame to previous_frame.
8702         device_matches_console_spec no longer takes a `frame' arg.
8703
8704         * s/gnu.h:
8705         * s/linux.h:
8706         * s/hpux.h:
8707         Use EMACS_BLOCK_SIGNAL instead of sigblock.
8708         From "Golubev I. N." <gin@mo.msk.ru>.
8709
8710         * make-src-depend: Fix typo.
8711
8712 2000-09-13  Martin Buchholz  <martin@xemacs.org>
8713
8714         * window.c (Fnext_window):
8715         next_frame() might return nil, not a frame.
8716         Fixes this crash:
8717         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8718
8719         * frame.c (next_frame_internal):
8720         We've passed a frame if we've passed its device.
8721         Fixes this crash:
8722         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8723 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
8724
8725 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8726
8727         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8728         Allow option to suppress accelerators in menu/dialog items.
8729         (populate_or_checksum_helper): Pass dialog title through above.
8730
8731 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8732
8733         * event-msw.c (mswindows_key_to_emacs_keysym):
8734         Add "pause" key, fix "menu" key.
8735
8736 2000-09-09  Martin Buchholz  <martin@xemacs.org>
8737
8738         * eval.c (reinit_vars_of_eval):
8739         Increase max_lisp_eval_depth to 1000,
8740         required for thai-xtis.el to byte-compile under some circumstances.
8741
8742 2000-09-04  Martin Buchholz  <martin@xemacs.org>
8743
8744         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
8745         From Kenichi Handa.
8746
8747 2000-09-01  Martin Buchholz  <martin@xemacs.org>
8748
8749         * make-src-depend: Make the generated Makefiles smaller.
8750
8751         * s/hpux.h (SETUP_SLAVE_PTY):
8752         Provide a %d in the format string for the errno argument.
8753
8754         * editfns.c (Ftemp_directory):
8755         Warning fix.
8756         Avoid buffer overrun on very long file name.
8757
8758         * input-method-xlib.c (XIM_init_device):
8759         6th parameter of XRegisterIMInstantiateCallback has different
8760         pointer types on different OSes, so simply cast to (void *).
8761
8762         * unexhp9k800.c: Warning fixes.  Fiddly changes.
8763
8764         * sysdll.c (dll_open):
8765         shl_load will hang hard if passed a NULL filename.
8766         Simply return NULL for compatibility with dlopen.
8767         * sysdll.c: Conform to XEmacs coding standards.
8768
8769         * sysdep.c (get_pty_max_bytes):
8770         Support pty input lines longer than 512 bytes on HP-UX 10.20.
8771
8772 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8773
8774         * tooltalk.c: Add #include <syssignal.h>
8775
8776 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
8777
8778         * s/hpux.h: Don't use undefined function sigunblock().
8779
8780 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8781
8782         * config.h.in: Add HAVE_BALLOON_HELP.
8783         * emacs.c: Use HAVE_BALLOON_HELP.
8784         * Makefile.in.in (x_objs):
8785         Make Balloon Help conditional on finding shape.h.
8786
8787 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
8788
8789         * syntax.c (regex_emacs_buffer_p): New variable.
8790         * syntax.h (regex_emacs_buffer_p): extern.
8791         * search.c (looking_at_1):
8792         (string_match_1):
8793         (fast_string_match):
8794         (search_buffer): Set regex_emacs_buffer_p.
8795         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
8796         when before_dot, at_dot, after_dot.
8797
8798 2000-08-23  Andy Piper  <andy@xemacs.org>
8799
8800         * gui-x.c (popup_selection_callback): Only set action_occurred
8801         when we really have an image instance.
8802         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8803
8804 2000-08-23  Andy Piper  <andy@xemacs.org>
8805
8806         * gui-msw.c (mswindows_handle_gui_wm_command): set
8807         action_occurred.
8808         * gui-x.c (popup_selection_callback): ditto.
8809
8810         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
8811         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
8812         (struct Lisp_Image_Instance): add action_occurred flag.
8813
8814         * glyphs.c (redisplay_subwindow): use action_occurred flag.
8815         (image_instance_changed): ditto.
8816         (reset_frame_subwindow_instance_cache): only unmap windows - do
8817         not remove them from the cache also.
8818
8819         * glyphs-widget.c (tab_control_update): better debug.
8820         (progress_gauge_update): ditto.
8821         (layout_update): ditto.
8822         (layout_instantiate): ditto.
8823         (tab_control_order_only_changed): cope with null pending items.
8824
8825         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
8826         debug. Force selection of an item when an action occurred. Cope
8827         with null pending_items.
8828         (mswindows_progress_gauge_redisplay): better debug.
8829         * glyphs-x.c (x_tab_control_redisplay): ditto.
8830
8831         * redisplay.c (redisplay_frame): reset the frame cache if the
8832         frame is garbaged.
8833
8834         * window.c (Fset_window_configuration): potentially re-enable
8835         frame cache reset.
8836         (window_unmap_subwindows): need to finalize instances here since
8837         it is only used in mark_window_as_deleted.
8838
8839 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
8840
8841         * nas.c (SndOpenDataForReading):
8842         nas.c (WaveOpenDataForReading):
8843         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
8844         Somehow escaped from the 2000-08-14 patch.
8845
8846 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
8847
8848         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
8849         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
8850
8851 2000-08-21  Andy Piper  <andy@xemacs.org>
8852
8853         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
8854         window if it is not already displayed.
8855
8856         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
8857         it is not already displayed.
8858
8859         * window.c (Fset_window_configuration): don't reset the frame
8860         cache.
8861
8862         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
8863         instances from the frame cache if we are actually finalizing them.
8864         (reset_frame_subwindow_instance_cache): reset frame cache only
8865         after unmapping everything.
8866         (map_subwindow): set displayed flag after mapping.
8867
8868 2000-08-21  Martin Buchholz  <martin@xemacs.org>
8869
8870         * data.c (indirect_function):
8871         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
8872
8873         * eval.c (function_argcount):
8874         Use original function when signaling errors.
8875
8876 2000-08-18  Andy Piper  <andy@xemacs.org>
8877
8878         * frame.c (delete_frame_internal): use new
8879         free_frame_subwindow_instances name.
8880
8881         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
8882         (add_tab_item): make return type correct.
8883         (mswindows_tab_control_instantiate): assert index of tab.
8884         (mswindows_tab_control_redisplay): Re-code to use
8885         gui_item_equal_sans_selected and gui_item_list_find_selected.
8886
8887         * glyphs-widget.c (tab_control_update): Correct comment.
8888
8889         * window.c (window_unmap_subwindows): use new
8890         unmap_subwindow_instance_cache_mapper.
8891         (window_unmap_subwindows_cache_mapper): deleted.
8892         (Fset_window_configuration): comparisons should now be with
8893         EQ. Preserve the subwindow instance cache across configuration
8894         changes.
8895         (allocate_window): ditto.
8896         (make_dummy_parent): ditto.
8897
8898         * glyphs.c (free_frame_subwindow_instances): rename from
8899         free_frame_subwindow_instance_cache. finalize all instances rather
8900         than just those in the display cache.
8901         (finalize_all_subwindow_instances): walk windows unmapping and
8902         finalizing subwindows.
8903         (unmap_subwindow_instance_cache_mapper): moved from
8904         window.c. Allow finalization as well as unmapping.
8905
8906         * gui.c (gui_item_list_find_selected): new function.
8907
8908         * gui.h (gui_item_list_find_selected): declare.
8909
8910         * glyphs-x.c (x_tab_control_redisplay): pick tab
8911         explicitly. Re-code to use gui_item_equal_sans_selected and
8912         gui_item_list_find_selected.
8913
8914         * glyphs-x.h: add lwlib-utils.h
8915
8916         * buffer.c (Frecord_buffer): undo previous change.
8917
8918 2000-08-09  Vin Shelton  <acs@xemacs.org>
8919
8920         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
8921         possible.  Create temporary files more securely.  The patch was
8922         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
8923         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
8924         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
8925         for details.
8926
8927 2000-08-07  Ben Wing  <ben@xemacs.org>
8928
8929         * getloadavg.c: remove duplicate (and windows-breaking)
8930         includes of fcntl.h and sys/file.h.
8931
8932         * nt.c: remove duplicate getloadavg() definition.
8933
8934         * sysdll.h (Qdll_filename_encoding): add missing stand-in
8935         encodings.
8936
8937 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8938
8939         * eval.c (function_argcount): If function needs to be autoloaded
8940         actually use the loaded definition.
8941         GCPRO function.
8942
8943 2000-08-05  Ben Wing  <ben@xemacs.org>
8944
8945         * getloadavg.c: add prototype for getloadavg().  remove
8946         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
8947         of the code).  remove duplicate header includes.
8948
8949         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
8950
8951         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
8952         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
8953         useful load average.
8954
8955         * alloc.c (reinit_alloc_once_early): removed references to
8956         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
8957         the lisp vars are the only things referencing the malloc_sbrk_*
8958         vars, and they were already if 0'd out.  these vars only exist
8959         in the older malloc.c, which is basically unused, and they're
8960         only for informational purposes.
8961
8962         * m\*.h: removed useless VIRT_ADDR_VARIES.
8963
8964         * m\powerpc.h: removed stray NO_ARG_ARRAY.
8965
8966 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8967
8968         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
8969         color if the image is a mono pixmap.
8970
8971 2000-07-30  Ben Wing  <ben@xemacs.org>
8972
8973         * Makefile.in.in (release):
8974         Remove stray @.
8975
8976         * buffer.c (directory_is_current_directory):
8977         * dired-msw.c (mswindows_get_files):
8978         * dired.c:
8979         * dired.c (Fdirectory_files):
8980         * dired.c (file_name_completion_stat):
8981         * dired.c (Ffile_attributes):
8982         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
8983         preprocessor tricks, to avoid problems on some machines
8984         (e.g. SCO).
8985
8986         * callproc.c (egetenv): GC docs.
8987
8988         * console-msw.h:
8989         * console-msw.h (struct mswindows_dialog_id):
8990         * lrecord.h (lrecord_type):
8991         New object for use with MSW dialogs.
8992
8993         * console.h (struct console_methods):
8994         New enable/disable frame methods, for proper modal dialogs.
8995
8996         * device-msw.c (msprinter_default_printer): Fix to follow
8997         proper Mule conventions.
8998
8999         * device-msw.c:
9000         * device-msw.c (signal_open_printer_error):
9001         * device-msw.c (msprinter_init_device):
9002         * device-msw.c (ensure_not_printing):
9003         * device-msw.c (plist_get_margin):
9004         * device-msw.c (Fmsprinter_select_settings):
9005         * device-msw.c (finalize_devmode):
9006         * device-msw.c (Fmsprinter_settings_despecialize):
9007         * device-msw.c (signal_enum_priner_error):
9008         * extents.c (decode_extent):
9009         * extents.c (decode_map_extents_flags):
9010         * extents.c (decode_extent_at_flag):
9011         * extents.c (Fextent_at):
9012         * extents.c (Fextents_at):
9013         * extents.c (symbol_to_glyph_layout):
9014         [[[[2]]]] Use structured errors.
9015
9016         * dialog-msw.c:
9017         * dialog-msw.c (mswindows_is_dialog_msg):
9018         * dialog-msw.c (mark_mswindows_dialog_id):
9019         * dialog-msw.c (dialog_proc):
9020         * dialog-msw.c (handle_question_dialog_box):
9021         * dialog-msw.c (syms_of_dialog_mswindows):
9022         Define new object to clean up marking; use it as a dialog identifier.
9023         Call new delete-dialog-box-hook.
9024
9025         * dialog-x.c (dbox_selection_callback):
9026         * dialog-x.c (dbox_descriptor_to_widget_value):
9027         * dialog-x.c (x_make_dialog_box_internal):
9028         Call new delete-dialog-box-hook.
9029         Return an id.
9030
9031         * dialog.c:
9032         * dialog.c (syms_of_dialog):
9033         * dialog.c (vars_of_dialog):
9034         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9035
9036         * eval.c:
9037         * eval.c (signal_call_debugger):
9038         when noninteractive, output stack traces on the console instead
9039         of in a (never-seen) buffer.
9040
9041         * eval.c (signal_type_error):
9042         * eval.c (invalid_argument_2):
9043         * lisp.h:
9044         new funs for use w/structured errors.
9045
9046         * event-Xt.c:
9047         * event-Xt.c (x_to_emacs_keysym):
9048         * event-Xt.c (describe_event):
9049         * event-Xt.c (emacs_Xt_event_handler):
9050         * event-Xt.c (vars_of_event_Xt):
9051         * event-msw.c:
9052         * event-msw.c (mswindows_wnd_proc):
9053         * event-msw.c (vars_of_event_mswindows):
9054         rename {x,mswindows}-debug-events to debug-{}-events for
9055         consistency with other debug-foo variables.
9056
9057         * event-stream.c:
9058         document next-event more clearly.
9059
9060         * fileio.c (Ffile_name_directory):
9061         * fileio.c (Ffile_name_nondirectory):
9062         * fileio.c (Funhandled_file_name_directory):
9063         * fileio.c (file_name_as_directory):
9064         * fileio.c (Ffile_name_as_directory):
9065         * fileio.c (directory_file_name):
9066         * fileio.c (Fdirectory_file_name):
9067         * fileio.c (Fmake_temp_name):
9068         * fileio.c (Ffile_truename):
9069         * fileio.c (Fsubstitute_in_file_name):
9070         * fileio.c (expand_and_dir_to_file):
9071         * fileio.c (barf_or_query_if_file_exists):
9072         * fileio.c (check_executable):
9073         * fileio.c (Ffile_exists_p):
9074         * fileio.c (Ffile_writable_p):
9075         * fileio.c (Ffile_directory_p):
9076         * fileio.c (Ffile_regular_p):
9077         * fileio.c (Ffile_modes):
9078         * fileio.c (Ffile_newer_than_file_p):
9079         * fileio.c (Fverify_visited_file_modtime):
9080         * fileio.c (Fset_visited_file_modtime):
9081         * fileio.c (auto_save_1):
9082         (1). (2).
9083         fix up gcpro's.
9084
9085         * frame-msw.c:
9086         * frame-msw.c (mswindows_init_frame_1):
9087         * frame-msw.c (mswindows_enable_frame):
9088         * frame-msw.c (error_frame_unsizable):
9089         * frame-msw.c (msprinter_init_frame_1):
9090         * frame-msw.c (msprinter_init_frame_3):
9091         * frame-msw.c (console_type_create_frame_mswindows):
9092         (2).
9093         implement new enable/disable frame methods.
9094
9095         * frame-x.c:
9096         * frame-x.c (x_enable_frame):
9097         * frame-x.c (console_type_create_frame_x):
9098         implement new enable/disable frame methods.
9099
9100         * frame.c:
9101         * frame.c (Fdisable_frame):
9102         * frame.c (syms_of_frame):
9103         * frame.h (struct frame):
9104         implement new enable/disable frame methods/functions.
9105
9106         * general-slots.h:
9107         add initial-focus.
9108
9109         * glyphs-msw.c (mswindows_widget_instantiate):
9110         comment that initial-focus should be implemented.
9111
9112         * glyphs-widget.c:
9113         * glyphs-widget.c (check_valid_instantiator):
9114         * glyphs-widget.c (check_valid_orientation):
9115         * glyphs-widget.c (check_valid_tab_orientation):
9116         * glyphs-widget.c (check_valid_justification):
9117         * glyphs-widget.c (check_valid_border):
9118         * glyphs-widget.c (check_valid_callback):
9119         * glyphs-widget.c (check_valid_int_or_function):
9120         * glyphs-widget.c (check_valid_string_or_vector):
9121         * glyphs-widget.c (check_valid_item_list_1):
9122         * glyphs-widget.c (widget_validate):
9123         * glyphs-widget.c (combo_box_validate):
9124         * glyphs-widget.c (widget_instantiate):
9125         * glyphs-widget.c (syms_of_glyphs_widget):
9126         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9127         * glyphs-widget.c (image_instantiator_combo_box):
9128         * glyphs-widget.c (image_instantiator_scrollbar):
9129         * glyphs-widget.c (image_instantiator_tab_control):
9130         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9131         (2).
9132         support (unimplemented) keyword initial-focus.
9133         reindent long macros.
9134
9135         * glyphs-x.c (x_redisplay_widget):
9136         * glyphs-x.c (x_button_instantiate):
9137         * glyphs-x.c (x_button_redisplay):
9138         * glyphs-x.c (x_progress_gauge_instantiate):
9139         * glyphs-x.c (x_edit_field_instantiate):
9140         * glyphs-x.c (x_combo_box_instantiate):
9141         * glyphs-x.c (x_tab_control_instantiate):
9142         * glyphs-x.c (x_label_instantiate):
9143         * gui-x.c:
9144         * gui-x.c (button_item_to_widget_value):
9145         * gui-x.c (gui_items_to_widget_values_1):
9146         * gui-x.c (gui_item_children_to_widget_values):
9147         * gui-x.c (gui_items_to_widget_values):
9148         * gui-x.h:
9149         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9150         add new flag to gui-parsing routines to indicate whether
9151         accelerator specs should be supported.
9152
9153         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9154
9155         * glyphs.h (struct Lisp_Image_Instance):
9156         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9157         add initial-focus flag.
9158
9159         * gui.c:
9160         * gui.c (syms_of_gui):
9161         * gui.c (vars_of_gui):
9162         clean up menu-no-selection-hook.
9163
9164         * gui.h:
9165         support delete-dialog-box-hook.
9166
9167         * lread.c (Fload_internal):
9168         * lread.c (locate_file_in_directory_mapper):
9169         (1).
9170
9171         * lrecord.h:
9172         * lrecord.h (struct toolbar_button):
9173         * lrecord.h (syms_of_toolbar):
9174         document how to create a new object.
9175
9176         * menubar-msw.c (mswindows_char_is_accelerator):
9177         may be called on frames w/o menus.
9178
9179         * menubar.c (vars_of_menubar):
9180         clean up :filter docs.
9181
9182         * nt.c (readdir):
9183         * ntproc.c:
9184         (1).
9185
9186         * process-nt.c:
9187         * process-nt.c (validate_signal_number):
9188         * process-nt.c (signal_cannot_launch):
9189         * process-nt.c (nt_create_process):
9190         * process-nt.c (nt_send_process):
9191         * process-nt.c (nt_kill_child_process):
9192         * process-nt.c (nt_open_network_stream):
9193         * process-nt.c (syms_of_process_nt):
9194         (2).
9195         delete quote-handling.  call new lisp code that does it better.
9196
9197         * process-unix.c (connect_to_file_descriptor):
9198         * process-unix.c (allocate_pty):
9199         * process-unix.c (unix_send_process):
9200         * process-unix.c (unix_kill_child_process):
9201         * process-unix.c (unix_open_network_stream):
9202         * process-unix.c (unix_open_multicast_group):
9203         (1). (2).
9204
9205         * process.c:
9206         * process.c (Fstart_process_internal):
9207         (2).  need to canonicalize process path even if absolute.
9208
9209         * select-msw.c (symbol_to_ms_cf):
9210         * select-msw.c (ms_cf_to_symbol):
9211         * select-msw.c (cf_is_autofreed):
9212         * select-msw.c (mswindows_destroy_selection):
9213         * select.c:
9214         * select.c (syms_of_select):
9215         * select.h:
9216         support dibv5, fix bugs. (from Mike Alexander)
9217
9218         * select.c (Fget_selection_internal):
9219         * select.c (select_convert_out):
9220
9221         * sysdep.c:
9222         * sysdep.c (xemacs_stat):
9223         renamed.
9224
9225         * sysdep.c (mkdir):
9226         * sysdep.c (rmdir):
9227         but keep original stat() here because we provide encapsulation
9228         around these funs.
9229
9230         * sysfile.h:
9231         * sysfile.h (fstat):
9232         remove stat garbage.
9233
9234         * syswindows.h:
9235         fix X/MSW conflict.
9236         don't include tchar.h.  it's inappropriate because it makes
9237         compile-time distinctions when we want runtime distinctions.
9238         (we provide our own tchar replacements)
9239
9240         * toolbar.c:
9241         use default object printer for toolbar-button.
9242
9243         * unexcw.c:
9244         make sure we don't encapsulate.
9245
9246         * window.c (vars_of_window):
9247         emphasize that temp-buffer-show-hook is obsolete.
9248
9249 2000-08-05  Martin Buchholz  <martin@xemacs.org>
9250
9251         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
9252         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
9253
9254         * events.c (Fevent_timestamp_lessp):
9255         Not 64-bit clean.  Use EMACS_INT, not int.
9256
9257 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
9258
9259         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
9260         unsigned int and changed the last enum to
9261         lrecord_type_last_built_in_type.
9262         (lrecord_implementations_table): changed prototype to know how
9263         long the array is supposed to be.
9264         (lrecord_type_count): new unsigned int to keep track of the
9265         current number of lisp lrecord types.
9266         (DEFINE_EXTERNAL_LRECORD):
9267         (DECLARE_EXTERNAL_LRECORD): Added these two for external
9268         dynamic-modules to declare new lisp types. They are the same
9269         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
9270         int for each new type, and increment lrecord_type_count by 1.
9271
9272         * alloc.c (lrecord_implementations_table): Changed to reference
9273         lrecord_type_last_built_in_type for the size of the array.
9274         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
9275
9276 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9277
9278         * glyphs.h (check_valid_item_list): Renamed from
9279         check_valid_item_list_1.
9280
9281 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
9282
9283         * select.c (Qselect_coerce): New.
9284         * select.c (Vselection_coercion_alist): New.
9285         * select.c (syms_of_select): Declare.
9286         * select.c (get-selection-internal): Use it.
9287         Use the new select-coerce functionality.
9288
9289         * select.c (select_coerce): New.
9290         * select.h (select_coerce): Declare.
9291         New function to coerce one type of data into another.
9292
9293 2000-08-03  Martin Buchholz  <martin@xemacs.org>
9294
9295         * callproc.c (Fcall_process_internal):
9296         (Fcall_process_internal):
9297         * process-unix.c (unix_create_process):
9298         Save and restore the value of errno, so that error messages are accurate.
9299
9300 2000-08-01  Martin Buchholz  <martin@xemacs.org>
9301
9302         * elhash.c (print_hash_table):
9303         Fix printing of hash tables to also use `key-and-value' instead of `t'.
9304         Prettify docstrings and indentation.
9305
9306 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9307
9308         * window.c (Fwindow_pixel_edges): Subtract frame border and
9309         gutter size.
9310
9311 2000-07-31  Andy Piper  <andy@xemacs.org>
9312
9313         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
9314         will acknowledge the change.
9315
9316         * glyphs.h: declare tab_control_order_only_changed.
9317
9318         * glyphs-x.c (x_tab_control_redisplay): use
9319         tab_control_order_only_changed.
9320
9321         * glyphs-widget.c (tab_control_order_only_changed): new function.
9322
9323         * glyphs-msw.c (mswindows_tab_control_redisplay): use
9324         tab_control_order_only_changed.
9325
9326         * gui.c (gui_item_equal_sans_selected): new function.
9327         (gui_item_equal): use it.
9328
9329         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
9330         :properties in favor of :items..
9331
9332         * glyphs-widget.c (check_valid_item_list): rename from
9333         check_valid_item_list_1.
9334         (check_valid_item_list_1): renamed.
9335         (combo_box_validate): deprecate :properties in favor of :items.
9336         (widget_instantiate): ditto.
9337         (tab_control_update): ditto.
9338         (image_instantiator_combo_box): ditto.
9339         (image_instantiator_tree_view): ditto.
9340         (image_instantiator_tab_control): ditto.
9341         (layout_post_instantiate): remove dead code.
9342
9343         * print.c (debug_print_no_newline): only write to debugger if in
9344         WIN32_NATIVE.
9345
9346         * elhash.c (Fmake_hash_table): update doc string.
9347
9348         * event-msw.c (mswindows_wnd_proc): don't allow processing of
9349         messages whilst in GC. This at least stops XEmacs crashing but has
9350         the potential for wierd behaviour.
9351
9352 2000-07-31  Martin Buchholz  <martin@xemacs.org>
9353
9354         * config.h.in:
9355         Make existence of s&m files optional.
9356
9357         * s/bsd386.h: Remove HAVE_GETLOADAVG.
9358         * s/freebsd.h: Remove HAVE_GETLOADAVG.
9359         * s/gnu.h: Remove HAVE_GETLOADAVG.
9360         * s/netbsd.h: Remove HAVE_GETLOADAVG.
9361         * s/sol2.h: Remove HAVE_GETLOADAVG.
9362         * lisp.h: Remove getloadavg() declaration.
9363         * fns.c:
9364         Include <sys/loadavg.h> if available.
9365         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
9366         * config.h.in:  Group together getloadavg()-related macros.
9367         Use only configure-time tests to detect getloadavg().
9368
9369 2000-07-30  Martin Buchholz  <martin@xemacs.org>
9370
9371         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
9372
9373 2000-07-25  Andy Piper  <andy@xemacs.org>
9374
9375         * syswindows.h: add tchar.h for native builds.
9376
9377         * frame.c (syms_of_frame): remove set-glyph-image.
9378
9379         * general-slots.h: add Qset_glyph_image.
9380
9381         * glyphs-widget.c (layout_update): add domain arg to
9382         set-glyph-image.
9383         (syms_of_glyphs_widget): remove set-glyph-image.
9384
9385 2000-07-23  Ben Wing  <ben@xemacs.org>
9386
9387         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
9388         Vpopup_frame_list.
9389
9390 2000-07-22  Andy Piper  <andy@xemacs.org>
9391
9392         * symsinit.h: add syms_of_win32().
9393
9394         * gui-msw.c (syms_of_gui_mswindows): remove
9395         Fmswindows_shell_execute.
9396         (Fmswindows_shell_execute): moved to win32.c.
9397
9398         * emacs.c (main_1): add syms_of_win32 ().
9399
9400         * win32.c (init_potentially_nonexistent_functions): rewrite in
9401         compiler-friendly terms.
9402         (Fmswindows_shell_execute): move here from gui-msw.c.
9403         (syms_of_win32): new.
9404
9405         * device-msw.c (Fmswindows_printer_list): clean up args to
9406         EnumPrinters.
9407         Don't include tchar under cygwin or mingw.
9408         (msprinter_default_printer): make cygwin-friendly.
9409
9410 2000-07-21  Andy Piper  <andy@xemacs.org>
9411
9412         * glyphs-widget.c (image_instantiator_tree_view): use tab
9413         control's update function.
9414         (layout_property): new function. Retrieve items.
9415
9416         * glyphs-msw.c (mswindows_tree_view_redisplay): new
9417         function. Re-populate the tree view from the pending items.
9418
9419         * glyphs.c (instantiate_image_instantiator): Make sure the domain
9420         is designated the parent if the domain is an image instance. This
9421         is needed so that dirtiness can be cascade up the hierarchy and
9422         thus for layout children to be redisplayed correctly.
9423         (allocate_image_instance): rename glyph -> parent.
9424
9425         * redisplay.h: change redisplay_output_layout signature.
9426
9427         * redisplay-msw.c (mswindows_output_display_block): use domain
9428         arg.
9429
9430         * redisplay-x.c (x_output_display_block): use domain arg.
9431
9432 2000-07-10  Andy Piper  <andy@xemacs.org>
9433
9434         * window.c (Fset_window_configuration): add comment.
9435
9436         * redisplay-output.c (compare_runes):
9437         (redisplay_output_subwindow): redisplay rather than update subwindow.
9438         (redisplay_output_layout): ditto.
9439
9440         * redisplay-msw.c (mswindows_frame_output_end):
9441         (mswindows_frame_output_end): make defer window pos optional.
9442
9443         * lisp.h: add Flast.
9444
9445         * glyphs.h (struct image_instantiator_methods): add dest_mask top
9446         normalize method. Change update method to be for changed
9447         instantiators. Add redisplay method. Change signature of layout
9448         method.
9449         (struct Lisp_Image_Instance): add instantiator.
9450         (IMAGE_INSTANCE_INSTANTIATOR): new.
9451         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
9452         (XIMAGE_INSTANCE_INSTANTIATOR): new.
9453         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
9454
9455         * glyphs.c:
9456         (find_instantiator_differences): new function.
9457         (Fset_instantiator_property): new convenience function.
9458         (check_image_instance_structure): strictly check for vector
9459         instantiators.
9460         (normalize_image_instantiator): make non-static.
9461         (instantiate_image_instantiator): pass on dest_mask and use new
9462         signatures for image_instance_layout and friends.
9463         (mark_image_instance): mark the instantiator. Mark the subwindow
9464         face not the widget face.
9465         (image_instance_equal): add instantiator.
9466         (image_instance_hash): ditto.
9467         (allocate_image_instance): ditto.
9468         (Fset_image_instance_property): removed.
9469         (Fimage_instance_file_name): ditto.
9470         (Fcolorize_image_instance): ditto.
9471         (image_instance_layout): add offsets to be set.
9472         (update_image_instance): new function. update an image instance
9473         from its changed instantiator.
9474         (inherit_normalize): add dest_mask.
9475         (xbm_normalize): ditto.
9476         (xface_normalize): ditto.
9477         (xpm_normalize): ditto.
9478         (text_update): set_property -> update.
9479         (image_instantiate): use the glyph identity as a hash key, not the
9480         instantiator.
9481         (glyph_width): use new image_instance_layout signature.
9482         (glyph_ascent): ditto.
9483         (glyph_descent): ditto.
9484         (glyph_height): ditto.
9485         (glyph_query_geometry): ressurrect.
9486         (glyph_layout): ditto.
9487         (redisplay_subwindow): update -> redisplay.
9488         (syms_of_glyphs): add Fset_instantiator_property.
9489         (image_instantiator_format_create): set_property -> update.
9490
9491         * glyphs-x.c:
9492         (autodetect_normalize): add dest_maks to signature.
9493         (x_redisplay_subwindow): update -> redisplay.
9494         (x_redisplay_widget): ditto.
9495         (x_button_redisplay): ditto.
9496         (x_progress_gauge_redisplay): ditto.
9497         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
9498         stacking order.
9499         (console_type_create_glyphs_x): update -> redisplay.
9500         (image_instantiator_format_create_glyphs_x): ditto.
9501
9502         * glyphs-widget.c:
9503         (check_valid_instantiator): disallow glyphs in the instantiator,
9504         they must now be vectors.
9505         (check_valid_instantiator_list): ditto.
9506         (glyph_instantiator_to_glyph): use internal symbol rather than
9507         intern.
9508         (widget_update): renamed from widget_set_property. Call cascaded
9509         update methods.
9510         (redisplay_widget): renamed from update_widget.
9511         (widget_layout): image_instance_layout now takes position as well
9512         as size.
9513         (widget_normalize): ditto.
9514         (widget_instantiate): ditto.
9515         (tab_control_query_geometry) ditto.:
9516         (tab_control_update): renamed from tab_control_set_property.
9517         (progress_gauge_update): set_property -> update.
9518         (layout_normalize): rewrite so that child instantiators are
9519         normalized also.
9520         (layout_update): new function. Create glyphs from the normalized
9521         children and cope with any other layout keywords. We do not
9522         instantiate children here that will be take care of by
9523         redisplay_output_layout.
9524         (layout_instantiate): call layout_update and not much else.
9525         (layout_post_instantiate): not sure whether this is needed
9526         anymore.
9527         (layout_query_geometry): query glyph geometry rather than
9528         image_instance geometry.
9529         (layout_layout): set offsets from pass in parameters. Use glyph
9530         geometry and layout functions rather than image instance ones.
9531         (native_layout_layout): ditto.
9532         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
9533         (image_instantiator_widget): set_property -> update.
9534         (image_instantiator_buttons): ditto.
9535         (image_instantiator_progress_guage): ditto.
9536         (image_instantiator_tab_control): ditto.
9537         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
9538         (image_instantiator_layout): add update method.
9539
9540         * glyphs-msw.c (bmp_normalize):
9541         (mswindows_resource_normalize): add dest_mask so that it can be
9542         proprogated by layout_normalize.
9543         (begin_defer_window_pos): make optional because it may not be the
9544         right thing to do and it introduces differences with X.
9545         (mswindows_unmap_subwindow): ditto.
9546         (mswindows_map_subwindow): ditto.
9547         (mswindows_redisplay_subwindow): renamed from
9548         mswindows_update_subwindow.
9549         (mswindows_redisplay_widget): ditto.
9550         (mswindows_button_redisplay): renamed from
9551         mswindows_button_update. Update is now what the instantiation
9552         function does for a changed instantiator.
9553         (mswindows_progress_gauge_instantiate): set the progress value
9554         here if appropriate.
9555         (mswindows_tab_control_redisplay): cope with re-ordering of the
9556         members of the tab widget by simply selecting the new top
9557         widget. This makes things appear ok if you click on a tab.
9558         (mswindows_combo_box_instantiate): image_instance_layout now takes
9559         position as well as size.
9560         (mswindows_progress_gauge_redisplay): renamed from
9561         mswindows_progress_gauge_update.
9562         (console_type_create_glyphs_mswindows): fix update -> redisplay.
9563         (image_instantiator_format_create_glyphs_mswindows): ditto.
9564
9565         * glyphs-eimage.c (jpeg_normalize):
9566         (gif_normalize):
9567         (png_normalize):
9568         (tiff_normalize): add dest_mask so that it can be proprogated by
9569         layout_normalize.
9570
9571         * elhash.c:
9572         (print_hash_table):
9573         (hash_table_weakness_validate):
9574         (decode_hash_table_weakness):
9575         (Fhash_table_weakness):
9576         (Fhash_table_type):
9577         (syms_of_elhash): use Ben's naming scheme for hashtable types..
9578
9579         * console.h (struct console_methods): move update_* to
9580         redisplay_*.
9581
9582 2000-07-20  Ben Wing  <ben@xemacs.org>
9583
9584         * *.[ch] (XSETOBJ): remove unused middle argument.
9585         lisp-disunion.h: correct wrap_object() to one argument.
9586
9587 2000-07-15  Ben Wing  <ben@xemacs.org>
9588
9589         * s/cygwin32.h:
9590         * s/cygwin32.h (CYGWIN_CONV_PATH):
9591         Add missing logb prototype for v1.1.
9592         Use post-b20 names and alias to pre-b20 names when pre-b20.
9593
9594         * s/windowsnt.h: [5].
9595
9596 2000-07-15  Ben Wing  <ben@xemacs.org>
9597
9598         * Makefile.in.in (x_objs):
9599         * Makefile.in.in (sheap_objs):
9600         * Makefile.in.in (objs):
9601         added win32.o, cosmetic cleanups.
9602
9603         * alloc.c (Fmake_byte_code):
9604         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
9605         etc. macros which declare their own args now.
9606
9607         * alloc.c (syms_of_alloc):
9608         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
9609
9610         * buffer.c:
9611         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
9612
9613         * buffer.c (Fget_file_buffer):
9614         Fixed GCPRO problem.
9615
9616         * buffer.c (get_truename_buffer):
9617         Fixed comment about GC checking.
9618
9619         * buffer.c (syms_of_buffer):
9620         Undeclared those dedicated frame funs.
9621         [2].
9622
9623         * buffer.h:
9624         Define convenience macros for internal/external conversions.
9625         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
9626         and Qenvironment_variable_encoding for cleaner code.
9627
9628         * bufslots.h:
9629         Remove dedicated-frame; in lisp.
9630
9631         * bytecode.c (funcall_compiled_function):
9632         [1].
9633
9634         * bytecode.c (syms_of_bytecode):
9635         [2].
9636
9637         * console-msw.c:
9638         * console-msw.c (mswindows_show_console): Rewrote.
9639
9640         * console-msw.c (Fmswindows_debugging_output): New.
9641         Sends to OutputDebugString (special MSWin debugger interface).
9642
9643         * console-msw.c (Fmswindows_message_box):
9644         Fixed stupid bugs so it works when called from kill-emacs.
9645
9646         * console-msw.c (syms_of_console_mswindows):
9647         Declare Fmswindows_debugging_output.
9648
9649         * console-msw.h:
9650         New MSWin prototypes.
9651
9652         * console-msw.h (struct mswindows_frame):
9653         New entry last-click-mods for improved button-modifier support.
9654
9655         * console-msw.h (FRAME_MSWINDOWS_POPUP):
9656         New struct entry `popup' with corresponding accessor.
9657
9658         * console-x.c:
9659         * console-x.c (split_up_display_spec):
9660         * console-x.c (get_display_arg_connection):
9661         * console-x.c (x_semi_canonicalize_console_connection):
9662         * console-x.c (x_canonicalize_device_connection):
9663         [[[6]]]: Change char to more specific type.
9664         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
9665
9666         * console-x.c (x_semi_canonicalize_console_connection):
9667         * console-x.c (x_canonicalize_device_connection):
9668         [[[9]]]: Fix up error signalling to use new structured error system.
9669
9670         * console-x.h:
9671         [[[4]]]: Define codesys aliases:
9672         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
9673         Qx_color_name_encoding, Qx_display_name_encoding.
9674
9675         * console.h (struct console_methods):
9676         New method make_dialog_box_internal supersedes older
9677         popup_dialog_box method.
9678
9679         * data.c:
9680         Define many new errors, part of new structured errors.
9681
9682         * data.c (init_errors_once_early):
9683         * data.c (syms_of_data):
9684         [2].
9685
9686         * device-msw.c (mswindows_init_device):
9687         [[[5]]]: Cleanup to support NT 3.51.
9688
9689         * device-msw.c (decode_devmode): Cleanup.
9690
9691         * device-msw.c (mswindows_handle_print_setup_dialog_box):
9692         * device-msw.c (mswindows_handle_print_dialog_box):
9693         * device-msw.c (mswindows_handle_page_setup_dialog_box):
9694         * device-msw.c (syms_of_device_mswindows):
9695         Delete the dialog box primitives recently introduced by Kirill and
9696         instead interface to general dialog box interface.
9697
9698         * device-x.c:
9699         * device-x.c (compute_x_app_name):
9700         * device-x.c (x_init_device):
9701         * device-x.c (Fx_valid_keysym_name_p):
9702         * device-x.c (Fx_set_font_path):
9703         [6].
9704         [7].
9705
9706         * device.h (wrap_device): New.
9707         First of its kind; meant to replace XSETDEVICE.
9708
9709         * dialog-msw.c: Many file-dialog symbols.
9710
9711         * dialog-msw.c (mswindows_register_popup_frame): New.
9712         * dialog-msw.c (mswindows_is_dialog_msg): New.
9713         For supporting kbd traversal in dialog boxes.
9714
9715         * dialog-msw.c (dialog_proc):
9716         Support hitting ESC in dialogs.
9717
9718         * dialog-msw.c (struct):
9719         Common dialog box errors.
9720
9721         * dialog-msw.c (handle_file_dialog_box): New.
9722         Add file dialog code.
9723
9724         * dialog-msw.c (handle_question_dialog_box):
9725         Redo existing code to support new question dialog syntax.
9726
9727         * dialog-msw.c (console_type_create_dialog_mswindows):
9728         We support new dialog console method.
9729
9730         * dialog-msw.c (syms_of_dialog_mswindows):
9731         * dialog-msw.c (vars_of_dialog_mswindows):
9732         New file dialog symbols, vars.
9733
9734         * dialog-x.c:
9735         * dialog-x.c (maybe_run_dbox_text_callback):
9736         * dialog-x.c (dbox_descriptor_to_widget_value):
9737         * dialog-x.c (x_make_dialog_box_internal):
9738         * dialog-x.c (console_type_create_dialog_x):
9739         Mule-ize entire file.
9740         Redo to support question dialog syntax.
9741         [6].
9742
9743         * dialog.c:
9744         * dialog.c (Fmake_dialog_box_internal):
9745         * dialog.c (syms_of_dialog):
9746         Kill old popup-dialog-box, replace with new primitive.
9747         Just call device method or signal error.
9748
9749         * eldap.c (Fldap_open):
9750         * eldap.c (Fldap_search_basic):
9751         * eldap.c (Fldap_add):
9752         * eldap.c (Fldap_modify):
9753         [1].
9754         [7].
9755
9756         * emacs.c:
9757         * emacs.c (make_arg_list_1):
9758         * emacs.c (make_arg_list):
9759         Mule-ize call to dll_init().
9760         [6].
9761         [8].
9762
9763         * emacs.c (make_argc_argv):
9764         * emacs.c (free_argc_argv):
9765         * emacs.c (init_cmdargs):
9766         * emacs.c (main_1):
9767         * emacs.c (Fkill_emacs):
9768         * emacs.c (Fdump_emacs):
9769         Update comments about what can be used in syms_* etc.
9770         Call init_win32() when necessary.
9771         Fix up MS Win dialog box in kill-buffer to actually work right.
9772         [7].
9773
9774         * eval.c:
9775         * eval.c (For):
9776         * eval.c (Fand):
9777         * eval.c (Fprogn):
9778         * eval.c (Fprog1):
9779         * eval.c (Fprog2):
9780         * eval.c (FletX):
9781         * eval.c (Flet):
9782         * eval.c (condition_case_3):
9783         * eval.c (Feval):
9784         * eval.c (function_argcount):
9785         * eval.c (funcall_lambda):
9786         [1].
9787
9788         * eval.c (type_error): New.
9789         * eval.c (maybe_type_error): New.
9790         * eval.c (continuable_type_error): New.
9791         * eval.c (maybe_continuable_type_error): New.
9792         * eval.c (type_error_with_frob): New.
9793         * eval.c (maybe_type_error_with_frob): New.
9794         * eval.c (continuable_type_error_with_frob): New.
9795         * eval.c (maybe_continuable_type_error_with_frob): New.
9796         New functions for use with structured errors.
9797
9798         * event-Xt.c:
9799         * event-Xt.c (x_event_to_emacs_event):
9800         Buttons are now modifiers too.
9801
9802         * event-Xt.c (emacs_Xt_current_event_timestamp):
9803         Implement new event method.
9804         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
9805
9806         * event-msw.c:
9807         * event-msw.c (ntpipe_shove_writer): [5].
9808         * event-msw.c (mswindows_enqueue_mouse_button_event):
9809         * event-msw.c (mswindows_drain_windows_queue):
9810         * event-msw.c (mswindows_wnd_proc): [7].
9811         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
9812         * event-msw.c (mswindows_modifier_state):
9813         Throughout: support new button modifiers.
9814
9815         * event-msw.c (emacs_mswindows_current_event_timestamp):
9816         Implement new event method.
9817         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
9818
9819         * event-stream.c:
9820         * event-stream.c (event_stream_current_event_timestamp): New.
9821         * event-stream.c (maybe_kbd_translate): New functionality.
9822         * event-stream.c (vars_of_event_stream):
9823         Document new kbd-translate-table functionality.
9824
9825         * event-stream.c (Fcurrent_event_timestamp): New.
9826         New primitive for use in fabricated events.
9827         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
9828
9829         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
9830
9831         * events.c:
9832         * events.c (Fmake_event):
9833         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
9834         [1].
9835         [9].
9836
9837         * events.c (format_event_object): fix gcc warnings.
9838
9839         * events.c (Fevent_timestamp): Document new primitives.
9840
9841         * events.c (TIMESTAMP_HALFSPACE): New.
9842
9843         * events.c (Fevent_timestamp_lessp): New.  New primitive for
9844         comparing timestamps correctly (half-space algorithm).
9845
9846         * events.c (Fevent_modifier_bits): Doc fix.
9847
9848         * events.c (Fevent_modifiers): Major doc addition.
9849         * events.c (event_x_y_pixel_internal): Typo fix.
9850         * events.c (syms_of_events): Declare new primitives.
9851
9852         * events.h:
9853         Update long comment for button modifiers, timestamps.
9854
9855         * events.h (struct event_stream):
9856         New current_event_timestamp method.
9857
9858         * extents.c:
9859         * extents.c (extent_in_region_p):
9860         * extents.c (decode_extent):
9861         * extents.c (Fset_extent_parent):
9862         * extents.c (decode_map_extents_flags):
9863         Fix gcc warnings.
9864         [9].
9865
9866         * extents.c (struct extent_at_arg):
9867         * extents.c (decode_extent_at_flag):
9868         * extents.c (extent_at_mapper):
9869         * extents.c (extent_at_bytind):
9870         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
9871         * extents.c (Fextents_at): New primitive. [9].
9872         * extents.c (symbol_to_glyph_layout): [9].
9873         Support new primitive `extents-at'.
9874
9875
9876         * extents.c (get_text_property_bytind):
9877         extent_at_bytind has another arg.
9878         [9].
9879
9880         * extents.c (syms_of_extents): New primitive.
9881
9882         * file-coding.c (Fmake_coding_system): [1].
9883         * file-coding.c (subsidiary_coding_system): fix gcc warning
9884         * file-coding.c (syms_of_file_coding): [2].
9885
9886         * fileio.c (Fexpand_file_name):
9887         * fileio.c (Fsysnetunam):
9888         * fileio.c (Ffile_exists_p):
9889         * fileio.c (Ffile_executable_p):
9890         * fileio.c (Fverify_visited_file_modtime):
9891         Clean up GCPROing.
9892
9893         * fileio.c (syms_of_fileio): [2].
9894
9895         * filelock.c (lock_file_1):
9896         * filelock.c (current_lock_owner):
9897         * filelock.c (lock_if_free):
9898         * filelock.c (lock_file):
9899         * filelock.c (unlock_file):
9900         Clean up GCPROing.
9901
9902         * fns.c (concat): Fix gcc warning.
9903
9904         * fns.c (Fmember):
9905         * fns.c (Fold_member):
9906         * fns.c (Fmemq):
9907         * fns.c (Fold_memq):
9908         * fns.c (memq_no_quit):
9909         * fns.c (Fassoc):
9910         * fns.c (Fold_assoc):
9911         * fns.c (Fassq):
9912         * fns.c (Fold_assq):
9913         * fns.c (assq_no_quit):
9914         * fns.c (Frassoc):
9915         * fns.c (Fold_rassoc):
9916         * fns.c (Frassq):
9917         * fns.c (Fold_rassq):
9918         * fns.c (rassq_no_quit):
9919         * fns.c (Fdelete):
9920         * fns.c (Fold_delete):
9921         * fns.c (Fdelq):
9922         * fns.c (Fold_delq):
9923         * fns.c (delq_no_quit):
9924         * fns.c (Fremassoc):
9925         * fns.c (Fremassq):
9926         * fns.c (remassq_no_quit):
9927         * fns.c (Fremrassoc):
9928         * fns.c (Fremrassq):
9929         * fns.c (remrassq_no_quit):
9930         * fns.c (Freverse):
9931         * fns.c (mapcar1):
9932         [1].
9933
9934         * frame-msw.c (mswindows_init_frame_1):
9935         * frame-msw.c (mswindows_delete_frame):
9936         Register popups with dialog code so keyboard traversing works.
9937
9938         * frame-tty.c (tty_raise_frame_no_select): [1].
9939
9940         * frame-x.c:
9941         * frame-x.c (x_set_frame_text_value):
9942         * frame-x.c (x_set_frame_properties):
9943         * frame-x.c (x_create_widgets):
9944         [7].
9945
9946         * frame.c:
9947         * frame.c (Fmouse_pixel_position): Minor doc fixes.
9948
9949         * frame.h (wrap_frame): New.
9950         Macro like wrap_device.
9951
9952         * general.c:
9953         * general.c (SYMBOL):
9954         * general.c (syms_of_general):
9955         Major reorg.  This is now just a wrapper and symbols themselves
9956         are listed in general-slots.h.
9957
9958         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
9959         * glyphs-msw.c (mswindows_resource_instantiate): [5].
9960
9961         * glyphs-msw.c (mswindows_native_layout_instantiate):
9962         Add DS_CONTROL so keyboard traversal will work.
9963
9964         * glyphs-widget.c:
9965         * glyphs-widget.c (syms_of_glyphs_widget):
9966         Move some symbols to general-slots.h.
9967
9968         * glyphs-x.c:
9969         * glyphs-x.c (xbm_instantiate_1):
9970         * glyphs-x.c (x_xbm_instantiate):
9971         * glyphs-x.c (x_xface_instantiate):
9972         * glyphs-x.c (autodetect_instantiate):
9973         * glyphs-x.c (cursor_font_instantiate):
9974         * glyphs-x.c (x_update_widget):
9975         * glyphs-x.c (x_widget_instantiate):
9976         * glyphs.c (bitmap_to_lisp_data):
9977         * glyphs.c (pixmap_to_lisp_data):
9978         [7].
9979
9980         * glyphs.c (syms_of_glyphs):
9981         [2].
9982
9983         * gui-x.c:
9984         * gui-x.c (print_widget_value):
9985         * gui-x.c (menu_separator_style_and_to_external):
9986         * gui-x.c (add_accel_and_to_external):
9987         * gui-x.c (button_item_to_widget_value):
9988         * gui-x.c (gui_items_to_widget_values_1):
9989         * gui-x.c (gui_items_to_widget_values):
9990         * gui-x.c (syms_of_gui_x):
9991         * gui-x.c (vars_of_gui_x):
9992         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
9993         [9].
9994
9995         * gui-x.h:
9996         Muleize, prototype changes matching gui-x.c.
9997
9998         * gui.c:
9999         * gui.c (separator_string_p):
10000         * gui.c (gui_item_add_keyval_pair):
10001         * gui.c (make_gui_item_from_keywords_internal):
10002         * gui.c (signal_too_long_error):
10003         * gui.c (parse_gui_item_tree_item):
10004         * gui.c (syms_of_gui):
10005         * gui.c (vars_of_gui):
10006         * gui.h:
10007         menu-no-selection-hook moved here (used by MSWin).
10008         Move some symbols to general-slots.h.
10009         [6].
10010         [9].
10011
10012         * insdel.c (get_buffer_pos_char):
10013         * insdel.c (get_buffer_range_char):
10014         Add GC comments.
10015
10016         * keymap.c (keymap_lookup_directly):
10017         * keymap.c (keymap_store):
10018         * keymap.c (ensure_meta_prefix_char_keymapp):
10019         * keymap.c (describe_map):
10020         * keymap.h:
10021         Support new button modifiers.
10022
10023         * lisp-disunion.h (wrap_object):
10024         * lisp-disunion.h (XSETOBJ):
10025         Rename make_obj to wrap_object.
10026
10027         * lisp-union.h:
10028         * lisp-union.h (make_int):
10029         * lisp-union.h (make_char):
10030         Support wrap_object.
10031
10032         * lisp.h:
10033         * lisp.h (LIST_LOOP):
10034         * lisp.h (EXTERNAL_LIST_LOOP):
10035         * lisp.h (LIST_LOOP_2):
10036         * lisp.h (EXTERNAL_LIST_LOOP_1):
10037         * lisp.h (EXTERNAL_LIST_LOOP_2):
10038         * lisp.h (EXTERNAL_LIST_LOOP_3):
10039         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10040         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10041         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10042         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10043         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10044         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10045         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10046         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10047         * lisp.h (struct Lisp_Symbol):
10048         * lisp.h (maybe_continuable_error_with_frob):
10049         Fix up section comments.
10050         Add new types for char to indicate usage.
10051         Delete symbols auto-generated from general-slots.h.
10052         Add prototypes for structured error functions.
10053         Add long comments describing looping macros and change interface
10054         so that lvalues are automatically declared.
10055         Add NO_DECLARE macro in case callers want to declare lvalues
10056         themselves.
10057
10058         * lread.c (read_syntax_error):
10059         * lread.c (continuable_read_syntax_error):
10060         * lread.c (read_structure):
10061         * lread.c (sequence_reader):
10062         * lread.c (read_list_conser):
10063         * lread.c (read_compiled_function):
10064         Rename syntax_error and continuable_syntax_error to avoid clash
10065         with same-named structured error functions.
10066
10067         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10068         * menubar-msw.c (populate_menu_add_item):
10069         * menubar-msw.c (populate_or_checksum_helper):
10070         [5].
10071         [9].
10072
10073         * menubar-x.c:
10074         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10075         Mule-ize whole file.
10076
10077         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10078
10079         * mule-charset.c (Fmake_charset):
10080         * mule-wnnfns.c (Fwnn_set_param):
10081         [1].
10082
10083         * ntproc.c (create_child):
10084         * ntproc.c (Fwin32_set_current_locale):
10085         Add comments portending doom.
10086
10087         * objects-msw.c:
10088         * objects-msw.c (old_font_enum_callback_2):
10089         * objects-msw.c (font_enum_callback_1):
10090         * objects-msw.c (mswindows_enumerate_fonts):
10091         [5].
10092
10093         * objects-x.c:
10094         * objects-x.c (allocate_nearest_color):
10095         * objects-x.c (x_parse_nearest_color):
10096         * objects-x.c (x_initialize_color_instance):
10097         * objects-x.c (x_print_color_instance):
10098         * objects-x.c (x_finalize_color_instance):
10099         * objects-x.c (x_valid_color_name_p):
10100         * objects-x.c (x_initialize_font_instance):
10101         * objects-x.c (x_print_font_instance):
10102         * objects-x.c (valid_x_font_name_p):
10103         * objects-x.c (truename_via_FONT_prop):
10104         * objects-x.c (truename_via_random_props):
10105         * objects-x.c (truename_via_XListFonts):
10106         * objects-x.c (x_font_truename):
10107         * objects-x.c (x_font_instance_truename):
10108         * objects-x.c (x_font_instance_properties):
10109         * objects-x.c (x_list_fonts):
10110         * objects-x.c (x_find_charset_font):
10111         Mule-ize entire file.
10112         [7].
10113
10114         * objects-x.h:
10115         Mule-verify.
10116
10117         * print.c:
10118         * print.c (std_handle_out_external):
10119         * print.c (debug_print_no_newline):
10120         * print.c (syms_of_print):
10121         Output to all debugger kinds in debug-print.
10122         Fix console-output code under MSWin to actually work.
10123
10124         * process-nt.c (send_signal):
10125         * process-nt.c (nt_create_process):
10126         Use newer Unicode macros.
10127
10128         * process-unix.c (unix_create_process):
10129         * process-unix.c (unix_canonicalize_host_name):
10130         * process-unix.c (unix_open_network_stream):
10131         [7].
10132
10133         * scrollbar-x.c:
10134         Mule-verify.
10135
10136         * search.c (syms_of_search):
10137         [2].
10138
10139         * select-msw.c (mswindows_destroy_selection):
10140         Use LIST_LOOP_2.
10141
10142         * select-x.c (symbol_to_x_atom):
10143         [7].
10144
10145         * select.c (syms_of_select):
10146         [2].
10147
10148         * sound.c (Fplay_sound_file):
10149         [7].
10150
10151         * specifier.c:
10152         * specifier.c (decode_specifier_type):
10153         * specifier.c (Fvalid_specifier_locale_type_p):
10154         * specifier.c (check_valid_locale_or_locale_type):
10155         * specifier.c (decode_locale):
10156         * specifier.c (decode_locale_type):
10157         * specifier.c (decode_locale_list):
10158         * specifier.c (check_valid_domain):
10159         * specifier.c (decode_specifier_tag_set):
10160         * specifier.c (Fcanonicalize_tag_set):
10161         * specifier.c (Fdefine_specifier_tag):
10162         * specifier.c (Fspecifier_tag_predicate):
10163         * specifier.c (check_valid_inst_list):
10164         * specifier.c (check_valid_spec_list):
10165         * specifier.c (decode_how_to_add_specification):
10166         * specifier.c (check_modifiable_specifier):
10167         * specifier.c (specifier_add_spec):
10168         * specifier.c (boolean_validate):
10169         * specifier.c (display_table_validate):
10170         [9].
10171
10172         * specifier.c (syms_of_specifier):
10173         Move some symbols to general-slots.h.
10174         [2].
10175
10176         * symbols.c:
10177         * symbols.c (Fmapatoms):
10178         * symbols.c (Fapropos_internal):
10179         Add GCPROs.
10180
10181         * symbols.c (set_default_buffer_slot_variable):
10182         * symbols.c (set_default_console_slot_variable):
10183         [1].
10184
10185         * symbols.c (defsymbol_massage_name_1):
10186         * symbols.c (defkeyword_massage_name):
10187         * symbols.c (deferror_1):
10188         * symbols.c (deferror):
10189         * symbols.c (deferror_massage_name_and_message):
10190         * symeval.h:
10191         * symeval.h (DEFSYMBOL):
10192         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10193
10194         * symbols.c (syms_of_symbols):
10195         [2].
10196
10197         * symsinit.h:
10198         * symsinit.h (init_win32): New.
10199         Also new is syms_of_dialog_mswindows.
10200
10201         * syswindows.h:
10202         Add new Unicode macros, missing Cygwin wide-char functions,
10203         convenience conversion macros for Qmswindows_tstr, macros for
10204         encapsulating required MSWin <-> Cygwin filename conversions,
10205         prototype for dynamically-extracted (not in NT 3.51) functions.
10206
10207         * toolbar-x.c:
10208         Mule-verify.
10209
10210         * tooltalk.c (Fadd_tooltalk_message_arg):
10211         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10212         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10213         [7].
10214
10215         * tooltalk.c (syms_of_tooltalk):
10216         [2].
10217
10218         * unexnt.c:
10219         * unexnt.c (unexec):
10220         Fix up headers, declaration of unexec() to be more standard.
10221
10222 2000-07-20  Martin Buchholz  <martin@xemacs.org>
10223
10224         * offix.h: Revert change to guard macros - they're used in offix.c!
10225
10226 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10227
10228         * lisp.h: Defsubred Fdelete.
10229
10230         * console-msw.h:  (msprinter_default_printer): Added.
10231
10232         * console-msw.c (msprinter_canonicalize_console_connection):
10233         (msprinter_canonicalize_device_connection): Added.
10234
10235         * device-msw.c (msprinter_default_printer):
10236         (Fmswingows_get_default_printer):
10237         (signal_enum_priner_error):
10238         (Fmswingows_printer_list): Added.
10239
10240 2000-07-19  Martin Buchholz <martin@xemacs.org>
10241
10242         * XEmacs 21.2.35 is released.
10243
10244 2000-07-19  Martin Buchholz  <martin@xemacs.org>
10245
10246         * select-x.c (x_handle_selection_request):
10247         Text selected in xemacs and pasted into xterm failed to appear.
10248         Spelling fixes and cosmetic changes.
10249
10250 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10251
10252         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
10253         XEmacs frame (fix for doubling chars in dialog boxes).
10254
10255 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10256
10257         * select.c (select_convert_in, select_convert_out):
10258         Don't call intern() every time.
10259
10260         * select.c (Qselect_convert_in, Qselect_convert_out): New.
10261         * select.c (vars_of_select): Initialise them.
10262
10263 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10264
10265         * select.c (selection-coercible-types): New.
10266
10267         * select.c (own-selection-internal):
10268         * select.c (get-selection-internal):
10269         MULE bug fix - these should default to COMPOUND_TEXT and not
10270         STRING for MULE. I think.
10271
10272         * select.c (select_convert_out): Use selection-coercible-types
10273         to find types that we can attempt to perform coercions on.
10274
10275 2000-07-18  Martin Buchholz  <martin@xemacs.org>
10276
10277         * mule-wnnfns.c:
10278         * mule-canna.c:
10279         Add coding: cookie to identify encoding.
10280
10281         * mule-canna.c (CANNA_mode_keys): make static.
10282         Use proper prototypes, even for functions of no arguments.
10283         Remove external prototype for Fding().
10284
10285         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
10286
10287         * select.c (syms_of_select): Add missing DEFSUBR.
10288
10289 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10290
10291         * select.c (get_selection_internal, own_selection_internal):
10292         Make the type default to STRING, rather than placing a nil type
10293         into Vselection_alist.
10294
10295 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10296
10297         * gpmevent.c (tty_selection_exists_p):
10298         * gpmevent.c (tty_own_selection):
10299         Updated parameter lists.
10300
10301 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
10302
10303         * select.h (selection-alist): Removed declaration.
10304
10305         * select.h (get_local_selection):
10306         * select.c (get_local_selection):
10307         Made static.
10308
10309         * select.h (convert_selection): Removed declaration.
10310         * select.c (convert_selection): Removed.
10311         This function belongs in Lisp.
10312
10313         * select.h (select_convert_in): Declare.
10314         * select.h (select_convert_out): Declare.
10315         * select.c (select_convert_in): New.
10316         * select.c (select_convert_out): New.
10317         New conversion functions for other files to call.
10318
10319         * select.h (select_notify_buffer_kill): Declare.
10320         * select.c (select_notify_buffer_kill): New.
10321         New functions that get called from kill-buffer.
10322
10323         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
10324         X-specific lisp code.
10325
10326         * select.h: Declare some of the lisp-visible functions for
10327         external use.
10328
10329         * select.c (clean_local_selection_data): Removed. This was
10330         a disgusting function, and previously should have been in
10331         select-x.c in any case. The functionality is now provided
10332         in select-convert-from-integer (select.el).
10333
10334         * select.c (available-selection-types): Fixed stupidity where
10335         INTEGER and ATOM got added twice. Also add STRING when we see an
10336         extent.
10337
10338         * select.c (get-selection-internal): Removed symbol stripping. No
10339         longer causes conversion when data comes from the internal cache.
10340
10341         * select.c (syms_of_select): Added new functions.
10342
10343         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
10344         error checking - previously this called abort!
10345
10346         * select-x.c (x_own_selection): Changed comment.
10347
10348         * select-x.c (x_handle_selection_request): Use select_convert_out.
10349         Don't mess with selection-alist; it's an internal variable of select.c.
10350
10351         * select-x.c (x_get_foreign_selection): Use select_convert_in.
10352
10353         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
10354         rather than messing with selection-alist.
10355
10356         * select-msw.c (mswindows_get_foreign_selection):
10357         Use TO_INTERNAL_FORMAT rather than hacking.
10358
10359 2000-07-14  Martin Buchholz  <martin@xemacs.org>
10360
10361         * process-unix.c (unix_open_multicast_group):
10362         (unix_open_multicast_group): Remove useless casts.
10363
10364 2000-07-13  Martin Buchholz  <martin@xemacs.org>
10365
10366         * sound.c (Fplay_sound): Fix `unused variable' warning.
10367
10368         * emacs.c (main): Use correct type for _environ on SCO5.
10369
10370 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
10371
10372         * console.h (own_selection_method):
10373         * console.h (selection_exists_p_method):
10374         * console.h (available_selection_types_method): New.
10375         * console.h (register_selection_data_type_method): New.
10376         * console.h (selection_data_type_name): New.
10377
10378         * console-msw.h (mswindows_destroy_selection): Declare it.  New
10379         function & alist to track GlobalAlloc()'d handles that need
10380         releasing when the clipboard data gets replaced or emptied.
10381
10382         * event-msw.c (mswindows_wnd_proc): Call it.
10383
10384         * lisp.h, general.c (Qappend): New symbol representing a
10385         `how-to-add' mode.
10386
10387         * select.c (own-selection-internal):
10388         * select.c (selection-exists-p):
10389         * select.c (available-selection-types): New.
10390         * select.c (register-selection-data-type): New.
10391         * select.c (selection-data-type-name): New.  New functions to deal
10392         with device-specific selection data formats.
10393         * select.c (selection-converter-out-alist): Renamed.
10394         * select.c (selection-converter-in-alist): New.
10395         * select.c (selection-appender-alist): New.  Added new alists.
10396         * select.c (syms_of_select, vars_of_select): Added new symbols &
10397         variables.
10398         * select.c (get_local_selection): Split.
10399         * select.c: Removed spurious type checking - selections may now be
10400         of any type, not just strings.
10401         * select.c (own-selection-internal):
10402
10403         * select.h, select.c (convert_selection): New. Created
10404         convert_selection() function based on get_local_selection().
10405         * select.h, select.c (QCF_*): New symbols representing mswindows
10406         clipboard formats.
10407         * select.h, select.c (Qreplace_all, Qreplace_existing): New
10408         symbols representing `how-to-add' modes.
10409
10410         * select-msw.c (x_sym_p): New.
10411         * select-msw.c (symbol_to_ms_cf): New.
10412         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
10413         symbols & clipboard formats. Can also handle string names.
10414         * select-msw.c (mswindows_own_selection):
10415         * select-msw.c (mswindows_selection_exists_p):
10416         Added `data-type' parameter. Use it.
10417         * select-msw.c (mswindows_available_selection_types): New.
10418         * select-msw.c (mswindows_register_selection_data_type): New.
10419         * select-msw.c (mswindows_selection_data_type_name): New.
10420         * select-msw.c (mswindows_own_selection):
10421         * select-msw.c (mswindows_get_foreign_selection):
10422         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
10423         * select-msw.c (console_create_select_mswindows): Added new methods.
10424         * select-msw.c (mswindows_destroy_selection): New.
10425         * select-msw.c (Vhandle_alist): New list.
10426         * select-msw.c (mswindows_own_selection):
10427
10428         * select-x.c (x_own_selection):
10429         * select-x.c (x_selection_exists_p):
10430         * select-x.c: Added some comments about maybe using new
10431         functionality.
10432         * select-x.c (x_own_selection):
10433
10434         * specifier.c: Remove definition of Qappend (now in general.c)
10435         * specifier.c (syms_of_specifier): Remove Qappend.
10436
10437 2000-07-12  Martin Buchholz  <martin@xemacs.org>
10438
10439         * config.h.in: Add socklen_t.
10440
10441         * s/decosf4-0.h: No special compiler flags needed or desired.
10442         In particular, undefine _BSD for DEC OSF 4.0.
10443
10444 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10445
10446         * redisplay-msw.c (msprinter_frame_output_end): Added.
10447         (console_type_create_redisplay_mswindows): Referred the above.
10448
10449         * frame.c (setup_frame_without_minibuffer): Do not create a
10450         default minibuffer frame on a printer device.
10451
10452         * frame-msw.c (apply_dc_geometry): Added.
10453         (msprinter_start_page):
10454         (msprinter_init_frame_3):
10455         (msprinter_eject_page): Use it.
10456
10457         * console-msw.h (struct msprinter_frame): Added pix_left and top,
10458         and removed residual duplex and orientation properties.
10459
10460 2000-07-11  Martin Buchholz  <martin@xemacs.org>
10461
10462         * eval.c (function_argcount): Work around a DEC CC compiler bug.
10463
10464         * unexalpha.c: Remove system prototypes from C sources!
10465
10466 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
10467
10468         * eval.c: Remove references to M-x edit-options in DEFUNs for
10469         `defvar' and `defconst'.
10470
10471 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10472
10473         * config.h.in: Remove SMART_INCLUDE hackery.
10474
10475         PostgreSQL hacking:
10476         * config.h.in: Don't use SMART_INCLUDE.
10477
10478         * postgresql.h: Include libpq-fe.h here.  Fix typo.
10479         * inline.c: Simply #include "postgresql.h"
10480         * postgresql.c:
10481         - Don't use SMART_INCLUDE
10482         - Use simply "const".
10483         - Use standard doc string conventions.
10484         - Use correct type for result of PQstatus.
10485
10486 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10487
10488         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
10489
10490         C++ compilation changes.
10491         * config.h.in (EXTERN_C): Define.
10492         * config.h.in (not): This is also a C++ keyword.
10493         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
10494         * cm.c: Use EXTERN_C.
10495         * redisplay-tty.c: Use EXTERN_C.
10496         * sysdep.c: Use EXTERN_C.  Remove Gould support.
10497
10498 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10499
10500         * general.c: Remove duplicate definition for Qfunction.
10501
10502 2000-07-08  Ben Wing  <ben@xemacs.org>
10503
10504         * device-msw.c (msprinter_init_device):
10505         * device-msw.c (sync_printer_with_devmode):
10506         * device-msw.c (handle_devmode_changes):
10507         * device-msw.c (print_dialog_worker):
10508         * device-msw.c (Fmsprinter_apply_settings):
10509         * device-msw.c (hash_devmode):
10510         * device-msw.c (Fmsprinter_settings_despecialize):
10511         use Qmswindows_tstr, not Qctext.
10512
10513         * vm-limit.c (check_memory_limits):
10514         avoid infinite loop printing warning messages.
10515
10516 2000-07-05  Craig Lanning  <lanning@scra.org>
10517
10518         * Makefile.in.in: Add support for including the Windows resources
10519         when building with the cygwin and mingw targets.
10520
10521         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
10522         not set or not correct.
10523         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
10524         (init_initial_directory): Don't try to use $PWD on the
10525         WIN32_NATIVE target.
10526
10527         * s\cygwin32.h:
10528         [[Add -mwindows to eliminate console window.]] not required --ben
10529         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10530         (MAIL_USE_POP): removed; now handled by configure.
10531
10532         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
10533         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
10534         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10535         (MAIL_USE_POP): removed; now handled by configure.
10536         (ENCAPSULATE_STAT): from Dan Holmsand, added.
10537         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
10538         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
10539         constant string.
10540         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
10541         up from <winsock.h> via systime.h.
10542         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
10543         (getpagesize): from Dan Holmsand, added.
10544         Added #endif which was left dangling by Ben's mega patch; added
10545         comment to help prevent this in the future.
10546
10547         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
10548
10549 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10550
10551         * console-msw.h (struct mswindows_device): Removed unnecessary
10552         cached device geometry values.
10553         Added update_tick and an accessor macro.
10554         (Lisp_Devmode): Added lrecord declaration.
10555         (struct msprinter_device): Contain devmode as a Lisp object.
10556         Added mswindows_get_selected_frame_hwnd();
10557
10558         * console.h (struct console_methods): Indentation nitpicking.
10559
10560         * device-msw.c (mswindows_init_device): Do not initialize geometry
10561         cache. Initialize update tick.
10562         (mswindows_device_system_metrics): Ask the device for its geometry.
10563         (global_free_2_maybe):
10564         (devmode_to_hglobal):
10565         (handle_printer_changes):
10566         (ensure_not_printing):
10567         (print_dialog_worker):
10568         (Fmsprinter_print_setup_dialog):
10569         (Fmsprinter_print_dialog):
10570         (plist_get_margin):
10571         (plist_set_margin):
10572         (Fmsprinter_page_setup_dialog): Added functions.
10573         (sync_printer_with_devmode):
10574         (handle_devmode_changes):
10575         (Fmsprinter_get_settings):
10576         (Fmsprinter_select_settings):
10577         (Fmsprinter_apply_settings):
10578         (allocate_devmode):
10579         (Fmsprinter_settings_copy):
10580         (Fmsprinter_settings_despecialize):
10581         (print_devmode):
10582         (finalize_devmode):
10583         (equal_devmode):
10584         (hash_devmode): Added functions
10585         (syms_of_device_mswindows): Init devmode lrecord class.
10586
10587         * device.h: Added an exfun for find-device.
10588
10589         * event-msw.c (mswindows_wnd_proc): Do not update the cached
10590         geometry; although, recreate the device compatible DC.
10591
10592         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
10593         (msprinter_init_frame_3):
10594         (msprinter_frame_property):
10595         (msprinter_internal_frame_property_p):
10596         (msprinter_frame_properties):
10597         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
10598         print job properties (will move to device settings).
10599
10600         * lisp.h: Added symbols.
10601
10602         * general.c (syms_of_general): Declared them.
10603
10604         * hash.c (string_hash): Added.
10605
10606         * lrecord.h (lrecord_type): Added devmode lrecord type.
10607
10608 2000-07-02  Mike Sperber <mike@xemacs.org>
10609
10610         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
10611         FreeBSD 4.0.
10612
10613 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
10614
10615         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
10616         integer.
10617
10618 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
10619
10620         * data.c (Fstring_to_number): Don't recognize floating point if
10621         base is not 10.
10622
10623 2000-06-22  Martin Buchholz  <martin@xemacs.org>
10624
10625         * glyphs-widget.c (tab_control_query_geometry):
10626         (widget_query_geometry):
10627         (button_query_geometry):
10628         * glyphs.c (text_query_geometry):
10629         Enforce type correctness.
10630
10631 2000-06-18  Martin Buchholz  <martin@xemacs.org>
10632
10633         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
10634         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
10635
10636 2000-06-17  Martin Buchholz  <martin@xemacs.org>
10637
10638         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
10639         conflicts with gcc's fixincluded version of FOO.h.
10640
10641         * glyphs.h (image_instance_geometry): Remove trailing `,'
10642
10643 2000-06-08  Mike Alexander  <mta@arbortext.com>
10644
10645         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
10646         (shove_thread): Don't write the same output twice
10647         (make_ntpipe_output_stream): Increase priority of shove thread
10648         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
10649         chance to run
10650         (ntpipe_shove_closer): Don't delete the pipe until we're done with
10651         it.
10652
10653 2000-06-12  Ben Wing  <ben@xemacs.org>
10654
10655         * s\mingw32.h (sigset):
10656         * s\windowsnt.h (sigset):
10657         rename msw_ to mswindows_ for consistency with general convention.
10658
10659 2000-06-12  Ben Wing  <ben@xemacs.org>
10660
10661         * console-msw.c:
10662         * console-msw.c (mswindows_get_console_hwnd):
10663         * console-msw.c (mswindows_ensure_console_allocated):
10664         * console-msw.c (mswindows_hide_console):
10665         * console-msw.c (mswindows_show_console):
10666         * console-msw.c (mswindows_ensure_console_buffered):
10667         * console-msw.c (mswindows_output_console_string):
10668         * console-msw.c (mswindows_windows9x_p):
10669         * console-msw.h:
10670         * device-msw.c (mswindows_get_workspace_coords):
10671         * device-msw.c (mswindows_device_system_metrics):
10672         * dialog-msw.c (mswindows_popup_dialog_box):
10673         * event-msw.c (mswindows_wnd_proc):
10674         * frame-msw.c (mswindows_size_frame_internal):
10675         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10676         * menubar-msw.c (displayable_menu_item):
10677         * menubar-msw.c (mswindows_char_is_accelerator):
10678         * nt.c:
10679         * nt.c (mswindows_sigset):
10680         * nt.c (mswindows_sigrelse):
10681         * nt.c (mswindows_sigpause):
10682         * nt.c (mswindows_raise):
10683         * nt.c (timer_proc):
10684         * ntproc.c:
10685         * ntproc.c (find_child_console):
10686         * ntproc.c (sys_kill):
10687         * print.c:
10688         * print.c (std_handle_out_external):
10689         * process-nt.c (find_child_console):
10690         * process-nt.c (send_signal_the_95_way):
10691         * process-nt.c (ensure_console_window_exists):
10692         * process-nt.c (nt_create_process):
10693         * syssignal.h:
10694         rename msw_ to mswindows_ for consistency with general convention.
10695
10696         * emacs.c:
10697         * dumper.c:
10698         include nt.h, not syswindows.h.
10699
10700         * nt.c (mswindows_fstat):
10701         * nt.c (mswindows_stat):
10702         prefix mswindows_ instead of attempting to directly override the
10703         library functions.  fix declarations.
10704
10705         * nt.h:
10706         include syswindows.h.  move some sysdep.h stuff here.
10707
10708         * ntheap.h:
10709         include syswindows.h, not <windows.h>.
10710
10711         * ntplay.c:
10712         clean up headers.
10713
10714         * sysdep.c:
10715         clean up headers.
10716
10717         * sysdep.c (sys_fstat):
10718         * sysdep.c (sys_stat):
10719         call mswindows versions when appropriate.
10720
10721         * sysdep.h:
10722         move mswin decls to nt.h.
10723
10724         * syswindows.h:
10725         add long comment describing appropriate use of the various windows
10726         headers.
10727
10728 2000-06-11  Ben Wing  <ben@xemacs.org>
10729
10730         * device-x.c: Correct doc string for sixth arg of x-get-resource.
10731
10732 2000-06-10  Ben Wing  <ben@xemacs.org>
10733
10734         * Makefile.in.in (release):
10735         Correction to make sure xemacs.exe always dumped when correct.
10736
10737         * alloca.c:
10738         * balloon_help.c:
10739         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
10740
10741         * buffer.c (set_buffer_internal):
10742         [[[[2]]]]: Remove HAVE_FEP code.
10743
10744         * buffer.c (init_initial_directory):
10745         [3].
10746
10747         * bytecode.c:
10748         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
10749         individual files.
10750
10751         * callproc.c:
10752         * callproc.c (call_process_cleanup):
10753         * callproc.c (Fold_call_process_internal):
10754         * callproc.c (child_setup):
10755         * callproc.c (getenv_internal):
10756         * callproc.c (init_callproc):
10757         * callproc.c (vars_of_callproc):
10758         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
10759         __CYGWIN32__ -> CYGWIN.
10760         DOS_NT -> WIN32_NATIVE.
10761         Remove MSDOS support/references, converting to WIN32_NATIVE
10762           where correct.
10763         __MINGW32__ -> MINGW.
10764         Fix windows.h includes.
10765         Remove bogus HAVE_NTGUI.
10766
10767         * config.h.in:
10768         [2].
10769
10770         * console-msw.c:
10771         mswindows_message_outputted added for use in allowing startup
10772         errors on the console to be seen.
10773
10774         * console-msw.c (msw_ensure_console_allocated):
10775         * console-msw.c (msw_output_console_string):
10776         * console-msw.c (DHEADER):
10777         * console-msw.c (DOPAQUE_DATA):
10778         * console-msw.c (DEVENT):
10779         * console-msw.c (DCONS):
10780         * console-msw.c (DCONSCDR):
10781         * console-msw.c (DSTRING):
10782         * console-msw.c (DVECTOR):
10783         * console-msw.c (DSYMBOL):
10784         * console-msw.c (DSYMNAME):
10785         Fix warnings.
10786
10787         * console-stream.c (stream_init_console):
10788         Fix text/binary problems.
10789
10790         * device-msw.c:
10791         * device-msw.c (mswindows_finish_init_device):
10792         * device-msw.c (mswindows_delete_device):
10793         [1].
10794
10795         * device.c (handle_asynch_device_change):
10796         [3].
10797
10798         * dgif_lib.c:
10799         * dgif_lib.c (DGifOpenFileName):
10800         * dgif_lib.c (DGifOpenFileHandle):
10801         * dgif_lib.c (DGifGetLine):
10802         * dgif_lib.c (DGifGetPixel):
10803         Added config.h/lisp.h, fix up includes.
10804         [1].
10805
10806         * dired-msw.c:
10807         [4].
10808
10809         * dired.c:
10810         * dired.c (file_name_completion):
10811         * dired.c (Ffile_attributes):
10812         * dired.c (syms_of_dired):
10813         [1].
10814
10815         * dumper.c:
10816         * dumper.c (pdump_file_unmap):
10817         * dumper.c (pdump_load):
10818         [1].
10819
10820         * editfns.c:
10821         * editfns.c (Ftemp_directory):
10822         * editfns.c (user_login_name):
10823         * editfns.c (Fuser_real_login_name):
10824         * editfns.c (get_home_directory):
10825         [1].
10826
10827         * elhash.c (finish_marking_weak_hash_tables):
10828         [[[[5]]]]: Fix GCC warnings.
10829
10830         * emacs.c:
10831         * emacs.c (mswindows_handle_hardware_exceptions):
10832         * emacs.c (make_arg_list_1):
10833         * emacs.c (main_1):
10834         * emacs.c (Fkill_emacs):
10835         * emacs.c (Fdump_emacs):
10836         [1].
10837         Fix problems with nested crashes, add long comment.
10838
10839         * event-Xt.c (init_event_Xt_late):
10840         [1].
10841
10842         * event-msw.c:
10843         * event-msw.c (mswindows_dde_callback):
10844         * event-msw.c (mswindows_handle_sticky_modifiers):
10845         * event-msw.c (mswindows_wnd_proc):
10846         [1].
10847         [5].
10848
10849         * events.c (character_to_event):
10850         [1].
10851
10852         * fileio.c:
10853         * fileio.c (Ffile_name_directory):
10854         * fileio.c (Ffile_name_nondirectory):
10855         * fileio.c (directory_file_name):
10856         * fileio.c (Fexpand_file_name):
10857         * fileio.c (Fsubstitute_in_file_name):
10858         * fileio.c (Ffile_name_absolute_p):
10859         * fileio.c (check_executable):
10860         * fileio.c (Ffile_readable_p):
10861         * fileio.c (Ffile_accessible_directory_p):
10862         * fileio.c (Ffile_modes):
10863         * fileio.c (Funix_sync):
10864         * fileio.c (vars_of_fileio):
10865         [1]. [4].
10866
10867         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
10868
10869         Expand getdefdir defn.
10870         Fix bogus rename() comment.
10871
10872         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
10873         to use standard XEmacs include files, e.g. sysfile.h, rather
10874         than system-specific includes.
10875
10876         * fns.c:
10877         * fns.c (Fsubseq):
10878         [5]. [6].
10879
10880         * frame.c (vars_of_frame):
10881         [1].
10882
10883         * getloadavg.c:
10884         * getloadavg.c (getloadavg):
10885         [1]. [6].
10886         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
10887         (We don't use it elsewhere in the code; just add a comment.)
10888
10889         * gif_io.c:
10890         [6].
10891         Add config.h.
10892
10893         * glyphs-msw.c:
10894         * glyphs-msw.c (mswindows_resource_instantiate):
10895         [1].
10896
10897         * glyphs-x.c (x_native_layout_instantiate):
10898         [5].
10899
10900         * gui-msw.c (Fmswindows_shell_execute):
10901         [1].
10902
10903         * insdel.c:
10904         [4].
10905
10906         * lisp.h:
10907         [4]. [5].
10908
10909         * lread.c (locate_file_in_directory_mapper):
10910         [1].
10911
10912         * lstream.c:
10913         [4].
10914
10915         * mem-limits.h:
10916         * mem-limits.h (get_lim_data):
10917         [1].
10918
10919         * menubar-msw.c:
10920         [4].
10921
10922         * ndir.h:
10923         [1].
10924
10925         * nt.c:
10926         * nt.c (getwd):
10927         * nt.c (closedir):
10928         * nt.c (rva_to_section):
10929         * nt.c (mswindows_executable_type):
10930         [1]. [6].
10931         Fix closedir() defn.
10932
10933         * nt.h:
10934         [[[[8]]]]: *_OK defs moved to sysfile.h.
10935
10936         * ntproc.c:
10937         [6]. [7].
10938
10939         * objects-x.c:
10940         [4].
10941
10942         * print.c:
10943         * print.c (std_handle_out_external):
10944         [1]. [4].
10945
10946         * process-nt.c:
10947         * process-nt.c (nt_create_process):
10948         [6].
10949         try to fix process quoting somewhat.
10950
10951         * process-unix.c (unix_create_process):
10952         [1].
10953
10954         * process.c:
10955         * process.c (vars_of_process):
10956         Add Vnull_device.
10957
10958         * process.h:
10959         [1].
10960
10961         * realpath.c:
10962         * realpath.c (xrealpath):
10963         [1].
10964
10965         * redisplay-tty.c (init_tty_for_redisplay):
10966         [3].
10967
10968         * redisplay.c:
10969         [4]. [6].
10970
10971         * scrollbar-msw.c:
10972         [4].
10973
10974         * sheap.c:
10975         * sheap.c (more_static_core):
10976         * sheap.c (report_sheap_usage):
10977         [5]. [6].
10978
10979         * signal.c:
10980         * signal.c (alarm_signal):
10981         [1]. [6].
10982
10983         * sound.c:
10984         [6].
10985
10986         * strftime.c:
10987         * strftime.c (zone_name):
10988         [1]. [5].
10989
10990         * symsinit.h (init_sunpro):
10991         [1].
10992
10993         * syscommctrl.h:
10994         commctrl.h not in Cygwin b20.1.
10995
10996         * sysdep.c:
10997         * sysdep.c (endif):
10998         * sysdep.c (sys_subshell):
10999         * sysdep.c (init_baud_rate):
11000         * sysdep.c (emacs_get_tty):
11001         * sysdep.c (emacs_set_tty):
11002         * sysdep.c (tty_init_sys_modes_on_device):
11003         * sysdep.c (init_system_name):
11004         * sysdep.c (sys_open):
11005         * sysdep.c (interruptible_open):
11006         * sysdep.c (sys_fopen):
11007         * sysdep.c (sys_mkdir):
11008         * sysdep.c (sys_rename):
11009         * sysdep.c (get_process_times_1):
11010         [1]. [6].
11011
11012         * sysdep.h:
11013         [1].
11014
11015         * sysdir.h:
11016         * sysdir.h (DIRENTRY_NONEMPTY):
11017         [1]. [6].
11018
11019         * sysdll.c (dll_init):
11020         * sysdll.h:
11021         [1].
11022
11023         * sysfile.h:
11024         [1]. [6]. [8].
11025         added text/binary defs.
11026
11027         * sysfloat.h:
11028         [1].
11029
11030         * sysproc.h:
11031         * sysproc.h (EDESTADDRREQ):
11032         * sysproc.h (poll_fds_for_input):
11033         [1]. [6].
11034
11035         * syspwd.h:
11036         [6].
11037
11038         * syssignal.h:
11039         [1].
11040
11041         * systime.h:
11042         [1]. [6].
11043
11044         * systty.h:
11045         [1].
11046
11047         * syswindows.h:
11048         [1].
11049         Always define WIN32_LEAN_AND_MEAN.
11050
11051         * unexcw.c (unexec):
11052         [5].
11053
11054         * unexec.c:
11055         * unexec.c (copy_text_and_data):
11056         * unexec.c (adjust_lnnoptrs):
11057         [1].
11058
11059         * unexnt.c:
11060         * unexnt.c (_start):
11061         [1].
11062
11063 2000-06-07  Ben Wing  <ben@xemacs.org>
11064
11065         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11066         was used only as a model.  We've long since extracted any useful
11067         logic or code out of this. (I just did an exhaustive search.)
11068
11069         * s\msdos.h: Removed.
11070
11071         * s\windows95.h: Removed.
11072
11073 2000-06-10  Ben Wing  <ben@xemacs.org>
11074
11075         * s\cygwin32.h:
11076         [1]. [5].
11077         Don't use extern with fun defs.
11078
11079         * s\mingw32.h:
11080         [1]. [7].
11081         Remove nt\inc include.
11082         Remove getdisk, getdefdir. (The former is unused, the latter
11083         expanded in fileio.h.)
11084
11085         * s\windowsnt.h:
11086         * s\windowsnt.h (WIN32_NATIVE):
11087         * s\windowsnt.h (HAVE_STRCASECMP):
11088         [1]. [7].
11089         Add long comment about preprocessor changes.
11090         Remove getdisk, getdefdir. (The former is unused, the latter
11091         expanded in fileio.h.)
11092
11093 2000-06-10  Ben Wing  <ben@xemacs.org>
11094
11095         * m\arm.h:
11096         * m\delta.h:
11097         * m\intel386.h:
11098         * m\sequent.h:
11099         * m\template.h:
11100         * m\windowsnt.h:
11101         [1].
11102         Remove bogus/unused NO_SOCK_SIGIO.
11103
11104 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11105
11106         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11107         not an Emchar.
11108
11109 2000-06-04  Mike Sperber <mike@xemacs.org>
11110
11111         * casetab.c (set_case_table): For `set-standard-case-table',
11112         actually deposit the new case tables where the rest of XEmacs can
11113         see them.
11114
11115 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11116
11117         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11118
11119 2000-06-05  Ben Wing  <ben@xemacs.org>
11120
11121         * callproc.c (child_setup): Don't do close_load_descs() under
11122         MS Windows.  Put in a comment explaining why.
11123
11124 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11125
11126         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11127         Toolkit shell" which breaks `kill-compilation' on Windows NT
11128         native, retaining STDERR handling improvements.
11129
11130 2000-06-01  Andreas Jaeger  <aj@suse.de>
11131
11132         * s/s390.h: Support for S390, based on a patch by Martin
11133         Schwidefsky <schwidefsky@de.ibm.com>.
11134
11135 2000-05-30  Andy Piper  <andy@xemacs.org>
11136
11137         * window.c (allocate_window):
11138         (make_dummy_parent):
11139         (Fset_window_configuration): use new hashtable type.
11140
11141         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11142         (struct image_instantiator_methods):
11143         (struct Lisp_Image_Instance): make instance geometry signed.
11144
11145         * glyphs.c (instantiate_image_instantiator):
11146         (image_instance_query_geometry):
11147         (image_instance_layout):
11148         (image_instance_layout):
11149         (query_string_geometry):
11150         (text_query_geometry):
11151         (image_instantiate):
11152         (image_instantiate):
11153         (cache_subwindow_instance_in_frame_maybe):
11154         (subwindow_query_geometry): make instance geometry signed.
11155
11156         * glyphs-widget.c (widget_query_geometry):
11157         (widget_layout):
11158         (button_query_geometry):
11159         (tree_view_query_geometry):
11160         (tab_control_query_geometry):
11161         (layout_query_geometry):
11162         (layout_layout):
11163         (native_layout_layout): make instance geometry signed.
11164
11165 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11166
11167         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11168         constant.
11169
11170         * general.c (syms_of_general): Add Qfull_assoc symbol.
11171
11172         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11173         correctly.
11174         (decode_weak_list_type): Decode full-assoc type.
11175         (encode_weak_list_type): Encode full-assoc type.
11176         (Fmake_weak_list): Update doc string.
11177
11178 2000-05-30  Andy Piper  <andy@xemacs.org>
11179
11180         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11181
11182         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11183         (decode_hash_table_weakness): ditto.
11184         (Fhash_table_weakness): ditto.
11185         (Fhash_table_type): ditto.
11186         (finish_marking_weak_hash_tables): ditto.
11187         (hash_table_weakness_validate): ditto.
11188         (syms_of_elhash): ditto.
11189
11190 2000-05-28  Martin Buchholz <martin@xemacs.org>
11191
11192         * XEmacs 21.2.34 is released.
11193
11194 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11195
11196         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11197         start cache.
11198         (updating_line_start_cache): Gone.
11199         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11200         generic code to force a minimum of 1 line laid out in the
11201         CMOTION_DISP case.
11202
11203 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11204
11205         * glyphs.c (instantiate_image_instantiator): Check for initialized
11206         height & width no longer special cases IMAGE_NOTHING.
11207         (nothing_instantiate): Set height and width of instance.
11208
11209 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11210
11211         * unexelf.c (unexec): Search for ".data" section.
11212         Initialize new_data2_offset from old_data_index.
11213         Remove redundant check for ElfW.
11214
11215 2000-05-23  Andy Piper  <andy@xemacs.org>
11216
11217         * glyphs.c (get_image_instantiator_governing_domain): allow more
11218         specific domains as the governing domain rather than expecting an
11219         exact match. This fixes problems with layouts.
11220
11221 2000-05-22  Andy Piper  <andy@xemacs.org>
11222
11223         * redisplay-output.c (compare_runes): check for non-images
11224
11225         * glyphs.c (set_glyph_dirty_p): ditto.
11226         (update_glyph_cachel_data): ditto.
11227
11228         * glyphs-widget.c (layout_post_instantiate): ditto.
11229         (layout_post_instantiate): ditto.
11230
11231         * event-msw.c (mswindows_wnd_proc): warning removal.
11232
11233 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
11234
11235         * s\mingw32.h: Added #undef for CLASH_DETECTION.
11236
11237         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
11238
11239         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
11240
11241         * nt.c (rva_to_section): mingw32 needs rva_to_section.
11242         (mswindows_executable_type): mingw32 now has enough headers for
11243         this to work.
11244
11245 2000-05-20  Andy Piper  <andy@xemacs.org>
11246
11247         * console-msw.c (mswindows_output_last_error): ; -> ,
11248
11249 2000-05-12  Andy Piper  <andy@xemacs.org>
11250
11251         * console-msw.c (FROB): compare ints with ints.
11252
11253 2000-05-11  Andy Piper  <andy@xemacs.org>
11254
11255         * glyphs-x.c (x_finalize_image_instance): make minimal build
11256         happy.
11257
11258 2000-05-20  Ben Wing  <ben@xemacs.org>
11259
11260         * event-Xt.c:
11261         * event-Xt.c (vars_of_event_Xt):
11262         move modifier-keys-are-sticky to event-stream.c.
11263
11264         * event-msw.c:
11265         * event-msw.c (mswindows_enqueue_mouse_button_event):
11266         * event-msw.c (key_needs_default_processing_p):
11267         * event-msw.c (XEMSW_LCONTROL):
11268         * event-msw.c (mswindows_handle_sticky_modifiers):
11269         * event-msw.c (FROB):
11270         * event-msw.c (clear_sticky_modifiers):
11271         * event-msw.c (output_modifier_keyboard_state):
11272         * event-msw.c (output_alt_keyboard_state):
11273         * event-msw.c (mswindows_wnd_proc):
11274         * event-msw.c (mswindows_modifier_state):
11275         * event-msw.c (emacs_mswindows_handle_magic_event):
11276         implement sticky modifiers.
11277
11278         * event-stream.c:
11279         * event-stream.c (vars_of_event_stream):
11280         move modifier-keys-are-sticky here.
11281
11282         * lisp.h:
11283         add CHECK_FUNCTION.
11284
11285         * rangetab.c:
11286         implement map-range-table.
11287
11288
11289 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
11290
11291         * redisplay-tty.c (reset_tty_modes):
11292         (tty_redisplay_shutdown): Adjust argument type to
11293         tty_frame_output_end.
11294
11295 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11296
11297         * eval.c (Fbacktrace): Don't output a line with only right
11298         parenthesis.
11299
11300 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
11301
11302         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
11303         (Fpq_reset_poll): Ditto.
11304
11305 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
11306
11307         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
11308
11309 2000-05-16  Ben Wing  <ben@xemacs.org>
11310
11311         * buffer.c:
11312         * buffer.c (dfc_convert_to/from_internal_format):
11313         * buffer.c (reinit_vars_of_buffer):
11314         Fix conversion functions to allow reentrancy.
11315
11316         * console-msw.c:
11317         * console-msw.c (mswindows_output_last_error):
11318         New fun, generally useful -- output a human-readable
11319         version of GetLastError() on the console.
11320
11321         * console-msw.h:
11322         * console-msw.h (struct mswindows_frame):
11323         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
11324
11325         * console-stream.c (stream_output_begin):
11326         * console-stream.c (stream_output_end):
11327         * console-stream.c (stream_output_vertical_divider):
11328         * console-stream.c (stream_clear_region):
11329         * console-stream.c (stream_flash):
11330         * console-stream.c (console_type_create_stream):
11331         Delete blank stream methods, not needed.
11332
11333         * console.h (struct console_methods):
11334         Split begin/end methods into window and frame.
11335
11336         * event-msw.c:
11337         * event-msw.c (mswindows_handle_paint):
11338         * event-msw.c (output_alt_keyboard_state):
11339         * event-msw.c (mswindows_wnd_proc):
11340         * event-msw.c (vars_of_event_mswindows):
11341         Comment about problems with ignored-expose.
11342         Define mswindows-debug-events; not really implemented.
11343
11344         * frame-msw.c (mswindows_init_frame_1):
11345         random cleanups.
11346
11347         * glyphs-msw.c:
11348         * glyphs-msw.c (begin_defer_window_pos):
11349         * glyphs-msw.c (mswindows_unmap_subwindow):
11350         * glyphs-msw.c (mswindows_map_subwindow):
11351         * glyphs-msw.c (mswindows_resize_subwindow):
11352         Use DeferWindowPos to reduce flashing when mapping/unmapping.
11353
11354         * glyphs.c (make_image_instance_1):
11355         Fix crash.
11356
11357         * gutter.c (Fredisplay_gutter_area):
11358         Use new begin/end methods.
11359
11360         * lisp.h (Dynarr_new2):
11361         New creation fun.
11362
11363         * redisplay-msw.c:
11364         * redisplay-msw.c (mswindows_frame_output_begin):
11365         * redisplay-msw.c (mswindows_frame_output_end):
11366         * redisplay-msw.c (console_type_create_redisplay_mswindows):
11367         New begin/end methods -- handle DeferWindowPos.
11368
11369         * redisplay-output.c (redisplay_move_cursor):
11370         * redisplay-output.c (redraw_cursor_in_window):
11371         * redisplay-output.c (redisplay_update_line):
11372         * redisplay-output.c (redisplay_output_window):
11373         New begin/end methods.
11374
11375         * redisplay-tty.c:
11376         * redisplay-tty.c (tty_frame_output_begin):
11377         * redisplay-tty.c (tty_frame_output_end):
11378         * redisplay-tty.c (console_type_create_redisplay_tty):
11379         New begin/end methods.
11380
11381         * redisplay-x.c:
11382         * redisplay-x.c (x_window_output_begin):
11383         * redisplay-x.c (x_window_output_end):
11384         * redisplay-x.c (console_type_create_redisplay_x):
11385         New begin/end methods.
11386
11387         * redisplay.c (redisplay_frame):
11388         * redisplay.c (Fredisplay_echo_area):
11389         New begin/end methods.
11390         use MAYBE_DEVMETH for clear_frame; it may not exist.
11391
11392         * window.h (WINDOW_XFRAME):
11393         WINDOW_XFOO macros -- get locale and decode struct pointer.
11394
11395
11396 2000-05-12  Ben Wing  <ben@xemacs.org>
11397
11398         * emacs.c:
11399         * emacs.c (ensure_no_quitting_from_now_on):
11400         * emacs.c (fatal_error_signal):
11401         * emacs.c (mswindows_handle_hardware_exceptions):
11402         * emacs.c (main):
11403         * emacs.c (Fkill_emacs):
11404         * emacs.c (shut_down_emacs):
11405         * emacs.c (assert_failed):
11406         various improvements in fatal error handling.
11407
11408         * eval.c:
11409         move preparing_for_armageddon to emacs.c.
11410
11411         * lisp.h:
11412         declare fatal_error_in_progress.
11413
11414         * print.c:
11415         * print.c (std_handle_out_external):
11416         * print.c (std_handle_out_va):
11417         * print.c (stderr_out):
11418         * print.c (stdout_out):
11419         use console under mswin when no standard output.
11420         don't do code conversion during fatal error.
11421
11422         * scrollbar.c (Fscrollbar_page_up):
11423         * scrollbar.c (Fscrollbar_page_down):
11424         fix missing else.  reindent.
11425
11426 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
11427
11428         Emergency fix.
11429
11430         * glyphs.h (GLYPH_CACHEL_DESCENT):
11431         (GLYPH_CACHEL_DESCENT):
11432         (GLYPH_CACHEL_DESCENT):
11433         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
11434         used in case these are inline functions.
11435         Use more absurd values to error check.
11436
11437         include window.h for error check functions.
11438
11439 2000-05-11  Ben Wing  <ben@xemacs.org>
11440
11441         * cmdloop.c (Freally_early_error_handler):
11442         Display message box under windows; otherwise, message will disappear
11443         before it can be viewed.
11444
11445         * console-msw.c:
11446         * console-msw.c (Fmswindows_message_box):
11447         * console-msw.c (FROB):
11448         * console-msw.c (syms_of_console_mswindows):
11449         Define new fun `mswindows-message-box'.
11450         #### I will merge this into `popup-dialog-box'; just give me
11451         a bit of time.
11452
11453         * general.c:
11454         * general.c (syms_of_general):
11455         Some new symbols used in `mswindows-message-box'.
11456
11457         * glyphs.c:
11458         * glyphs.c (Fset_image_instance_property):
11459         put warning in this fun.
11460
11461         * glyphs.h:
11462         * glyphs.h (GLYPH_CACHEL_WIDTH):
11463         * glyphs.h (GLYPH_CACHEL_ASCENT):
11464         * glyphs.h (GLYPH_CACHEL):
11465         * glyphs.h (GLYPH_CACHEL_GLYPH):
11466         define error-checking versions to try to catch a bug i've seen --
11467         redisplay gets in an infinite loop because the glyph width of the
11468         continuation glyph is 65535.
11469
11470         * lisp.h:
11471         Extern message-box stuff.
11472
11473         * window.c (allocate_window):
11474         * window.c (make_dummy_parent):
11475         * window.c (Fset_window_configuration):
11476         Use EQUAL not EQ for subwindow caches to make them work a bit
11477         better. (Something is still very broken.)
11478
11479
11480 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11481
11482         * glyphs.c (image_instantiate): Suppress gcc warnings.
11483         (Fmake_image_instance): Fix doc string.
11484         * specifier.c (Fmake_specifier): Ditto.
11485
11486 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
11487
11488         * paths.h.in (PATH_LOCK): Removed.
11489         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
11490         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
11491
11492 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
11493
11494         * fns.c (Ffeaturep): Update e-mail address in doc-string.
11495         Document (featurep '(and xemacs 21.02)).
11496
11497 2000-05-09  Ben Wing  <ben@xemacs.org>
11498
11499         * buffer.c (complex_vars_of_buffer):
11500         update modeline-format doc.
11501
11502         * device.h:
11503         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
11504
11505         * emacs.c:
11506         timeline of all released versions of Emacs, for use in creating
11507         authorship comments and in synching up.
11508
11509         * glyphs-widget.c (image_instantiator_buttons):
11510         * glyphs-widget.c (image_instantiator_edit_fields):
11511         * glyphs-widget.c (image_instantiator_combo_box):
11512         * glyphs-widget.c (image_instantiator_scrollbar):
11513         * glyphs-widget.c (image_instantiator_progress_guage):
11514         * glyphs-widget.c (image_instantiator_tree_view):
11515         * glyphs-widget.c (image_instantiator_tab_control):
11516         * glyphs-widget.c (image_instantiator_labels):
11517         * glyphs-widget.c (image_instantiator_layout):
11518         * glyphs-widget.c (image_instantiator_native_layout):
11519         rename decode_domain method to governing_domain.
11520
11521         * glyphs.c:
11522         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
11523         * glyphs.c (add_entry_to_device_ii_format_list):
11524         make sure we don't put an entry more than once into the list.
11525         * glyphs.c (check_instance_cache_mapper):
11526         *************************************************************
11527         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11528         HAVE BEEN GETTING.
11529         *************************************************************
11530         * glyphs.c (get_image_instantiator_governing_domain):
11531         clean up, expand on new concept of governing domain.
11532         * glyphs.c (instantiate_image_instantiator):
11533         * glyphs.c (allocate_image_instance):
11534         use governing_domain instead of cache_domain in naming.
11535         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
11536         * glyphs.c (make_image_instance_1):
11537         * glyphs.c (Fmake_image_instance):
11538         allow for any domain (not just device), and process the
11539         governing domain correctly.  very big doc fix.
11540         * glyphs.c (Fimage_instance_domain):
11541         new primitive, to retrieve the governing domain of an image instance.
11542         * glyphs.c (image_instantiate):
11543         use new governing_domain stuff.  this fixes a crash you could get
11544         by instantiating certain widget glyphs in frame locales. (should
11545         signal an error instead of crashing.)
11546         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
11547         * glyphs.c (Fglyphp): clean up doc.
11548         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
11549         * glyphs.c (syms_of_glyphs):
11550         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
11551         * glyphs.c (image_instantiator_format_create): add some comments about
11552         bogus code.
11553         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
11554         for current-display-table. (Apparently Hrjove implemented in 1998 a
11555         design I wrote up in 1996, but didn't update the doc string.)
11556
11557         * glyphs.h: clean up a doc string.
11558         * glyphs.h (governing_domain):
11559         * glyphs.h (struct image_instantiator_methods):
11560         changes for governing_domain stuff.
11561
11562         * gutter.c:
11563         * gutter.c (Fgutter_specifier_p):
11564         * gutter.c (Fgutter_size_specifier_p):
11565         * gutter.c (Fgutter_visible_specifier_p):
11566         * objects.c:
11567         * objects.c (Fcolor_specifier_p):
11568         * objects.c (Ffont_specifier_p):
11569         * objects.c (Fface_boolean_specifier_p):
11570         doc strings moved to make-*-specifier.
11571
11572         * redisplay.c (add_disp_table_entry_runes_1):
11573         * redisplay.c (generate_fstring_runes):
11574         * redisplay.c (screen):
11575         add random comments and doc strings.
11576
11577         * specifier.c:
11578         * specifier.c (Fmake_specifier):
11579         major overhaul of this doc string.
11580
11581         * specifier.c (Fvalid_specifier_domain_p):
11582         comment about the bogosity of image instances being domains.
11583         * specifier.c (decode_domain):
11584         now non-static, used in glyphs.c.
11585         * specifier.c (specifier_instance):
11586         comment about the bogosity of image instances being domains.
11587         * specifier.c (Fgeneric_specifier_p):
11588         move doc string to make-generic-specifier.
11589         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
11590         rebackslashify.
11591
11592         * specifier.h:
11593         * specifier.h (DOMAIN_FRAME):
11594         * specifier.h (DOMAIN_LIVE_P):
11595         * specifier.h (DOMAIN_XDEVICE):
11596         rebackslashify.
11597         add comments about problems with these macros.
11598         prototype for decode_domain.
11599
11600         * toolbar.c:
11601         * toolbar.c (Ftoolbar_specifier_p):
11602         move doc string to `make-toolbar-specifier'.
11603
11604         * window.c (window_unmap_subwindows_cache_mapper):
11605         *************************************************************
11606         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11607         HAVE BEEN GETTING.
11608         *************************************************************
11609
11610 2000-05-09  Andy Piper  <andy@xemacs.org>
11611
11612         * glyphs.h: declare reset_frame_subwindow_instance_cache.
11613
11614         * window.c (Fset_window_configuration): reset the frame subwindow
11615         cache and re-initialize the window subwindow caches.
11616
11617         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
11618
11619 2000-05-09  Ben Wing  <ben@xemacs.org>
11620
11621         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
11622         DWORD.
11623
11624 2000-04-26  Mike Woolley  <mike@bulsara.com>
11625
11626         * ntheap.c: Changed recreate_heap to limit the amount reserved
11627         for the heap to that which is actually available. Also now
11628         displays a message box (with some dignostics) in the event that
11629         it still can't start.
11630
11631 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11632
11633         * callproc.c (Fold_call_process_internal): GCPRO path
11634
11635 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
11636
11637         Patch by Bill Perry.
11638
11639         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
11640         back data instead of #ifdef.
11641         (Fscrollbar_page_down): ditto.
11642
11643 2000-05-07  Ben Wing  <ben@xemacs.org>
11644
11645         * buffer.h:
11646         Kludge for defining Qmswindows_tstr.
11647
11648         * nt.c:
11649         * nt.c (open_input_file):
11650         * nt.c (open_output_file):
11651         * nt.c (rva_to_section):
11652         * nt.c (mswindows_executable_type):
11653         Move all memory-mapped-file routines here (some were in unexnt.c,
11654         which is bad because they are used by process-nt.c, and unexnt
11655         won't be around when portable dumping).  Synched the above routines
11656         with FSF 20.6.
11657
11658         * nt.h:
11659         Removed ifdef'd out bogus code.
11660         Fixed some prototypes.
11661
11662         * nt.h (file_data):
11663         * nt.h (OFFSET_TO_RVA):
11664         * nt.h (RVA_TO_OFFSET):
11665         * nt.h (RVA_TO_PTR):
11666         Moved the memory-mapped-file structures, macros and prototypes
11667         here, to parallel nt.c.  ntheap.h should really be removed
11668         entirely, and it's a non-portable-dumper specific file.
11669
11670         * ntheap.h (round_to_next):
11671         Moved the memory-mapped-file structures, macros and prototypes
11672         to nt.h.
11673
11674         * ntproc.c (compare_env):
11675         Moved rva_to_section and mswindows_executable_type to nt.c.
11676         Moved compare_env to process-nt.c.
11677         ntproc.c will die, one day.
11678
11679         * ntproc.c (sys_spawnve):
11680         Account for win32_ -> mswindows_.
11681
11682         * process-nt.c:
11683         * process-nt.c (struct nt_process_data):
11684         * process-nt.c (ensure_console_window_exists):
11685         * process-nt.c (compare_env):
11686         * process-nt.c (nt_create_process):
11687         * process-nt.c (nt_kill_process_by_pid):
11688         * process-nt.c (syms_of_process_nt):
11689         * process-nt.c (vars_of_process_nt):
11690         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
11691         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
11692         changes).  Eliminate our old `nt-quote-process-args' mechanism.
11693         Synch up nt_create_process with FSF 20.6 sys_spawnve.
11694         Move compare_env here from ntproc.c.
11695
11696         * process.c (Fprocess_send_region):
11697         Takes an optional fourth argument, BUFFER, which should fix some
11698         problems with call-process.
11699
11700         * syscommctrl.h:
11701         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
11702
11703         * syswindows.h:
11704         Move ICC_BAR_CLASSES to syscommctrl.h.
11705         Add preliminary macros for MSWindows/Mule.  More to come.
11706
11707         * unexnt.c:
11708         * unexnt.c (unexec):
11709         open_output_file moved to nt.c.
11710
11711
11712 2000-05-05  Andy Piper  <andy@xemacs.org>
11713
11714         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
11715         instance from the frame cache also since GC may catch up too late
11716         to make frame deletion sane.
11717
11718 2000-05-04  Andy Piper  <andy@xemacs.org>
11719
11720         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
11721         (x_finalize_image_instance): ungcpro on deletion.
11722
11723         * glyphs.c (image_instantiator_format_create): give pointers a
11724         query geometry method so that the geometry is at least set.
11725
11726         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
11727         initialize layouts if using widgets.
11728
11729 2000-05-03  Andy Piper  <andy@xemacs.org>
11730
11731         * nt.c: remove bogus reference to sysmmsystem.h
11732
11733         * gui-x.c (popup_selection_callback): fix no selection abort.
11734
11735 2000-05-02  Andy Piper  <andy@xemacs.org>
11736
11737         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
11738         (mswindows_widget_instantiate): ditto.
11739
11740         * glyphs-widget.c (initialize_widget_image_instance): initialize
11741         children correctly.
11742         (widget_instantiate): cope with children and items in the same
11743         instance.
11744
11745         * glyphs.c (mark_image_instance): cope with children as a first
11746         class member.
11747         (image_instance_equal): ditto.
11748         (image_instance_hash): ditto.
11749         (image_instance_changed): ditto.
11750
11751 2000-04-30  Andy Piper  <andy@xemacs.org>
11752
11753         * glyphs.c (subwindow_query_geometry): new function. Return some
11754         defaults.
11755         (subwindow_instantiate): don't assign dimensions if none have been
11756         given.
11757         (image_instantiator_format_create): add subwindow_query_geometry.
11758         (print_image_instance): cope with layouts as widgets.
11759
11760 2000-04-29  Andy Piper  <andy@xemacs.org>
11761
11762         * frame.c (delete_frame_internal): call
11763         free_frame_subwindow_instance_cache so that all subwindows are
11764         finalized before their parent.
11765         (mark_frame): remove subwindow_cachels.
11766         (Fmake_frame): remove subwindow_cachel manipulation.
11767         (allocate_frame_core): subwindow_instance_cache is a weak list.
11768         (delete_frame_internal): set subwindow_instance_cache to nil.
11769
11770         * glyphs-msw.c (mswindows_finalize_image_instance): make double
11771         finalization safe.
11772         (mswindows_finalize_image_instance): use the device
11773         not the domain as the domain may have died already.
11774
11775         * glyphs-x.c (x_finalize_image_instance): ditto.
11776         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
11777         HEIGHT.
11778
11779         * redisplay-output.c (redisplay_unmap_subwindows): update for
11780         subwindow instance cache as a weak list.
11781         (redisplay_unmap_subwindows_maybe): ditto.
11782         (redisplay_unmap_subwindows_except_us): ditto.
11783
11784         * glyphs.c (unmap_subwindow): error checking will check the domain
11785         so don't deal with it here. Don't use cachels anymore.
11786         (map_subwindow): ditto.
11787         (update_subwindow_cachel_data): remove old accessor names.
11788         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
11789         (Fresize_subwindow): don't update cachel.
11790         (mark_subwindow_cachels):
11791         (update_subwindow_cachel_data):
11792         (add_subwindow_cachel):
11793         (get_subwindow_cachel_index):
11794         (update_subwindow_cachel):
11795         (reset_subwindow_cachels):
11796         (mark_subwindow_cachels_as_not_updated): deleted.
11797         (cache_subwindow_instance_in_frame_maybe): new function. Add a
11798         subwindow instance to the frame cache.
11799         (find_matching_subwindow): update for subwindow instance cache as
11800         a weak list.
11801         (update_widget_instances): ditto.
11802         (image_instance_type_to_mask):inlined.
11803         (free_frame_subwindow_instance_cache): new function. finalize all
11804         subwindows that are instantiated.
11805
11806         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
11807         of cachel information.
11808         (IMAGE_INSTANCE_DISPLAY_X):
11809         (IMAGE_INSTANCE_DISPLAY_Y):
11810         (IMAGE_INSTANCE_DISPLAY_WIDTH):
11811         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
11812         (XIMAGE_INSTANCE_DISPLAY_X):
11813         (XIMAGE_INSTANCE_DISPLAY_Y):
11814         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
11815         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
11816         remove subwindow_cachel structure and function references.
11817         (image_instance_type_to_mask): inline from glyphs.c
11818
11819         * redisplay.c (redisplay_frame): remove subwindow_cachel
11820         references.
11821
11822         * frame.h (struct frame): remove subwindow_cachels.
11823         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
11824
11825         * frameslots.h: add subwindow_instance_cache.
11826
11827         * window.c (replace_window): check subwindow cache of replacement.
11828         (window_unmap_subwindows_cache_mapper):
11829         (window_unmap_subwindows): new functions. Unmap all subwindows
11830         cached on this window.
11831         (mark_window_as_deleted): unmap all subwindows.
11832
11833 2000-04-27  Andy Piper  <andy@xemacs.org>
11834
11835         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
11836
11837         * glyphs-widget.c (widget_layout): return something.
11838         (layout_layout): return something. Fail if not initialized.
11839         (layout_query_geometry): ditto.
11840         (image_instantiator_native_layout): new function. Initialized the
11841         native layout type.
11842         (widget_instantiate): don't do layout stuff here.
11843
11844         * glyphs.c (instantiate_image_instantiator): reorded calling or
11845         instantiate and post_instantiate with layout in between.
11846         (image_instance_layout): be more selective about deciding whether
11847         the layout has been done or not.
11848
11849         * glyphs.h (struct image_instantiator_methods): return a value
11850         from layout_method.
11851
11852 2000-04-26  Andy Piper  <andy@xemacs.org>
11853
11854         * glyphs.c (allocate_image_instance): make initial width and
11855         height unspecified. Set initialized to 0.
11856
11857         * syscommctrl.h new file. Encapsulates commctrl.h.
11858
11859         * syswindows.h new file. Encapsulates windows.h.
11860
11861         * ntplay.c: use new syswindows.h and syscommctrl.h header.
11862         * nt.c: ditto.
11863         * console-msw.h: ditto.
11864
11865         * redisplay-tty.c (tty_output_display_block): remove layout references.
11866
11867         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
11868         window handle rather than just the frame.
11869
11870         * glyphs.c (mark_image_instance): remove layout references.
11871         (print_image_instance): ditto.
11872         (image_instance_equal): ditto.
11873         (image_instance_hash): ditto.
11874         (decode_image_instance_type): ditto.
11875         (encode_image_instance_type): ditto.
11876         (image_instantiate): ditto.
11877         (allocate_glyph): ditto.
11878         (Fimage_instance_height): ditto.
11879         (Fimage_instance_width): ditto.
11880         (update_subwindow): ditto.
11881
11882         * redisplay-x.c (x_output_display_block): recode for layouts as
11883         widgets.
11884
11885         * redisplay-output.c (redisplay_output_layout): recode for layouts
11886         as widgets.
11887         (compare_runes): remove layout references.
11888
11889         * redisplay-msw.c (mswindows_output_display_block): recode for
11890         layouts as widgets.
11891
11892         * glyphs-widget.c (image_instantiator_layout): remove
11893         layout_possible_dest_types.
11894         (layout_possible_dest_types): deleted.
11895
11896         * glyphs.h (image_instance_type): remove layout references.
11897         (struct Lisp_Image_Instance): ditto. Add initialized flag.
11898         (IMAGE_INSTANCE_INITIALIZED): new accessor.
11899         (XIMAGE_INSTANCE_INITIALIZED): ditto.
11900
11901 2000-04-25  Andy Piper  <andy@xemacs.org>
11902
11903         * glyphs-widget.c (image_instantiator_buttons):
11904         (image_instantiator_edit_fields):
11905         (image_instantiator_combo_box):
11906         (image_instantiator_scrollbar):
11907         (image_instantiator_progress_guage):
11908         (image_instantiator_tree_view):
11909         (image_instantiator_tab_control):
11910         (image_instantiator_labels):
11911         (image_instantiator_layout): call default post_instantiate method.
11912         (widget_post_instantiate): new function. Simply lays out the
11913         widgets.
11914
11915         * glyphs.h (struct image_instantiator_methods): add
11916         post_instantiate method.
11917
11918         * glyphs.c (instantiate_image_instantiator): add post_instantiate
11919         method calls.
11920
11921 2000-04-23  Andy Piper  <andy@xemacs.org>
11922
11923         * glyphs.h (struct image_instantiator_methods): add
11924         decode_domain_method.
11925         (struct Lisp_Image_Instance): remove subwindow frame - it can be
11926         derived from the domain.
11927         (IMAGE_INSTANCE_FRAME): new accessor.
11928         (XIMAGE_INSTANCE_FRAME): ditto.
11929
11930         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
11931         instead of _SUBWINDOW_FRAME.
11932         (finalize_image_instance): ditto.
11933         (Fimage_instance_foreground): ditto.
11934         (Fimage_instance_background): ditto.
11935         (image_instantiate): ditto.
11936         (update_subwindow_cachel): ditto.
11937         (update_subwindow): ditto.
11938         (unmap_subwindow): ditto.
11939         (map_subwindow): ditto
11940         (subwindow_instantiate): ditto.
11941         * glyphs-msw.c (mswindows_update_widget): ditto.
11942         (mswindows_progress_gauge_instantiate): ditto.
11943         (mswindows_tab_control_update): ditto.
11944         * glyphs-x.c (x_update_widget): ditto.
11945         (x_widget_instantiate): ditto.
11946         (x_tab_control_instantiate): ditto.
11947         (x_tab_control_update): ditto.
11948         * event-msw.c (mswindows_wnd_proc): ditto
11949
11950         * glyphs-widget.c (image_instantiator_layout): use
11951         subwindow_decode_domain.
11952         (image_instantiator_buttons): ditto.
11953         (image_instantiator_edit_fields): ditto.
11954         (image_instantiator_combo_box): ditto.
11955         (image_instantiator_scrollbar): ditto.
11956         (image_instantiator_progress_guage): ditto.
11957         (image_instantiator_tree_view): ditto.
11958         (image_instantiator_tab_control): ditto.
11959         (image_instantiator_labels): ditto.
11960         (image_instantiator_layout): ditto.
11961
11962         * glyphs.c: add instance error checking to many functions.
11963         (instantiate_image_instantiator): decode device from cache_domain.
11964         (image_instantiate): partially rewrite by using
11965         decode_image_instantiator_domain to determine what domain the
11966         instance needs to be cached in.
11967         (decode_image_instantiator_domain): new function. Determine what
11968         domain the image needs to be cached in.
11969         (check_window_subwindow_cache): new error checking function.
11970         (check_instance_cache_mapper): ditto.
11971         (check_image_instance_structure): ditto.
11972         (subwindow_decode_domain): new function. Encodes a window as a
11973         subwindow's cache domain.
11974         (image_instantiator_format_create): use it for text and
11975         subwindows.
11976
11977 2000-04-21  Andy Piper  <andy@xemacs.org>
11978
11979         * glyphs.c (image_instance_device): new function.
11980         (image_instance_frame): new function.
11981         (image_instance_window): new function.
11982         (image_instance_live_p): new function.
11983
11984         * window.c (mark_window_as_deleted): reset the subwindow_instance_
11985         cache to nil.
11986
11987         * glyphs.h (struct Lisp_Image_Instance): device->domain.
11988         (IMAGE_INSTANCE_DOMAIN): new accessor.
11989         (XIMAGE_INSTANCE_DOMAIN): ditto.
11990
11991         * glyphs-x.c (x_finalize_image_instance): device->domain.
11992
11993         * glyphs-msw.c (init_image_instance_geometry): device->domain.
11994         (mswindows_finalize_image_instance): ditto.
11995
11996         * glyphs-eimage.c (jpeg_instantiate): device->domain.
11997         (gif_instantiate): ditto.
11998         (png_instantiate): ditto.
11999         (tiff_instantiate): ditto.
12000
12001         * glyphs.c (instantiate_image_instantiator): use domain rather
12002         than device.
12003         (mark_image_instance): device -> domain.
12004         (print_image_instance): ditto.
12005         (finalize_image_instance): ditto.
12006         (image_instance_equal): ditto.
12007         (allocate_image_instance): ditto.
12008         (Fcolorize_image_instance): ditto.
12009         (query_string_geometry): ditto.
12010         (image_instantiate): ditto
12011         (query_string_font): ditto.
12012         (image_instantiate): ditto.
12013         (update_subwindow): ditto.
12014         (unmap_subwindow): ditto.
12015         (map_subwindow): ditto.
12016         (subwindow_instantiate): ditto.
12017
12018         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12019         (DOMAIN_FRAME): ditto.
12020         (DOMAIN_WINDOW): ditto.
12021         (DOMAIN_LIVE_P): ditto.
12022         (XDOMAIN_DEVICE): ditto.
12023         (XDOMAIN_FRAME): ditto.
12024         (XDOMAIN_WINDOW): ditto.
12025
12026         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12027         a valid specifier domain.
12028
12029 2000-04-19  Andy Piper  <andy@xemacs.org>
12030
12031         * glyphs-widget.c (syms_of_glyphs_widget): remove
12032         widget-callback-current-channel.
12033         (vars_of_glyphs_widget): ditto.
12034         * glyphs.h: ditto
12035
12036         * gui.c (get_gui_callback): revert to previous behaviour.
12037
12038 2000-04-18  Andy Piper  <andy@xemacs.org>
12039
12040         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12041         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12042         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12043
12044         * glyphs.c (image_instance_equal): add margin_width.
12045         (image_instance_hash): ditto.
12046
12047         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12048         (layout_query_geometry): ditto.
12049         (layout_layout): ditto.
12050         (syms_of_glyphs_widget): add margin-width.
12051         (image_instantiator_layout): allow margin-width.
12052
12053         * glyphs.c (update_widget_instances): make a normal function.
12054         (syms_of_glyphs): remove Qupdate_widget_instances.
12055         * glyphs.h: ditto.
12056
12057         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12058         so that we don't corrupt ideas about the last event or
12059         command. Remove widget-callback-current-channel fiddling.
12060         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12061
12062 2000-05-01  Martin Buchholz <martin@xemacs.org>
12063
12064         * XEmacs 21.2.33 is released.
12065
12066 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12067
12068         * make-src-depend: Allow dots in header file name.
12069
12070 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12071
12072         * mule-charset.h (struct charset_lookup): Add
12073         next_allocated_1_byte_leading_byte and
12074         next_allocated_2_byte_leading_byte.
12075         * mule-charset.c: Move above two variables so that those values
12076         will be dumped.
12077
12078 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12079
12080         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12081         when string length is zero.
12082         (find_charsets_in_emchar_string): Ditto.
12083
12084 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12085
12086         * lisp.h: extern Qdialog and Qmenubar.
12087
12088         * gui-x.c: added events.h.
12089                 also fixed typo which made the file uncompilable.
12090
12091         * general.c: Added Qmenubar and Qdialog
12092
12093 2000-04-28  Ben Wing  <ben@xemacs.org>
12094
12095         * frame-msw.c (mswindows_init_frame_1):
12096         * frame-msw.c (mswindows_mark_frame):
12097         * event-msw.c (mswindows_enqueue_dispatch_event):
12098         * console-msw.h:
12099         * console-msw.h (struct mswindows_frame):
12100         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12101         there are now three hash tables for callbacks.
12102         mswindows_enqueue_dispatch_event is no longer static.
12103
12104         * dialog-x.c (maybe_run_dbox_text_callback):
12105         * dialog-x.c (dbox_descriptor_to_widget_value):
12106         switch to new cons3 form for callbacks.
12107
12108         * glyphs-msw.c (mswindows_register_gui_item):
12109         * glyphs-msw.c (mswindows_widget_instantiate):
12110         * glyphs-msw.c (add_tree_item):
12111         * glyphs-msw.c (add_tab_item):
12112         new image instance parameter, so it can be passed to callback-ex.
12113         respect :callback-ex as well as :callback.
12114
12115         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12116         add :callback-ex.
12117
12118         * glyphs.c (print_image_instance):
12119         prettify, e.g. now prints widget type.
12120
12121         * gui-x.h:
12122         certain funs have new image instance parameter.
12123
12124         * gui.c:
12125         * gui.c (get_gui_callback):
12126         * gui.c (gui_item_add_keyval_pair):
12127         * gui.c (gui_item_init):
12128         * gui.c (gui_add_item_keywords_to_plist):
12129         * gui.c (mark_gui_item):
12130         * gui.c (gui_item_hash):
12131         * gui.c (gui_item_equal):
12132         * gui.c (copy_gui_item):
12133         * gui.c (syms_of_gui):
12134         recognize callback-ex in a number of places.
12135         also, fix the annoying "can't get out of yes-no dialog" bug.
12136
12137         * gui.h:
12138         * gui.h (struct Lisp_Gui_Item):
12139         recognize callback-ex in a number of places.
12140
12141         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12142         new parameter in button_item_to_widget_value.
12143
12144         * glyphs-x.c (x_update_widget):
12145         * glyphs-x.c (x_button_instantiate):
12146         * glyphs-x.c (x_button_update):
12147         * glyphs-x.c (x_progress_gauge_instantiate):
12148         * glyphs-x.c (x_edit_field_instantiate):
12149         * glyphs-x.c (x_combo_box_instantiate):
12150         * glyphs-x.c (x_tab_control_instantiate):
12151         * glyphs-x.c (x_label_instantiate):
12152         new image instance parameter in various places.
12153
12154         * event-Xt.c:
12155         * event-Xt.c (enqueue_Xt_dispatch_event):
12156         this fun gets exported.
12157
12158         * gui-msw.c:
12159         * gui-msw.c (mswindows_handle_gui_wm_command):
12160         handle both :callback and :callback-ex, and generate our own
12161         event because it's one of the callback-ex arguments.
12162
12163         * gui-x.c:
12164         * gui-x.c (popup_selection_callback):
12165         handle both :callback and :callback-ex, and generate our own
12166         event because it's one of the callback-ex arguments.
12167         * gui-x.c (button_item_to_widget_value):
12168         * gui-x.c (gui_items_to_widget_values_1):
12169         * gui-x.c (gui_item_children_to_widget_values):
12170         * gui-x.c (gui_items_to_widget_values):
12171         new image instance parameter in various places.
12172
12173         * fns.c (Freplace_list):
12174         fix small typo in doc string.
12175
12176         * lisp.h:
12177         declare enqueue_Xt_dispatch_event.
12178
12179 2000-04-28  Ben Wing  <ben@xemacs.org>
12180
12181         * buffer.c:
12182         * buffer.c (Frecord_buffer):
12183         * buffer.c (syms_of_buffer):
12184         delete record-buffer-hook.
12185
12186         * fns.c:
12187         * fns.c (Freplace_list):
12188         * fns.c (syms_of_fns):
12189         new primitive replace-list.
12190
12191         * frameslots.h:
12192         slot for old buffer-alist.
12193
12194         * lisp.h:
12195         exfun replace-list.
12196
12197         * redisplay.c:
12198         * redisplay.c (redisplay_frame):
12199         * redisplay.c (syms_of_redisplay):
12200         * redisplay.c (vars_of_redisplay):
12201         new hook buffer-list-changed-hook.
12202         call it.
12203
12204 2000-04-27  Ben Wing  <ben@xemacs.org>
12205
12206         * extents.h: extern in_modeline_generation.
12207
12208         * redisplay.c (generate_formatted_string_db): set
12209         in_modeline_generation.
12210
12211         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12212         flags if in modeline generation.  otherwise frame-modified-tick
12213         is ticked far too often.
12214         Declare in_modeline_generation.
12215
12216 2000-04-26  Ben Wing  <ben@xemacs.org>
12217
12218         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12219         option.
12220         (vars_of_emacs): add quick-build as an error-checking option.
12221         A bit kludgy, but there doesn't seem much point in creating
12222         a real var for this.
12223
12224         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
12225
12226 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12227
12228         * redisplay.h (struct display_line): Add a new variable,
12229         line_continuation.
12230
12231         * redisplay.c (create_text_block): Set dl->line_continuation if
12232         the line continues.
12233         (create_string_text_block): Ditto.
12234         (regenerate_window_incrementally): Use line_continuation instead
12235         of searching continuation glyph.
12236         (add_margin_runes): Call add_glyph_rune.
12237         (add_glyph_rune): Handle margin glyph.
12238
12239 2000-04-20  Martin Buchholz  <martin@xemacs.org>
12240
12241         * filelock.c (fill_in_lock_file_name):
12242         ANSIfy.
12243         Check for IS_ANY_SEP instead of '/'.
12244         (lock_file_1):
12245         Avoid generating gratuitous garbage.  Call user_login_name() directly.
12246         Never check errno without first seeing that system call failed.
12247         (unlock_file): Add GCPRO.
12248         (Flock_buffer): Fix docstring.
12249         (Ffile_locked_p): Fix docstring.  Add GCPRO.
12250
12251 2000-04-19  Martin Buchholz  <martin@xemacs.org>
12252
12253         * sysdep.c (get_pty_max_bytes):
12254         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
12255         strings longer than 252 bytes.
12256
12257         * md5.c: Unconditionally include ANSI header <limits.h>
12258
12259         * glyphs-x.c (convert_EImage_to_XImage):
12260         * lisp-union.h (union Lisp_Object):
12261         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
12262
12263 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
12264
12265         * filelock.c (current_lock_owner): Remove unused variable o, p.
12266
12267 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
12268
12269         * callint.c: Remove multiply defined symbol Qlet
12270         (syms_of_callint): ditto.
12271
12272 2000-04-14  Andy Piper  <andy@xemacs.org>
12273
12274         * general.c (syms_of_general): add last-command, this-command, let
12275         and funcall.
12276
12277         * lisp.h: declare various symbols.
12278
12279         * glyphs.h: declare Qwidget_callback_current_channel;
12280
12281         * glyphs-widget.c (syms_of_glyphs_widget): add
12282         Qgui_callback_current_channel.
12283         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
12284
12285         * gui-msw.c (mswindows_handle_gui_wm_command): bind
12286         widget-callback-current-channel when invoking the interactive
12287         arg. Also bind last-command and next-command when invoking the
12288         widget updates.
12289         * gui-x.c (popup_selection_callback): ditto.
12290
12291         * gui.c (get_gui_callback): massage args so that we are always
12292         calling eval. This allows us to add our own variable bindings
12293         outside.
12294
12295         * glyphs-x.c (x_button_instantiate): use
12296         gui_items_to_widget_values since this is GC safe.
12297         (x_progress_gauge_instantiate): ditto.
12298         (x_edit_field_instantiate): ditto.
12299         (x_label_instantiate): ditto.
12300
12301         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
12302         (emacs_Xt_event_widget_focus_out): new function
12303         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
12304         focus.
12305         (emacs_Xt_event_add_widget_actions): new function. add focus
12306         functions as actions.
12307         (init_event_Xt_late): use it.
12308
12309 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
12310
12311         * event-stream.c (Fdispatch_event): Doc fix.
12312
12313 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
12314
12315         * postgresql.c: Remove all references to PQsetenv*.
12316
12317         * postgresql.h: Remove references to PGsetenvHandler object.
12318         * lrecord.h (lrecord_type): Ditto.
12319
12320 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12321
12322         * glyphs-msw.h (struct mswindows_image_instance_data): Added
12323         real_heigh and real_width members, and accessor macros for these.
12324
12325         * glyphs-msw.c (init_image_instance_geometry): New function.
12326         (init_image_instance_from_dibitmap): Use it.
12327         (mswindows_resource_instantiate): Use it.
12328         (init_image_instance_from_xbm_inline): Use it.
12329         (mswindows_initialize_image_instance_mask): Use real bitmap
12330         geometry.
12331         (mswindows_create_resized_bitmap): Ditto.
12332         (mswindows_create_resized_mask): Ditto.
12333
12334         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
12335         and bitmap to their surface size.
12336
12337 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
12338
12339         * process-unix.c (unix_send_process): Guard against process MIA
12340         after Faccept_process_output.
12341
12342 2000-04-11  Ben Wing  <ben@xemacs.org>
12343
12344         * eval.c (unbind_to_hairy): fix brokenness introduced by
12345         nanosecond speed improvements.
12346
12347 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
12348
12349         * sunplay.c (init_device): To play sounds correctly, the device
12350         apparently needs to be initialized at least once by XEmacs.  Make
12351         it so.
12352
12353 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12354
12355         * redisplay.c (add_margin_runes): Add text image glyph
12356           handling.
12357
12358 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
12359
12360         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
12361         gcc is newer than 2.5.
12362
12363 2000-04-06  Colin Rafferty  <colin@xemacs.org>
12364
12365         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
12366
12367         * fns.c (size_bit_vector):
12368         * alloc.c (size_vector):
12369         (make_vector_internal):
12370         (make_bit_vector_internal):
12371         (sweep_bit_vectors_1):
12372         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
12373
12374 2000-04-06  Andy Piper  <andy@xemacs.org>
12375
12376         * gmalloc.c (malloc): undo previous change.
12377         (malloc): ditto.
12378         (free): ditto.
12379         (realloc): ditto.
12380
12381 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
12382
12383         * line-number.c (buffer_line_number): Revert to former version.
12384
12385 2000-04-06  Andy Piper  <andy@xemacs.org>
12386
12387         * gmalloc.c (malloc): add error checking.
12388         (malloc): ditto.
12389         (free): ditto.
12390         (realloc): ditto.
12391
12392         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
12393         button_item_to_widget_value arg.
12394
12395         * glyphs-x.c (x_button_instantiate): add extra
12396         button_item_to_widget_value arg.
12397         (x_progress_gauge_instantiate): ditto.
12398         (x_edit_field_instantiate): ditto.
12399         (x_label_instantiate): ditto.
12400
12401         * gui-x.c (gui_items_to_widget_values_1): add extra
12402         button_item_to_widget_value arg.
12403         (button_item_to_widget_value): add extra menu_item_p arg.
12404
12405         * gui-x.h: change signature of button_item_to_widget_value.
12406
12407         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
12408         button_item_to_widget_value arg.
12409
12410 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
12411
12412         * buffer.h (struct buffer): auto_save_modified should be long.
12413
12414 2000-04-05  Andy Piper  <andy@xemacs.org>
12415
12416         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
12417         type.
12418         (button_query_geometry): give a little more room so that athena
12419         buttons fit.
12420
12421 2000-04-05  Andy Piper  <andy@xemacs.org>
12422
12423         * faces.c (complex_vars_of_faces): The widget face should inherit
12424         the font of the gui-element face.
12425
12426 2000-04-04  Andy Piper  <andy@xemacs.org>
12427
12428         * glyphs-x.c (x_button_update): new function. unconditionally
12429         update a button's state when the instance is dirty.
12430         (image_instantiator_format_create_glyphs_x): add x_button_update.
12431         (x_widget_instantiate): remove old resize cruft.
12432
12433 2000-04-02  Andy Piper  <andy@xemacs.org>
12434
12435         * frame.c (change_frame_size_1): The introduction of gutters means
12436         that we need to allow 0 as a potential frame dimension.
12437
12438 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12439
12440         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
12441         image glyph if allow_cursor.
12442         (add_hscroll_rune): Don't allow cursor to border glyph.
12443         (create_text_block): Ditto.
12444
12445         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
12446         text not in buffer.
12447         (redisplay_output_layout): Call ensure_face_cachel_complete for
12448         text image glyph.
12449
12450
12451 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12452
12453         * redisplay.c (add_glyph_rune): Adding text image as text runes.
12454
12455         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
12456         not in buffer
12457
12458         * redisplay-tty.c (tty_output_display_block): Delete the routine
12459         for text image glyph
12460         * redisplay-x.c (x_output_display_block): ditto
12461         * redisplay-msw.c (mswindows_output_display_block): ditto
12462
12463 2000-02-02  Mike Alexander  <mta@arbortext.com>
12464
12465         Note: Some of these were committed by accident as part of other
12466         patches.
12467
12468         * regex.c (regex_compile): Avoid compiler warnings.
12469
12470         * ntproc.c (sys_spawnve): Avoid compiler warnings.
12471
12472         * nt.h: Declare term_ntproc correctly.
12473
12474         * nt.c: Remove incorrect declaration of get_home_directory which
12475         is declared correctly in lisp.h.
12476
12477         * keymap.c (get_keyelt): Avoid compiler warnings.
12478         (raw_lookup_key_mapper): Avoid compiler warnings.
12479
12480         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
12481
12482         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
12483
12484         * filemode.c (mode_string): Avoid compiler warnings.
12485
12486         * file-coding.c (Fcoding_system_aliasee): Add return statement to
12487         avoid warning.
12488
12489         * events-mod.h: Undef some things that winuser.h defines differently.
12490
12491         * data.c (Faset): Avoid compiler warnings.
12492
12493         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
12494
12495 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12496
12497         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
12498         Fall through to simple beep on error.
12499         Replace "extern" by real header file.
12500
12501         * linuxplay.c: Use nativesound.h
12502         (play_sound_data): Return error code. Be less verbose on error.
12503
12504         * sunplay.c: Use nativesound.h
12505         (play_sound_data): Return error code. Be less verbose on error.
12506
12507         * ntplay.c: Use nativesound.h
12508         (play_sound_data): Return fake error code
12509
12510         * sgiplay.c: Use nativesound.h
12511         (play_sound_data): Return error code
12512
12513         * hpplay.c: Use nativesound.h, partially implement
12514         new error code. Break compilation until finished.
12515         (play_sound_data): error code.
12516
12517         * nativesound.h (play_sound_file):
12518           (play_sound_data): Prototype in new header.
12519
12520 2000-03-31  Andy Piper  <andy@xemacs.org>
12521
12522         * glyphs-widget.c: (button_query_geometry): new function. Adjust
12523         for toggle and radio buttons.
12524         (image_instantiator_buttons): use it.
12525
12526 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12527
12528         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
12529         (x_update_horizontal_scrollbar_callback): Return if no mirror was
12530         found. Scrollbar event probably belonged to some old config.
12531
12532 2000-03-31  Andy Piper  <andy@xemacs.org>
12533
12534         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
12535         than 1.
12536         (initialize_widget_image_instance): default layout to
12537         LAYOUT_HORIZONTAL rather than 0.
12538         (widget_instantiate): reverse the item list at the end rather than
12539         every iteration.
12540         (layout_layout): re-code for the border text at the front of the
12541         item list rather than at the end.
12542         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
12543         provided by the user.
12544         (widget_query_geometry): comment.
12545
12546 2000-03-30  Andy Piper  <andy@xemacs.org>
12547
12548         * glyphs-widget.c (image_instantiator_layout): allow standard
12549         widget keywords in layouts.
12550
12551         * gutter.c (output_gutter): cope with nil gutter contents.
12552
12553         * frame.c (Fset_frame_properties): add gutter docs.
12554
12555 2000-03-29  Andy Piper  <andy@xemacs.org>
12556
12557         * toolbar-msw.c (TBSTYLE_FLAT): add.
12558         (mswindows_output_toolbar): minor fiddling.
12559
12560 2000-03-29  Andy Piper  <andy@xemacs.org>
12561
12562         * gutter.c (output_gutter): force gutter size recalculation if
12563         what we are trying to display won't fit.
12564         (update_gutter_geometry): new function. A per-gutter version of
12565         update_frame_gutter_geometry.
12566         (update_frame_gutter_geometry): use it.
12567         (redraw_exposed_gutter): add extra debugging output.
12568
12569 2000-03-28  Mike Alexander  <mta@arbortext.com>
12570
12571         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
12572         (pdump_file_unmap): Implement it on Windows
12573         (pdump_file_get): Save alocated handles for pdump_file_unmap
12574
12575 2000-03-28  Andy Piper  <andy@xemacs.org>
12576
12577         * gui.c (get_gui_callback): treat Quit specially.
12578
12579 2000-03-27  Andy Piper  <andy@xemacs.org>
12580
12581         * glyphs.c (image_instantiate): be careful to check in the same
12582         way we assigned.
12583
12584 2000-03-27  Didier Verna  <didier@xemacs.org>
12585
12586         * config.h.in: define the proper SMART_INCLUDE macro.
12587         handle renaming of `foo_h_path' to `foo_h_file'.
12588
12589         * database.c: ditto.
12590
12591         * emacs.c: ditto.
12592
12593         * linuxplay.c: ditto.
12594
12595         * terminfo.c: ditto.
12596
12597         * tooltalk.h: ditto.
12598
12599 2000-03-27  Andy Piper  <andy@xemacs.org>
12600
12601         * glyphs-msw.c (mswindows_update_widget): make sure the widget
12602         gets updated whenever the face might have changed.
12603
12604 2000-03-26  Mike Alexander  <mta@arbortext.com>
12605
12606         * dumper.c (pdump_resource_free): Fix the comment.
12607
12608 2000-03-21  Olivier Galibert  <galibert@pobox.com>
12609
12610         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
12611
12612 2000-03-22  Mike Alexander  <mta@arbortext.com>
12613
12614         * dumper.c: Include Windows headers on Windows
12615         (pdump_resource_free): Add a body to the function
12616         (pdump_load): exe_name -> exe_path and add some comments.
12617
12618 2000-03-25  Mike Alexander  <mta@arbortext.com>
12619
12620         * gui.c (copy_gui_item_tree): Return a value in all cases
12621
12622 2000-03-21  Didier Verna  <didier@xemacs.org>
12623
12624         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
12625         lwlib/config.h.in.
12626         (SMART_INCLUDE): new macro.
12627         (POSTGRES_INCLUDE): new macro to include postgresql headers from
12628         the proper location.
12629
12630         * postgresql.c: use it.
12631
12632         * inline.c: ditto.
12633
12634 2000-03-24  Andy Piper  <andy@xemacs.org>
12635
12636         * gutter.c (redraw_exposed_gutters): must be "in display" when we
12637         do this.
12638
12639 2000-03-24  Andy Piper  <andy@xemacs.org>
12640
12641         * redisplay-output.c (compare_runes): use image_instance_changed
12642         to detect changes. Do not depend on glyphs_changed, only depend on
12643         dirtiness.
12644          (redisplay_output_layout): add debug messages.
12645         (compare_runes): ditto.
12646
12647         * glyphs.h: declare new functions.
12648         (struct Lisp_Image_Instance): remove percent and associated
12649         accessors.
12650
12651         * gui.h: declare new copying functions.
12652
12653         * gui.c (copy_gui_item_tree): new function.
12654         (copy_gui_item): new function.
12655         (gui_item_id_hash): revert to standard hash.
12656         (gui_item_hash): ditto.
12657         (gui_item_hash_internal): deleted.
12658         (mark_gui_item): mark value.
12659         (gui_item_add_keyval_pair): add value.
12660         (gui_item_init): ditto.
12661         (gui_add_item_keywords_to_plist): ditto.
12662         (gui_item_equal): ditto.
12663         (syms_of_gui): add Q_value.
12664
12665         * glyphs-x.c (x_progress_gauge_update): use pending items and
12666         value for setting the state.
12667         (x_update_widget): don't set items from pending here.
12668
12669         * glyphs-widget.c (update_widget): update items here.
12670         (progress_gauge_set_property): use items for storing value. Put
12671         new value in pending items.
12672
12673         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
12674         items for new value. Convert percent -> value.
12675         (mswindows_tab_control_update): don't update items here.
12676
12677         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
12678         (update_subwindow): ditto.
12679         (image_instance_changed): new function. Compare hash values and
12680         past and present widget items.
12681         (image_instantiate): We more careful about where we instantiate
12682         things.
12683         (image_instantiate): add error checking.
12684
12685         * gutter.c (syms_of_gutter): use -hook.
12686
12687 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
12688
12689         * console-tty.c (Fset_console_tty_input_coding_system): Use
12690         Qkeyboard.
12691         (Fset_console_tty_output_coding_system): Use Qterminal.
12692         (tty_init_console): Use Qkeyboard and Qterminal.
12693
12694 2000-03-21  Ben Wing  <ben@xemacs.org>
12695
12696         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
12697         From Mike Alexander <mta@arbortext.com>.
12698
12699 2000-03-21  Ben Wing  <ben@xemacs.org>
12700
12701         * event-msw.c (mswindows_need_event): Horrible kludge to fix
12702         process brokenness.  Proper implementation to come.
12703         * callproc.c:
12704         Rename call-process-internal to old-call-process-internal.
12705         New impl. in process.el.
12706
12707 2000-03-21  Martin Buchholz  <martin@xemacs.org>
12708
12709         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
12710
12711 2000-03-20  Andy Piper  <andy@xemacs.org>
12712
12713         * glyphs.c (full_list_hash): make hashes of the same elements in
12714         different orders return different values.
12715
12716 2000-03-20  Martin Buchholz <martin@xemacs.org>
12717
12718         * XEmacs 21.2.32 is released.
12719
12720 2000-03-20  Martin Buchholz  <martin@xemacs.org>
12721
12722         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
12723         (DFC_MALLOC_USE_CONVERTED_DATA):
12724         Add aliasing-safe casts to allow use with char* or unsigned char*
12725         lvalues.
12726
12727         * eldap.c (Fldap_open):
12728         (Fldap_search_basic):
12729         (Fldap_add):
12730         (Fldap_modify):
12731         Make C++-compilable.
12732         Make sure GCPRO'ed variables are initialized.
12733         Use temp variables to avoid repeated calls to Flength.
12734
12735 2000-03-16  Martin Buchholz  <martin@xemacs.org>
12736
12737         * sysfile.h:
12738         Make sure PATH_MAX is always defined.
12739         Include limits.h for PATH_MAX.
12740         Deprecate use of MAXPATHLEN.
12741
12742 2000-03-10  Martin Buchholz  <martin@xemacs.org>
12743
12744         * emacs.c: Add reinit_vars_of_fileio.
12745         * symsinit.h: Add reinit_vars_of_fileio.
12746         * fileio.c (reinit_vars_of_fileio): New.
12747         * fileio.c (Fmake_temp_name):
12748         Initialize temp_name random number from microseconds to make
12749         collisions even less likely.  Initialize always at process startup
12750         time.  (make-temp-name) used to return the same file name twice in
12751         a row when PDUMP.
12752         Random stylistic fiddling.
12753         Comment fixes.
12754
12755 2000-03-20  Andy Piper  <andy@xemacs.org>
12756
12757         * glyphs.c (image_instantiate): allow text glyphs to be
12758         instantiated in the minibuffer window.
12759
12760 2000-03-19  Andy Piper  <andy@xemacs.org>
12761
12762         * glyphs.c (image_instance_hash): be careful about which items we
12763         hash on.
12764
12765         * glyphs-widget.c (tab_control_set_property): record into pending
12766         items rather than the actual items.
12767
12768         * glyphs-x.c (x_update_widget): use pending items to update with.
12769
12770         * glyphs-msw.c (mswindows_tab_control_update): use pending items
12771         to update with.
12772
12773         * glyphs.c (mark_image_instance): mark pending items.
12774
12775         * window.c (Fset_window_configuration): record the buffer.
12776         (Fselect_window): totally revert previous change which breaks many
12777         things.
12778
12779 2000-03-18  Andy Piper  <andy@xemacs.org>
12780
12781         * glyphs-msw.c (mswindows_tab_control_update): force selected
12782         item.
12783
12784         * glyphs.c (image_instantiate): don't allow the minibuffer as a
12785         window domain cache, otherwise we get inconsistencies at
12786         startup. There is something fishy at startup which can lead to the
12787         minibuffer being the selected window when the gutter content is
12788         instantiated.
12789
12790         * gui.c (parse_gui_item_tree_list): add probably unnecessary
12791         gcpros.
12792         (parse_gui_item_tree_children): ditto.
12793         (parse_gui_item_tree_item): ditto.
12794
12795         * glyphs.c (Fupdate_widget_instances): return something.
12796
12797 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
12798
12799         * window.c (Fselect_window): Undo 2000-03-17 change.
12800
12801 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
12802
12803         * postgresql.c (Fpq_setenv): Remove this turkey when linking
12804         against v7.0 libraries.  Insta-coredump city until the postgres
12805         folks fix it.
12806
12807 2000-03-17  Andy Piper  <andy@xemacs.org>
12808
12809         * faces.c (complex_vars_of_faces): don't give the widget face an
12810         inherited background pixmap.
12811
12812         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
12813         selected item.
12814
12815         * event-stream.c (Fdispatch_non_command_events): return something.
12816
12817         * gutter.c (output_gutter): use widget face.
12818         (clear_gutter): ditto.
12819
12820         * NEWS: adjust again.
12821
12822         * window.c (Fselect_window): make sure this runs to completion to
12823         avoid oddities with Fset_window_configuration.
12824         (Fcurrent_window_configuration): in general do not save the
12825         minibuffer as the selected window.
12826
12827         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
12828
12829 2000-03-16  Olivier Galibert  <galibert@pobox.com>
12830
12831         * emacs.c (Frunning_temacs_p): Revert previous patch.
12832         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
12833
12834 2000-03-16  Andy Piper  <andy@xemacs.org>
12835
12836         * glyphs-x.c (x_tab_control_update): if no widget values then
12837         return.
12838
12839         * NEWS: update for new features.
12840
12841         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
12842         synthetic event to the native system.
12843         (reinit_vars_of_event_Xt): set force_event_pending to
12844         emacs_Xt_force_event_pending.
12845
12846         * events.h (struct event_stream): add force_event_pending.
12847
12848         * specifier.c (recompute_one_cached_specifier_in_window): add
12849         comment.
12850
12851         * redisplay.c (redisplay_frame): don't call
12852         update_frame_subwindows. Reset subwindow cachels when
12853         subwindows_changed, removing this was an optimization too far.
12854
12855         * redisplay-output.c (compare_runes): reorganize so that we catch
12856         glyph changes when we want them. Set optimize_output when this
12857         would help layouts.
12858         (redisplay_output_layout): remove frame_really_changed, use
12859         optimize_output instead.
12860
12861         * redisplay-msw.c (mswindows_output_display_block): reset
12862         optimize_output after outputting a glyph.
12863         * redisplay-x.c (x_output_display_block): ditto.
12864         * redisplay-tty.c (tty_output_display_block): ditto.
12865
12866         * gutter.c: (specifier_vars_of_gutter): use new spec changed
12867         functions.
12868         (gutter_specs_changed): do specific gutter positions.
12869         (top_gutter_specs_changed): new function. Only update the
12870         specified gutter specs.
12871         (bottom_gutter_specs_changed): ditto.
12872         (left_gutter_specs_changed): ditto.
12873         (right_gutter_specs_changed): ditto.
12874
12875         * gui.c (gui_item_hash_internal): new function, does a real hash.
12876         (gui_item_id_hash): use it.
12877         (gui_item_hash): hash the eval'ed gui_item.
12878
12879         * gui-x.c (popup_selection_callback): send an eval event to call
12880         Fupdate_widget_instances.
12881
12882         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
12883         to call Fupdate_widget_instances.
12884
12885         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
12886         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
12887
12888         * glyphs.c: (update_frame_subwindows): deleted.
12889         (Fupdate_widget_instances): new function for updating the dirty
12890         state of widgets that might have changed.
12891         (syms_of_glyphs): add Qupdate_widget_instances.
12892         (full_list_hash): hash a list completely.
12893         (image_instance_hash): use it for items and properties.
12894
12895         * frame-msw.c (mswindows_size_frame_internal): remove unused
12896         variable.
12897
12898         * faces.h (struct face_cachel): fix comment.
12899
12900         * event-stream.c (Fdispatch_non_command_events): new
12901         function. Process non-command events, forcing an event cycle
12902         beforehand.
12903         (syms_of_event_stream): declare.
12904         (event_stream_force_event_pending): new function. Force an event
12905         on the native event queue so that an event cycle will occur next
12906         time we check.
12907
12908         * event-msw.c:
12909         (struct ntpipe_shove_stream):
12910         (mswindows_enqueue_dispatch_event):
12911         (mswindows_dequeue_dispatch_event):
12912         (mswindows_cancel_dispatch_event):
12913         (mswindows_pump_outstanding_events):
12914         (mswindows_drain_windows_queue):
12915         (mswindows_handle_paint):
12916         (mswindows_wnd_proc):
12917         (mswindows_key_to_emacs_keysym):
12918         (get_process_input_waitable):
12919         (emacs_mswindows_delete_stream_pair): re-indent file.
12920         (mswindows_need_event): do not process further fds if the windows
12921         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
12922         fixes the 100% cpu problem.
12923         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
12924
12925 2000-03-15  Olivier Galibert  <galibert@pobox.com>
12926
12927         * alloc.h: New.
12928         * dumper.h: New.
12929         * dumper.c: New.
12930
12931         * emacs.c: Moved dump file searching to dumper.c.
12932         (Frunning_temacs_p): Fixed.
12933
12934         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
12935         last_lrecord_type_index_assigned.
12936
12937 2000-02-20  Olivier Galibert  <galibert@pobox.com>
12938
12939         * symsinit.h: Added reinit parameter to init_console_stream
12940         declaration.
12941
12942         * lisp.h: Added file parameter to pdump_load declaration.
12943
12944         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
12945         support.  Added dump file searching.
12946
12947         * config.h.in: Added EMACS_PROGNAME.
12948
12949         * console-stream.c (init_console_stream): Fix reinitialisation
12950         when running from temacs.
12951
12952         * alloc.c (pdump): Add id support.
12953         (pdump_load): Add file parameter and signature/id support.
12954
12955         * Makefile.in.in: Add full pdump support.
12956
12957 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
12958
12959         * postgresql.c: Update documentation to reflect latest code
12960         status.
12961         (print_result): Show tuple counts in printed representation when
12962         appropriate.
12963         (Fpq_put_nbytes): MULE-ize.
12964         (Fpq_get_line_async): Ditto.
12965
12966 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
12967
12968         * postgresql.c (Fpq_lo_import): Fix return value.
12969         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
12970
12971 2000-03-13  Ben Wing  <ben@xemacs.org>
12972
12973         * alloc.c (pdump_load):
12974         Fix compile warning under mswin.
12975
12976 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
12977
12978         * postgresql.c: Mule-ization, bug fixes.
12979         Use PG_CODING to encapsulate coding system name changes.
12980         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
12981         (pg-coding-system): Create.
12982
12983         (Fpq_conn_defaults): Mule-ize.
12984         (Fpq_connectdb): Mule-ize & bug fix.
12985         (Fpq_connect_start): Mule-ize.
12986         (Fpq_set_client_encoding): Mule-ize.
12987         (Fpq_finish): Document `DEAD' connection status.
12988         (Fpq_clear): Ditto.
12989         (Fpq_pgconn): Mule-ize.
12990         (Fpq_exec): Mule-ize & bug fix.
12991         (Fpq_send_query): Ditto.
12992         (Fpq_get_result): Ditto.
12993         (Fpq_res_status): Mule-ize.
12994         (Fpq_result_error_message): Mule-ize.
12995         (Fpq_ntuples): fix comments.
12996         (Fpq_fname): Mule-ize.
12997         (Fpq_fnumber): Mule-ize.
12998         (Fpq_ftype): fix comments.
12999         (Fpq_get_value): Mule-ize.
13000         (Fpq_cmd_status): Ditto.
13001         (Fpq_cmd_tuples): Ditto.
13002         (Fpq_oid_value): Ditto.
13003         (Fpq_notifies): Ditto.
13004         (Fpq_lo_import): Ditto.
13005         (Fpq_lo_export): Ditto.
13006         (Fpq_get_line): Ditto.
13007         (Fpq_put_line): Mule-ize and bug fix.
13008         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13009
13010 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13011
13012         * postgresql.c (vars_of_postgresql): Mule-ize.
13013         (Fpq_conn_defaults): Ditto.
13014
13015 2000-03-12  Ben Wing  <ben@xemacs.org>
13016
13017         * alloc.c (Fmake_byte_code):
13018         * alloc.c (debug_string_purity_print):
13019         * alloc.c (pdump_backtrace):
13020         * alloc.c (pdump_get_indirect_count):
13021         * alloc.c (pdump_register_sub):
13022         * alloc.c (pdump_register_object):
13023         * alloc.c (pdump_register_struct):
13024         * alloc.c (pdump_dump_data):
13025         * alloc.c (pdump_reloc_one):
13026         Minor cleanups.
13027
13028         * console-msw.c:
13029         * console-msw.c (GetConsoleHwnd):
13030         * console-msw.c (msw_hide_console):
13031         * console-msw.c (msw_show_console):
13032         * console-msw.c (msw_ensure_console_buffered):
13033         * console-msw.c (msw_output_console_string):
13034         * console-msw.c (console_type_create_mswindows):
13035
13036         a) Added functions to manipulate the console window for use with
13037         shell support.
13038
13039         b) Added support for writing text to the console, which is now
13040         used under Windows when xemacs is not being run non-interactively,
13041         to write text that would otherwise be destined for stdout because
13042         under these circumstances, text written to stdout tends to
13043         disappear and not be seen.
13044
13045         * console-msw.h:
13046         * event-Xt.c:
13047         * event-Xt.c (x_event_to_emacs_event):
13048         * event-Xt.c (describe_event_window):
13049         * events-mod.h (XEMACS_MOD_CONTROL):
13050         * events.c:
13051         * events.c (Fmake_event):
13052         * events.c (character_to_event):
13053         * events.c (event_to_character):
13054         * events.c (format_event_object):
13055         * events.c (Fevent_modifiers):
13056         * events.h:
13057         * events.h (struct key_data):
13058         * events.h (struct button_data):
13059         * events.h (struct misc_user_data):
13060         * frame-x.c (Fcde_start_drag_internal):
13061         * frame-x.c (Foffix_start_drag_internal):
13062         * gpmevent.c (Freceive_gpm_event):
13063         * keymap.c:
13064         * keymap.c (bucky_sym_to_bucky_bit):
13065         * keymap.c (control_meta_superify):
13066         * keymap.c (make_key_description):
13067         * keymap.c (keymap_lookup_directly):
13068         * keymap.c (create_bucky_submap):
13069         * keymap.c (keymap_store):
13070         * keymap.c (define_key_check_and_coerce_keysym):
13071         * keymap.c (define_key_parser):
13072         * keymap.c (define_key_alternate_name):
13073         * keymap.c (Fdefine_key):
13074         * keymap.c (raw_lookup_key_mapper):
13075         * keymap.c (struct map_keymap_unsorted_closure):
13076         * keymap.c (map_keymap_unsorted_mapper):
13077         * keymap.c (map_keymap_sort_predicate):
13078         * keymap.c (map_keymap_sorted):
13079         * keymap.c (accessible_keymaps_mapper_1):
13080         * keymap.c (where_is_recursive_mapper):
13081         * keymap.c (describe_map_mapper):
13082         * keymap.c (describe_map_sort_predicate):
13083         * keymap.c (describe_map):
13084         * keymap.c (complex_vars_of_keymap):
13085         And a number of other files, the key modifier preprocessor
13086         constants that xemacs uses have names that conflict with constants
13087         defined under MS Windows for other purposes, so they were renamed
13088         to begin with the prefix XEMACS_. The variables that hold such
13089         modifiers were changed to consistently be of type int to fix
13090         various compile warnings.
13091
13092         * console.c (complex_vars_of_console):
13093         * device.c:
13094         * device-msw.c:
13095         * device-msw.c (mswindows_finish_init_device):
13096         * device-msw.c (msw_get_workspace_coords):
13097         * device-msw.c (mswindows_device_system_metrics):
13098         and various other files, added support for a new
13099         device property called offset-workspace which returns the position
13100         of the upper left corner of the workspace area and goes along with
13101         the existing size-workspace property.
13102
13103         * dialog-msw.c:
13104         * dialog-msw.c (push_bufbyte_string_as_unicode):
13105         * dialog-msw.c (mswindows_popup_dialog_box):
13106         Added support for XEmacs-style accelerator specifications in
13107         button text.  Note: I didn't add support for this under X Windows,
13108         and somebody needs to do this.
13109
13110         * dialog.c:
13111         * dialog.c (Fpopup_dialog_box):
13112         Documented the support for accelerators that was just mentioned.
13113
13114         editfns.c (get_home_directory): Changed behavior under Windows
13115         when HOME not defined; former behavior was irretrievably broken.
13116
13117         * emacs.c:
13118         * emacs.c (main_1):
13119         * emacs.c (main):
13120         * minibuf.c (clear_echo_area_internal):
13121         * minibuf.c (echo_area_append):
13122         * print.c:
13123         * print.c (std_handle_out_external):
13124         * print.c (std_handle_out_va):
13125         * print.c (fatal):
13126         * print.c (write_string_to_stdio_stream):
13127         * print.c (output_string):
13128         * print.c (debug_print):
13129         * print.c (debug_backtrace):
13130         * print.c (debug_short_backtrace):
13131         Cleaned up the code that prints text to stdout so that this can be
13132         changed to output into a console window instead under MS Windows,
13133         as described above.
13134
13135         * eval.c:
13136         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13137         * eval.c (internal_catch):
13138         * eval.c (unwind_to_catch):
13139         * eval.c (throw_or_bomb_out):
13140         * eval.c (condition_case_1):
13141         * eval.c (signal_1):
13142         * eval.c (check_error_state_sanity):
13143         * eval.c (call_with_suspended_errors_1):
13144         * eval.c (call_with_suspended_errors):
13145         * eval.c (reinit_vars_of_eval):
13146         Added code to catch throw loops and check for a pesky bug that may
13147         be gone now.
13148
13149         * event-msw.c:
13150         * event-msw.c (key_needs_default_processing_p):
13151         * event-msw.c (mswindows_wnd_proc):
13152         * event-msw.c (mswindows_modifier_state):
13153         * event-msw.c (emacs_mswindows_quit_p):
13154         * event-msw.c (vars_of_event_mswindows):
13155         a) Added support for using the alt key to select menu items as is
13156         standard under MS Windows.  This is controlled using the variable
13157         menu-accelerator-enabled, just like under X Windows.  There is an
13158         option on the options menu to turn this support on.  I really
13159         think that it should be on by default under Windows, but I'm not
13160         going to make this change yet.
13161
13162         b)  Added support for dynamic display size changes under Windows.
13163
13164         * event-stream.c:
13165         * event-stream.c (maybe_echo_keys):
13166         * event-stream.c (Fnext_event):
13167         * event-stream.c (command_builder_find_leaf):
13168         * event-stream.c (lookup_command_event):
13169         * event-stream.c (execute_command_event):
13170         * event-stream.c (pre_command_hook):
13171         * event-stream.c (post_command_hook):
13172         * event-stream.c (syms_of_event_stream):
13173         * event-stream.c (vars_of_event_stream):
13174         * event-stream.c (complex_vars_of_event_stream):
13175         * events.h (struct command_builder):
13176
13177         a) Tried to clean up a little bit the horribly written x-specific
13178         accelerator code that crept into this file.  I moved this code
13179         into menubar-x.c where it belongs. I also needed to move the
13180         command builder structure into the file events.h because it is
13181         accessed directly by this accelerator code.  What I didn't do, but
13182         which should be done at some point, is to properly abstract this
13183         code using device methods instead of the kludgy way that it
13184         currently hooks into the event code.
13185
13186         b) Added the lisp variables this-command-properties and
13187         last-command- properties, which should be used to synchronize two
13188         adjacent commands in preference to playing games with the variable
13189         this-command, which is typically what happens.
13190
13191         c) Added some slightly nasty code to hook into the lisp support
13192         for shifted- motion-key selection.  This is actually necessary for
13193         somewhat complicated reasons, which are described in
13194         simple.el. (NB: I think the proper thing would be to have the code
13195         that calls the pre and post command hooks also call out to generic
13196         lisp functions in simple.el, where all built-in stuff could be
13197         added.  I will think about this more.)
13198
13199         * event-unixoid.c (poll_fds_for_input):
13200         * lread.c (readchar):
13201         * redisplay-tty.c (tty_clear_frame):
13202         * redisplay-x.c (x_get_gc):
13203         * signal.c (interrupt_signal):
13204         And a whole bunch of other files: fixed up places that printed
13205         directly to stderr to instead call the function stderr_out so that
13206         the changes I made under Windows work correctly.
13207
13208         * filemode.c (mode_string):
13209         Warning fixes.
13210
13211         * frame-msw.c:
13212         * frame-msw.c (mswindows_size_frame_internal):
13213         Fixed the computation of frame size and position to keep the frame
13214         within the workspace area, rather than within the physical
13215         dimensions of the screen, so that the frame doesn't overlap window
13216         manager decorations, such as the start menu and toolbar, typically
13217         at the bottom of the screen.
13218
13219         * frame.c (vars_of_frame):
13220         Changed the default frame title format under MS Windows to consist
13221         of buffername-XEmacs, which is standard under MS Windows.  I think
13222         it might be a good idea to change this everywhere because I think
13223         it is superior to the current frame title format, but this is the
13224         kind of change that is likely to cause some people to get annoyed,
13225         so I'm not making it.
13226
13227         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
13228
13229         * gui-msw.c (mswindows_handle_gui_wm_command):
13230         Fixed compile warnings.
13231
13232         * gui-x.c:
13233         * gui-x.c (strdup_and_add_accel):
13234         * gui-x.c (button_item_to_widget_value):
13235         * gui-x.h:
13236         Added code to automatically put an accelerator onto the beginning
13237         of menu items that don't have one as is now the standard, and is
13238         described more later.  Also fixed things so that the menu item
13239         name can be an evaluated expression, again a new standard.
13240
13241         * gui.c:
13242         * gui.c (gui_item_add_keyval_pair):
13243         * gui.c (make_gui_item_from_keywords_internal):
13244         * gui.c (gui_add_item_keywords_to_plist):
13245         * gui.c (gui_item_accelerator):
13246         * gui.c (gui_name_accelerator):
13247         * gui.c (gui_item_included_p):
13248         * gui.c (gui_item_display_flush_left):
13249         * gui.c (gui_item_display_flush_right):
13250         * gui.c (parse_gui_item_tree_item):
13251         * gui.c (parse_gui_item_tree_children):
13252         * gui.c (parse_gui_item_tree_list):
13253         Mule-ized.  Cleanup.  GCPRO addition.
13254
13255         * line-number.c (buffer_line_number):
13256         * lisp.h:
13257         * lisp.h (EMACS_INT_MAX):
13258         Added the manifest constant EMACS_INT_MIN corresponding to the
13259         existing constant EMACS_INT_MAX.  This is partially to fix compile
13260         warnings under Windows, and partly for cleanliness.
13261
13262         * menubar-msw.c:
13263         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
13264         * menubar-msw.c (msw_translate_menu_or_dialog_item):
13265         * menubar-msw.c (displayable_menu_item):
13266         * menubar-msw.c (populate_menu_add_item):
13267         * menubar-msw.c (populate_or_checksum_helper):
13268         * menubar-msw.c (populate_menu):
13269         * menubar-msw.c (update_frame_menubar_maybe):
13270         * menubar-msw.c (prune_menubar):
13271         * menubar-msw.c (msw_char_is_accelerator):
13272         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
13273         * menubar-msw.c (mswindows_handle_wm_command):
13274         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
13275         * menubar-msw.c (mswindows_handle_wm_initmenu):
13276         * menubar-msw.c (mswindows_update_frame_menubars):
13277         * menubar-msw.c (mswindows_free_frame_menubars):
13278         * menubar-msw.c (mswindows_popup_menu):
13279         Fixed a bug in handling accelerators where an extra character
13280         would be displayed in the menu item.  Also generalized the
13281         function displayable_menu_item because it is now used by the
13282         dialog box code as well.  And finally, added code in the functions
13283         that create the menubar to extract a list of accelerators for the
13284         top level menubar, which is used in the event code to determine
13285         whether a particular alt-key combination should be used to invoke
13286         a menu item, or should be passed through to access the standard
13287         XEmacs keymap binding for this key combination.
13288
13289         Much needed GCPROing.
13290
13291         * menubar-x.c:
13292         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13293         * menubar-x.c (menu_item_descriptor_to_widget_value):
13294         * menubar-x.c (restore_in_menu_callback):
13295         * menubar-x.c (x_popup_menu):
13296         * menubar-x.c (menu_move_up):
13297         * menubar-x.c (menu_move_down):
13298         * menubar-x.c (menu_move_left):
13299         * menubar-x.c (menu_move_right):
13300         * menubar-x.c (menu_select_item):
13301         * menubar-x.c (command_builder_operate_menu_accelerator):
13302         * menubar-x.c (menu_accelerator_junk_on_error):
13303         * menubar-x.c (command_builder_find_menu_accelerator):
13304         * menubar-x.c (Faccelerate_menu):
13305         * menubar.h:
13306         Moved a whole bunch of code here that was previously in
13307         event-stream.c as described above.  There is also code connected
13308         to the new standard of adding an accelerator to the beginning of
13309         menu items that don't have one as described above and below.
13310
13311         * menubar.c:
13312         * menubar.c (menu_parse_submenu_keywords):
13313         * menubar.c (Fmenu_find_real_submenu):
13314         * menubar.c (Fnormalize_menu_item_name):
13315         * menubar.c (syms_of_menubar):
13316         * menubar.c (vars_of_menubar):
13317         * menubar.c (complex_vars_of_menubar):
13318
13319         a) Cleaned up a bunch of documentation and improved it.
13320
13321         b) XEmacs now automatically adds an accelerator onto the beginning
13322         of any menu items that don't have one.  I did this because there
13323         will inevitably be some menu items on the main menubar that don't
13324         have accelerators on them because the package that adds that
13325         particular menu item hasn't yet been fixed up to have accelerators
13326         in them and it looked rather strange to have some items with and
13327         some items without accelerators, especially since even in items
13328         without accelerators, you can, at least under windows, still
13329         access the item through an accelerator corresponding to the first
13330         character in the item's name.  If people don't like this behavior,
13331         I can add a variable to turn it off optionally, but I'm not sure
13332         this is a good idea because we really do need to have accelerators
13333         on all of the menu items, and if a package doesn't like the
13334         accelerators being put on the first character, then it should put
13335         the accelerators where they belong.
13336
13337         c) I made a behavior change, which is that the descriptor that
13338         specifies the text of the menu item, which formerly was just a
13339         string, can now also be an evaluated expression.  This makes this
13340         descriptor parallel with all of the others, which could also be
13341         evaluated expressions.  This also obviates the need for the
13342         keyword :label, which was previously listed in the documentation
13343         as unimplemented, and which was for the same purpose.
13344
13345         d) GCPROing.
13346
13347         * ntproc.c:
13348         * ntproc.c (new_child):
13349         * ntproc.c (sys_spawnve):
13350         * ntproc.c (find_child_console):
13351         * ntproc.c (sys_kill):
13352         Fixed compile warnings.  By the way, this file should really go
13353         away entirely, and this will happen as soon as Kirill makes his
13354         final round of process cleanups, which affect the function
13355         call-process.
13356
13357         * process-nt.c:
13358         * process-nt.c (struct nt_process_data):
13359         * process-nt.c (find_process_from_pid):
13360         * process-nt.c (send_signal_the_nt_way):
13361         * process-nt.c (enable_child_signals):
13362         * process-nt.c (find_child_console):
13363         * process-nt.c (send_signal_the_95_way):
13364         * process-nt.c (nt_finalize_process_data):
13365         * process-nt.c (ensure_console_window_exists):
13366         * process-nt.c (nt_create_process):
13367         * process-nt.c (nt_kill_child_process):
13368         * process-nt.c (nt_kill_process_by_pid):
13369         * process-nt.c (nt_open_network_stream):
13370         * process-nt.c (vars_of_process_nt):
13371         Copied over code from Emacs 20.5 to correctly send signals to sub-
13372         processes under Windows 95.  Also added code to automatically
13373         create and hide console window when a sub-process is created under
13374         Windows 95, which obviates the need for the separate runemacs.exe
13375         executable, and finally implemented some variables that were
13376         implemented in Emacs 20.5, but previously not in XEmacs.  These
13377         include mswindows- start-process-share-console and
13378         mswindows-start-process-inherit-error-mode. (Both of these only
13379         apply to Windows 95.)
13380
13381         * regex.c (regex_compile): Fixed a compile warning.
13382
13383         * select-msw.c:
13384         * select-msw.c (mswindows_own_selection):
13385         * select-msw.c (mswindows_get_foreign_selection):
13386         * select-msw.c (mswindows_disown_selection):
13387         * select-msw.c (console_type_create_select_mswindows):
13388         * select-msw.c (syms_of_select_mswindows):
13389         Cleaned up the file and implemented the device method
13390         selection_exists_p, which had accidentally been left out.  Also
13391         removed four lisp functions that were remnants from before the
13392         time when the selection code was properly device abstracted.
13393         These functions are no longer needed because there are generic
13394         equivalents, and because they were added recently and don't exist
13395         in FSF Emacs, I don't think there's any problem with just deleting
13396         them.
13397
13398         * sysdep.c:
13399         * sysdep.c (sys_subshell):
13400         Fixed a compile warning, although in this case there's probably
13401         something wrong with this code, and it ought to be looked into
13402         more thoroughly by somebody who understands it.
13403
13404         * window.c:
13405         * window.c (Fwindow_text_area_height):
13406         * window.c (Fwindow_width):
13407         * window.c (Fwindow_full_width):
13408         * window.c (Fwindow_pixel_width):
13409         * window.c (debug_print_window):
13410         * window.c (syms_of_window):
13411         Added functions window-text-area-height and window-full-width,
13412         which are functions for returning various width and height
13413         characteristics of a window. (One of these functions is necessary
13414         for making the file dialog box work correctly, and the other one
13415         was added for completeness.)  Also added a table to the
13416         documentation for window-height which describes the entire scheme
13417         for accessing width and height characteristics of a window.
13418
13419 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13420
13421         * nt.c (fstat): Added a comment for another problem with
13422         non-encapsulated [f]stat(), reported by Adrian Aichner
13423         <aichner@ecf.teradyne.com>.
13424
13425 2000-03-11  Andy Piper  <andy@xemacs.org>
13426
13427         * window.c (make_dummy_parent): initialize subwindow instance
13428         cache.
13429         (Fset_window_configuration): zero extent_modiff.
13430
13431 2000-03-10  Andy Piper  <andy@xemacs.org>
13432
13433         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
13434         more changes can be triggered.
13435         (Fredisplay_frame): ditto.
13436         (Fredraw_device): ditto.
13437         (Fredisplay_device): ditto.
13438         (redisplay_frame): make non-static.
13439         (redisplay_frame): call update_frame_gutter_geometry outside of
13440         display proper.
13441
13442         * gutter.h: declare update_frame_gutter_geometry.
13443
13444         * redisplay.h: declare redisplay_frame.
13445
13446         * gutter.c (update_frame_gutter_geometry): move geometry changes
13447         in update_frame_gutters here. Geometry changes can only occur
13448         outside of redisplay.
13449         (update_frame_gutters): remove geometry change code.
13450         (Fredisplay_gutter_area): make sure that we are in display when we
13451         update and that we have flushed any size changes.
13452
13453 2000-03-11  Andy Piper  <andy@xemacs.org>
13454
13455         * alloc.c (pdump_dump_data): remove i & count shadows.
13456
13457 2000-02-27  Mike Alexander  <mta@arbortext.com>
13458
13459         * sysdep.h: Declare pdump_read_file
13460
13461         * sysdep.c (pdump_read_file): New function
13462
13463         * alloc.c (pdump_load): Call pdump_read_file to get the portable
13464         dump data
13465
13466 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13467
13468         * lrecord.h: add `lrecord_type_pgsetenv'.
13469
13470 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
13471
13472         * symsinit.h: declare (vars|syms)_of* functions.
13473         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
13474
13475 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
13476
13477         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
13478
13479         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
13480         GCCs.
13481
13482         * emacs.c (main_1): Call postgres initialization code.
13483
13484         * postgresql.h: New file.  PostgreSQL RDBMS support.
13485         * postgresql.c: New file.
13486
13487 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13488
13489         * redisplay-output.c (redisplay_output_display_block): Disable
13490         redundant code.
13491
13492 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13493
13494         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
13495         (Fcanna_henkan_next): Ditto.
13496         (Fcanna_bunsetu_henkou): Ditto.
13497         (Fcanna_henkan_kakutei): Ditto.
13498         (Fcanna_henkan_end): Ditto.
13499         (Fcanna_henkan_quit): Ditto.
13500         (Fcanna_henkan_next): Set retun value correctly.
13501         (c2mu): Use unsigned char instead of signed char.
13502
13503 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13504
13505         * emacs.c (main_1): Always call syms_of_gui.
13506         * inline.c: include gui.h
13507
13508 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13509
13510         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
13511         converted to Lisp_Object.
13512         (Qtop_bottom): New variable.
13513         (syms_of_redisplay): Initialize it.
13514         * redisplay.h (Vvisible_bell): Ditto.
13515         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
13516         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
13517         only flash top and bottom.
13518
13519 2000-03-08  Andy Piper  <andy@xemacs.org>
13520
13521         * buffer.c (Frename_buffer): record new buffer name the right way.
13522
13523 2000-03-08  Andy Piper  <andy@xemacs.org>
13524
13525         * glyphs.c (update_subwindow): increase hash depth so that widget
13526         items get picked up properly.
13527
13528         * redisplay-output.c (compare_runes): increase hash depth so that
13529         widget items get picked up properly.
13530
13531 2000-03-08  Andy Piper  <andy@xemacs.org>
13532
13533         * gutter.c (output_gutter): add some debug.
13534
13535         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
13536         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
13537         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
13538
13539         * redisplay-output.c (compare_runes): use display_hash to
13540         determine if glyphs really are not the same.
13541
13542         * glyphs.c (update_subwindow): check display_hash to see if
13543         anything really needs to be updated. If not then do
13544         nothing. Record the display_hash after updating.
13545         (image_instance_equal): compare the image_instance face also.
13546
13547 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
13548
13549         * redisplay.h: Fix comment style.
13550
13551 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13552
13553         * consle-msw.h (struct mswindows_frame):
13554         Added new member paint_pending to indicate whether a WM_PAINT
13555         magic event has been queued for this frame.
13556
13557         * event-msw.c (mswindows_drain_windows_queue):
13558         Don't queue a WM_PAINT magic event if one is already queued.
13559         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
13560
13561         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
13562
13563 2000-03-07  Didier Verna  <didier@xemacs.org>
13564
13565         * dired.c: #include `regex.h' after `sysfile.h'.
13566
13567 2000-03-06  Martin Buchholz  <martin@xemacs.org>
13568
13569         * sound.c (init_nas_sound): Fix compiler warning.
13570
13571         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
13572         (FREE_STRUCT_P):
13573         (MARK_STRUCT_AS_FREE):
13574         (MARK_STRUCT_AS_NOT_FREE):
13575         Make `gcc -fstrict-aliasing' work properly.
13576
13577 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13578
13579         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
13580         (mswindows_delete_device): Call CoUnnitialize().
13581
13582         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
13583
13584 2000-02-25    <CraigL@DyCon.com>
13585
13586         * process-nt.c: MinGW now has <shellapi.h>, but still needs
13587         <errno.h>.
13588
13589         * sysdep.c: This extern declaration for environ prevents MinGW
13590         from finding the variable in CRTDLL.DLL.
13591
13592         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
13593         windows headers.
13594         (SHGFI_EXETYPE): ..
13595         (WM_MOUSEWHEEL): ..
13596         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
13597         definitions.
13598         (MMRESULT): Removed, now defined in cygwin's windows headers.
13599         (TIMECAPS): ..
13600         (uid_t,gid_t,pid_t,ssize_t): ..
13601         (_timeb): Removed, MinGW defines both _timeb and timeb.
13602         (HAVE_H_ERRNO): Added.
13603         (HAVE_TZNAME): Added, configure is not detecting this.
13604
13605 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
13606
13607         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
13608         * syntax.c (syntax_match): Use it.
13609
13610         * cmds.c: Import auto-fill-chars from FSF Emacs.
13611         (Vauto_fill_chars): New variables.
13612         (internal_self_insert): Check Vauto_fill_chars.
13613         (vars_of_cmds):
13614         Declare auto-fill-chars as a Lisp variable and initialize it.
13615
13616 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13617
13618         * fileio.c (Fmake_symbolic_link):
13619         (Ffile_symlink_p):
13620         Run handlers even if local machine doesn't have symlinks.
13621
13622 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13623
13624         * event-msw.c (mswindows_drain_windows_queue):
13625         Don't generate paint magic events for non-XEmacs frames.
13626
13627 2000-03-05  Andy Piper  <andy@xemacs.org>
13628
13629         * redisplay.c (redisplay_frame): generate_displayable_area and
13630         friends assumes that we are not in GC, we therefore have to make
13631         sure that this doesn't happen.
13632
13633         * gutter.c (calculate_gutter_size): generate_displayable_area
13634         assumes that we are not in GC, we therefore have to make sure that
13635         this doesn't happen.
13636
13637 2000-03-05  Martin Buchholz  <martin@xemacs.org>
13638
13639         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
13640
13641 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13642
13643         * redisplay.c (regenerate_window): Make sure we set a sane value
13644         for end_pos even if we jump out of the loop.
13645         (regenerate_window): Answer Ben's question :-).
13646         (start_end_of_last_line): Add may_error argument.
13647         (start_of_last_line):
13648         (end_of_last_line): Pass may_error = 0.
13649         (end_of_last_line_may_error): New function.
13650         (pixel_to_glyph_translation): Use it, so we don't crash in
13651         event_to_glyph.
13652
13653 2000-03-04  Andy Piper  <andy@xemacs.org>
13654
13655         * window.h (struct window): add gutter_extent_modiff.
13656
13657         * window.c (allocate_window): zero out gutter_extent_modiff.
13658
13659         * redisplay.h: declare sync_display_line_structs.
13660
13661         * redisplay.c (add_glyph_rune): add a better comment.
13662
13663         * redisplay-output.c (sync_display_line_structs): made non-static.
13664         (compare_runes): remove unneccesary glyph cachel access.
13665
13666         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
13667
13668         * gutter.c (output_gutter): don't output the gutter if extent
13669         changes only involve extents in buffers. use 4 sets of display
13670         lines.
13671         (gutter_extent_signal_changed_region_maybe): new function. Mark
13672         extents in gutters as changed.
13673         (update_frame_gutters): use 4 sets of display lines.
13674         (reset_gutter_display_lines): ditto.
13675         (free_frame_gutters): ditto.
13676         (redraw_exposed_gutter): force output of gutters.
13677
13678         * frame.h (struct frame): add 4 sets of gutter display lines.
13679
13680         * extents.c: (extent_changed_for_redisplay): signal changes to
13681         extents in strings in the gutter as well as extents in buffers.
13682
13683 2000-03-02  Andy Piper  <andy@xemacs.org>
13684
13685         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
13686
13687         * frame.c (Fmake_frame): make sure the gutters get initialized
13688         after the frame is visible.
13689         (set_frame_selected_window): re-arrange compilation macros a
13690         little.
13691         (change_frame_size_1): mark gutters changed.
13692
13693         * device.c (Fset_device_class): mark gutters changed.
13694
13695 2000-03-01  Andy Piper  <andy@xemacs.org>
13696
13697         * window.c (window_top_frame_gutter_height): deleted.
13698         (window_bottom_frame_gutter_height): ditto.
13699         (window_left_frame_gutter_height): ditto.
13700         (window_right_frame_gutter_height): ditto.
13701         (window_top_gutter_height): don't use them.
13702         (window_bottom_gutter_height): ditto.
13703         (window_left_gutter_width): ditto.
13704         (window_right_gutter_width): ditto.
13705         (Fsplit_window): ditto.
13706         (Fwindow_pixel_edges): don't use border dimensions here.
13707
13708         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
13709         (update_scrollbar_instance): ditto.
13710
13711         * redisplay.c (generate_modeline): don't take gutters into account.
13712         (generate_modeline): ditto.
13713         (redisplay_frame): small gutter display optimization.
13714
13715         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
13716
13717         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
13718         gutters into account.
13719
13720         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
13721         for window position and type.
13722
13723         * gutter.c (get_gutter_coords): fix for frame gutters.
13724         (update_frame_gutters): update frame geometry if the gutters have
13725         changed.
13726         (init_frame_gutters): record current gutter geometries.
13727
13728         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
13729         var.
13730         (mswindows_widget_instantiate): ditto.
13731
13732         * frame.h (struct frame): add current_gutter_bounds.
13733
13734         * frame.c (change_frame_size_1): position window and minibuffer
13735         appropriately taking into account the frame gutters.
13736
13737         * frame-x.c: (x_initialize_frame_size): take into account the
13738         frame gutters.
13739
13740 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13741
13742         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
13743
13744 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13745
13746         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
13747
13748 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13749
13750         * file-coding.c (reset_decoding_stream): Clear previous
13751         detection state when autodetect.
13752
13753 2000-02-29  Didier Verna  <didier@xemacs.org>
13754
13755         * extents.c (set_extent_glyph_1): don't require extents to be
13756         attached.
13757
13758 2000-02-27  Andy Piper  <andy@xemacs.org>
13759
13760         * gutter.c (Fset_default_gutter_position): don't default left and
13761         right gutter visibility to t.
13762         (Fset_default_gutter_position): run
13763         default-gutter-position-changed-hook.
13764         (syms_of_gutter): add default-gutter-position-changed-hook.
13765
13766 2000-02-26  Andy Piper  <andy@xemacs.org>
13767
13768         * specifier.c (Fmake_specifier): add gutter references.
13769
13770         * gutter.h (RAW_WINDOW_GUTTER): new macro.
13771
13772         * lisp.h: declare Fvalid_plist_p.
13773
13774         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
13775         as changed.
13776         (default_gutter_visible_p_changed_in_window): invalidate gutter as
13777         well as its visibility so that it gets reconstructed.
13778         (construct_window_gutter_spec): new function. Construct a string
13779         to be displayed in the gutter from a plist of strings. Take care
13780         to only use elements that are declared as visible.
13781         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
13782         WINDOW_GUTTER.
13783         (gutter_validate): allow plists of strings in the specifier.
13784         (gutter_specs_changed): construct the real_gutter from the gutter
13785         specs using construct_window_gutter_spec.
13786         (gutter_visible_validate): gutter-visible is a new specifier type.
13787         (Fgutter_visible_specifier_p): new function for the new specifier.
13788         (syms_of_gutter): declare gutter-visible and
13789         Fgutter_visible_specifier_p.
13790         (specifier_type_create_gutter): intitalize new gutter-visible
13791         specifier.
13792         (reinit_specifier_type_create_gutter): ditto.
13793         (specifier_vars_of_gutter): use new specifier type for gutter
13794         visibility.
13795         (init_frame_gutters): construct real_gutter correctly.
13796         (Fgutter_specifier_p): beef up documentation.
13797         (Fgutter_size_specifier_p): ditto.
13798
13799         * winslots.h: add real_gutter slots.
13800
13801 2000-02-25  Andy Piper  <andy@xemacs.org>
13802
13803         * device-msw.c: Be kind to older cygwin versions. From Raymond
13804         Toy <toy@rtp.ericsson.se>.
13805
13806         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
13807         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
13808
13809 2000-02-25  Martin Buchholz  <martin@xemacs.org>
13810
13811         * elhash.c (MARK_OBJ): Practice macro hygiene.
13812
13813 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13814
13815         * miscplay.c: s/__inline__/inline/g;
13816         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
13817         (get_device_compdc): INLINE ==> static inline
13818         * *.[ch]: Change INLINE to INLINE_HEADER globally.
13819         find -name '*.h' | \
13820         xargs global-replace \
13821         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
13822
13823 2000-02-25  Andy Piper  <andy@xemacs.org>
13824
13825         * window.c (window_top_frame_gutter_height): new function.
13826         (window_top_window_gutter_height): ditto.
13827         (window_top_gutter_height): use them.
13828         (window_bottom_frame_gutter_height): new function.
13829         (window_bottom_window_gutter_height): ditto.
13830         (window_bottom_gutter_height): use them.
13831         (window_left_window_gutter_width): new function.
13832         (window_left_frame_gutter_width): ditto.
13833         (window_left_gutter_width): use them.
13834         (window_right_window_gutter_width): new function.
13835         (window_right_frame_gutter_width): ditto.
13836         (window_right_gutter_width): use them.
13837         (window_pixel_height): new function. calulate window pixel height
13838         with frame gutter involvement.
13839         (Fsplit_window): calculate new sizes taking frame gutters into
13840         account.
13841         (window_char_height_to_pixel_height): don't include frame gutters.
13842         (window_char_height): use window_pixel_height.
13843         (window_pixheight): rename from window_pixel_height.
13844         (change_window_height): use it.
13845         (window_pixel_height_to_char_height): don't include frame gutters.
13846         (window_char_width_to_pixel_width): ditto.
13847
13848 2000-02-25  Andy Piper  <andy@xemacs.org>
13849
13850         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
13851         if it is.
13852
13853 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13854
13855         * alloc.c (staticpro):
13856         (staticpro_nodump):
13857         (dumpstruct):
13858         (dumpopaque):
13859         (pdump_wire):
13860         (pdump_wire_list):
13861         (compact_string_chars):
13862         (pdump_dump_wired):
13863         Convert:  if (foo) abort();  ==>  assert (! foo);
13864
13865         * eldap.c (Fldap_search_basic):
13866         (Fldap_add):
13867         (Fldap_modify):
13868         (Fldap_delete):
13869         Fix compiler warnings, and possible crashes if (random) return
13870         value were to be used.
13871
13872 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13873
13874         * device-msw.c: Workaround ResetDC failure.
13875
13876         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
13877         applying a devmode.
13878
13879         * redisplay-msw.c (get_frame_dc): Added start_page_p.
13880         (mswindows_text_width): Do not start printer page.
13881
13882         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
13883
13884         * glyphs-msw.c: Added image methods to msprinter console and
13885         msprinter-specific image instantiation.
13886
13887 2000-02-20  Mike Alexander  <mta@arbortext.com>
13888
13889         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
13890         to avoid crashes when selection-sets-clipboard is on
13891         (mswindows_own_selection): ditto
13892
13893 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13894
13895         * glyphs-msw.c:
13896         * redisplay-msw.c (get_frame_dc):
13897         (get_frame_compdc):
13898         * console-msw.h:
13899         * device-msw.c (mswindows_init_device):
13900         (mswindows_delete_device):
13901         (msprinter_init_device):
13902         (msprinter_delete_device):
13903         * frame-msw.c (mswindows_init_frame_1):
13904         (mswindows_delete_frame):
13905         (msprinter_init_frame_3):
13906         (msprinter_delete_frame): Move compatible DC to device object from
13907         frame object, for both mswindows and msprinter. Only one at a time
13908         is needed, it is a real waste to have one per frame!
13909
13910 2000-02-23  Andy Piper  <andy@xemacs.org>
13911
13912         * glyphs.c: add dynamic width and height elements.
13913         (image_instance_equal): ditto.
13914
13915         * glyphs-widget.c (widget_query_geometry): calculate width and
13916         height dynamically if required.
13917         (initialize_widget_image_instance): initialize dynamic dimensions.
13918         (widget_instantiate): pick-up dynamic dimensions.
13919
13920         * glyphs.h (struct Lisp_Image_Instance): add width and height for
13921         dynamic determination. Add appropriate macros.
13922
13923         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
13924         dimensions safe.
13925         (WINDOW_GUTTER_SIZE): ditto.
13926         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
13927
13928         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
13929         inline.
13930         (get_frame_dc): ditto.
13931
13932         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
13933         here.
13934
13935 2000-02-23  Martin Buchholz <martin@xemacs.org>
13936
13937         * XEmacs 21.2.31 is released.
13938
13939 2000-02-22  Ben Wing <ben@xemacs.org>
13940
13941         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
13942
13943 2000-02-22  Andy Piper  <andy@xemacs.org>
13944
13945         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
13946
13947 2000-02-21  Mike Sperber <mike@xemacs.org>
13948
13949         * .dbxrc:
13950         * .gdbinit:
13951         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
13952         variables.
13953
13954 2000-02-21  Mike Sperber <mike@xemacs.org>
13955
13956         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
13957
13958 2000-02-21  Martin Buchholz <martin@xemacs.org>
13959
13960         * XEmacs 21.2.30 is released.
13961
13962 2000-02-20  Martin Buchholz  <martin@xemacs.org>
13963
13964         Performance hacking.
13965         * *.c (syms_of_*):
13966         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
13967         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
13968         * emacs.c (main_1):
13969         * lisp.h (DEFUN):
13970         * console.c (DEFVAR_CONSOLE_LOCAL_1):
13971         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
13972         * symeval.h (DEFVAR_SYMVAL_FWD):
13973         * symbols.c (guts_of_unbound_marker):
13974         Make all c_readonly objects also lisp_readonly and marked for life.
13975         * lrecord.h (struct lrecord_implementation):
13976         Document flags better.
13977         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
13978         * lrecord.h (DECLARE_LRECORD):
13979         * lrecord.h (XSETRECORD):
13980         * lrecord.h (RECORDP):
13981         * lrecord.h (RECORD_TYPEP):
13982         * lrecord.h (RECORD_MARKER): New.
13983         * lrecord.h (error_check_*):
13984         * lrecord.h (CONCHECK_NONRECORD):
13985         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
13986         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
13987         * lrecord.h (set_lheader_implementation):
13988         * lrecord.h (enum lrecord_type): New.
13989         * symeval.h (SYMBOL_VALUE_MAGIC_P):
13990         * alloc.c (disksave_object_finalization_1):
13991         * alloc.c (mark_object):
13992         * alloc.c (lrecord_type_index):
13993         * alloc.c (tick_lcrecord_stats):
13994         * alloc.c (Fgarbage_collect):
13995         * alloc.c (init_alloc_once_early):
13996         * alloc.c (pdump_load):
13997         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
13998         * alloc.c (lrecord_type_index): Delete.
13999         Make lisp object type indexes be constant.
14000           Makes (byte-compile) 5% faster.
14001         Put all marker functions into their own array.
14002           Makes (garbage-collect) 5% faster.
14003         Optimize SYMBOL_VALUE_MAGIC_P.
14004           Makes (byte-compile) 2-3% faster.
14005         * config.h.in (gc_checking_assert): New.
14006         * alloc.c: Use gc_checking_assert().
14007         * .dbxrc: Make compatible with new object type implementation.
14008         * .gdbinit: Make compatible with new object type implementation.
14009         * alloc.c: Delete all symbols defined only for debugging, such as
14010         Lisp_Type_Vector and lrecord_charset.
14011
14012 2000-02-21  Andy Piper  <andy@xemacs.org>
14013
14014         * gui-msw.c (Fmswindows_shell_execute): fix file location
14015         problems.
14016
14017         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14018         unshowing so that set_window_buffer doesn't undo
14019         kill_buffer_hook's hard work.
14020
14021         * glyphs-widget.c (tab_control_query_geometry): don't count the
14022         first item when calculating geometry.
14023
14024         * glyphs.c (map_subwindow): remove redundant code.
14025         (update_frame_subwindows): be more circumspect about when to
14026         update subwindows.
14027
14028         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14029         when items haven't changed. Update faces if faces have changed as
14030         well as just the widget face.
14031         (x_tab_control_update): Update faces if faces have changed as well
14032         as just the widget face.
14033
14034 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14035
14036         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14037         registration.
14038         (build_syscolor_string): Use mswindows_color_to_string to try to
14039         get a named color.
14040         (mswindows_device_system_metrics): Reverse the foreground and
14041         background colors so that they match the documentation.
14042
14043         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14044         they match the default Windows palette.
14045         (mswindows_color_to_string): New function.
14046
14047 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14048
14049         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14050
14051 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14052
14053         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14054         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14055
14056         * symbols.c (init_symbols_once_early): Removed obsolete
14057         DATA_SEG_BITS related kludge.
14058         (defvar_magic): Ditto.
14059
14060         * malloc.c: Removed obsolete DATA_SEG_BITS
14061         * ralloc.c: Ditto.
14062         * mem-limits.h: Ditto.
14063
14064         * Makefile.in.in: Removed obsolete HAVE_SHM
14065         * emacs.c: Ditto.
14066
14067 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14068
14069         *  device-msw.c (mswindows_delete_device): Free DDE string
14070         handles.
14071
14072 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14073
14074         * keymap.c (get_keyelt):
14075         * unexnt.c (unexec):
14076         * vm-limit.c (memory_warnings):
14077         * ntheap.c (recreate_heap):
14078         * ntheap.h (UNINIT_PTR):
14079         * select-msw.c (Fmswindows_get_clipboard):
14080         (Fmswindows_set_clipboard):
14081         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14082         * objects-msw.c:
14083         * menubar-msw.c (displayable_menu_item):
14084         * glyphs-msw.c:
14085         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14086         * sysdep.c (sys_subshell):
14087         * process-nt.c (nt_create_process):
14088         * nt.c (normalize_filename):
14089         (dostounix_filename):
14090         (unixtodos_filename):
14091         * ntproc.c (win32_executable_type):
14092         * ntplay.c (play_sound_data_1):
14093         (play_sound_file):
14094         * editfns.c (get_home_directory):
14095         * event-msw.c (struct winsock_stream):
14096         (mswindows_dde_callback):
14097         * device-msw.c (msprinter_init_device):
14098         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14099
14100         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14101         mswindows_clear_toolbar were swapped!
14102
14103         * objects-msw.c:(colormap_t):
14104         (fontmap_t):
14105         * emacs.c (struct standard_args): Fixed const jumble.
14106
14107         * glyphs-widget.c (update_widget): Fixed comparison notation.
14108
14109         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14110
14111         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14112         __declspec(noreturn) syntax.
14113
14114 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14115
14116         * eldap.c (Fldap_open):
14117         (Fldap_search_basic):
14118         (Fldap_add):
14119         (Fldap_modify):
14120         Use new coding system conversion macros.
14121
14122 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14123
14124         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14125
14126 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14127
14128         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14129         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14130
14131         * eldap.c (Qadd, Qreplace): New constant symbols
14132         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14133         interruptions by XEmacs signals
14134         Remove unnecessary calls to slow_down_interrupts and
14135         speed_up_interrupts
14136         (Fldap_search_basic): Renamed from Fldap_search_internal
14137         Added new optional parameter VERBOSE that triggers the
14138         display of progress messages
14139         Remove unnecessary calls to slow_down_interrupts and
14140         speed_up_interrupts
14141         LDAP result code analysis rewritten
14142         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14143         (syms_of_eldap): Define the new symbols and functions
14144
14145
14146 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14147
14148         * realpath.c: Determine PATH_MAX maximally portably.
14149
14150         * insdel.c (bytecount_to_charcount): Optimize.
14151         The function used to be optimized for entirely ASCII sequences.
14152         Now it is optimized for successive characters from the same
14153         charset.  This also wins big for _mostly_ ASCII sequences.
14154
14155         * fileio.c (Ffile_truename): convert return from realpath() using
14156         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14157         - Rewrite GCPROing slightly.
14158
14159         * sysdep.c (sys_open): Do filename conversion, like all other
14160         sys_* functions.  Fixes bug:
14161         (let ((file-name-coding-system 'iso-8859-2))
14162            (write-region x y latin2-name))
14163         ==> writes filename using internal encoding.
14164
14165 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14166
14167         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14168         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14169         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14170         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14171         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14172         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14173         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14174         (CONST_IF_NOT_DEBUG): Delete.
14175         * alloc.c (this_one_is_unmarkable): Delete.
14176         (mark_object): Don't check for this_one_is_unmarkable. Use the
14177         c_readonly flag instead.
14178         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14179
14180 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14181
14182         * event-msw.c (mswindows_drain_windows_queue):
14183         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14184         away redundant repaint events.
14185
14186 2000-02-17  Andy Piper  <andy@xemacs.org>
14187
14188         * redisplay.h: declare mark_redisplay_structs.
14189
14190         * redisplay.c (redisplay_window):
14191         (redisplay_frame): don't check subwindows_state_changed.
14192         (mark_redisplay): mark gutters here.
14193
14194         * glyphs.c: (instantiate_image_instantiator): always layout if we
14195         haven't done so already.
14196         (allocate_image_instance): don't mark as dirty.
14197         (update_subwindow): bind inhibit_quit.
14198
14199         * gutter.c (mark_gutters): new function.
14200
14201         * glyphs-x.c (x_update_widget): Always resize to get round a
14202         widget bug.
14203
14204         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14205         breaking absolutely everything.
14206
14207         * gutter.h: declare mark_gutters.
14208
14209 2000-02-16  Martin Buchholz <martin@xemacs.org>
14210
14211         * XEmacs 21.2.29 is released.
14212
14213 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14214
14215         * fns.c (size_bit_vector): Fix computation of the size.
14216
14217 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14218
14219         * *.[ch]: Change CONST to const globally.
14220         find -name '*.[ch]' | \
14221         xargs global-replace \
14222         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
14223         - Remove vestigial references to CONST_IS_LOSING
14224
14225 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14226
14227         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
14228         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
14229         events instead of dispatching them directly.
14230         (mswindows_handle_paint): New function to do repainting.
14231         (mswindows_wnd_proc):
14232         (emacs_mswindows_handle_magic_event): Call above function.
14233
14234 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14235
14236         * objects-msw.c (mswindows_create_font_variant): Return the new
14237         font handle.
14238         (initialize_font_instance): Get font metrics from the underlined
14239         variant of the font to cope with the case where the underlined
14240         font has a bigger descent.
14241
14242 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14243
14244         * gui.c (gui_item_accelerator): Return the first underlined
14245         character in item name.
14246
14247 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14248
14249         * lisp.h: Added Qprinter.
14250
14251         * general.c (syms_of_general): Initialized it.
14252
14253         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
14254         (get_frame_dc):
14255         (get_frame_compdc): Made inline.
14256
14257         * console.h (struct console_methods): Added eject_page method.
14258
14259         * frame.h: Added FRAME_DISPLAY_P and friends.
14260         Aligned backslahes in many macros in more readable fashion.
14261         Added page_number to struct frame, and an accessor macro
14262         for it.
14263
14264         * defice.h: Added DEVICE_DISPLAY_P and friends.
14265
14266         * device.c (Fdevice_printer_p): Used these.
14267
14268         * frame.c (allocate_frame_core): Initialize page number.
14269         (Fprint_job_page_number):
14270         (Fprint_job_eject_page): Implemented.
14271
14272         * frame-msw.c (msprinter_eject_page): Added method.
14273         (msprinter_start_page): Added.
14274
14275         * window.c (Fwindow_truncated_p): Fixed docstring.
14276         (Fwindow_last_line_visible_height): Implemented.
14277
14278 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14279
14280         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
14281
14282 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14283
14284         * syntax.c (scan_words): Always advance at least one character.
14285
14286 2000-02-13  Andy Piper  <andy@xemacs.org>
14287
14288         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
14289         to make sure the glyph is in the cachels.
14290
14291         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
14292         global image instance flag.
14293         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
14294         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
14295
14296         * glyphs.c (allocate_image_instance): set dirty bits correctly.
14297         (Fset_image_instance_property): mark layout as changed.
14298         (invalidate_glyph_geometry_maybe): mark layout as changed.
14299         (glyph_width): use new NEEDS_LAYOUT macro.
14300         (glyph_ascent): ditto.
14301         (glyph_descent): ditto.
14302         (glyph_height): ditto.
14303         (image_instance_layout): mark layout as clean after laying out.
14304         (update_subwindow): don't mark layout as clean here.
14305
14306         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
14307         should no longer be needed.
14308
14309         * glyphs-x.c (x_update_widget): sanitize asserts.
14310         (x_finalize_image_instance): sanitize assignment to widgets.
14311
14312         * glyphs-widget.c (widget_instantiate): don't need to clear the
14313         layout flag here.
14314
14315 2000-02-13  Martin Buchholz  <martin@xemacs.org>
14316
14317         * sysdep.c (getcwd): Use standard prototype.
14318         * sysdep.h (getcwd): Use standard prototype.
14319
14320         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
14321         (sequence, start, end).
14322         Remove redundant type checking.
14323         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
14324         view of `caller-protects') to avoid a crash where the real fix was
14325         found elsewhere.
14326
14327 2000-02-12  Martin Buchholz  <martin@xemacs.org>
14328
14329         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
14330
14331         * s/sol2.h: Remove feature macro initialization.
14332
14333         * alloc.c (alloc_lcrecord): Add more type checking assertions.
14334         (vector_hash): New.  Code from internal_hash.
14335         * lrecord.h:
14336         Fix up allocation subsystem comments.
14337
14338         * config.h.in: Add __EXTENSIONS__ for Solaris.
14339
14340         * systime.h (EMACS_GETTIMEOFDAY): New.
14341         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
14342         Remove Solaris-specific code.
14343         Use void* for the (ignored) second arg for gettimeofday().
14344
14345         * elhash.c (hash_table_hash): Implement it, finally.
14346         * elhash.c:  Use hashcode_t.
14347
14348         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
14349         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
14350
14351         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
14352         * fns.c (size_bit_vector):
14353         * alloc.c (size_vector):
14354         (make_vector_internal):
14355         (make_bit_vector_internal):
14356         (sweep_bit_vectors_1):
14357         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
14358
14359 2000-02-10  Martin Buchholz  <martin@xemacs.org>
14360
14361         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
14362         Include strings.h to avoid warnings for bzero and strcasecmp.
14363
14364 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14365
14366         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
14367         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
14368
14369         * fns.c (size_bit_vector): New.  Declare bit vectors as a
14370         sequence.
14371
14372 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14373
14374         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
14375         use a value field instead.
14376         (symbol_value_forward_forward): Use value field.
14377         (DEFVAR_SYMVAL_FWD): Use value field.
14378         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
14379         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
14380         (DEFVAR_CONST_INT): Ditto.
14381         (DEFVAR_BOOL): Ditto.
14382         (DEFVAR_CONST_BOOL): Ditto.
14383         (DEFVAR_INT_MAGIC): Ditto.
14384         (DEFVAR_BOOL_MAGIC): Ditto.
14385
14386         * symbols.c (guts_of_unbound_marker): Use value field.
14387         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
14388         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
14389
14390         * lisp.h: Declare dumpopaque and noninteractive1.
14391
14392         * alloc.c (dumpopaque): Added.
14393         (pdump_dump_opaquevec): Added.
14394         (pdump): Call pdump_dump_opaquevec to dump opaque data.
14395         (pdump_load): Reload opaque data.  Sync noninteractive1 with
14396         noninteractive.
14397
14398 2000-02-10  Andy Piper  <andy@xemacs.org>
14399
14400         * glyphs.c (image_instance_layout): if the size changes, mark it
14401         as such.
14402
14403         * redisplay-output.c (redisplay_output_layout): Update the
14404         subwindow here.
14405         (redisplay_output_subwindow): ditto.
14406
14407         * glyphs.c (update_subwindow): make sure we reset flags for
14408         layouts as well as everything else.
14409
14410         * glyphs-widget.c (layout_layout): don't need to set the instances
14411         dimensions here.
14412
14413 2000-02-09  Martin Buchholz  <martin@xemacs.org>
14414
14415         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
14416         not HAVE_DLOPEN, which is a lower-level thing.
14417
14418         * .cvsignore: Ignore gmon.out
14419
14420 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
14421
14422         * .cvsignore: Ignore portable dumper xemacs.dmp file
14423
14424 2000-02-09  Andy Piper  <andy@xemacs.org>
14425
14426         * redisplay-output.c (redisplay_output_layout): be more clever
14427         about when we output based on the changed flags.
14428
14429         * glyphs.h (struct image_instantiator_methods): add update_method.
14430         (struct Lisp_Image_Instance): add changed flags. Declare new
14431         macros for manipulating them.
14432
14433         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
14434         (image_instance_parent_glyph): find an image_instance's parent
14435         glyph or image_instance.
14436         (image_instance_layout): mark the size as changed.
14437         (set_image_instance_dirty_p): new function. mark an image
14438         instance, plus all of its parents, as dirty.
14439         (Fset_image_instance_property): use it.
14440         (Fglyph_animated_timeout_handler): use it.
14441         (update_subwindow): call update_widget and device methods for
14442         update_subwindow. Mark all changed flags as clean.
14443         (Fresize_subwindow): mark size as changed.
14444
14445         * glyphs-x.c (x_finalize_image_instance): try and detect gc
14446         failures.
14447         (x_update_subwindow): only resize subwindows here.
14448         (x_update_widget): new function. Update all changed properties of
14449         a widget.
14450         (x_resize_subwindow): deleted.
14451         (x_widget_set_property): deleted.
14452         (x_progress_gauge_set_property): deleted.
14453         (x_progress_gauge_update): new function. Implement recorded
14454         changes.
14455         (x_tab_control_update): ditto.
14456         (x_tab_control_set_property): deleted.
14457         (console_type_create_glyphs_x): declare new functions.
14458         (image_instantiator_format_create_glyphs_x): ditto.
14459
14460         * glyphs-widget.c (widget_set_property): mark text changed.
14461         (update_widget): new function. Update properties of a widget.
14462         (widget_instantiate): for layouts make sure we set their
14463         children's parent correctly.
14464         (tab_control_set_property): new function. Record changes that will
14465         take place under redisplay's control.
14466         (progress_gauge_set_property): ditto.
14467         (image_instantiator_progress_guage): declare new functions.
14468         (image_instantiator_tab_control): ditto.
14469
14470         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
14471         now.
14472         (mswindows_update_widget): new function. Update all properties on
14473         a widget that have changed.
14474         (mswindows_button_update): new function. Update a button's set
14475         state.
14476         (mswindows_tab_control_update): new function. Update the items in
14477         a tab.
14478         (mswindows_tab_control_set_property): deleted.
14479         (mswindows_progress_gauge_update): new function. Update the
14480         progress gauge's progress.
14481         (mswindows_widget_set_property): deleted. This is all done
14482         asynchronously now.
14483         (mswindows_progress_gauge_set_property): ditto.
14484         (console_type_create_glyphs_mswindows): declare new methods.
14485         (image_instantiator_format_create_glyphs_mswindows): ditto.
14486
14487         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
14488         (msprinter_set_frame_properties): ditto.
14489
14490         * console.h (struct console_methods): Add update_widget_method.
14491
14492 2000-02-09  Andy Piper  <andy@xemacs.org>
14493
14494         * gui-msw.c (Fmswindows_shell_execute): Make
14495         mswindows-shell-execute industrial strength.
14496
14497 2000-02-08  Martin Buchholz  <martin@xemacs.org>
14498
14499         * lrecord.h: Make macro argument `props' match member function `plist'.
14500         * fns.c (Fget):
14501         * fns.c (Fput):
14502         * fns.c (Fremprop):
14503         * fns.c (Fobject_plist):
14504         * alloc.c:
14505         * symbols.c:
14506         Object property list frobbing cleanup.
14507         - Allow any lisp object (compared with `eq'), not just symbols, as
14508           keys in object plists.
14509         - Move symbol plist frobbing into symbols.c, where it belongs.
14510         - Move string plist frobbing into alloc.c, where it belongs.
14511         - Everything's an lrecord now, so no need to test for symbolp, etc.
14512         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
14513
14514         * extents.c: Reorder code to remove declarations.
14515
14516         * frame.h (store_in_alist): Remove useless declaration.
14517
14518 2000-02-07  Martin Buchholz  <martin@xemacs.org>
14519
14520         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
14521         * config.h.in: Add HAVE_XCONVERTCASE.
14522
14523 2000-02-07  Andy Piper  <andy@xemacs.org>
14524
14525         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
14526         it breaks many things.
14527
14528 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14529
14530         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
14531         actually can start a common comment type.
14532         * src/syntax.h (SYNTAX_END_P): ditto for end.
14533
14534 2000-02-07  Martin Buchholz <martin@xemacs.org>
14535
14536         * XEmacs 21.2.28 is released.
14537
14538 2000-02-06  Martin Buchholz  <martin@xemacs.org>
14539
14540         * event-Xt.c (x_keysym_to_character): New.
14541         (maybe_define_x_key_as_self_inserting_character): New.
14542         (x_has_keysym): New.
14543         Auto-define all keys on the keyboard as self-insert-key.
14544
14545 2000-02-02  Martin Buchholz  <martin@xemacs.org>
14546
14547         * menubar.c (vars_of_menubar): A small code simplification.
14548
14549         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
14550
14551         * ExternalShell.c:
14552         * ExternalClient.c:
14553         * EmacsShell-sub.c:
14554         * EmacsManager.c:
14555         * EmacsFrame.c:
14556         Use consistent style for specifying X resources.
14557
14558         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
14559         This makes (dontusethis-set-symbol-value-handler) actually usable.
14560
14561         * lrecord.h (lrecord_decription_type):
14562         * alloc.c (pdump_register_sub):
14563         (pdump_dump_data):
14564         (pdump_reloc_one):
14565         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
14566         Comply with XEmacs coding style.
14567         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
14568         args, and XD_LISP_OBJECT_ARRAY with 3 args.
14569
14570         * keymap.c (Faccessible_keymaps):
14571         Make (accessible-keymaps map "\C-h") do the Right Thing.
14572         Make (accessible-keymaps map []) do the Right Thing.
14573         Make (accessible-keymaps map "") do the Right Thing.
14574         (check_keymap_definition_loop): New function.
14575         (keymap_store_internal): Keep luser from shooting self in foot,
14576           via (define-key ctl-x-4-map "p" global-map).
14577         Remove fullness slot from struct Lisp_Keymap, since hash tables
14578         are now reliable.
14579         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
14580
14581 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14582
14583         * redisplay.c (init_redisplay): Fix small memory leak.
14584         * elhash.h:
14585         * elhash.c (pdump_reorganize_hash_table):
14586         Rename from reorganize_hash_table. Change prototype.
14587         Reuse the original memory for hentries.  Save 100k.
14588         * alloc.c (PDUMP_READ): new macro.
14589         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
14590         * alloc.c: No need to #ifndef before #undef.
14591
14592         * print.c: Allow debug_print() to print readably by modifying
14593         debug_print_readably.  Use consistent variable names.
14594
14595         * .dbxrc: Try to get things to work even if stopped in a function
14596         without source available by explicitly specifying source files.
14597 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14598
14599         * unexnt.c (_start): Removed bogus code which caused loading heap
14600         from differrent executable file.
14601         Removed bogus assignment to _fmode, which caused inconsistencies.
14602
14603 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14604
14605         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
14606         Have spawnve encapsulation regard DONT_ENCAPSULATE.
14607         Do not preliminary `#define signal sigset'.
14608
14609         * systime.h: Do not prototype environ on windows nt and cygwin,
14610         this conflicts with system header.
14611
14612         * syssignal.h: Use correct define for WINDOWSNT
14613
14614         * sysdep.h: Do not prototype environ on windows nt, this conflicts
14615         with system header.
14616
14617         * sysdep.c (near start of file): Fixed commentary and rearranged
14618         ifdefs in readable order.
14619         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
14620         (start_of_text):
14621         (end_of_text):
14622         (end_of_data): Do not compile in if using PDUMP.
14623
14624         * symsinit.h: Prototyped vars_of_nt().
14625
14626         * ntproc.c (windows9x_p): Added, instead of os_subtype.
14627         (find_child_console): Use it.
14628         (sys_kill): Use it.
14629
14630         * ntheap.h: Do not extern os_subtype.
14631
14632         * ntheap.c (cache_system_info): Do not cache unneeded:
14633         nt_major_version, nt_minor_version and os_subtype.
14634         (recreate_heap): Do not compile in when PDUMPing.
14635
14636         * nt.c (geteuid and friends): Use the new varibale
14637         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
14638         (init_user_info): Removed the above mentioned hackery.
14639         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
14640         stat has been fixed in the C runtime.
14641         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
14642
14643         * file-coding.c (struct file_coding_dump): Do not define
14644         ucs_to_mule_table in the struct if not MULE.
14645         (struct struct lrecord_description fcd_description_1): Do not dump
14646         the above.
14647
14648         * emacs.c (main_1): Call vars_of_nt().
14649         (right before Fdump_emacs_data): Don't need lastfile if using both
14650         portabe dumper and system malloc.
14651
14652         * alloc.c (Fmemory_limit): Conditionalized out.
14653         (pdump): Use OPEN_BINARY for the portable dump file.
14654         (pdump_load): Ditto.
14655
14656 2000-02-02  Mike Alexander  <mta@arbortext.com>
14657
14658         * nt.c (convert_time): Set tm_isdst before calling mktime and
14659         avoid calling it at all if the compiler supports 64 bit integers.
14660         Also initialize utc_base_ft before using it.
14661
14662 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14663
14664         * frame.c (change_frame_size_1): Take f->internal_border_width
14665         into consideration when calculating the width of the frame.
14666
14667 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14668
14669         * window.c (frame_min_height):
14670         (frame_size_valid_p):
14671         (frame_pixsize_valid_p): Added.
14672         (check_frame_size): Generalized.
14673
14674         * window.h: Prototyped the above.
14675
14676         * lisp.h:
14677         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
14678         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
14679         Deleted Vwin32_* and Vbinary_process_* unused variables.
14680
14681         * device-msw.c (msprinter_init_device): Do not get printer font
14682         list; Added DEVMODE functions.
14683
14684         * frame-msw.c: Added lots of printer code.
14685
14686         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
14687         general.c.
14688
14689         * console-msw.h: Added more msprinter device private slots.
14690
14691 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14692
14693         * event-msw.c (key_needs_default_processing_p): Added.
14694         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
14695
14696 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14697
14698         * glyphs.c (image_instance_layout): Mark image instance as clean
14699         after layout.
14700         (glyph_dirty_p): Removed redundant function.
14701         (invalidate_glyph_geometry_maybe): Added.
14702         (update_glyph_cachel_data): Call it.
14703
14704         * glyphs.h: Prototyped it.
14705
14706         * redisplay.c (add_glyph_rune): Call it.
14707         (redisplay_window): Reset glyphs cachels when frame faces have
14708         changed, thus forcing recomputation of built-in border glyphs.
14709
14710 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14711
14712         * Makefile.in.in: Make portable dumper and purify play well together.
14713         Add imperfect, but better than nothing, support for pdump.
14714         Remove xemacs.dmp when temacs is re-generated.
14715         Don't ignore errors when dumping xemacs.
14716
14717         * symbols.c (maybe_call_magic_handler): Remove one magic number.
14718
14719 2000-01-28  Andy Piper  <andy@xemacs.org>
14720
14721         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
14722         (setup_normal_frame): ditto.
14723         (setup_frame_without_minibuffer): ditto.
14724         (setup_minibuffer_frame): ditto.
14725         (delete_frame_internal): ditto.
14726         (Fmake_frame_invisible): ditto.
14727         (Ficonify_frame): ditto.
14728
14729         * window.h: change Fset_window_buffer signature.
14730
14731         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
14732         (Fset_window_buffer): allow recording of buffer if the window is
14733         the selected window.
14734         (window_loop): Use new Fset_window signature.
14735
14736 2000-01-23  Daniel Pittman  <daniel@danann.net>
14737
14738         * config.h.in: Added template for `HAVE_ATHENA_3D'
14739
14740 2000-01-29  Andy Piper  <andy@xemacs.org>
14741
14742         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
14743
14744         * gutter.c (output_gutter): Don't output if the window isn't live.
14745
14746 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14747
14748         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
14749         of 01/12/00: Moved SetFocus back here where it belongs.
14750
14751 2000-01-23  Andy Piper  <andy@xemacs.org>
14752
14753         * s/cygwin32.h: declare printer things.
14754
14755 2000-01-26  Andy Piper  <andy@xemacs.org>
14756
14757         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
14758         Alexander.
14759
14760 2000-01-24  Andy Piper  <andy@xemacs.org>
14761
14762         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
14763         (mswindows_button_instantiate): Make sure glyph is a pixmap.
14764
14765         * glyphs-widget.c (widget_instantiate): Avoid shadows.
14766
14767         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
14768
14769         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
14770
14771         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
14772         (mswindows_output_display_block): Avoid local shadows.
14773
14774         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
14775         (mswindows_enqueue_mouse_button_event): ditto.
14776         (mswindows_handle_gui_wm_command): remove declaration.
14777
14778         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
14779         warnings.
14780
14781         * console-msw.h: Avoid shadows.
14782         (mswindows_get_toolbar_button_text):
14783         (emacs_mswindows_create_stream_pair):
14784         (emacs_mswindows_delete_stream_pair):
14785         (mswindows_handle_toolbar_wm_command): declare.
14786
14787         * device-msw.c (build_syscolor_string): Avoid shadows.
14788
14789 2000-01-23  Andy Piper  <andy@xemacs.org>
14790
14791         * glyphs-widget.c (widget_instantiate): reverse the items for
14792         layouts so that children are in the expected order.
14793
14794 2000-01-28  Martin Buchholz  <martin@xemacs.org>
14795
14796         * ralloc.c: safe_bcopy ==> memmove
14797         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
14798         * s/msdos.h: Remove BCOPY macros.
14799         * insdel.c (gap_right): Remove BCOPY conditional code.
14800         * insdel.c (gap_left): Remove BCOPY conditional code.
14801         XEmacs demands a working ANSI C compiler - hence memmove.
14802
14803         * regex.c (regex_compile): Remove accidental use of trigraphs.
14804
14805 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14806
14807         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
14808         event timestamp.
14809
14810 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14811
14812         * event-msw.c (mswindows_drain_windows_queue): Added the
14813         parameter.
14814         (mswindows_need_event): Commented the call to
14815         mswindows_drain_windows_queue().
14816         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
14817         only.
14818
14819         * console-msw.h: Moved a few function prototypes here from
14820         event-msw.c.
14821
14822         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
14823         parameter from unsigned short to unsigned long.
14824         (Fmswindows_shell_execute): Added return value.
14825
14826 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14827
14828         * sysdep.c (init_system_name):
14829           process-unix.c (unix_canonicalized_host_name):
14830         Don't call freeaddrinfo() if getaddrinfo() fails.
14831
14832         * process-unix.c (unix_open_unix_network_stream):
14833         Moved the code to get a port # into address loop.
14834
14835 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14836
14837         * buffer.c (reinit_vars_of_buffer):
14838         The right place to initialize conversion_in_dynarr and
14839         conversion_out_dynarr.
14840
14841         * alloc.c (pdump): Use the real open() till sys_open() is functional.
14842
14843         * process-unix.c (unix_canonicalize_host_name): Muleize.
14844         (unix_open_network_stream): Muleize.
14845
14846         * buffer.h: Fix up prototypes for ralloc.c functions.
14847
14848 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14849         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
14850         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
14851                 instead of gethostbyname()
14852         * process-unix.c: In unix_canonicalize_host_name() and
14853                 unix_open_network_stream(), add code to use getaddrinfo()
14854                 instead of gethostbyname().
14855
14856 2000-01-27  Daniel Pittman <daniel@danann.net>
14857
14858         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
14859         libs when built with flat Athena.
14860
14861 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14862
14863         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
14864         Use coding standards for function prototypes.
14865
14866 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14867
14868         * dialog-msw.c (push_lisp_string_as_unicode):
14869         * doc.c (unparesseuxify_doc_string):
14870         * dired.c (Fuser_name_completion_1):
14871         * dired.c (Fuser_name_all_completions):
14872         * dired.c (free_user_cache):
14873         * dired.c (user_name_completion):
14874         * console-x.c (get_display_arg_connection):
14875         * minibuf.c (clear_echo_area_internal):
14876         * minibuf.c (echo_area_append):
14877         * eldap.c (Fldap_open):
14878         * eldap.c (Fldap_search_internal):
14879         * frame-x.c (x_set_frame_text_value):
14880         * frame-x.c (x_set_frame_properties):
14881         * frame-x.c (x_create_widgets):
14882         * redisplay-tty.c (term_get_fkeys_1):
14883         * objects-x.c (x_parse_nearest_color):
14884         * objects-x.c (x_valid_color_name_p):
14885         * objects-x.c (x_initialize_font_instance):
14886         * objects-x.c (x_list_fonts):
14887         * objects-x.c (x_find_charset_font):
14888         * tooltalk.c (Fadd_tooltalk_message_arg):
14889         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
14890         * tooltalk.c (Fadd_tooltalk_pattern_arg):
14891         * process-unix.c (unix_create_process):
14892         * ntproc.c (sys_spawnve):
14893         * sound.c (Fplay_sound_file):
14894         * sound.c (Fplay_sound):
14895         * buffer.c (init_initial_directory):
14896         * buffer.c (init_buffer):
14897         * editfns.c (init_editfns):
14898         * editfns.c (Ftemp_directory):
14899         * editfns.c (Fuser_full_name):
14900         * editfns.c (uncache_home_directory):
14901         * editfns.c (get_home_directory):
14902         * editfns.c (Fuser_home_directory):
14903         * editfns.c (Fformat_time_string):
14904         * editfns.c (Fcurrent_time_string):
14905         * gui-x.c (button_item_to_widget_value):
14906         * database.c (Fopen_database):
14907         * event-Xt.c (x_to_emacs_keysym):
14908         * event-Xt.c (x_event_to_emacs_event):
14909         * event-Xt.c (describe_event_window):
14910         * event-msw.c (mswindows_wnd_proc):
14911         * glyphs-eimage.c (jpeg_instantiate):
14912         * glyphs-eimage.c (gif_instantiate):
14913         * glyphs-eimage.c (png_instantiate):
14914         * glyphs-eimage.c (tiff_instantiate):
14915         * glyphs-x.c (xbm_instantiate_1):
14916         * glyphs-x.c (x_xbm_instantiate):
14917         * glyphs-x.c (x_xface_instantiate):
14918         * glyphs-x.c (autodetect_instantiate):
14919         * glyphs-x.c (cursor_font_instantiate):
14920         * glyphs-x.c (x_widget_instantiate):
14921         * glyphs-x.c (x_widget_set_property):
14922         * glyphs-x.c (x_widget_property):
14923         * glyphs-x.c (BUILD_GLYPH_INST):
14924         * print.c (write_string_to_stdio_stream):
14925         * print.c (output_string):
14926         * print.c (Falternate_debugging_output):
14927         * print.c (Fexternal_debugging_output):
14928         * glyphs-msw.c (extract_xpm_color_names):
14929         * glyphs-msw.c (mswindows_xpm_instantiate):
14930         * glyphs-msw.c (bmp_instantiate):
14931         * glyphs-msw.c (resource_name_to_resource):
14932         * glyphs-msw.c (mswindows_resource_instantiate):
14933         * glyphs-msw.c (xbm_instantiate_1):
14934         * glyphs-msw.c (mswindows_xbm_instantiate):
14935         * glyphs-msw.c (mswindows_xface_instantiate):
14936         * glyphs-msw.c (mswindows_widget_instantiate):
14937         * glyphs-msw.c (add_tree_item):
14938         * glyphs-msw.c (add_tab_item):
14939         * glyphs-msw.c (mswindows_combo_box_instantiate):
14940         * glyphs-msw.c (mswindows_widget_property):
14941         * glyphs-msw.c (mswindows_combo_box_property):
14942         * glyphs-msw.c (mswindows_widget_set_property):
14943         * console.c (stuff_buffered_input):
14944         * objects-msw.c (mswindows_initialize_color_instance):
14945         * objects-msw.c (mswindows_valid_color_name_p):
14946         * objects-msw.c (mswindows_list_fonts):
14947         * objects-msw.c (mswindows_font_instance_truename):
14948         * bytecode.c (optimize_compiled_function):
14949         * select-x.c (symbol_to_x_atom):
14950         * select-x.c (x_atom_to_symbol):
14951         * select-x.c (hack_motif_clipboard_selection):
14952         * select-x.c (selection_data_to_lisp_data):
14953         * select-x.c (lisp_data_to_selection_data):
14954         * select-x.c (Fx_get_cutbuffer_internal):
14955         * select-x.c (Fx_store_cutbuffer_internal):
14956         * buffer.h (TO_EXTERNAL_FORMAT): New function.
14957         * buffer.h (TO_INTERNAL_FORMAT): New function.
14958         * emacs.c (make_arg_list_1):
14959         * emacs.c (make_argc_argv):
14960         * emacs.c (main_1):
14961         * emacs.c (Fdump_emacs):
14962         * emacs.c (split_string_by_emchar_1):
14963         * file-coding.h:
14964         * lisp.h:
14965         * lstream.h:
14966         * symsinit.h:
14967         * device-x.c (x_init_device):
14968         * device-x.c (Fx_valid_keysym_name_p):
14969         * device-x.c (Fx_get_font_path):
14970         * device-x.c (Fx_set_font_path):
14971         * glyphs.c (bitmap_to_lisp_data):
14972         * glyphs.c (pixmap_to_lisp_data):
14973         * alloc.c (make_ext_string): Use coding system arguments.  Update
14974         all callers.
14975         * alloc.c (build_string):
14976         * callproc.c (child_setup):
14977         * callproc.c (init_callproc):
14978         * fileio.c (lisp_strerror):
14979         * fileio.c (directory_file_name):
14980         * fileio.c (Fexpand_file_name):
14981         * fileio.c (Ffile_truename):
14982         * fileio.c (Fsysnetunam):
14983         * fileio.c (Fdo_auto_save):
14984         * sysdep.c (sys_readdir):
14985         * tests.c: New file.  Allow adding C tests.
14986         Replace GET_* macros with a more comprehensible and flexible
14987         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
14988         Modify all calls.
14989         Any coding system can be used to do format conversion.
14990         Eliminate enum external_data_format.
14991         Eliminate convert_to_external_format.
14992         Eliminate convert_to_internal_format.
14993         Make sure file-name, keyboard, terminal, and ctext are always
14994         defined as coding systems or aliases.  Make
14995         file-name-coding-system, terminal-coding-system, and
14996         keyboard-coding-system magical variables that are equivalent to
14997         defining the corresponding coding system aliases.
14998
14999         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15000         * file-coding.c (Fcoding_system_alias_p): New function.
15001         * file-coding.c (Fcoding_system_aliasee): New function.
15002         * file-coding.c (append_suffix_to_symbol): New function.
15003         * file-coding.c (dangling_coding_system_alias_p): New function.
15004         * file-coding.c (Ffind_coding_system):
15005         * file-coding.c (Fcopy_coding_system):
15006         * file-coding.c (encode_coding_no_conversion):
15007         * file-coding.c (syms_of_file_coding):
15008         * file-coding.c (vars_of_file_coding):
15009         Rewrite coding system alias code.
15010         Allow nested aliases, like symbolic links.
15011         Allow redefinition of coding system aliases.
15012         Prevent existence of dangling coding system aliases.
15013
15014         * dired.c (Fuser_name_completion_1):
15015         * dired.c (Fuser_name_all_completions):
15016         A crash would happen if user did QUIT in the middle of building
15017         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15018
15019         * lisp.h:
15020         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15021
15022         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15023         an unsigned char *.  Update all callers.
15024
15025 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15026
15027         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15028
15029 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15030
15031         * elhash.c (hentry_description): Use more portable definition.
15032         (resize_hash_table): Initialize new hentries using
15033         xnew_array_and_zero, thereby simplifying the code.
15034
15035         * mule-charset.c (make_charset): Make sure entire object is
15036         initialized, to avoid Purify warnings.
15037
15038         * alloc.c (resize_string): Fix unlikely crash with big strings.
15039
15040 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15041
15042         * realpath.c (xrealpath):
15043         Don't call getwd().
15044
15045 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15046
15047         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15048
15049 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15050
15051         * unexelfsgi.c (unexec): Change the way we decide which segment
15052         should be extended.
15053
15054         Assumption that .bss section should be outside the PT_LOADable
15055         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15056         it's present) is inside the 'data' segment. This would fail the
15057         test which was used to find a segment to grow and cover new
15058         heap. Instead of this assumption, I created another one - on IRIX
15059         the segment to grow should start below .bss and it's address
15060         should extent above the end of .bss. Once this segment is
15061         identified, it's grown to accommodate the new heap and new
15062         zero-length .bss section is added at the end of .data2.
15063
15064 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15065
15066         * eval.c (Feval): Wrong number of arguments should use original
15067         function, not the indirect_function version of it.
15068
15069 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15070
15071         * glyphs-x.c (x_button_instantiate): Don't add image if
15072         it is not a pixmap.
15073         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15074         is relative.
15075
15076 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15077
15078         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15079         declaration.
15080         (DEFVAR_INT_MAGIC): Ditto.
15081         (DEFVAR_BOOL_MAGIC): Ditto.
15082         * glyphs.h: Reindent backslash.
15083
15084 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15085
15086         * glyphs-widget.c (layout_query_geometry):
15087         (layout_layout): Use correct types for gheight, gwidth.
15088
15089 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15090
15091         * EmacsManager.c (QueryGeometry): Purified.
15092
15093 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15094
15095         * alloc.c (make_float): Make sure entire object is initialized, to
15096         avoid Purify warnings.
15097         (pdump_register_sub): Remove useless assignment.
15098         (pdump): Use xmalloc, not malloc.
15099         (pdump_load): Use xmalloc, not malloc.
15100
15101 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15102
15103         * callproc.c:
15104         * dired-msw.c:
15105         * fileio.c:
15106         * process-nt.c:
15107         * redisplay-msw.c:
15108         * sysdep.c: Removed redundant #include <windows.h>
15109
15110 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15111
15112         * frame.c (delete_frame_internal): Do not delete device when its
15113         implementation so declares.
15114         (delete_frame_internal): Set device selected frame to nil when
15115         last frame goes away.
15116
15117         * device-msw.c (msprinter_device_system_metrics): Implemented.
15118         (mswindows_device_system_metrics): Added 'device-dpi property.
15119
15120         * device.c: (Fdevice_printer_p): Added.
15121         Added 'offset-workspace device metric.
15122
15123         * console.h (device_metrics): Declared DM_offset_workspace.
15124
15125 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15126
15127         * fileio.c (Ffile_truename): Remove pointless and confusing
15128         initialization of elen.
15129
15130         * glyphs-widget.c: Compiler warning fixes.
15131
15132 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15133
15134         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15135         instead of a Lisp_Object as argument to make it consistent with
15136         the other LIVE_P macros.
15137         (CHECK_LIVE_PROCESS): New macro.
15138
15139         * process.c: Declare Qprocess_live_p.
15140         (Fprocess_live_p): New function.
15141         (create_process): Use PROCESS_LIVE_P.
15142         (read_process_output): Ditto.
15143         (set_process_filter): Ditto.
15144         (Fdelete_process): Ditto.
15145         (kill_buffer_processes): Ditto
15146         (process_send_signal): Use CHECK_LIVE_PROCESS.
15147         (Fprocess_input_coding_system): Check whether process is still
15148         alive (fix PR#1061).
15149         (Fprocess_output_coding_system): Ditto.
15150         (Fprocess_coding_system): Ditto.
15151         (Fset_process_input_coding_system): Ditto.
15152         (Fset_process_output_coding_system): Ditto.
15153
15154 2000-01-23  Andy Piper  <andy@xemacs.org>
15155
15156         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15157         layout and widget.
15158
15159         * glyphs.c (mark_image_instance): take into account changed
15160         image_instance format.
15161         (image_instance_equal): ditto.
15162         (image_instance_hash): ditto.
15163
15164         * glyphs-widget.c (widget_instantiate): Incorporate layout
15165         instantiation here. Delay layout of the layout until later.
15166         (layout_instantiate): deleted.
15167         (layout_query_geometry): new function. get the geometry of a
15168         layout.
15169         (layout_layout): layout a layout dynamically.
15170         (image_instantiator_widget): New function - splitting up
15171         image_instantiator_format_create_glyphs_widget for netwinder
15172         compilation.
15173         (image_instantiator_buttons):
15174         (image_instantiator_edit_fields):
15175         (image_instantiator_combo_box):
15176         (image_instantiator_scrollbar):
15177         (image_instantiator_progress_guage):
15178         (image_instantiator_tree_view):
15179         (image_instantiator_tab_control):
15180         (image_instantiator_labels):
15181         (image_instantiator_layout): ditto.
15182         (image_instantiator_format_create_glyphs_widget): Call preceding
15183         functions.
15184
15185 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15186
15187         * process.c (Fset_process_coding_system):
15188         * device-x.c (Fx_keysym_hash_table):
15189         Docstring fixes.
15190
15191         * lstream.c (Lstream_write): Return documented value, not 0.
15192
15193         * fileio.c (directory_file_name):
15194         (Fsubstitute_in_file_name):
15195         (Fsubstitute_insert_file_contents_internal):
15196         (Fwrite_region_internal):
15197         * emacs.c:
15198         * sysdep.c:
15199         * getloadavg.c:
15200         * systty.h:
15201         Remove vestigial APOLLO-conditional code.
15202
15203 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15204
15205         * getpagesize.h: Add guard macros.
15206         * libsst.h: Add guard macros.
15207         * libst.h: Add guard macros.
15208         * line-number.h: Add guard macros.
15209         * ndir.h: Add guard macros.
15210         * sysfloat.h: Add guard macros.
15211         * sysfile.h: Add guard macros.
15212         * sysproc.h: Add guard macros.
15213         * syswait.h: Add guard macros.
15214         * xintrinsic.h: Add guard macros.
15215         * xintrinsicp.h: Add guard macros.
15216         * xmmanager.h: Add guard macros.
15217         * xmmanagerp.h: Add guard macros.
15218         * xmprimitive.h: Add guard macros.
15219         * xmu.h: Add guard macros.
15220         * gpmevent.h: Add copyright statement. Add guard macros.
15221         * miscplay.h: Add guard macros.
15222         * *.h: Use consistent C-standards-approved guard macro names.
15223
15224         * opaque.c (make_opaque): Switch parameter order.
15225         * opaque.h (make_opaque): Switch parameter order.
15226         Update all callers.
15227         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
15228
15229         * config.h.in (type_checking_assert): Added.
15230         (bufpos_checking_assert): Added.
15231
15232 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15233
15234         * alloc.c: Harmless pdump changes.
15235         - Use countof().
15236         - spell alignment correctly.
15237         * sysdep.c: Use countof()
15238
15239 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15240
15241         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
15242         initially_selected_for_input() console method, default to 0.
15243         (semi_canonicalize_console_connection): Try to delegate to
15244         canonicalize_console_connection if no such console method.
15245         (canonicalize_console_connection): Vice versa.
15246         (print_console): Do not print nil connection.
15247
15248         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
15249         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
15250         (XDEVIMPF_FRAMELESS_OK): Added.
15251         (CONSOLE_INHERITS_METHOD): Added.
15252
15253         * console-msw.c (mswindows_canonicalize_console_connection):
15254         Added.
15255         (mswindows_canonicalize_device_connection): Added.
15256
15257         * console-msw.h (struct msprinter_device): Added this struct and
15258         accessor macros.
15259         (mswindows_device): Made fontlist a lisp object.
15260
15261         * device.c (semi_canonicalize_device_connection):  Try to delegate
15262         to canonicalize_device_connection if no such console method.
15263         (canonicalize_device_connection): Vice versa.
15264         (print_device): Do not print nil connection.
15265
15266         * device-msw.c (mswindows_init_device): Call InitCommonControls
15267         when have widgets.
15268         (mswindows_delete_device): Removed fontlist deallocation.
15269         (mswindows_mark_device): Added.
15270
15271         * events.c (event_equal): Added abort() at unreached code.
15272         (event_hash): Ditto.
15273
15274         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
15275         fallback tags of Windows devices.
15276
15277         * general.c (syms_of_general): Initialized Qmsprinter.
15278
15279         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
15280         of fallback tags of Windows devices.
15281
15282         * lisp.h: Declared Qmsprinter.
15283
15284         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
15285         of strings.
15286         (mswindows_list_fonts): Ditto.
15287         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
15288         that it can be used by both mswindows and msprinter devices.
15289         (initialize_font_instance): Added.
15290         (mswindows_initialize_font_instance): Use it.
15291         (msprinter_initialize_font_instance): Added.
15292
15293         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
15294         and implementation flags check.
15295         (redisplay_without_hooks): Changed the call to the above.
15296         (Fredraw_device): Ditto.
15297         (Fredisplay_device): Ditto.
15298
15299         * redisplay-msw.c (get_frame_dc): Implemented.
15300         (get_frame_compdc): Implemented.
15301         (many functions): Use the two functions above to get device
15302         contexts, ether for a window or a printer.
15303
15304 2000-01-21  Olivier Galibert  <galibert@pobox.com>
15305
15306         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
15307         initialization here.
15308         (init_symbols_once_early): Call it.
15309         * emacs.c (main_1): Call it.
15310         * symsinit.h: Declare it.
15311
15312 2000-01-19  Olivier Galibert  <galibert@pobox.com>
15313
15314         * alloc.c: Use a lrecord_header * in the backtrace instead of a
15315         Lisp_Object.
15316         (pdump_backtrace): Ditto.
15317         (pdump_register_object): Ditto.  Cleanup use of the pointers.
15318         (pdump_get_entry): Abort if trying to register a null pointer.
15319         (pdump_dump_data): Cleanup types when relocating.
15320         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
15321         (pdump_dump_rtables): Remove bad casts.
15322         (pdump_load): Cleanup relocation w.r.t union type.  Use a
15323         Lisp_Object instead of a EMACS_INT for the hashtable
15324         reorganization.
15325
15326 2000-01-20  Martin Buchholz  <martin@xemacs.org>
15327
15328         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
15329
15330         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
15331
15332         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
15333
15334         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
15335
15336 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15337
15338         * faces.h (FACE_STRIKETHRU_P): Added.
15339
15340         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
15341         of font variants.
15342
15343         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
15344         (mswindows_set_dc_font): New function, aware of font variants,
15345         separated from mswindows_update_dc.
15346
15347         * objects-msw.h (struct mswindows_font_instance_data): Added
15348         definition.
15349
15350         * objects-msw.c (mswindows_finalize_font_instance): Delete all
15351         cached fonts and the data structure.
15352         (mswindows_initialize_font_instance): Added creation of font data
15353         structure.
15354         (mswindows_print_font_instance): Print at least something.
15355         (mswindows_create_font_variant): Implemented.
15356         (mswindows_get_hfont): Implemented.
15357
15358 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
15359
15360         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
15361         prototyping problem with msvc.
15362
15363         * emacs.c (main_1): added syms_of_gui_mswindows() call
15364
15365         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
15366         syms_of_gui_mswindows() function
15367
15368         * symsinit.h: added the prototype for syms_of_gui_mswindows()
15369
15370 2000-01-18  Martin Buchholz <martin@xemacs.org>
15371
15372         * XEmacs 21.2.27 is released.
15373
15374 2000-01-18  Martin Buchholz  <martin@xemacs.org>
15375
15376         * glyphs-eimage.c (struct tiff_error_struct):
15377         (tiff_error_func):
15378         (tiff_warning_func):
15379         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
15380
15381         * unexmips.c:
15382         * unexhp9k3.c:
15383         * unexfreebsd.c:
15384         * unexec.c: Remove vestigial Lucid C code.
15385         * unexalpha.c:
15386         * unexaix.c:
15387         * termcap.c:
15388         * libsst.c: Ansify.
15389         Remove declarations of errno and strerror().
15390
15391         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
15392
15393         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
15394
15395 2000-01-16  Martin Buchholz  <martin@xemacs.org>
15396
15397         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
15398         Optimize.
15399
15400 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15401
15402         * md5.c:
15403         * file-coding.c:
15404         * file-coding.h:
15405         Change enum eol_type to eol_type_t.
15406
15407 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15408
15409         * gui.c (get_gui_callback): Check cons before accessing car.
15410
15411 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15412
15413         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
15414         (XSETSPECIFIER_TYPE): Ditto.
15415
15416 2000-01-17  Didier Verna  <didier@xemacs.org>
15417
15418         * redisplay.c (generate_fstring_runes): compute string size in
15419         characters, not bytes.
15420
15421 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15422
15423         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
15424
15425 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
15426
15427         * print.c (print_error_message): Call print_prepare().
15428
15429 2000-01-14  Martin Buchholz  <martin@xemacs.org>
15430
15431         * .dbxrc: Renamed from dbxrc.
15432
15433         * events.c (event_to_character):
15434         Use `assert (foo)' instead of `if (!foo) abort()'
15435
15436         * .gdbinit (xtype): Add documentation.
15437         * .gdbinit (check-temacs): New function.
15438         * .gdbinit (check-xemacs): New function.
15439         * dbxrc (check-xemacs): New function.
15440         * dbxrc (check-xemacs): New function.
15441
15442 2000-01-14  Andy Piper  <andy@xemacs.org>
15443
15444         * glyphs-widget.c (widget_query_geometry): Make sure that we
15445         calculate default dimensions correctly.
15446
15447 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15448
15449         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
15450
15451         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
15452         pdump_wire'd variable.
15453
15454         * emacs.c: (main_1): Conditionalized calls to
15455         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
15456
15457 2000-01-13  Martin Buchholz  <martin@xemacs.org>
15458
15459         * window.c (Fset_window_configuration):
15460         * sysdep.c (_start):
15461         * input-method-motif.c (res):
15462         * event-Xt.c (Xt_process_to_emacs_event):
15463         Simple compiler warning fixes.
15464
15465         * bytecode.c (funcall_compiled_function): Use the original
15466         function symbol on the backtrace list in preference to the
15467         compiled_function object in error messages.
15468
15469 2000-01-13  Andy Piper  <andy@xemacs.org>
15470
15471         * glyphs-x.c (update_widget_face): Make sure we update the widget
15472         background as well as foreground.
15473
15474 2000-01-13  Andy Piper  <andy@xemacs.org>
15475
15476         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
15477         fields to subwindow.
15478         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
15479         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
15480         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15481         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15482
15483         * glyphs-widget.c (check_valid_tab_orientation): new function.
15484         (initialize_widget_image_instance): zero orientation and
15485         justification.
15486         (widget_instantiate): pick up orientation.
15487         (tab_control_query_geometry): return appropriate values for
15488         vertical tabs.
15489
15490         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
15491         appropriate creation flags for left, right and bottom tabs.
15492
15493         * s/cygwin32.h: add tab definitions.
15494
15495 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15496
15497         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
15498         frame upon hiding a subwindow.
15499         (mswindows_button_instantiate): Changed the push button style to
15500         BS_PUSHBUTTON.
15501         (mswindows_button_instantiate): Removed button BS_NOTIFY
15502         style.
15503         (mswindows_button_instantiate): Removed redundant check for
15504         a disabled gui item.
15505         (mswindows_button_instantiate): Made use of WS_TABSTOP
15506         consistent: "operable" controls (edit, button, tree, scroll) have
15507         this style, "display-only" ones (static, progress gauge) do
15508         not. This style is currently ignored by XEmacs though. Also,
15509         removed the WS_EX_CONTROLPARENT style - it is not for children,
15510         it is for their parents!
15511         (mswindows_edit_field_instantiate): Ditto.
15512         (mswindows_progress_gauge_instantiate): Ditto.
15513         (mswindows_tree_view_instantiate): Ditto.
15514         (mswindows_tab_control_instantiate): Ditto.
15515         (mswindows_scrollbar_instantiate): Ditto.
15516         (mswindows_combo_box_instantiate): Ditto.
15517         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
15518         style to the "clip" window.
15519         (mswindows_button_instantiate): Removed compilation warning by
15520         equally typing terms of the ?: operator.
15521
15522 2000-01-12  Didier Verna  <didier@xemacs.org>
15523
15524         * redisplay.c (generate_fstring_runes): new parameter holding the
15525         last modeline-format extent.
15526         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
15527         extent, fill the glyph block with it.
15528         (generate_fstring_runes): handle these parameters.
15529         (generate_formatted_string_db): ditto.
15530
15531         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
15532         glyphs'extents in the modeline.
15533
15534 1999-01-11  Mike Woolley  <mike@bulsara.com>
15535
15536         * ntheap.c: Reduced the reserved heap space from 1Gb down to
15537         256Mb, as a workaround for the non-starting problem many people
15538         have experienced.
15539
15540 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15541
15542         * console-tty.c (Fset_console_tty_output_coding_system):
15543         Force redrawing tty frame.
15544
15545 2000-01-10  Didier Verna  <didier@xemacs.org>
15546
15547         * redisplay.c (generate_fstring_runes): fix size computation bug.
15548
15549 2000-01-09  William M. Perry <wmperry@aventail.com>
15550
15551         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
15552
15553 2000-01-09  Andy Piper  <andy@xemacs.org>
15554
15555         * glyphs-msw.c: index -> i to avoid shadows.
15556         (xbm_create_bitmap_from_data): make static.
15557         (check_valid_string_or_int): deleted.
15558         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
15559
15560         * glyphs-x.c (x_update_subwindow): remove unused args.
15561
15562         * glyphs.c (glyph_image_instance): return the thing. Don't set the
15563         back pointer - this is done in allocate_image_instance.
15564         (query_string_font): return Qnil to make the compiler happy.
15565         (unmap_subwindow): set to ~0 to make the compiler happy.
15566         (glyph_query_geometry): comment out until used.
15567         (glyph_layout): ditto.
15568
15569 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15570
15571         * insdel.c (signal_after_change): Remove extraneous unbind_to().