update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
4         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
5         `chinese-gb2312'.
6         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
7         `=gb2312'.
8
9 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
10
11         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
12         (syms_of_mule_charset): Add new symbol `=big5' instead of
13         `chinese-big5'.
14         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
15
16 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
17
18         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
19         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
20         `korean-ksc5601'.
21         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
22         `=ks-x1001'.
23
24 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
25
26         * mule-charset.c (Qmap_jis_x0212): Renamed from
27         `Qjapanese_jisx0212'.
28         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
29         `japanese-jisx0212'.
30         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
31         `=jis-x0212'.
32
33 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
34
35         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
36         `Qjapanese_jisx0208'.
37         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
38         of `japanese-jisx0208'.
39         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
40         `=jis-x0208-1983'.
41
42 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
43
44         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
45         `Qjapanese_jisx0208_1978'.
46         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
47         of `japanese-jisx0208-1978'.
48         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
49         `=jis-x0208-1978'.
50
51 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
52
53         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
54         only for XEmacs CHISE.
55
56 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
57
58         * char-ucs.h: Compact non-ISO-IR charset-ids.
59         (LEADING_BYTE_UCS): Changed to -177.
60         (LEADING_BYTE_CONTROL_1): Changed to -77.
61         (LEADING_BYTE_UCS_BMP): Changed to -176.
62         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
63
64 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
65
66         * mule-charset.c (Qiso_ir): New variable.
67         (Fmake_charset): Recognise new property `iso-ir'.
68         (syms_of_mule_charset): Add new symbol `iso-ir'.
69
70 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
71
72         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
73         n to -n; charset-id of non ISO-IR sets are changed to positive
74         numbers.
75
76 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
77
78         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
79         for &MCS-XXXXXXXX; values.
80
81 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
82
83         * mule.c (Vxemacs_chise_version): Renamed from
84         `Vutf_2000_version'.
85         (vars_of_mule): Add new variable `xemacs-chise-version'; define
86         `utf-2000-version' as an alias for `xemacs-chise-version'.
87
88 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
89
90         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
91         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
92         defined.
93
94         * config.h.in (CHISE): New macro.
95
96 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
97
98         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
99         of `ucs'.
100         (Qmap_ucs): New variable.
101         (syms_of_mule_charset): Add new symbol `=ucs'.
102         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
103
104         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
105         (simplify_char_spec): Likewise.
106
107         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
108
109         * char-ucs.h (Qmap_ucs): New extern variable.
110
111 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
112
113         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
114         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
115         don't define it when UTF2000 is not defined.
116         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
117         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
118         when UTF2000 is not defined.
119         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
120         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
121
122 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
123
124         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
125
126         * mule-charset.c (Vcharset_ucs_gb): Deleted.
127         (Qucs_gb): Deleted.
128         (syms_of_mule_charset): Delete `ucs-gb'.
129         (complex_vars_of_mule_charset): Likewise.
130
131 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
132
133         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
134
135         * mule-charset.c (Vcharset_ucs_cns): Deleted.
136         (Qucs_cns): Deleted.
137         (syms_of_mule_charset): Delete `ucs-cns'.
138         (complex_vars_of_mule_charset): Likewise.
139
140 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
141
142         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
143
144         * mule-charset.c (Vcharset_ucs_jis): Deleted.
145         (Qucs_jis): Deleted.
146         (syms_of_mule_charset): Delete `ucs-jis'.
147         (complex_vars_of_mule_charset): Likewise.
148
149 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
150
151         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
152
153         * mule-charset.c (Vcharset_ucs_ks): Deleted.
154         (Qucs_ks): Deleted.
155         (syms_of_mule_charset): Delete `ucs-ks'.
156         (complex_vars_of_mule_charset): Likewise.
157
158 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
159
160         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
161         (Qideograph_daikanwa_2): Deleted.
162         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
163         (complex_vars_of_mule_charset): Likewise.
164
165         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
166         (LEADING_BYTE_DAIKANWA_1): Deleted.
167         (LEADING_BYTE_DAIKANWA_2): Deleted.
168         (MIN_CHAR_DAIKANWA): Deleted.
169         (MAX_CHAR_DAIKANWA): Deleted.
170
171 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
172
173         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
174         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
175         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
176
177         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
178         (Vcharset_ideograph_daikanwa): Deleted.
179         (Qideograph_hanziku_{1..12}): Deleted.
180         (Qideograph_daikanwa): Deleted.
181         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
182         Vcharset_ideograph_daikanwa.
183         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
184         `ideograph-hanziku-{1..12}'.
185         (complex_vars_of_mule_charset): Likewise.
186
187 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
188
189         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
190
191         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
192         (Qideograph_gt_pj_{1..11}): Deleted.
193         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
194         (complex_vars_of_mule_charset): Likewise.
195
196 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
197
198         * mule-charset.c (Vcharset_ucs_big5): Deleted.
199         (Vcharset_ideograph_gt): Deleted.
200         (Qucs_big5): Deleted.
201         (Qideograph_gt): Deleted.
202         (syms_of_mule_charset): Delete symbol `ucs-big5' and
203         `ideograph-gt'.
204         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
205         and `ideograph-gt'.
206
207         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
208         (LEADING_BYTE_GT): Deleted.
209         (MIN_CHAR_GT): Deleted.
210         (MAX_CHAR_GT): Deleted.
211
212 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
213
214         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
215
216 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
217
218         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
219         (save_uint16_byte_table): Likewise.
220         (save_byte_table): Likewise; convert values by it.
221         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
222         for `ideographic-structure'.
223         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
224         as the filter for `ideographic-structure'.
225
226 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
227
228         * chartab.c (put_char_composition): New function.
229         (Fput_char_attribute): Use `put_char_composition'; use
230         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
231
232         * fns.c (simplify_char_spec): New function.
233         (char_ref_simplify_spec): New function.
234         (Fchar_refs_simplify_char_specs): New function.
235         (syms_of_fns): Add new builtin function
236         `char-refs-simplify-char-specs'.
237
238 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
239
240         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
241         (Qideograph_cbeta): Deleted.
242         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
243         (complex_vars_of_mule_charset): Likewise.
244
245         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
246         (MIN_CHAR_CBETA): Comment out.
247         (MAX_CHAR_CBETA): Likewise.
248
249 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
250
251         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
252         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
253         CHISE client feature.
254
255 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
256
257         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
258
259 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
260
261         * mule-charset.c (charset_lookup_description_1): Use
262         `NUM_LEADING_BYTES' in UTF-2000.
263
264 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
265
266         * char-ucs.h (GC_CHARSETP): Deleted.
267
268 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
269
270         * char-ucs.h (MAX_CHAR_GT): Updated.
271
272 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
273
274         * text-coding.c: Sync with XEmacs 21.4.10.
275
276 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
277
278         * mule-charset.c (Vcharset_china3_jef): Deleted.
279         (Qchina3_jef): Deleted.
280         (syms_of_mule_charset): Don't define `china3-jef'.
281         (complex_vars_of_mule_charset): Likewise.
282
283         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
284         (MIN_CHAR_CHINA3_JEF): Comment out.
285         (MAX_CHAR_CHINA3_JEF): Comment out.
286
287 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
288
289         * mule-charset.c (Vcharset_ucs_gb): New variable.
290         (Qucs_gb): New variable.
291         (syms_of_mule_charset): Add new symbol `ucs-gb'.
292         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
293
294         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
295
296 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
297
298         * mule-charset.c (charset_code_point): if a coded-charset has a
299         final-byte, don't inherit the builtin range of the mother CCS.
300
301 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
302
303         * mule-charset.c (charset_code_point): Fix problem about
304         inheritance.
305
306 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
307
308         * mule-charset.c (decode_builtin_char): Reorganized.
309
310 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
311
312         * text-coding.c (char_encode_as_entity_reference): Modify for
313         `charset_code_point'.
314         (char_encode_shift_jis): Likewise.
315         (char_encode_big5): Likewise.
316         (char_encode_utf8): Likewise.
317         (char_encode_iso2022): Likewise.
318
319         * mule-charset.c (charset_code_point): Add new argument
320         `defined_only'.
321         (Fencode_char): Add new optional argument `defined_only'.
322
323         * chartab.c (put_char_table): Modify for `charset_code_point'.
324
325         * char-ucs.h (charset_code_point): Add new argument
326         `defined_only'.
327         (encode_char_1): Modify for `charset_code_point'.
328
329 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
330
331         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
332         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
333
334 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
335
336         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
337         (Qjis_x0208): Likewise.
338         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
339         XCHARSET_FINAL(charset).
340         (charset_code_point): Modify condition for final-byte based
341         builtin-chars.
342         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
343         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
344         in UTF-2000; specify `=jis-x0208' as the mother of
345         `japanese-jisx0208-1978', `japanese-jisx0208' and
346         `japanese-jisx0208-1990' in UTF-2000.
347
348 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
349
350         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
351
352 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
353
354         * text-coding.c (decode_coding_utf16): Support UTF-16.
355         (char_encode_utf16): Fixed.
356
357 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
358
359         * text-coding.c (Qutf16): New variable in MULE.
360         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
361         (Fcoding_system_type): Add `utf-16' in MULE.
362         (struct detection_state): Add a structure for utf16 in MULE.
363         (detect_coding_type): Setup st->utf16.mask in MULE.
364         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
365         MULE.
366         (reset_encoding_stream): Use `char_encode_utf16' and
367         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
368         (detect_coding_utf16): New function [incomplete].
369         (decode_coding_utf16): New function [support only UCS-2].
370         (char_encode_utf16): New function.
371         (char_finish_utf16): New function.
372         (syms_of_file_coding): Add new symbol `utf-16'; setup
373         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
374
375         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
376         UTF-2000.
377         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
378         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
379
380 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
381
382         * chartab.c (put_char_table): When a charset is specified as a
383         range in UTF-2000, don't support builtin characters.
384
385 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
386
387         * mule-charset.c (decode_defined_char): Don't refer external
388         database if Qunbound or Qnil are found.
389         (Fsave_charset_mapping_table): Don't define it if
390         HAVE_CHISE_CLIENT is not defined.
391         (Freset_charset_mapping_table): New function.
392         (load_char_decoding_entry_maybe): Store Qnil if a character is not
393         found in external database.
394         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
395         if HAVE_CHISE_CLIENT is not defined; add new builtin function
396         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
397
398 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
399
400         * text-coding.c (decode_coding_utf8): Check CCS is specified or
401         not.
402
403 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
404
405         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
406         Q_lowercase, Q_uppercase in UTF-2000.
407
408         * chartab.c (get_char_table): Add special code for the standard
409         case table to use character attribute `->downcase' and
410         `->uppercase' for case operations in UTF-2000.
411
412         * casetab.c (Qflippedcase): New variable in UTF-2000.
413         (Q_lowercase): Likewise.
414         (Q_uppercase): Likewise.
415         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
416         and `->uppercase' in UTF-2000.
417         (complex_vars_of_casetab): Assign attribute name `downcase' to
418         downcase and CANON table of Vstandard_case_table in UTF-2000;
419         assign attribute name `flippedcase' to upcase and EQV table of
420         Vstandard_case_table in UTF-2000.
421
422 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
423
424         * text-coding.c (decode_add_er_char): Support isolated-chars.
425         (char_encode_as_entity_reference): Likewise.
426
427 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
428
429         * emacs.c (Vutf_2000_lisp_directory): New variable.
430         (Vconfigure_utf_2000_lisp_directory): Likewise.
431         (complex_vars_of_emacs): Add new variable
432         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
433
434 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
435
436         * char-ucs.h (DECODE_CHAR): Delete special code for
437         `chinese-big5-1' and `chinese-big5-2'.
438
439         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
440         (Qbig5_2): Likewise.
441         (decode_defined_char): Support CONVERSION_BIG5_1 and
442         CONVERSION_BIG5_2.
443         (decode_builtin_char): Likewise.
444         (charset_code_point): Likewise.
445         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
446         'conversion in UTF-2000.
447         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
448         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
449         `chinese-big5-2' as children of `chinese-big5'.
450
451         * char-ucs.h (CONVERSION_BIG5_1): New macro.
452         (CONVERSION_BIG5_2): New macro.
453
454 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
455
456         * text-coding.c (char_encode_big5): Support entity-reference.
457
458 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
459
460         * text-coding.c (char_encode_as_entity_reference): New function.
461         (char_encode_utf8): Use `char_encode_as_entity_reference'.
462
463 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
464
465         * text-coding.c (decode_coding_big5): Support entity-reference
466         decoding feature.
467
468 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
469
470         * text-coding.c (allocate_coding_system): Initialize initial
471         charsets for CODESYS_UTF8.
472         (Fmake_coding_system): Accept charset-g0, charset-g1 and
473         charset-g2 for CODESYS_UTF8.
474         (decode_coding_utf8): Use charset-g0.
475         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
476         to force variants to map to UCS.
477
478 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
479
480         * text-coding.c (Qutf_8_mcs): New variable.
481         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
482         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
483         instead of `utf-8' in UTF-2000.
484
485 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
486
487         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
488         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
489         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
490         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
491         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
492         CONVERSION_96x96x96x96 are introduced.
493         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
494         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
495         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
496
497         * char-ucs.h (CONVERSION_94): New macro.
498         (CONVERSION_96): New macro.
499         (CONVERSION_94x94): New macro.
500         (CONVERSION_96x96): New macro.
501         (CONVERSION_94x94x94): New macro.
502         (CONVERSION_96x96x96): New macro.
503         (CONVERSION_94x94x94x60): New macro.
504         (CONVERSION_94x94x94x94): New macro.
505         (CONVERSION_96x96x96x96): New macro.
506
507 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
508
509         * chartab.c (Vcharacter_variant_table): Deleted.
510         (Fchar_variants): Use character-attribute `->ucs-variants' instead
511         of `Vcharacter_variant_table'.
512         (Fput_char_attribute): Likewise.
513         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
514         (complex_vars_of_chartab): Likewise.
515
516 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
517
518         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
519
520         * fns.c (Qideographic_structure): New variable.
521         (Qkeyword_char): New variable.
522         (ids_format_unit): New function.
523         (Fideographic_structure_to_ids): New function.
524         (syms_of_fns): Add new symbols `ideographic-structure' and
525         `:char'; add new builtin function `ideographic-structure-to-ids'.
526
527         * data.c (Fchar_ref_p): New function.
528         (syms_of_data): Add new builtin function `char-ref-p'.
529
530         * chartab.h: Add an EXFUN for `Ffind_char'.
531
532 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
533
534         * text-coding.c (Vcharacter_composition_table): Deleted.
535         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
536         in every UTF-2000.
537
538         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
539         UTF-2000.
540         (Vcharacter_composition_table): Deleted.
541         (Fget_composite_char): Use the implementation for external-DB
542         support in every UTF-2000.
543         (Fput_char_attribute): Likewise.
544         (char_attribute_system_db_file): Don't define if external-DB
545         feature is not available.
546         (Fsave_char_attribute_table): Likewise.
547         (Fmount_char_attribute_table): Likewise.
548         (Fclose_char_attribute_table): Likewise.
549         (Freset_char_attribute_table): Likewise.
550         (Fload_char_attribute_table): Likewise.
551         (syms_of_chartab): Don't define `save-char-attribute-table',
552         `mount-char-attribute-table', `reset-char-attribute-table',
553         `close-char-attribute-table' and `load-char-attribute-table' if
554         external-DB feature is not available.
555         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
556
557 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
558
559         * text-coding.c (Qcomposition): Add extern if external-DB feature
560         is supported.
561         (Vcharacter_composition_table): Don't add extern if external-DB
562         feature is supported.
563         (COMPOSE_ADD_CHAR): Modify for new data-representation of
564         character composition rule if external-DB feature is supported.
565
566         * chartab.c (Vcharacter_composition_table): Don't define if
567         external-DB feature is supported.
568         (Qcomposition): New variable.
569         (Fget_composite_char): New implementation for external-DB support.
570         (Fput_char_attribute): Use `composition' property of each
571         character instead of `Vcharacter_composition_table' to store
572         character-composition rules if external-DB feature is supported.
573         (syms_of_chartab): Add new symbol `composition'.
574         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
575         external-DB feature is supported.
576
577 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
578
579         * chartab.c (Vchar_db_stingy_mode): New variable.
580         (load_char_attribute_maybe): Close database if
581         Vchar_db_stingy_mode is not NIL.
582         (Fload_char_attribute_table_map_function): Use
583         `get_char_id_table_0' instead of `get_char_id_table'.
584         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
585
586         * chartab.h (get_char_id_table_0): New inline function.
587         (get_char_id_table): Use `get_char_id_table_0'.
588
589 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
590
591         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
592         and `COMPOSE_ADD_CHAR'.
593         (decode_coding_iso2022): Use `decode_flush_er_chars'.
594
595 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
596
597         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
598         instead of `DECODE_ADD_UCS_CHAR'.
599         (COMPOSE_ADD_CHAR): Likewise.
600
601 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
602
603         * text-coding.c (decode_flush_er_chars): New inline function.
604         (decode_add_er_char): New function.
605         (decode_coding_utf8): Use `decode_flush_er_chars' and
606         `decode_add_er_char'.
607
608 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
609
610         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
611         done before `decode_output_utf8_partial_char'.
612
613         * mule-charset.c (complex_vars_of_mule_charset): Specify
614         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
615         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
616
617 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
618
619         * mule-charset.c (decode_defined_char): New function; search
620         mother.
621         (decode_builtin_char): Don't search mother if
622         XCHARSET_MAX_CODE(charset) == 0.
623         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
624         == 0 even if code >= XCHARSET_MAX_CODE(charset).
625         (Fdecode_char): Use `decode_defined_char' instead of
626         `DECODE_DEFINED_CHAR'.
627         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
628         mother of `Vcharset_ucs_jis'.
629
630         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
631         instead of `DECODE_DEFINED_CHAR'.
632
633         * char-ucs.h (decode_defined_char): Renamed from
634         `DECODE_DEFINED_CHAR'; changed to normal function.
635         (DECODE_CHAR): Use `decode_defined_char' instead of
636         `DECODE_DEFINED_CHAR'.
637
638         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
639
640 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
641
642         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
643
644         * text-coding.c (Vcoded_charset_entity_reference_alist): New
645         variable.
646         (Quse_entity_reference): New variable.
647         (Qd): New variable.
648         (Qx): New variable.
649         (QX): New variable.
650         (coding_system_description): Add description for
651         `ccs_priority_list'.
652         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
653         (allocate_coding_system): Initialize `ccs_priority_list' in
654         UTF-2000.
655         (Fmake_coding_system): Add description about
656         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
657         (codesys).
658         (Fcoding_system_property): Accept `disable-composition' and
659         `use-entity-reference' in UTF-2000.
660         (struct decoding_stream): Add new member `er_counter' and `er_buf'
661         in UTF-2000.
662         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
663         (decode_coding_utf8): Decode entity-reference if
664         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
665         (char_encode_utf8): Encode non-Unicode characters as
666         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
667         (str->codesys).
668         (syms_of_file_coding): Add new symbols `use-entity-reference',
669         `d', `x', `X'.
670         (vars_of_file_coding): Add new variable
671         `coded-charset-entity-reference-alist'.
672         (complex_vars_of_file_coding): Declare `disable-composition' and
673         `use-entity-reference' to be coding-system-properties in UTF-2000.
674
675         * file-coding.h (struct Lisp_Coding_System): Add new member
676         `use_entity_reference' and `ccs_priority_list'.
677         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
678         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
679         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
680
681 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
682
683         * chartab.c (save_uint8_byte_table): Don't clear the table.
684         (save_uint16_byte_table): Likewise.
685         (save_byte_table): Likewise.
686         (Fmount_char_attribute_table): New function.
687         (syms_of_chartab): Add new builtin function
688         `mount-char-attribute-table'.
689
690 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
691
692         * mule-charset.c (Fsave_charset_mapping_table): Open database as
693         "w+" mode.
694         (load_char_decoding_entry_maybe): Open database as read-only mode.
695
696         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
697         open database as "w+" mode.
698         (load_char_attribute_maybe): Open database as read-only mode.
699         (Fload_char_attribute_table): Likewise.
700
701 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
702
703         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
704         (char_table_description): Delete member `db_file'.
705         (Fmake_char_table): Don't refer `ct->db_file'.
706         (Fcopy_char_table): Likewise.
707         (Fsave_char_attribute_table): Likewise.
708         (Fclose_char_attribute_table): Likewise.
709         (Freset_char_attribute_table): Likewise.
710         (load_char_attribute_maybe): Likewise.
711         (Fload_char_attribute_table): Likewise.
712
713         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
714
715 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
716
717         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
718         (Fsave_char_attribute_table): Don't check `ct->db_file' if
719         `ct->db' is living.
720         (load_char_attribute_maybe): Likewise.
721         (Fload_char_attribute_table): Likewise.
722
723 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
724
725         * chartab.c (Fclose_char_attribute_table): Set Qnil on
726         `ct->db_file' unconditionally.
727
728 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
729
730         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
731         UTF-2000.
732         (char_table_description): Add description for `db_file' and `db'
733         in UTF-2000.
734         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
735         UTF-2000.
736         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
737         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
738         (Fclose_char_attribute_table): New function.
739         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
740         (load_char_attribute_maybe): Change interface; use `cit->db_file'
741         and `cit->db'.
742         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
743         (syms_of_chartab): Add new builtin function
744         `Fclose_char_attribute_table'.
745
746 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
747
748         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
749         `db' in UTF-2000.
750         (load_char_attribute_maybe): Change interface.
751         (get_char_id_table): Modify for `load_char_attribute_maybe'.
752
753 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
754
755         * database.h: Add an EXFUN for `Fdatabase_live_p'.
756
757 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
758
759         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
760         instead of `DECODE_CHAR' for mother; don't use special code for
761         chinese-big5 to use code space of chinese-big5-1 and
762         chinese-big5-2.
763         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
764         `MAX_CHAR_BIG5_CDP' for chinese-big5.
765
766         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
767         (MAX_CHAR_BIG5_CDP): Revival.
768
769 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
770
771         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
772         the XLFD registry-encoding name of `chinese-big5'.
773
774 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
775
776         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
777         (Qchinese_big5_cdp): Deleted.
778         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
779         (complex_vars_of_mule_charset): Delete coded-charset
780         `chinese-big5-cdp'.
781
782         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
783         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
784         `CHARSET_ID_OFFSET - n' for private CCS.
785         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
786         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
787         of `MIN_LEADING_BYTE'.
788         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
789         `(CHARSET_ID_OFFSET - 97)'.
790         (MIN_CHAR_BIG5_CDP): Deleted.
791         (MAX_CHAR_BIG5_CDP): Deleted.
792
793 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
794
795         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
796
797 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
798
799         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
800         (vars_of_mule): Add new variable `utf-2000-version' [moved from
801         chartab.c].
802
803         * chartab.c (Vutf_2000_version): Moved to mule.c.
804         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
805
806 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
807
808         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
809         when HAVE_CHISE_CLIENT is not defined.
810
811         * mule.c (vars_of_mule): Provide feature `chise' when
812         HAVE_CHISE_CLIENT is defined.
813
814 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
815
816         * config.h.in (UTF2000): Add comment.
817         (HAVE_CHISE_CLIENT): New macro.
818
819 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
820
821         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
822         CONSP.
823         (Fput_char_attribute): Likewise.
824         (char_attribute_system_db_file): Encode file-name of attribute.
825         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
826         the initial value.
827
828 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
829
830         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
831         (Fsave_charset_mapping_table): Use
832         `char_attribute_system_db_file'.
833         (load_char_decoding_entry_maybe): Likewise.
834
835         * chartab.h (Qsystem_char_id): New external variable.
836         (char_attribute_system_db_file): New prototype.
837
838         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
839         (char_attribute_system_db_file): New function.
840         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
841         (Freset_char_attribute_table): Likewise.
842         (load_char_attribute_maybe): Likewise.
843         (Fload_char_attribute_table): Likewise.
844         (syms_of_chartab): Add new symbol `system-char-id'.
845
846 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
847
848         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
849         `XCHARSET_GRAPHIC(ccs)'.
850
851 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
852
853         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
854
855 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
856
857         * chartab.c (Q_ucs_variants): New variable.
858         (syms_of_chartab): Add new symbol `->ucs-variants'.
859         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
860         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
861         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
862
863         * mule-charset.c (load_char_decoding_entry_maybe): New function.
864
865         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
866         `HAVE_DATABASE' is defined.
867         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
868         `HAVE_DATABASE' is defined.
869
870 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
871
872         * chartab.c (Fsave_char_attribute_table): Don't clear internal
873         attribute-table.
874         (Freset_char_attribute_table): New function.
875         (syms_of_chartab): Add new builtin function
876         `reset-char-attribute-table'.
877
878 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
879
880         * chartab.c (load_char_attribute_maybe): Don't make directories.
881
882 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
883
884         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
885
886         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
887         for decoding-table.
888
889 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
890
891         * mule-charset.c (Fsave_charset_mapping_table): Use
892         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
893
894         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
895         instead of `XCHARSET_CHARS'.
896
897 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
898
899         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
900         (XCHARSET_BYTE_SIZE): Likewise.
901
902         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
903         mule-charset.c].
904         (XCHARSET_BYTE_SIZE): Likewise.
905
906 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
907
908         * chartab.c (Fput_char_attribute): Use exec-directory instead of
909         data-directory to store database.
910         (Fsave_char_attribute_table): Likewise.
911         (load_char_attribute_maybe): Likewise.
912         (Fload_char_attribute_table): Likewise.
913
914 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
915
916         * mule-charset.c (Fsave_charset_mapping_table): New function.
917         (syms_of_mule_charset): Add new builtin function
918         `save-charset-mapping-table'.
919
920 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
921
922         * char-ucs.h (decoding_table_check_elements): Delete prototype.
923         (get_ccs_octet_table): New inline function.
924         (put_ccs_octet_table): Likewise.
925         (decoding_table_put_char): Use `get_ccs_octet_table' and
926         `put_ccs_octet_table'.
927         (decoding_table_remove_char): Use `decoding_table_put_char'.
928         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
929
930         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
931         into encoding_table.
932         (make_charset): Use Qunbound instead Qnil as initial value of
933         decoding_table.
934
935 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
936
937         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
938         element is Qunloaded.
939         (map_over_uint16_byte_table): Likewise.
940         (map_over_byte_table): Likewise.
941         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
942         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
943         database support, load encoding-table of the specified
944         coded-charset if it is not loaded yet.
945         (save_uint8_byte_table): New function of UTF-2000 with external
946         database support.
947         (save_uint16_byte_table): Likewise.
948         (save_byte_table): Likewise.
949         (Fput_char_attribute): Don't store value into external database
950         even if the external database feature is supported in UTF-2000;
951         set `attribute' as name of char-table if the external database
952         feature is supported.
953         (Fsave_char_attribute_table): New function in UTF-2000.
954         (syms_of_chartab): Add new builtin function
955         `save-char-attribute-table' in UTF-2000.
956
957 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
958
959         * chartab.c (char_attribute_table_to_put): New variable in
960         UTF-2000.
961         (Qput_char_table_map_function): Likewise.
962         (value_to_put): Likewise.
963         (Fput_char_table_map_function): New function in UTF-2000.
964         (put_char_table): Use `Fmap_char_attribute' for
965         CHARTAB_RANGE_CHARSET in UTF-2000.
966         (Fput_char_attribute): Store symbol instead of string in
967         `XCHAR_TABLE_NAME (table)'.
968         (load_char_attribute_maybe): Likewise.
969         (syms_of_chartab): Add new symbol/function
970         `put-char-table-map-function'.
971
972 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
973
974         * database.h: Add new EXFUN for `Fmap_database'.
975
976         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
977         (syms_of_database): Likewise.
978
979         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
980         UTF-2000.
981         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
982         (XCHAR_TABLE_UNLOADED): Likewise.
983
984         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
985         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
986         HAVE_DATABASE is defined.
987         (char_attribute_table_to_load): New variable of UTF-2000 with
988         external database support.
989         (Qload_char_attribute_table_map_function): Likewise.
990         (Fload_char_attribute_table_map_function): New function of
991         UTF-2000 with external database support.
992         (Fload_char_attribute_table): New function of UTF-2000.
993         (Fmap_char_attribute): Call Fload_char_attribute_table if
994         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
995         (syms_of_chartab): Add new symbol and function
996         `load-char-attribute-table-map-function' in UTF-2000 with external
997         database support; add new function `load-char-attribute-table' in
998         UTF-2000.
999
1000 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1001
1002         * chartab.h (load_char_attribute_maybe): New prototype for
1003         UTF-2000 with DATABASE support.
1004         (get_char_id_table): Use `load_char_attribute_maybe' if
1005         HAVE_DATABASE is defined.
1006
1007         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1008         with DATABASE support.
1009
1010 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1011
1012         * chartab.c (Fput_char_attribute): Use S-expression as key of
1013         external database.
1014
1015         * chartab.h (get_char_id_table): Use S-expression as key of
1016         external database.
1017
1018 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1019
1020         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1021         if an element is not loaded, load the corresponding attributes
1022         from an external database.
1023         (map_over_uint16_byte_table): Likewise.
1024         (map_over_byte_table): Likewise.
1025         (map_char_table): Modify for `map_over_uint8_byte_table',
1026         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1027         element is not loaded, load the corresponding attributes from an
1028         external database.
1029         (Fput_char_attribute): Change initial values to Qunloaded.
1030
1031         * chartab.h (get_char_id_table): If a character attribute is not
1032         loaded and the attribute value is not found in an external
1033         database, store Qunbound as the attribute value.
1034
1035 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1036
1037         * chartab.c (BT_UINT8_unloaded): New macro.
1038         (UINT8_VALUE_P): Accept Qunloaded.
1039         (UINT8_ENCODE): Likewise.
1040         (UINT8_DECODE): Likewise.
1041         (BT_UINT16_unloaded): New macro.
1042         (UINT16_VALUE_P): Accept Qunloaded.
1043         (UINT16_ENCODE): Likewise.
1044         (UINT16_DECODE): Likewise.
1045         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1046         BT_UINT16_unloaded.
1047         (mark_char_table): Mark `ct->name' in UTF-2000.
1048         (char_table_description): Add `name' in UTF-2000.
1049         (Fmake_char_table): Initialize `ct->name'.
1050         (Fcopy_char_table): Copy `ct->name'.
1051         (Fput_char_attribute): Store value into an external database if
1052         HAVE_DATABASE is defined.
1053
1054         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1055         UTF-2000.
1056         (CHAR_TABLE_NAME): New macro in UTF-2000.
1057         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1058         (get_char_id_table): Try to read an external database if Qunloaded
1059         is stored in a table.
1060
1061         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1062         Qunloaded.
1063
1064 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1065
1066         * database.h: Add EXFUN definitions for Fopen_database,
1067         Fput_database, Fget_database and Fclose_database.
1068
1069         * data.c (Qunloaded): New variable in UTF-2000.
1070
1071         * lisp.h (Qunloaded): New variable in UTF-2000.
1072
1073 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1074
1075         * mule-charset.c (put_char_ccs_code_point): Modify for
1076         `decoding_table_remove_char' and `decoding_table_put_char'.
1077         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1078
1079         * char-ucs.h (decoding_table_remove_char): Change arguments to
1080         hide decoding_table vector.
1081         (decoding_table_put_char): Likewise.
1082
1083 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1084
1085         * mule-charset.c (decoding_table_remove_char): Moved to
1086         char-ucs.h.
1087         (decoding_table_put_char): Likewise.
1088
1089         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1090         from mule-charset.c].
1091         (decoding_table_remove_char): New inline function [moved from
1092         mule-charset.c].
1093         (decoding_table_put_char): Likewise.
1094
1095 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1096
1097         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1098         extension.
1099
1100 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1101
1102         * mule-charset.c (decode_builtin_char): Support mother charsets.
1103
1104 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1105
1106         * mule-charset.c (Q94x94x60): New variable.
1107         (charset_code_point): Support conversion `94x94x60'.
1108         (Fmake_charset): Likewise.
1109         (syms_of_mule_charset): Add new symbol `94x94x60'.
1110
1111         * char-ucs.h (CONVERSION_94x94x60): New macro.
1112
1113 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1114
1115         * mule-charset.c (charset_code_point): Unify code about
1116         `code-offset'.
1117
1118 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1119
1120         * mule-charset.c (charset_code_point): Merge code about builtin
1121         characters into code about mother charsets; don't use
1122         `range_charset_code_point'.
1123         (range_charset_code_point): Deleted.
1124
1125 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1126
1127         * mule-charset.c (Qcode_offset): New variable.
1128         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1129         `max-code'; accept new property `code-offset'.
1130         (syms_of_mule_charset): Add new symbol `code-offset'.
1131
1132 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1133
1134         * mule-charset.c (range_charset_code_point): Fixed.
1135
1136 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1137
1138         * mule-charset.c (decode_builtin_char): Change semantics of
1139         code-offset of coded-charset.
1140         (charset_code_point): Likewise.
1141         (range_charset_code_point): Likewise.
1142         (complex_vars_of_mule_charset): Modify for the change.
1143
1144 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1145
1146         * mule-charset.c (Fencode_char): Reverse arguments.
1147
1148         * mule-charset.c (charset_code_point): Fixed.
1149
1150 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1151
1152         * mule-charset.c (Vcharset_mojikyo): Deleted.
1153         (Vcharset_mojikyo_2022_1): Deleted.
1154         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1155         (Qmin_code): New variable in UTF-2000.
1156         (Qmax_code): Likewise.
1157         (Qmother): Likewise.
1158         (Qconversion): Likewise.
1159         (Q94x60): Likewise.
1160         (Qmojikyo): Deleted.
1161         (Qmojikyo_2022_1): Deleted.
1162         (Qmojikyo_pj_{1..22}): Deleted.
1163         (mark_charset): Mark `cs->mother'.
1164         (charset_description): Add description for `mother'.
1165         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1166         new arguments `mother' and `conversion'; use
1167         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1168         (charset_code_point): Moved from char-ucs.h; support `mother'
1169         charset feature.
1170         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1171         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1172         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1173         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1174         allow 2 as the value of `graphic' in UTF-2000; add new properties
1175         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1176         require `final' in UTF-2000; modify for `make_charset'.
1177         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1178         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1179         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1180         (Fencode_char): New function.
1181         (syms_of_mule_charset): Add new builtin function `encode-char' in
1182         UTF-2000; add new symbols `min-code', `max-code', `mother',
1183         `conversion' and `94x60'; delete symbols `mojikyo',
1184         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1185         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1186         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1187         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1188
1189         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1190         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1191
1192         * char-ucs.h (Vcharset_mojikyo): Deleted.
1193         (Vcharset_mojikyo_2022_1): Deleted.
1194         (LEADING_BYTE_MOJIKYO): Deleted.
1195         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1196         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1197         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1198         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1199         add new member `mother'; add new member `conversion'.
1200         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1201         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1202         (CHARSET_MOTHER): New macro.
1203         (CHARSET_CONVERSION): New macro.
1204         (CONVERSION_IDENTICAL): New macro.
1205         (CONVERSION_94x60): New macro.
1206         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1207         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1208         (XCHARSET_MOTHER): New macro.
1209         (XCHARSET_CONVERSION): New macro.
1210         (MIN_CHAR_MOJIKYO): Deleted.
1211         (MAX_CHAR_MOJIKYO): Deleted.
1212         (DECODE_MOJIKYO_2022): Deleted.
1213         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1214         (charset_code_point): Changed to non-inline function.
1215         (encode_char_1): Use `charset_code_point'.
1216         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1217
1218 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1219
1220         * lread.c (read_compiled_function): Fix prototype.
1221         (read_vector): Likewise.
1222
1223 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1224
1225         * lrecord.h (struct lrecord_header): Delete `older'.
1226         (set_lheader_implementation): Delete code for `older'.
1227         (set_lheader_older_implementation): Deleted.
1228         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1229         (OLDER_RECORD_P): Deleted.
1230         (OLDER_RECORD_HEADER_P): Deleted.
1231         (alloc_older_lcrecord): Deleted.
1232         (alloc_older_lcrecord_type): Deleted.
1233
1234         * alloc.c (all_older_lcrecords): Deleted.
1235         (alloc_older_lcrecord): Deleted.
1236         (disksave_object_finalization_1): Delete code for older objects.
1237         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1238         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1239
1240 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1241
1242         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1243         instead of `make_older_vector'.
1244         (put_char_ccs_code_point): Likewise.
1245         (mark_charset): Mark `cs->decoding_table'.
1246         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1247
1248         * lisp.h (make_older_vector): Deleted.
1249         (make_vector_newer): Deleted.
1250
1251         * config.h.in (HAVE_GGC): Deleted.
1252
1253         * alloc.c (make_older_vector): Deleted.
1254         (make_vector_newer_1): Deleted.
1255         (make_vector_newer): Deleted.
1256
1257 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1258
1259         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1260         (Qideograph_daikanwa_2): New variable.
1261         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1262         (complex_vars_of_mule_charset): Add new coded-charset
1263         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1264         `LEADING_BYTE_DAIKANWA'.
1265
1266         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1267         (LEADING_BYTE_DAIKANWA_1): New macro.
1268         (LEADING_BYTE_DAIKANWA_2): New macro.
1269         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1270
1271 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1272
1273         * mule-charset.c (complex_vars_of_mule_charset): Change
1274         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1275         the second revised version.
1276
1277 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1278
1279         * mule-charset.c (Vcharset_ucs_smp): New variable.
1280         (Vcharset_ucs_sip): New variable.
1281         (Qucs_smp): New variable.
1282         (Qucs_sip): New variable.
1283         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1284         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1285         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1286         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1287         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1288         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1289
1290         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1291         (LEADING_BYTE_UCS_SIP): New macro.
1292         (MIN_CHAR_SMP): New macro.
1293         (MAX_CHAR_SMP): New macro.
1294         (MIN_CHAR_SIP): New macro.
1295         (MAX_CHAR_SIP): New macro.
1296
1297 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1298
1299         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1300         utf-2000.
1301
1302 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1303
1304         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1305         value; don't store value into `encoding_table' of `Lisp_Charset'.
1306         (mark_charset): `encoding_table' was deleted.
1307         (charset_description): Likewise.
1308         (make_charset): Likewise.
1309         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1310         `put_char_ccs_code_point'.
1311
1312         * chartab.h (Fput_char_attribute): New EXFUN.
1313
1314         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1315         is unified with normal symbol space.
1316         (Fget_char_attribute): Likewise.
1317         (Fput_char_attribute): Likewise; behavior of
1318         `put_char_ccs_code_point' is changed.
1319
1320         * char-ucs.h: Include "elhash.h".
1321         (Vchar_attribute_hash_table): New external variable.
1322         (struct Lisp_Charset): Delete `encoding_table'.
1323         (CHARSET_ENCODING_TABLE): New implementation; refer
1324         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1325         `Lisp_Charset'.
1326
1327 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1328
1329         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1330         (cs) == 0.
1331
1332 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1333
1334         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1335         `chinese-big5'.
1336
1337 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1338
1339         * chartab.c (uint8_byte_table_description): New constant.
1340         (uint8-byte-table): Use `uint8_byte_table_description'.
1341         (uint16_byte_table_description): New constant.
1342         (uint16-byte-table): Use `uint16_byte_table_description'.
1343
1344 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1345
1346         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1347         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1348
1349 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1350
1351         * mule-charset.c (Vcharset_ucs_ks): New variable.
1352         (Qucs_ks): New variable.
1353         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1354         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1355
1356         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1357
1358 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1359
1360         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1361         (Fdecode_char): Likewise.
1362
1363         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1364         chartab.h.
1365         (Fdefine_char): Modify for Fdecode_char.
1366         (Ffind_char): Likewise.
1367
1368         * mule-charset.c (Fdecode_char): Add new optional argument
1369         `defined-only'.
1370         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1371
1372 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1373
1374         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1375         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1376         (allocate_coding_system): Initialize initial-charsets of
1377         CODESYS_BIG5 in XEmacs UTF-2000.
1378         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1379         CODESYS_BIG5 in XEmacs UTF-2000.
1380         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1381         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1382
1383         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1384         variables.
1385         (Qideograph_hanziku_{1 .. 12}): Likewise.
1386         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1387         .. 12}'.
1388         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1389         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1390         `ideograph-hanziku-{1 .. 12}'.
1391
1392         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1393         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1394         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1395         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1396         (DECODE_DEFINED_CHAR): New inline function.
1397         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1398
1399 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1400
1401         * mule-charset.c (Vcharset_china3_jef): Renamed from
1402         `Vcharset_japanese_jef_china3'.
1403         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1404         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1405         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1406         (syms_of_mule_charset): Rename `china3-jef' from
1407         `japanese-jef-china3'.
1408         (complex_vars_of_mule_charset): Likewise; rename
1409         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1410
1411         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1412         `LEADING_BYTE_JEF_CHINA3'.
1413         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1414         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1415
1416 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1417
1418         * mule-charset.c (encode_builtin_char_1): Comment out special code
1419         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1420
1421         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1422         (MAX_CHAR_MOJIKYO_0): Comment out.
1423         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1424         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1425         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1426         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1427
1428 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1429
1430         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1431         (Qideograph_cbeta): New variable.
1432         (encode_builtin_char_1): Comment out special code for
1433         coded-charset `mojikyo' and `japanese-jef-china3'.
1434         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1435         (complex_vars_of_mule_charset): Add new coded-charset
1436         `ideograph-cbeta'.
1437
1438         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1439         (MIN_CHAR_CBETA): New macro.
1440         (MAX_CHAR_CBETA): New macro.
1441
1442 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1443
1444         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1445         (LEADING_BYTE_JEF_CHINA3): New macro.
1446         (MIN_CHAR_JEF_CHINA3): New macro.
1447         (MAX_CHAR_JEF_CHINA3): Likewise.
1448         (DECODE_CHAR): Fixed.
1449
1450 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1451
1452         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1453         (Qjapanese_jef_china3): New variable.
1454         (encode_builtin_char_1): Support `japanese-jef-china3'.
1455         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1456         (complex_vars_of_mule_charset): Add new coded-charset
1457         `japanese-jef-china3'.
1458
1459 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1460
1461         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1462         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1463         94^4, 96^3, 96^4, 128^n and 256^n set.
1464         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1465         (map_char_table): Likewise.
1466
1467 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1468
1469         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1470         UTF-2000.
1471
1472 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1473
1474         * chartab.h (get_char_id_table): New inline function.
1475
1476         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1477         function.
1478
1479 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1480
1481         * chartab.h (decode_char_table_range): New prototype in XEmacs
1482         UTF-2000.
1483         (put_char_id_table): New inline function in XEmacs UTF-2000.
1484
1485         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1486         function.
1487         (decode_char_table_range): Delete static declaration in XEmacs
1488         UTF-2000.
1489
1490 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1491
1492         * chartab.c (put_char_id_table): Use `put_char_table'.
1493
1494 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1495
1496         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1497         (map_over_uint16_byte_table): Likewise.
1498         (map_over_byte_table): Likewise.
1499         (map_char_table): Modify for `map_over_uint8_byte_table',
1500         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1501         UTF-2000.
1502
1503 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1504
1505         * chartab.c (struct map_char_table_for_charset_arg): New
1506         structure.
1507         (map_char_table_for_charset_fun): New function.
1508         (map_char_table): Use `map_char_table' for encoding_table of
1509         `range->charset'.
1510
1511 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1512
1513         * chartab.c (map_char_table): Check a character is found in
1514         range->charset instead of non default value is defined in
1515         char-table when range is CHARTAB_RANGE_ROW.
1516
1517 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1518
1519         * chartab.c (map_char_id_table): Deleted.
1520         (Fmap_char_attribute): Use `map_char_table' instead of
1521         `map_char_id_table'.
1522
1523 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1524
1525         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1526         UTF-2000.
1527         (update_syntax_table): Deleted in XEmacs UTF-2000.
1528
1529         * syntax.c (find_defun_start): Use `syntax_table' instead of
1530         `mirror_syntax_table' in XEmacs UTF-2000.
1531         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1532         UTF-2000.
1533         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1534         XEmacs UTF-2000.
1535         (Fmatching_paren): Likewise.
1536         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1537         in XEmacs UTF-2000.
1538         (find_start_of_comment): Likewise.
1539         (find_end_of_comment): Likewise.
1540         (Fforward_comment): Likewise.
1541         (scan_lists): Likewise.
1542         (char_quoted): Likewise.
1543         (Fbackward_prefix_chars): Likewise.
1544         (scan_sexps_forward): Likewise.
1545         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1546         (update_syntax_table): Likewise.
1547
1548         * search.c (skip_chars): Use `syntax_table' instead of
1549         `mirror_syntax_table' in XEmacs UTF-2000.
1550         (wordify): Likewise.
1551         (Freplace_match): Likewise.
1552
1553         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1554         `mirror_syntax_table' in XEmacs UTF-2000.
1555         (WORDCHAR_P_UNSAFE): Likewise.
1556         (re_match_2_internal): Likewise.
1557
1558         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1559         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1560
1561         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1562         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1563
1564         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1565         XEmacs UTF-2000.
1566
1567         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1568         UTF-2000.
1569         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1570         (char_table_description): Delete `mirror_table' in XEmacs
1571         UTF-2000.
1572         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1573         UTF-2000.
1574         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1575         (Fcopy_char_table): Likewise.
1576         (put_char_table): Don't call `update_syntax_table' in XEmacs
1577         UTF-2000.
1578
1579         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1580         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1581         (casify_region_internal): Likewise.
1582
1583         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1584
1585         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1586         `mirror_syntax_table' in XEmacs UTF-2000.
1587
1588         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1589         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1590         (Fexpand_abbrev): Likewise.
1591
1592 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1593
1594         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1595
1596 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1597
1598         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1599         (map_over_uint16_byte_table): Likewise.
1600         (map_over_byte_table): Likewise.
1601         (get_char_id_table): Refer `cit->default_value'.
1602         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1603         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1604         of character-id ranges.
1605         (mark_char_table): Mark `ct->default_value'.
1606         (char_table_description): Add `default_value'.
1607         (fill_char_table): Use `default_value'.
1608         (decode_char_table_range): Decode `nil' as
1609         `CHARTAB_RANGE_DEFAULT'.
1610         (get_char_id_table): Refer `cit->default_value'.
1611         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1612         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1613         temporary hack; check value of char-table is bound or not.
1614         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1615
1616         * chartab.h (struct Lisp_Char_Table): Add new member
1617         `default_value' in XEmacs UTF-2000.
1618         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1619         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1620         UTF-2000.
1621
1622 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1623
1624         * chartab.h (Lisp_Char_ID_Table): Deleted.
1625
1626         * chartab.c (char_table_description): Fix typo.
1627         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1628         `Lisp_Char_ID_Table'.
1629
1630 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1631
1632         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1633         `CHAR_ID_TABLE_P'.
1634
1635         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1636         `CHAR_ID_TABLE_P'.
1637
1638         * chartab.h (XCHAR_ID_TABLE): Deleted.
1639         (XSETCHAR_ID_TABLE): Deleted.
1640         (CHAR_ID_TABLE_P): Deleted.
1641
1642         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1643         `CHAR_ID_TABLE_P'.
1644         (Fget_composite_char): Likewise.
1645         (put_char_table): Likewise.
1646         (add_char_attribute_alist_mapper): Fixed.
1647         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1648         `CHAR_ID_TABLE_P'.
1649         (Fget_char_attribute): Likewise.
1650         (Fget_char_attribute): Likewise.
1651         (Fmap_char_attribute): Likewise.
1652
1653         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1654         `CHAR_ID_TABLE_P'.
1655         (encode_char_1): Likewise.
1656
1657 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1658
1659         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1660         `XCHAR_ID_TABLE'.
1661
1662         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1663         instead of `XCHAR_ID_TABLE'.
1664         (remove_char_ccs): Likewise.
1665
1666         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1667         `XCHAR_ID_TABLE'.
1668         (Fget_composite_char): Likewise.
1669         (Fchar_variants): Likewise.
1670         (put_char_table): Likewise.
1671         (add_char_attribute_alist_mapper): Likewise.
1672         (Fchar_attribute_alist): Likewise.
1673         (Fget_char_attribute): Likewise.
1674         (Fput_char_attribute): Likewise.
1675         (Fmap_char_attribute): Likewise.
1676         (Fmap_char_attribute): Likewise.
1677
1678         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1679         `XCHAR_ID_TABLE'.
1680         (encode_char_1): Likewise.
1681
1682 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1683
1684         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1685         `Lisp_Char_ID_Table'.
1686         (mark_char_id_table): Deleted.
1687         (print_char_id_table): Likewise.
1688         (char_id_table_equal): Likewise.
1689         (char_id_table_hash): Likewise.
1690         (char_id_table_description): Likewise.
1691         (char_id_table): Likewise.
1692         (make_char_id_table): Use `Fmake_char_table' and
1693         `fill_char_table'.
1694         (get_char_id_table): Use `Lisp_Char_Table' instead of
1695         `Lisp_Char_ID_Table'.
1696         (put_char_id_table): Likewise.
1697         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1698         `XCHAR_ID_TABLE'.
1699         (Fremove_char_attribute): Likewise.
1700         (syms_of_chartab): Don't define type `char-id-table'.
1701
1702         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1703         (char_id_table): Likewise.
1704         (GC_CHAR_ID_TABLE_P): Likewise.
1705         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1706         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1707         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1708         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1709         (get_char_id_table): Use `Lisp_Char_Table' instead of
1710         `Lisp_Char_ID_Table'.
1711         (put_char_id_table_0): Likewise.
1712         (put_char_id_table): Likewise.
1713
1714 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1715
1716         * chartab.h: Lisp_Byte_Table related codes are moved from
1717         chartab.h.
1718
1719         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1720
1721 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1722
1723         * chartab.h: Don't include "chartab.h".
1724         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1725         (Lisp_Char_ID_Table): Likewise.
1726         (char_id_table): Likewise.
1727         (XCHAR_ID_TABLE): Likewise.
1728         (XSETCHAR_ID_TABLE): Likewise.
1729         (CHAR_ID_TABLE_P): Likewise.
1730         (GC_CHAR_ID_TABLE_P): Likewise.
1731         (get_char_id_table): Likewise.
1732
1733         * char-ucs.h: Include "chartab.h".
1734         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1735         (Lisp_Char_ID_Table): Likewise.
1736         (char_id_table): Likewise.
1737         (XCHAR_ID_TABLE): Likewise.
1738         (XSETCHAR_ID_TABLE): Likewise.
1739         (CHAR_ID_TABLE_P): Likewise.
1740         (GC_CHAR_ID_TABLE_P): Likewise.
1741         (get_char_id_table): Likewise.
1742
1743 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1744
1745         * chartab.c (copy_uint8_byte_table): New function.
1746         (copy_uint16_byte_table): New function.
1747         (copy_byte_table): New function.
1748         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1749         characters to call.
1750         (map_over_uint16_byte_table): Likewise.
1751         (map_over_byte_table): Likewise.
1752         (get_byte_table): Move prototype to chartab.h.
1753         (put_byte_table): Likewise.
1754         (put_char_id_table_0): Moved to chartab.h.
1755         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1756         (char_table_entry_equal): Likewise.
1757         (char_table_entry_hash): Likewise.
1758         (char_table_entry_description): Likewise.
1759         (char_table_entry): Likewise.
1760         (make_char_table_entry): Likewise.
1761         (copy_char_table_entry): Likewise.
1762         (get_non_ascii_char_table_value): Likewise.
1763         (map_over_charset_ascii): Likewise.
1764         (map_over_charset_control_1): Likewise.
1765         (map_over_charset_row): Likewise.
1766         (map_over_other_charset): Likewise.
1767         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1768         (print_char_table): Likewise.
1769         (char_table_equal): Likewise.
1770         (char_table_hash): Likewise.
1771         (char_table_description): Likewise.
1772         (fill_char_table): Likewise.
1773         (Fcopy_char_table): Likewise.
1774         (get_char_table): Likewise.
1775         (Fget_range_char_table): Likewise.
1776         (put_char_table): Likewise.
1777         (map_char_table): Likewise.
1778         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1779         UTF-2000.
1780
1781 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1782
1783         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1784         `Vauto_fill_chars' in XEmacs UTF-2000.
1785
1786         * chartab.h (get_byte_table): New prototype [moved from
1787         chartab.c].
1788         (put_byte_table): Likewise [moved from chartab.c].
1789         (put_char_id_table_0): New inline function [moved from chartab.c].
1790         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1791         (Lisp_Char_Table_Entry): Likewise.
1792         (char_table_entry): Likewise.
1793         (XCHAR_TABLE_ENTRY): Likewise.
1794         (XSETCHAR_TABLE_ENTRY): Likewise.
1795         (CHAR_TABLE_ENTRYP): Likewise.
1796         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1797         (NUM_ASCII_CHARS): Likewise.
1798         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1799         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1800
1801 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1802
1803         * chartab.c (get_char_id_table): Change interface.
1804         (put_char_id_table_0): New function.
1805         (put_char_id_table): Change interface; new implementation.
1806         (Fget_composite_char): Modify for interface change of
1807         `get_char_id_table'.
1808         (Fchar_variants): Likewise.
1809         (add_char_attribute_alist_mapper): Likewise.
1810         (Fchar_attribute_alist): Likewise.
1811         (Fget_char_attribute): Likewise.
1812         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1813         as same as character as the first argument like `put-char-table';
1814         modify for interface change of `put_char_id_table'.
1815         (Fremove_char_attribute): Modify for interface change of
1816         `put_char_id_table'.
1817
1818 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1819
1820         * text-coding.c: Sync up with XEmacs 21.2.41.
1821         (COMPOSE_ADD_CHAR): Modify for interface change of
1822         `get_char_id_table'.
1823
1824         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1825         change of `put_char_id_table'.
1826         (remove_char_ccs): Likewise.
1827
1828         * chartab.h (put_char_id_table): Change interface.
1829
1830         * char-ucs.h (get_char_id_table): Change interface.
1831         (charset_code_point): Modify for interface change of
1832         `get_char_id_table'.
1833         (encode_char_1): Likewise.
1834
1835 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1836
1837         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1838         argument `ccs'.
1839         (map_over_uint16_byte_table): Likewise.
1840         (map_over_byte_table): Likewise.
1841         (map_char_id_table): Add new argument `range' like
1842         `map_char_table'.
1843         (Fmap_char_attribute): Add new argument `range' like
1844         `Fmap_char_table'.
1845
1846 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1847
1848         * chartab.c (map_over_uint8_byte_table): Change interface of
1849         mapping function to use struct chartab_range instead of Emchar.
1850         (map_over_uint16_byte_table): Likewise.
1851         (map_over_byte_table): Likewise.
1852         (map_char_id_table): Likewise.
1853         (struct slow_map_char_id_table_arg): Deleted.
1854         (slow_map_char_id_table_fun): Deleted.
1855         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1856         function `slow_map_char_table_fun' instead of struct
1857         `slow_map_char_id_table_arg' and function
1858         `slow_map_char_id_table_fun'.
1859
1860 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1861
1862         * mule-charset.c: Move char-it-table related codes to chartab.c.
1863         (Vutf_2000_version): Moved to chartab.c.
1864         (Fdefine_char): Likewise.
1865         (Ffind_char): Likewise.
1866         (syms_of_mule_charset): Move types `uint8-byte-table',
1867         `uint16-byte-table', `byte-table' and `char-id-table' to
1868         chartab.c; move functions `char_attribute_list,
1869         `find_char_attribute_table, `char_attribute_alist,
1870         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1871         `map_char_attribute, `define_char, `find_char, `char_variants and
1872         `get_composite_char to chartab.c; move symbols `=>ucs',
1873         `->decomposition', `compat', `isolated', `initial', `medial',
1874         `final', `vertical', `noBreak', `fraction', `super', `sub',
1875         `circle', `square', `wide', `narrow', `small' and `font' to
1876         chartab.c.
1877         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1878         setting codes for `Vcharacter_composition_table' and
1879         `Vcharacter_variant_table' to chartab.c.
1880         (complex_vars_of_mule_charset): Move setting code for
1881         `Vchar_attribute_hash_table' to chartab.c.
1882
1883         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1884         (make_char_id_table): New prototype.
1885         (put_char_id_table): Likewise.
1886         (Fget_char_attribute): Likewise.
1887
1888         * chartab.c: Move char-id-table related code from mule-charset.c.
1889         (Vutf_2000_version): Moved from mule-charset.c.
1890
1891         * char-ucs.h (Qucs): New external variable.
1892         (put_char_ccs_code_point): New prototype.
1893         (remove_char_ccs): Likewise.
1894
1895 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1896
1897         * mule-charset.c (Vcharset_ucs_jis): New variable.
1898         (Qucs_jis): Likewise.
1899         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1900         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1901
1902         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1903
1904 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1905
1906         * mule-charset.c (map_over_uint8_byte_table): New function.
1907         (map_over_uint16_byte_table): Likewise.
1908         (map_over_byte_table): Likewise.
1909         (map_char_id_table): Likewise.
1910         (slow_map_char_id_table_fun): Likewise.
1911         (Fmap_char_attribute): Likewise.
1912         (syms_of_mule_charset): Add new function `map-char-attribute'.
1913
1914 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1915
1916         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1917         (syms_of_mule_charset): Add new function `find-char'.
1918
1919 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1920
1921         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1922         XEmacs UTF-2000.
1923         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1924         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1925         XEmacs UTF-2000.
1926         (complex_vars_of_mule_charset): Add new coded-charset
1927         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1928         `ideograph-gt-pj-*'.
1929
1930         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1931
1932 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1933
1934         * mule-charset.c (encode_builtin_char_1): Purge codes about
1935         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1936         {MIN|MAX}_CHAR_HEBREW.
1937         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1938         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1939
1940         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1941         (MAX_CHAR_GREEK): Purged.
1942         (MIN_CHAR_CYRILLIC): Purged.
1943         (MAX_CHAR_CYRILLIC): Purged.
1944         (MIN_CHAR_HEBREW): Commented out.
1945         (MAX_CHAR_HEBREW): Likewise.
1946
1947 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1948
1949         * mule-charset.c (Qto_ucs): New variable.
1950         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1951         (Fdefine_char): Likewise.
1952         (syms_of_mule_charset): Add new symbol `=>ucs'.
1953
1954 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1955
1956         * mule-charset.c (Fdecode_char): Fixed.
1957
1958 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1959
1960         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1961         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1962         "tcvn5712-1".
1963
1964 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1965
1966         * mule-charset.c (Vcharset_ucs_big5): New variable.
1967         (Qucs_big5): Likewise.
1968         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1969         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1970
1971         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1972
1973 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1974
1975         * mule-charset.c (decode_builtin_char): Check Big5 code range
1976         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1977
1978 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1979
1980         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1981         (Qchinese_gb12345): Likewise.
1982         (Fdecode_builtin_char): Fixed.
1983         (syms_of_mule_charset): Add `chinese-gb12345'.
1984         (complex_vars_of_mule_charset): Add coded-charset
1985         `chinese-gb12345'.
1986
1987         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1988         (LEADING_BYTE_CHINESE_GB12345): New macro.
1989
1990 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1991
1992         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1993         and `latin-viscii-upper' for `latin-viscii'.
1994
1995 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1996
1997         * mule-charset.c (Fdecode_builtin_char): Comment out
1998         regularization code for ISO-IR GR representation.
1999
2000 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2001
2002         * mule-charset.c (decode_builtin_char): New function; renamed from
2003         `make_builtin_char'; return -1 instead of signal.
2004         (Fdecode_builtin_char): Use `decode_builtin_char'.
2005
2006         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2007         `make_builtin_char'.
2008         (DECODE_CHAR): Use `decode_builtin_char' instead of
2009         `make_builtin_char'; use mapping table of `chinese-big5' for
2010         `chinese-big5-{1,2}'.
2011
2012 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2013
2014         * text-coding.c (char_encode_big5): New function.
2015         (char_finish_big5): Likewise.
2016         (reset_encoding_stream): Use `char_encode_big5' and
2017         `char_finish_big5' for CODESYS_BIG5.
2018         (mule_encode): Don't use `encode_coding_big5'.
2019         (encode_coding_big5): Deleted.
2020
2021 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2022
2023         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2024         0x81- in XEmacs UTF-2000.
2025         (detect_coding_big5): Likewise.
2026
2027 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2028
2029         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2030         generate character-id if the CCS property does not have
2031         corresponding predefined character.
2032         (make_builtin_char): Return -1 if corresponding predefined
2033         character is not found.
2034         (Fdecode_char): Return nil if corresponding character is not
2035         found.
2036         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2037         don't map to builtin ucs space.
2038
2039 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2040
2041         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2042         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2043
2044 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2045
2046         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2047         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2048         (Qideograph_gt): Likewise.
2049         (Qideograph_gt_pj_{1..11}): Likewise.
2050         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2051         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2052         `ideograph-gt-pj-11'.
2053         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2054         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2055         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2056
2057         * char-ucs.h (LEADING_BYTE_GT): New macro.
2058         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2059         (MIN_CHAR_GT): Likewise.
2060         (MAX_CHAR_GT): Likewise.
2061
2062 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2063
2064         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2065         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2066
2067         * doprnt.c (unsigned_int_converters): Add `c'.
2068         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2069
2070         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2071         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2072         `MIN_CHAR_MOJIKYO'.
2073         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2074         (MAX_CHAR_MOJIKYO_0): New macro.
2075         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2076
2077 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2078
2079         * mule-charset.c (Fdefine_char): Delete cemented out code.
2080         (encode_builtin_char_1): Modify for new allocation of builtin
2081         Mojikyo characters.
2082
2083         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2084
2085 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2086
2087         * mule-charset.c (Vcharset_ucs_cns): New variable.
2088         (Qucs_cns): New variable.
2089         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2090         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2091
2092 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2093
2094         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2095
2096 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2097
2098         * search.c (search_buffer): Make `charset_base_code' as
2099         character-id >> 6 to eliminate the corresponding last byte in
2100         UTF-8 representation [I'm not sure it is right thing].
2101         (boyer_moore): Likewise.
2102
2103 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2104
2105         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2106         representation in MULE.
2107
2108 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2109
2110         * text-coding.c (Fmake_coding_system): Use
2111         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2112         `EXTERNAL_PROPERTY_LIST_LOOP'.
2113
2114 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2115
2116         * text-coding.c (decode_output_utf8_partial_char): New function.
2117         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2118
2119 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2120
2121         * text-coding.c (decode_coding_utf8): Output original byte
2122         sequence if it is broken; change order of conditions.
2123
2124         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2125         of conditions.
2126
2127         * mb-multibyte.h (BYTE_ASCII_P):
2128         Use bit ops for char-signedness safety.
2129         (BYTE_C0_P): Use bit ops for char-signedness safety.
2130         (BYTE_C1_P): Use bit ops for char-signedness safety.
2131
2132         * character.h: (XCHAR_OR_CHAR_INT):
2133         Always use inline function.
2134         Remove redundant type checking assert() - XINT will abort quite
2135         nicely.
2136
2137 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2138
2139         * text-coding.c: (Fencode_shift_jis_char):
2140         (Fencode_big5_char):
2141         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2142         Replace 0 with '\0' when working with bytes.
2143         Replace initial "(" with "\(" in docstrings.
2144
2145         (Fmake_coding_system):
2146         When type is ccl and value is vector, register it with a proper
2147         symbol.  And checks whether the given ccl program is valid.
2148         (mule_decode): When calling ccl_driver, if src indicates
2149         NULL pointer, set an empty string instead.
2150         (mule_encode): Likewise.
2151
2152         (detect_eol_type):
2153         (detect_coding_sjis):
2154         (decode_coding_sjis):
2155         (detect_coding_big5):
2156         (decode_coding_big5):
2157         (detect_coding_ucs4):
2158         (decode_coding_ucs4):
2159         (detect_coding_utf8):
2160         (decode_coding_utf8):
2161         (detect_coding_iso2022):
2162         (decode_coding_iso2022):
2163         (decode_coding_no_conversion):
2164         (mule_decode):
2165         Make all detecting and decoding functions take an Extbyte * arg.
2166         (text_encode_generic):
2167         (encode_coding_big5):
2168         (encode_coding_no_conversion):
2169         (mule_encode):
2170         Make all encoding functions take a Bufbyte * arg.
2171         Use size_t instead of unsigned int for memory sizes.
2172         Only cast to unsigned char whenever dereferencing Extbyte *.
2173
2174         (struct lrecord_description fcd_description_1): Use countof.
2175         (complex_vars_of_file_coding):
2176         Use countof instead of sizeof.
2177         Use CHECK_NATNUM instead of CHECK_INT.
2178
2179 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2180
2181         * mule-charset.c (Fget_char_attribute): Add new optional argument
2182         `default-value'.
2183         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2184         (remove_char_ccs): Likewise.
2185
2186 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2187
2188         * text-coding.c (char_encode_shift_jis): New implementation in
2189         UTF-2000.
2190         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2191         ...)'.
2192
2193         * mule-charset.c (Vcharset_chinese_big5): New variable in
2194         UTF-2000.
2195         (Qchinese_big5): New variable in UTF-2000.
2196         (BIG5_SAME_ROW): New macro in UTF-2000.
2197         (make_builtin_char): Use builtin characters of
2198         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2199         characters of `Vcharset_chinese_big5'.
2200         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2201         (complex_vars_of_mule_charset): Add new coded-charset
2202         `chinese-big5' in UTF-2000.
2203
2204         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2205         (Vcharset_chinese_big5): New external variable declaration.
2206         (Vcharset_japanese_jisx0208_1990): Likewise.
2207
2208 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2209
2210         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2211         function.
2212         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2213
2214 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2215
2216         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2217         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2218         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2219         `mojikyo-pj-*'.
2220
2221 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2222
2223         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2224
2225 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2226
2227         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2228         to 0.17.
2229
2230 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2231
2232         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2233         for `CHARSET_BY_ATTRIBUTES'.
2234         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2235         `CHARSET_BY_ATTRIBUTES'.
2236
2237         * text-coding.c (struct decoding_stream): Rename member `CH' to
2238         `CPOS'.
2239         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2240         (decode_coding_sjis): Likewise.
2241         (decode_coding_big5): Likewise.
2242         (decode_coding_ucs4): Likewise.
2243         (decode_coding_utf8): Likewise.
2244         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2245         `CHARSET_BY_ATTRIBUTES'.
2246         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2247         `str->counter'; decode 3, 4 bytes sets.
2248         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2249         sets.
2250         (decode_coding_no_conversion): Use `str->cpos' instead of
2251         `str->ch'.
2252
2253         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2254         (Qmojikyo_2022_1): New variable.
2255         (make_charset): Don't use `CHARSET_TYPE_*'.
2256         (range_charset_code_point): Support coded-charset
2257         `mojikyo-2022-1'.
2258         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2259         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2260         `CHARSET_BY_ATTRIBUTES'.
2261         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2262         `CHARSET_BY_ATTRIBUTES'.
2263         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2264         (complex_vars_of_mule_charset): Add new coded-charset
2265         `mojikyo-2022-1'.
2266
2267         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2268         interface; changed to inline function.
2269
2270         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2271         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2272         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2273         (CHARSET_TYPE_94): Deleted.
2274         (CHARSET_TYPE_94X94): Deleted.
2275         (CHARSET_TYPE_96): Deleted.
2276         (CHARSET_TYPE_96X96): Deleted.
2277         (CHARSET_TYPE_128): Deleted.
2278         (CHARSET_TYPE_128X128): Deleted.
2279         (CHARSET_TYPE_256): Deleted.
2280         (CHARSET_TYPE_256X256): Deleted.
2281         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2282         to inline function.
2283         (DECODE_MOJIKYO_2022): New inline function.
2284         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2285         `Vcharset_mojikyo_2022_1'.
2286
2287 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2288
2289         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2290         instead of `EQ'.
2291         (put_byte_table): Likewise.
2292         (char_id_table_equal): Use `get_byte_table' [new implementation].
2293
2294 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2295
2296         * mule-charset.c: Include <limits.h> in UTF-2000.
2297         (BT_UINT8_MIN): New macro in UTF-2000.
2298         (BT_UINT8_MAX): New macro in UTF-2000.
2299         (BT_UINT8_t): New macro in UTF-2000.
2300         (BT_UINT8_nil): New macro in UTF-2000.
2301         (BT_UINT8_unbound): New macro in UTF-2000.
2302         (INT_UINT8_P): New inline function in UTF-2000.
2303         (UINT8_VALUE_P): New inline function in UTF-2000.
2304         (UINT8_ENCODE): New inline function in UTF-2000.
2305         (UINT8_DECODE): New inline function in UTF-2000.
2306         (mark_uint8_byte_table): New function in UTF-2000.
2307         (print_uint8_byte_table): New function in UTF-2000.
2308         (uint8_byte_table_equal): New function in UTF-2000.
2309         (uint8_byte_table_hash): New function in UTF-2000.
2310         (make_uint8_byte_table): New function in UTF-2000.
2311         (uint8_byte_table_same_value_p): New function in UTF-2000.
2312         (BT_UINT16_MIN): New macro in UTF-2000.
2313         (BT_UINT16_MAX): New macro in UTF-2000.
2314         (BT_UINT16_t): New macro in UTF-2000.
2315         (BT_UINT16_nil): New macro in UTF-2000.
2316         (BT_UINT16_unbound): New macro in UTF-2000.
2317         (INT_UINT16_P): New inline function in UTF-2000.
2318         (UINT16_VALUE_P): New inline function in UTF-2000.
2319         (UINT16_ENCODE): New inline function in UTF-2000.
2320         (UINT16_DECODE): New inline function in UTF-2000.
2321         (UINT8_TO_UINT16): New inline function in UTF-2000.
2322         (mark_uint16_byte_table): New function in UTF-2000.
2323         (print_uint16_byte_table): New function in UTF-2000.
2324         (uint16_byte_table_equal): New function in UTF-2000.
2325         (uint16_byte_table_hash): New function in UTF-2000.
2326         (make_uint16_byte_table): New function in UTF-2000.
2327         (uint16_byte_table_same_value_p): New function in UTF-2000.
2328         (print_byte_table): New function in UTF-2000.
2329         (byte-table): Use `print_byte_table' as printer.
2330         (make_byte_table): Delete second argument `older'.
2331         (byte_table_same_value_p): New function in UTF-2000.
2332         (copy_byte_table): Deleted.
2333         (get_byte_table): New function in UTF-2000.
2334         (put_byte_table): New function in UTF-2000.
2335         (print_char_id_table): New function in UTF-2000.
2336         (char-id-table): Use `print_char_id_table' as printer.
2337         (make_char_id_table): Delete second argument `older'.
2338         (get_char_id_table): Use `get_byte_table [new implementation].
2339         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2340         implementation].
2341         (Ffind_char_attribute_table): New function in UTF-2000.
2342         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2343         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2344         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2345         (syms_of_mule_charset): Add new function
2346         `find-char-attribute-table' in UTF-2000.
2347
2348         * lrecord.h (enum lrecord_type): Add
2349         `lrecord_type_uint16_byte_table' and
2350         `lrecord_type_uint8_byte_table'.
2351
2352         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2353         (Lisp_Uint8_Byte_Table): New type.
2354         (XUINT8_BYTE_TABLE): New macro.
2355         (XSETUINT8_BYTE_TABLE): New macro.
2356         (UINT8_BYTE_TABLE_P): New macro.
2357         (GC_UINT8_BYTE_TABLE_P): New macro.
2358         (struct Lisp_Uint16_Byte_Table): New structure.
2359         (Lisp_Uint16_Byte_Table): New type.
2360         (XUINT16_BYTE_TABLE): New macro.
2361         (XSETUINT16_BYTE_TABLE): New macro.
2362         (UINT16_BYTE_TABLE_P): New macro.
2363         (GC_UINT16_BYTE_TABLE_P): New macro.
2364
2365 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2366
2367         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2368         (Vcharacter_ideographic_strokes_table): Deleted.
2369         (Vcharacter_total_strokes_table): Deleted.
2370         (Vcharacter_morohashi_daikanwa_table): Deleted.
2371         (Vcharacter_decomposition_table): Deleted.
2372         (Qname): Deleted because it is duplicated.
2373         (Qideographic_radical): Deleted.
2374         (Qideographic_strokes): Deleted.
2375         (Qtotal_strokes): Deleted.
2376         (Qmorohashi_daikanwa): Deleted.
2377         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2378         `ideographic-radical', `ideographic-strokes', `total-strokes',
2379         `morohashi-daikanwa' and `->decomposition'.
2380         (Fget_char_attribute): Likewise.
2381         (Fput_char_attribute): Likewise; use `make-vector' instead of
2382         `make_older_vector' for `->decomposition' value.
2383         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2384         `ideograph-daikanwa'.
2385         (syms_of_mule_charset): Delete builtin symbols `name',
2386         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2387         `morohashi-daikanwa'.
2388         (vars_of_mule_charset): Don't setup
2389         `Vcharacter_ideographic_radical_table',
2390         `Vcharacter_ideographic_strokes_table',
2391         `Vcharacter_total_strokes_table',
2392         `Vcharacter_morohashi_daikanwa_table' and
2393         `Vcharacter_decomposition_table'.
2394
2395 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2396
2397         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2398         `make_older_vector', `make_vector_newer_1' and
2399         `make_vector_newer'.
2400
2401         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2402         `make_older_vector' and `make_vector_newer'.
2403
2404         * config.h.in (HAVE_GGC): New macro.
2405
2406 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2407
2408         * mule-charset.c (struct char_attribute_list_closure): New
2409         structure in UTF-2000.
2410         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2411         (Fchar_attribute_list): Likewise.
2412         (Fset_charset_mapping_table): Use `make_vector_newer'.
2413         (Fdecode_builtin_char): New function in UTF-2000.
2414         (syms_of_mule_charset): Add new function `char-attribute-list' and
2415         `decode-builtin-char' in UTF-2000.
2416
2417         * lisp.h (make_vector_newer): New prototype.
2418
2419         * alloc.c (make_vector_newer_1): New function.
2420         (make_vector_newer): New function.
2421
2422 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2423
2424         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2425         50100)'.
2426
2427 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2428
2429         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2430         (Vcharacter_attribute_table): Deleted.
2431         (Vcharacter_name_table): Deleted.
2432         (put_char_attribute): Deleted.
2433         (remove_char_attribute): Deleted.
2434         (struct char_attribute_alist_closure): New structure.
2435         (add_char_attribute_alist_mapper): New function.
2436         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2437         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2438         (Fget_char_attribute): Likewise.
2439         (Fput_char_attribute): Likewise.
2440         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2441         of `remove_char_attribute'.
2442         (Fdefine_char): Return character.
2443         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2444         and `Vcharacter_name_table'.
2445         (complex_vars_of_mule_charset): Likewise
2446         `Vchar_attribute_hash_table'.
2447
2448 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2449
2450         * character.h (CHARC_CHARSET): New macro.
2451         (CHARC_CHARSET_ID): New macro.
2452         (CHARC_CODE_POINT): New macro.
2453         (CHARC_COLUMNS): New macro.
2454         (CHARC_TO_CHAR): New inline function.
2455         (CHARC_EQ): New inline function.
2456         (CHARC_ASCII_EQ): New inline function.
2457         (CHARC_IS_SPACE): New inline function.
2458         (ASCII_TO_CHARC): New inline function.
2459
2460         * char-ucs.h (encode_char_2): Deleted.
2461         (ENCODE_CHAR): Use `encode_char_1' again.
2462         (breakup_char_1): Likewise.
2463         (CHAR_TO_CHARC): New inline function.
2464
2465         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2466
2467 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2468
2469         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2470         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2471         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2472         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2473         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2474         `CHARC_IS_SPACE'.
2475         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2476
2477         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2478         `CHARC_CODE_POINT'.
2479         (x_output_display_block): Use `CHARC_CHARSET' and
2480         `CHARC_ASCII_EQ'.
2481
2482         * redisplay-tty.c (tty_output_display_block): Use
2483         `CHARC_ASCII_EQ'.
2484         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2485
2486         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2487
2488         * insdel.c (find_charsets_in_charc_string): Use
2489         `CHARC_CHARSET_ID'.
2490         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2491         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2492         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2493         (convert_charc_string_into_malloced_string): Likewise.
2494
2495 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2496
2497         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2498         instead of <Emchar_dynarr *> for buf; use
2499         `convert_bufbyte_string_into_charc_dynarr' instead of
2500         `convert_bufbyte_string_into_emchar_dynarr'; use
2501         `find_charsets_in_charc_string' instead of
2502         `find_charsets_in_emchar_string'.
2503
2504         * redisplay.h:
2505         - Include "character.h".
2506         (struct rune): New member `cglyph'; delete member `chr'.
2507
2508         * redisplay.c (redisplay_text_width_charc_string): New function;
2509         delete `redisplay_text_width_emchar_string'.
2510         (rtw_charc_dynarr): New variable; renamed from
2511         `rtw_emchar_dynarr'.
2512         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2513         `rtw_emchar_dynarr'; use
2514         `convert_bufbyte_string_into_charc_dynarr' instead of
2515         `convert_bufbyte_string_into_emchar_dynarr'; use
2516         `redisplay_text_width_charc_string' instead of
2517         `redisplay_text_width_emchar_string'.
2518         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2519         instead of `rtw_emchar_dynarr'; use
2520         `convert_bufbyte_string_into_charc_dynarr' instead of
2521         `convert_bufbyte_string_into_emchar_dynarr'.
2522         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2523         `redisplay_text_width_charc_string' instead of
2524         `redisplay_text_width_emchar_string'.
2525         (create_text_block): Modify for <struct rune> change.
2526         (generate_formatted_string_db): Likewise.
2527         (create_string_text_block): Likewise.
2528         (pixel_to_glyph_translation): Likewise.
2529
2530         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2531         instead of <const Emchar *>.
2532         (x_text_width): Likewise.
2533         (x_output_display_block): Use <Charc_dynarr *> instead
2534         <Emchar_dynarr *>; modify for <structure rune> change.
2535         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2536         *>.
2537
2538         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2539         <const Emchar *>; use `charc_string_displayed_columns' instead of
2540         `emchar_string_displayed_columns'.
2541         (tty_output_display_block): Use <Charc_dynarr *> instead of
2542         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2543         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2544         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2545         `tty_output_emchar_dynarr_dynarr'.
2546         (tty_output_charc_dynarr): New function; delete
2547         `tty_output_charc_dynarr'.
2548
2549         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2550         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2551         <Emchar_dynarr *> for buf; use
2552         `convert_bufbyte_string_into_charc_dynarr' instead of
2553         `convert_bufbyte_string_into_emchar_dynarr'.
2554
2555         * frame.c (title_string_charc_dynarr): New variable; renamed from
2556         `title_string_emchar_dynarr'.
2557         (generate_title_string): Use `title_string_charc_dynarr' instead
2558         of `title_string_emchar_dynarr'; use
2559         `convert_charc_string_into_malloced_string' instead of
2560         `convert_emchar_string_into_malloced_string'.
2561         (init_frame): Use `title_string_charc_dynarr' instead of
2562         `title_string_emchar_dynarr'.
2563
2564         * console.h:
2565         - Include "character.h".
2566         (struct console_methods): Use <const Charc *> instead of <const
2567         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2568         <Emchar_dynarr *> in output_string_method.
2569
2570         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2571         <Emchar_dynarr *>.
2572
2573         * console-stream.c (stream_text_width): Use <const Charc *>
2574         instead of <const Emchar *>.
2575
2576         * character.h (Charc_dynarr): New type.
2577
2578         * char-ucs.h (structure Charc): New structure; define new type
2579         `Charc'.
2580
2581         * char-lb.h (DECODE_CHAR): New inline function.
2582         (encode_char_1): New inline function.
2583         (ENCODE_CHAR): New macro.
2584         (structure Charc): New structure; define new type `Charc'.
2585
2586         * char-1byte.h (Vcharset_control_1): New macro.
2587         (Vcharset_latin_iso8859_1): New macro.
2588         (DECODE_CHAR): New inline function.
2589         (encode_char_1): New inline function.
2590         (ENCODE_CHAR): New macro.
2591         (structure Charc): New structure; define new type `Charc'.
2592
2593         * insdel.c (find_charsets_in_charc_string): New function; delete
2594         `find_charsets_in_emchar_string'.
2595         (charc_string_displayed_columns): New function; delete
2596         `emchar_string_displayed_columns'.
2597         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2598         `convert_bufbyte_string_into_emchar_dynarr'.
2599         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2600         `convert_charc_string_into_bufbyte_dynarr'.
2601         (convert_charc_string_into_malloced_string): New function; delete
2602         `convert_charc_string_into_malloced_string'.
2603
2604         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2605         `find_charsets_in_emchar_string'.
2606         (charc_string_displayed_columns): New prototype; delete
2607         `emchar_string_displayed_columns'.
2608         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2609         `convert_charc_string_into_bufbyte_dynarr'.
2610         (convert_charc_string_into_malloced_string): New prototype; delete
2611         `convert_charc_string_into_malloced_string'.
2612
2613 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2614
2615         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2616
2617 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2618
2619         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2620
2621         * char-ucs.h: Use <short> for <Charset_ID>.
2622
2623         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2624         <Charset_ID>.
2625
2626 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2627
2628         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2629         to 0.16.
2630
2631 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2632
2633         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2634         variable.
2635         (Qmorohashi_daikanwa): New variable.
2636         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2637         for `morohashi-daikanwa' attribute.
2638         (Fget_char_attribute): Likewise.
2639         (Fput_char_attribute): Likewise.
2640         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2641         has the same value of `ideograph-daikanwa'.
2642         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2643         (vars_of_mule_charset): Setup
2644         `Vcharacter_morohashi_daikanwa_table'.
2645
2646 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2647
2648         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2649         attributes.
2650         (add_charset_to_list_mapper): Add `key' instead of
2651         `XCHARSET_NAME (value)' to return aliases.
2652
2653 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2654
2655         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2656         variable.
2657         (Vcharacter_ideographic_strokes_table): New variable.
2658         (Qideographic_radical): New variable.
2659         (Qideographic_strokes): New variable.
2660         (Fchar_attribute_alist): Use
2661         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2662         attribute; use `Vcharacter_ideographic_strokes_table' for
2663         `ideographic-strokes' attribute.
2664         (Fget_char_attribute): Likewise.
2665         (Fput_char_attribute): Likewise.
2666         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2667         `ideographic-strokes'.
2668         (vars_of_mule_charset): Setup
2669         `Vcharacter_ideographic_radical_table' and
2670         `Vcharacter_ideographic_strokes_table'.
2671
2672 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2673
2674         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2675         (Qtotal_strokes): New variable.
2676         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2677         `total-strokes' attribute.
2678         (Fget_char_attribute): Likewise.
2679         (Fput_char_attribute): Likewise.
2680         (syms_of_mule_charset): Add new symbol `total-strokes'.
2681         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2682
2683 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2684
2685         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2686         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2687         are found.
2688         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2689         `->decomposition' attribute.
2690         (Fput_char_attribute): Likewise.
2691         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2692
2693 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2694
2695         * mule-charset.c (decoding_table_check_elements): New function.
2696         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2697
2698 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2699
2700         * mule-charset.c (Fset_charset_mapping_table): Use
2701         `put_char_ccs_code_point'.
2702
2703 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2704
2705         * mule-charset.c (decoding_table_put_char): New inline function.
2706         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2707
2708 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2709
2710         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2711         (XCHARSET_BYTE_SIZE): New macro.
2712         (decoding_table_remove_char): New inline function.
2713         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2714         `decoding_table_remove_char'.
2715         (remove_char_ccs): Use `decoding_table_remove_char'.
2716         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2717
2718 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2719
2720         * mule-charset.c (Vcharacter_name_table): New variable.
2721         (Qname): New variable.
2722         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2723         attribute.
2724         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2725         `Vcharacter_name_table' for `name' attribute.
2726         (Fremove_char_attribute): Use function `remove_char_ccs'.
2727         (put_char_ccs_code_point): New function.
2728         (remove_char_ccs): New function.
2729         (syms_of_mule_charset): Add new symbol `name'.
2730         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2731
2732 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2733
2734         * mule-charset.c (make_byte_table): Add new argument `older'.
2735         (make_char_id_table): Likewise.
2736         (copy_char_id_table): Comment out because it is not used.
2737         (put_char_id_table): Modify for `make_byte_table'.
2738         (Fput_char_attribute): Make encoding_table as older object;
2739         inherit older bit of `Vcharacter_composition_table'.
2740         (mark_charset): Don't mark `cs->encoding_table'.
2741         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2742         normal object; make `Vcharacter_composition_table' as an older
2743         object; delete staticpro for `Vcharacter_composition_table'; make
2744         `Vcharacter_variant_table' as a normal object.
2745
2746         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2747         (mark_object): Don't check older object in UTF-2000.
2748
2749         * lrecord.h (struct lrecord_header): Add new member `older' in
2750         UTF-2000.
2751         (set_lheader_implementation): Setup `SLI_header->older' in
2752         UTF-2000.
2753         (set_lheader_older_implementation): New macro in UTF-2000.
2754         (OLDER_RECORD_P): New macro in UTF-2000.
2755         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2756         (alloc_older_lcrecord): New prototype in UTF-2000.
2757         (alloc_older_lcrecord_type): New macro in UTF-2000.
2758
2759 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2760
2761         * mule-charset.c (byte_table_description): Use
2762         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2763         (char_id_table_description): Delete bogus `, 1'.
2764         (Fget_char_attribute): Refer encoding_table of each coded-charset
2765         to get value of coded-charset attribute of a character.
2766         (Fput_char_attribute): Use `make_older_vector' instead of
2767         `make_vector'; use encoding_table of each coded-charset to store
2768         value of coded-charset attribute of a character.
2769         (Fremove_char_attribute): Use encoding_table of each coded-charset
2770         to store value of coded-charset attribute of a character.
2771         (mark_charset): Mark `cs->encoding_table'; don't mark
2772         `cs->decoding_table'.
2773         (charset_description): Add description of new member
2774         `encoding_table'.
2775         (make_charset): Initialize `encoding_table'.
2776
2777         * char-ucs.h (struct Lisp_Charset): Add new member
2778         `encoding_table'.
2779         (CHARSET_ENCODING_TABLE): New macro.
2780         (XCHARSET_ENCODING_TABLE): New macro.
2781         (charset_code_point): New implementation.
2782         (encode_char_1): Likewise.
2783
2784         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2785         (disksave_object_finalization_1): Call finalizers of
2786         `all_older_lcrecords' in UTF-2000.
2787         (make_older_vector): New function in UTF-2000.
2788         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2789         UTF-2000.
2790
2791         * lisp.h (make_older_vector): New prototype in UTF-2000.
2792
2793 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2794
2795         * lrecord.h (enum lrecord_type): Rename
2796         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2797
2798         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2799         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2800         `get_char_code_table'.
2801
2802         * mule-charset.c (mark_char_id_table): Renamed from
2803         `mark_char_code_table'.
2804         (char_id_table_equal): Renamed from `char_code_table_equal'.
2805         (char_id_table_hash): Renamed from `char_code_table_hash'.
2806         (make_char_id_table): Renamed from `make_char_code_table'.
2807         (copy_char_id_table): Renamed from `copy_char_code_table'.
2808         (get_char_id_table): Renamed from `get_char_code_table'.
2809         (put_char_id_table): Renamed from `put_char_code_table'.
2810         (to_char_id): Renamed from `to_char_code'.
2811
2812         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2813         `Lisp_Char_Code_Table'.
2814         (char_id_table): Renamed from `char_code_table'.
2815         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2816         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2817         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2818         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2819         (get_char_id_table): Renamed from `get_char_code_table'.
2820
2821 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2822
2823         * lrecord.h (enum lrecord_type): Rename
2824         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2825
2826         * mule-charset.c (mark_byte_table): Renamed from
2827         `mark_char_byte_table'.
2828         (byte_table_equal): Renamed from `char_byte_table_equal'.
2829         (byte_table_hash): Renamed from `byte_table_hash'.
2830         (make_byte_table): Renamed from `make_byte_table'.
2831         (copy_byte_table): Renamed from `copy_char_byte_table'.
2832
2833         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2834         `Lisp_Char_Byte_Table'.
2835         (byte_table): Renamed from `char_byte_table'.
2836         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2837         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2838         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2839         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2840
2841 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2842
2843         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2844         (dfc_convert_to_internal_format): Likewise.
2845         
2846         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2847         * text-coding.c (Fcoding_system_alias_p): New function.
2848         * text-coding.c (Fcoding_system_aliasee): New function.
2849         * text-coding.c (append_suffix_to_symbol): New function.
2850         * text-coding.c (dangling_coding_system_alias_p): New function.
2851         * text-coding.c (Ffind_coding_system):
2852         * text-coding.c (Fcopy_coding_system):
2853         * text-coding.c (encode_coding_no_conversion):
2854         * text-coding.c (syms_of_file_coding):
2855         * text-coding.c (vars_of_file_coding):
2856         Rewrite coding system alias code.
2857         Allow nested aliases, like symbolic links.
2858         Allow redefinition of coding system aliases.
2859         Prevent existence of dangling coding system aliases.
2860         Eliminate convert_to_external_format.
2861         Eliminate convert_to_internal_format.
2862         
2863         * text-coding.c: Change enum eol_type to eol_type_t.
2864
2865 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2866
2867         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2868         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2869
2870         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2871         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2872
2873 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2874
2875         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2876         `ideograph-daikanwa'.
2877
2878         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2879         (Vcharset_ucs_bmp): Likewise.
2880         (Vcharset_mojikyo): Add new extern variable definition.
2881         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2882         (Vcharset_latin_iso8859_3): Likewise.
2883         (Vcharset_latin_iso8859_4): Likewise.
2884         (Vcharset_latin_iso8859_9): Likewise.
2885         (Vcharset_latin_viscii_lower): Likewise.
2886         (Vcharset_latin_viscii_upper): Likewise.
2887         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2888         `mojikyo' code-point is used to decode.
2889         (encode_char_2): New function [to convert `mojikyo' code-point to
2890         Mojikyo font encoding].
2891         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2892         (breakup_char_1): Likewise.
2893         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2894
2895 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2896
2897         * text-coding.c (Fmake_coding_system): Add document about
2898         `disable-composition' property.
2899
2900 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2901
2902         * text-coding.c (Qdisable_composition): New variable; delete
2903         `Qcomposite'.
2904         (Fmake_coding_system): Add new property `disable-composite';
2905         delete property `composite'.
2906         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2907         instead of `!CODING_SYSTEM_COMPOSITE'.
2908         (syms_of_file_coding): Add new symbol `disable-composition';
2909         delete symbol `composite'.
2910
2911         * file-coding.h (struct Lisp_Coding_System): Add
2912         `disable_composition'; delete `enable_composition'.
2913         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2914         `CODING_SYSTEM_COMPOSITE'.
2915         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2916         `XCODING_SYSTEM_COMPOSITE'.
2917
2918 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2919
2920         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2921         to 0.15.
2922
2923 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2924
2925         * text-coding.c (Qcomposite): New variable.
2926         (Fmake_coding_system): Add new property `composite'.
2927         (struct decoding_stream): Add `combined_char_count',
2928         `combined_chars' and `combining_table' in UTF-2000.
2929         (COMPOSE_FLUSH_CHARS): New macro.
2930         (COMPOSE_ADD_CHAR): New macro.
2931         (reset_decoding_stream): Reset `str->combined_char_count' and
2932         `str->combining_table' in UTF-2000.
2933         (decode_coding_iso2022): Modify for character-decomposition.
2934         (syms_of_file_coding): Add new symbol `composite'.
2935
2936 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2937
2938         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2939         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2940         of `Vcharacter_composition_table' if `->decomposition' property
2941         has only 1 element.
2942         (Qlatin_tcvn5712): New variable.
2943         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2944         (complex_vars_of_mule_charset): Add new coded-charset
2945         `latin-tcvn5712'.
2946
2947         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2948
2949 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2950
2951         * file-coding.h (struct Lisp_Coding_System): Add
2952         `enable_composition'.
2953         (CODING_SYSTEM_COMPOSITE): New macro.
2954         (XCODING_SYSTEM_COMPOSITE): New macro.
2955
2956 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2957
2958         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2959
2960 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2961
2962         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2963         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2964
2965 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2966
2967         * mule-charset.c (Vcharset_mojikyo): New variable.
2968         (Fdefine_char): Don't use coded-charset which does not have
2969         non-builtin character range to allocate character-id.
2970         (Qmojikyo): New variable.
2971         (syms_of_mule_charset): Add new symbol `mojikyo'.
2972         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2973
2974         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2975         (LEADING_BYTE_MOJIKYO): New macro.
2976         (MIN_CHAR_MOJIKYO): New macro.
2977         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2978         (MAX_CHAR_MOJIKYO): New macro.
2979
2980 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2981
2982         * mule-charset.c (remove_char_attribute): Fixed.
2983
2984 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2985
2986         * mule-charset.c (remove_char_attribute): New function.
2987         (Fremove_char_attribute): New function.
2988         (encode_builtin_char_1): Comment out builtin-support for
2989         greek-iso8859-7 and cyrillic-iso8859-5.
2990         (Fdecode_char): Check `code' is an integer.
2991         (syms_of_mule_charset): Add `remove-char-attribute'.
2992         (MIN_CHAR_GREEK): Deleted.
2993         (MAX_CHAR_GREEK): Likewise.
2994         (MIN_CHAR_CYRILLIC): Likewise.
2995         (MAX_CHAR_CYRILLIC): Likewise.
2996         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2997         MAX_CHAR_GREEK for `greek-iso8859-7'.
2998
2999         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3000         (MAX_CHAR_GREEK): Likewise.
3001         (MIN_CHAR_CYRILLIC): Likewise.
3002         (MAX_CHAR_CYRILLIC): Likewise.
3003
3004 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3005
3006         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3007         format is used without `ucs' property.
3008         (Fdecode_char): Fix problem with GR representation.
3009         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3010         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3011
3012 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3013
3014         * mule-charset.c (make_builtin_char): New function.
3015         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3016         (Fset_charset_mapping_table): Modify for new representation of
3017         code-point.
3018         (Fdecode_char): New function.
3019         (syms_of_mule_charset): Add new builtin function `decode-char' in
3020         UTF-2000.
3021
3022         * char-ucs.h (make_builtin_char): New prototype.
3023         (DECODE_CHAR): New inline function.
3024         (MAKE_CHAR): Use `DECODE_CHAR'.
3025
3026 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3027
3028         * text-coding.c (parse_charset_conversion_specs): Use
3029         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3030         `XCHARSET_TYPE'.
3031         (iso2022_designate): Likewise.
3032
3033         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3034         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3035
3036         * mule-charset.c (Vcharset_ucs): New variable.
3037         (print_charset): Change design; use `CHARSET_CHARS' and
3038         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3039         (make_charset): Change signature to specify `chars' and
3040         `dimension' instead of `type'.
3041         (range_charset_code_point): Modify for 256^n-set.
3042         (encode_builtin_char_1): Encode as `ucs' in default.
3043         (Fmake_charset): Modify for `make_charset'.
3044         (Fmake_reverse_direction_charset): Likewise.
3045         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3046         UTF-2000.
3047         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3048         for `make_charset'.
3049
3050         * char-ucs.h (Vcharset_ucs): New variable.
3051         (LEADING_BYTE_UCS): New macro.
3052         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3053         and `chars' to `unsigned short' from `unsigned int'.
3054         (CHARSET_TYPE): Deleted.
3055         (XCHARSET_TYPE): Deleted.
3056
3057 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3058
3059         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3060
3061         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3062         (ENCODE_CHAR): New macro.
3063
3064 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3065
3066         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3067         to 0.14 (Kawachi-Katakami).
3068
3069 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3070
3071         * text-coding.c (char_encode_shift_jis): Modify for
3072         `charset_code_point'.
3073         (char_encode_iso2022): Likewise.
3074
3075         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3076         (integer) instead of list of <Lisp_Object>s (integers) as the
3077         format of code-point of a coded-charset.
3078         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3079         (encode_builtin_char_1): New function; delete
3080         `split_builtin_char'.
3081         (charset_code_point): Return <int> instead of <Lisp_Object>.
3082         (Fsplit_char): Don't use `SPLIT_CHAR'.
3083
3084         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3085         prototype for `split_builtin_char'.
3086         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3087         (charset_code_point): Likewise.
3088         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3089         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3090
3091 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3092
3093         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3094         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3095
3096 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3097
3098         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3099
3100         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3101         (MAX_CHAR_OBS_94x94): Deleted.
3102
3103 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3104
3105         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3106
3107         * char-ucs.h (MAX_CHAR_BMP): New macro.
3108
3109 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3110
3111         * text-coding.c: Sync with r21-2-24.
3112
3113 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3114
3115         * file-coding.c: Modify for UTF-2000.
3116
3117 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3118
3119         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3120         to 0.13 (Takaida).
3121
3122 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3123
3124         * mule-charset.c (split_builtin_char): Delete builtin support for
3125         `katakana-jisx0201'.
3126         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3127         BMP area in builtin representation.
3128
3129         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3130         `Vcharset_katakana_jisx0201'.
3131
3132 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3133
3134         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3135         (Qisolated): New variable.
3136         (Qinitial): New variable.
3137         (Qmedial): New variable.
3138         (Qfinal): New variable.
3139         (Qvertical): New variable.
3140         (Qsmall): New variable.
3141         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3142         `Qvertical' and `Qsmall'.
3143         (Qmojikyo_pj_[1 .. 21]): New variable.
3144         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3145         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3146         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3147         .. 21]'.
3148
3149 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3150
3151         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3152         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3153         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3154
3155 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3156
3157         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3158         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3159         BMP.
3160         (Qjapanese_jisx0208_1990): New variable.
3161         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3162         (complex_vars_of_mule_charset): Add new coded-charset
3163         `japanese-jisx0208-1990'.
3164
3165         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3166         (MIN_CHAR_JIS_X0208_1990): New macro.
3167         (MAX_CHAR_JIS_X0208_1990): New macro.
3168
3169 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3170
3171         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3172         coded-charset is not found.
3173
3174 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3175
3176         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3177         (Fdefine_char): Use `Fmake_char'.
3178
3179 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3180
3181         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3182         (Vcharset_hiragana_jisx0208): Deleted.
3183         (Vcharset_katakana_jisx0208): Deleted.
3184         (Qideograph_daikanwa): New variable.
3185         (Qhiragana_jisx0208): Deleted.
3186         (Qkatakana_jisx0208): Deleted.
3187         (split_builtin_char): Split `ideograph-daikanwa'.
3188         (Fsplit_char): New implementation for UTF-2000.
3189         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3190         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3191         (complex_vars_of_mule_charset): Add new coded-charset
3192         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3193         `katakana-jisx0208'.
3194
3195         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3196         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3197         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3198         (MIN_CHAR_DAIKANWA): New macro.
3199         (MAX_CHAR_DAIKANWA): New macro.
3200
3201 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3202
3203         * data.c (Fstring_to_number): Don't recognize floating point if
3204         base is not 10.
3205
3206 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3207
3208         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3209
3210 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3211
3212         * mule-charset.c (Qsquare): New variable.
3213         (to_char_code): Add `Qsquare'.
3214         (syms_of_mule_charset): Add new symbol `square'.
3215
3216 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3217
3218         * mule-charset.c (Qcircle): New variable.
3219         (to_char_code): Add `Qcircle'.
3220         (syms_of_mule_charset): Add new symbol `circle'.
3221
3222 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3223
3224         * mule-charset.c (Qfont): New variable.
3225         (to_char_code): Add `Qfont'.
3226         (syms_of_mule_charset): Add new symbol `font'.
3227
3228 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3229
3230         * mule-charset.c (Qsub): New variable.
3231         (to_char_code): Add `Qsub'.
3232         (syms_of_mule_charset): Add new symbol `sub'.
3233
3234 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3235
3236         * mule-charset.c (Fput_char_attribute): Convert each element of
3237         VALUE to GL position if ATTRIBUTE is a GR-set,
3238
3239 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3240
3241         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3242         coded-charset is a GR-set.
3243
3244 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3245
3246         * mule-charset.c (Fput_char_attribute): Check each element of
3247         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3248
3249 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3250
3251         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3252         UTF-2000.
3253         (Qethiopic_ucs): New variable in UTF-2000.
3254         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3255         (complex_vars_of_mule_charset): Add new coded-charset
3256         `ethiopic-ucs' in UTF-2000.
3257
3258         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3259         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3260         9)'.
3261         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3262         10)'.
3263         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3264
3265 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3266
3267         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3268         `ascii'.
3269
3270 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3271
3272         * mule-charset.c (Vcharacter_variant_table): New variable.
3273         (Q_ucs): New variable.
3274         (Fchar_variants): New function.
3275         (Fput_char_attribute): Register `->ucs' value to
3276         `Vcharacter_variant_table'.
3277         (syms_of_mule_charset): Add new function `char-variants' and new
3278         symbol `->ucs'.
3279         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3280
3281 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3282
3283         * mule-charset.c (get_char_code_table): Allow negative character
3284         code.
3285         (put_char_code_table): Likewise.
3286         (Vcharacter_composition_table): New variable.
3287         (Q_decomposition): New variable.
3288         (Qwide): New variable.
3289         (Qnarrow): New variable.
3290         (Qcompat): New variable.
3291         (QnoBreak): New variable.
3292         (Qsuper): New variable.
3293         (Qfraction): New variable.
3294         (to_char_code): New function.
3295         (Fget_composite_char): New function.
3296         (Fput_char_attribute): Register `->decomposition' value to
3297         `Vcharacter_composition_table'.
3298         (syms_of_mule_charset): Add new function `get-composite-char', new
3299         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3300         `super' and `fraction'.
3301         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3302
3303 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3304
3305         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3306         character; copy the return value.
3307
3308 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3309
3310         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3311
3312         * mule-charset.c (range_charset_code_point): Must use make_int.
3313         (split_builtin_char): New function.
3314
3315 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3316
3317         * mule-charset.c (char_byte_table): Change name from
3318         "char-code-table" to "char-byte-table".
3319         (mark_char_code_table): New function.
3320         (char_code_table_equal): New function.
3321         (char_code_table_hash): New function.
3322         (char_code_table_description): New constant.
3323         (char_code_table): New type.
3324         (make_char_code_table): New function.
3325         (copy_char_code_table): New function.
3326         (get_char_code_table): Modify for `char_code_table' type.
3327         (put_char_code_table): Likewise.
3328         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3329         (Kashiwara).
3330
3331         * char-ucs.h (char_code_table): New type.
3332         (XCHAR_CODE_TABLE): New macro.
3333         (XSETCHAR_CODE_TABLE): New macro.
3334         (CHAR_CODE_TABLE_P): New macro.
3335         (GC_CHAR_CODE_TABLE_P): New macro.
3336         (struct Lisp_Char_Code_Table): New structure.
3337
3338 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3339
3340         * mule-charset.c (Fmake_charset): Setup byte_offset for
3341         {94|96}^n-set.
3342
3343 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3344
3345         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3346         character.
3347
3348 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3349
3350         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3351         is found.
3352
3353 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3354
3355         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3356         charset, it is regarded as a charset.
3357         (put_char_attribute): New function in UTF-2000.
3358         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3359         charset, mapping-table of the charset is modified.
3360         (Fdefine_char): New function in UTF-2000.
3361         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3362         `Fput_char_attribute'.
3363         (syms_of_mule_charset): Add new function `define-char' and new
3364         symbol `ucs' in UTF-2000.
3365         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3366
3367 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3368
3369         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3370         non-UTF-2000 configuration.
3371
3372 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3373
3374         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3375         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3376
3377         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3378         deleted.
3379         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3380         (Fset_charset_mapping_table): Likewise.
3381
3382         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3383         (CHARSET_ENCODING_TABLE): Delete.
3384         (XCHARSET_ENCODING_TABLE): Delete.
3385         (charset_code_point): New interface.
3386
3387 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3388
3389         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3390         instead of `charset_get_byte1' and `charset_get_byte2'.
3391
3392         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3393         (charset_get_byte2): Deleted.
3394
3395 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3396
3397         * char-ucs.h (SPLIT_CHAR): New inline function.
3398         (breakup_char_1): Use `SPLIT_CHAR'.
3399
3400         * mule-charset.c (range_charset_code_point): New function.
3401         (charset_code_point): New function.
3402
3403         * char-ucs.h (range_charset_code_point): New interface.
3404         (breakup_char_1): Use `range_charset_code_point'.
3405
3406 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3407
3408         * mule-charset.c (Fmake_charset): Delete unused local variable
3409         `code_offset'.
3410
3411         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3412         (breakup_char_1): Find a charset and code-point in
3413         `Vcharacter_attribute_table'.
3414
3415 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3416
3417         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3418         to 0.10 (Yao).
3419
3420 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3421
3422         * mule-charset.c (Vcharacter_attribute_table): New variable.
3423         (Fchar_attribute_alist): New function.
3424         (Fget_char_attribute): New function.
3425         (Fput_char_attribute): New function.
3426         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3427         too.
3428         (syms_of_mule_charset): Add new function `char-attribute-alist',
3429         `get-char-attribute' and `put-char-attribute'.
3430         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3431
3432 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3433
3434         * mule-charset.c (Fmake_charset): Just use
3435         `get_unallocated_leading_byte'.
3436
3437         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3438         sets; don't use final-byte based number for private sets.
3439
3440 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3441
3442         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3443         integer.
3444
3445 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3446
3447         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3448         to 0.9.
3449
3450 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3451
3452         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3453         of `CHAR_LEADING_BYTE' in UTF-2000.
3454
3455         * insdel.c (find_charsets_in_bufbyte_string): Use
3456         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3457         (find_charsets_in_emchar_string): Likewise.
3458
3459         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3460         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3461
3462         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3463         (CHAR_CHARSET_ID): New macro.
3464
3465 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3466
3467         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3468         charset-id - MIN_LEADING_BYTE.
3469         (put_char_table): Likewise.
3470
3471 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3472
3473         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3474         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3475         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3476         (CHARSET_ID_OFFSET): New macro.
3477         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3478         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3479         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3480         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3481         4).
3482         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3483         5).
3484         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3485         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3486         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3487         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3488         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3489
3490 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3491
3492         * mule-charset.c (next_allocated_leading_byte): New variable in
3493         UTF-2000.
3494         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3495         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3496         (get_unallocated_leading_byte): Simply use
3497         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3498         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3499         UTF-2000.
3500
3501         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3502         (MAX_LEADING_BYTE_PRIVATE): New macro.
3503         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3504         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3505
3506 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3507
3508         * mule-charset.c (Fmake_charset): Allocate final-byte based
3509         charset-id for 94-set, 96-set and 94x94-set.
3510
3511 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3512
3513         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3514         ambiguous `else'.
3515         (Fmake_charset): Likewise.
3516         (complex_vars_of_mule_charset): Modify the font registry of
3517         `ucs-bmp' not to match `Ethiopic-Unicode'.
3518
3519 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3520
3521         * mule-charset.c (complex_vars_of_mule_charset): Add font
3522         registory of `ucs-bmp'.
3523
3524 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3525
3526         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3527         coded-charsets in `default-coded-charset-priority-list' when
3528         breaking up a character.
3529
3530         * mule-charset.c (Vcharset_latin_viscii): New variable.
3531         (Qlatin_viscii): New variable.
3532         (make_charset): Don't use `decoding_table'.
3533         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3534         byte_offset.
3535         (Fset_charset_mapping_table): New implementation.
3536         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3537         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3538         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3539         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3540         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3541         charset `latin_viscii'.
3542
3543         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3544         (CHARSET_TYPE_94X94): Change to 1 from 2.
3545         (CHARSET_TYPE_96): Change to 2 from 1.
3546         (CHARSET_TYPE_128): New macro.
3547         (CHARSET_TYPE_128X128): Change to 5 from 4.
3548         (CHARSET_TYPE_256): New macro.
3549         (CHARSET_TYPE_256X256): Change to 7 from 5.
3550         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3551
3552 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3553
3554         * text-coding.c (char_encode_shift_jis): Refer
3555         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3556         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3557
3558         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3559         (char_byte_table_equal): New function in UTF-2000.
3560         (char_byte_table_hash): New function in UTF-2000.
3561         (char_byte_table_description): New constant in UTF-2000.
3562         (char_byte_table): New type in UTF-2000.
3563         (make_char_byte_table): New function in UTF-2000.
3564         (copy_char_byte_table): New function in UTF-2000.
3565         (make_char_code_table): New macro in UTF-2000.
3566         (get_char_code_table): New function in UTF-2000.
3567         (put_char_code_table): New function in UTF-2000.
3568         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3569         (charset_description): Add setting in UTF-2000.
3570         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3571         `CHARSET_TO_BYTE1_TABLE(cs)'.
3572         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3573         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3574         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3575         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3576         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3577         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3578         `CHARSET_TO_BYTE2_TABLE(cs)'.
3579
3580         * char-ucs.h (char_byte_table): New type.
3581         (XCHAR_BYTE_TABLE): New macro.
3582         (XSETCHAR_BYTE_TABLE): New macro.
3583         (CHAR_BYTE_TABLE_P): New macro.
3584         (GC_CHAR_BYTE_TABLE_P): New macro.
3585         (struct Lisp_Char_Byte_Table): New structure.
3586         (get_char_code_table): New interface.
3587         (Emchar_to_byte_table): Deleted.
3588         (get_byte_from_character_table): Deleted.
3589         (struct Lisp_Charset): Add `encoding_table'; delete
3590         `to_byte1_table' and `to_byte2_table'.
3591         (CHARSET_ENCODING_TABLE): New macro.
3592         (CHARSET_TO_BYTE1_TABLE): Deleted.
3593         (CHARSET_TO_BYTE2_TABLE): Deleted.
3594         (XCHARSET_ENCODING_TABLE): New macro.
3595         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3596         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3597
3598 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3599
3600         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3601         `vietnamese-viscii-*'.
3602
3603 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3604
3605         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3606         (Qvietnamese_viscii_upper): New variable.
3607         (Fdefine_charset_alias): New function.
3608         (syms_of_mule_charset): Add new function `define-charset-alias'.
3609         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3610         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3611         `latin-viscii-*'.
3612
3613 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3614
3615         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3616         (MAX_CHAR_OBS_94x94): New macro.
3617         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3618         for 94x94 sets.
3619
3620         * mule-charset.c (put_byte_from_character_table): Change unit size
3621         from 128 to 256.
3622         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3623         not defined.
3624         (Fmake_reverse_direction_charset): Modify dummy argument of
3625         `make_charset' for non-UTF-2000 environment.
3626
3627 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3628
3629         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3630
3631         * mule-charset.c (destroy_byte_from_character_table): New macro.
3632         (latin_jisx0201_to_ucs): Deleted.
3633         (latin_iso8859_2_to_ucs): Deleted.
3634         (latin_iso8859_3_to_ucs): Deleted.
3635         (latin_iso8859_4_to_ucs): Deleted.
3636         (latin_iso8859_9_to_ucs): Deleted.
3637         (latin_viscii_lower_to_ucs): Deleted.
3638         (latin_viscii_upper_to_ucs): Deleted.
3639         (mark_charset): Mark `cs->decoding_table'.
3640         (Fcharset_mapping_table): Fix DOC-string.
3641         (Fset_charset_mapping_table): New function.
3642         (syms_of_mule_charset): Add nwe function
3643         `set-charset-mapping-table'.
3644         (complex_vars_of_mule_charset): Don't setup and use
3645         `latin_*_to_ucs'.
3646
3647 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3648
3649         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3650         charset.
3651
3652 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3653
3654         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3655         (Vcharset_katakana_jisx0208): New variable.
3656         (Qhiragana_jisx0208): New variable.
3657         (Qkatakana_jisx0208): New variable.
3658         (make_charset): Add new argument `byte_offset'.
3659         (charset_get_byte1): Modify for new coded-charset definition; use
3660         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3661         `XCHARSET_BYTE_OFFSET'.
3662         (Fmake_charset): Modify for `make_charset'.
3663         (Fmake_reverse_direction_charset): Likewise.
3664         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3665         `katakana-jisx0208'.
3666         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3667         `.'  in font registry of charset `katakana-jisx0201',
3668         `latin-jisx0201', `vietnamese-viscii-lower' and
3669         `vietnamese-viscii-upper'; modify DOC-string of charset
3670         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3671         registry of charset `japanese-jisx0208' not to use font for JIS
3672         X0208:1990; add new charset `hiragana-jisx0208' and
3673         `katakana-jisx0208'.
3674
3675         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3676         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3677         (struct Lisp_Charset): Add `byte_offset'.
3678         (CHARSET_BYTE_OFFSET): New macro.
3679         (XCHARSET_UCS_MIN): New macro.
3680         (XCHARSET_UCS_MAX): New macro.
3681         (XCHARSET_CODE_OFFSET): New macro.
3682         (XCHARSET_BYTE_OFFSET): New macro.
3683         (MIN_CHAR_HIRAGANA): New macro.
3684         (MAX_CHAR_HIRAGANA): New macro.
3685         (MIN_CHAR_KATAKANA): New macro.
3686         (MAX_CHAR_KATAKANA): New macro.
3687         (MAKE_CHAR): Modify for new coded-charset definition; use
3688         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3689         `XCHARSET_BYTE_OFFSET'.
3690
3691 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3692
3693         * mule-charset.c (CHAR96): Deleted.
3694         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3695         <Lisp_Object>.
3696         (latin_iso8859_2_to_ucs): Likewise.
3697         (latin_iso8859_3_to_ucs): Likewise.
3698         (latin_iso8859_4_to_ucs): Likewise.
3699         (latin_iso8859_9_to_ucs): Likewise.
3700         (latin_viscii_lower_to_ucs): Likewise.
3701         (latin_viscii_upper_to_ucs): Likewise.
3702         (latin_tcvn5712_to_ucs): Commented out.
3703         (make_charset): Change type of argument `decoding_table' from
3704         <Emchar*> to <Lisp_Object> [vector of characters].
3705         (Fmake_charset): Modify for `make_charset'.
3706         (Fmake_reverse_direction_charset): Likewise.
3707         (Fcharset_mapping_table): New function in UTF-2000.
3708         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3709         UTF-2000.
3710         (complex_vars_of_mule_charset): Modify for type change of
3711         `*_to_ucs'; modify for `make_charset'.
3712
3713         * char-ucs.h (struct Lisp_Charset): Change type of
3714         `decoding_table' from <Emchar*> to <Lisp_Object>.
3715         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3716
3717 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3718
3719         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3720         error with non-UTF-2000-Mule.
3721
3722 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3723
3724         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3725         in lisp again].
3726         (Vcharset_chinese_cns11643_4): Likewise.
3727         (Vcharset_chinese_cns11643_5): Likewise.
3728         (Vcharset_chinese_cns11643_6): Likewise.
3729         (Vcharset_chinese_cns11643_7): Likewise.
3730         (Qchinese_cns11643_3): Likewise.
3731         (Qchinese_cns11643_4): Likewise.
3732         (Qchinese_cns11643_5): Likewise.
3733         (Qchinese_cns11643_6): Likewise.
3734         (Qchinese_cns11643_7): Likewise.
3735         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3736         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3737         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3738         (complex_vars_of_mule_charset): Likewise.
3739
3740 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3741
3742         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3743         96-set.
3744         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3745         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3746
3747 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3748
3749         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3750         0xFF60.
3751         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3752         (breakup_char_1): Likewise.
3753
3754         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3755         one of them includes the specified character.
3756
3757 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3758
3759         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3760
3761 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3762
3763         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3764
3765 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3766
3767         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3768         definition for non-UTF-2000 Mule.
3769         (latin_iso8859_3_to_ucs): Likewise.
3770         (latin_iso8859_4_to_ucs): Likewise.
3771         (latin_iso8859_9_to_ucs): Likewise.
3772         (latin_jisx0201_to_ucs): Likewise.
3773         (MIN_CHAR_THAI): Likewise.
3774         (MAX_CHAR_THAI): Likewise.
3775         (MIN_CHAR_GREEK): Likewise.
3776         (MAX_CHAR_GREEK): Likewise.
3777         (MIN_CHAR_HEBREW): Likewise.
3778         (MAX_CHAR_HEBREW): Likewise.
3779         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3780         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3781         (MIN_CHAR_CYRILLIC): Likewise.
3782         (MAX_CHAR_CYRILLIC): Likewise.
3783
3784 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3785
3786         * char-ucs.h (breakup_char_1): Use
3787         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3788         thai-tis620 and katakana-jisx0201 area.
3789
3790 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3791
3792         * char-ucs.h (breakup_char_1): Use
3793         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3794         area.
3795
3796         * text-coding.c (reset_encoding_stream): Fixed.
3797         (char_encode_ucs4): Delete `& 255'.
3798
3799         * char-ucs.h (breakup_char_1): Use
3800         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3801
3802 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3803
3804         * file-coding.c (Fmake_coding_system): Don't set up
3805         `codesys->fixed.size'.
3806         (encode_coding_no_conversion): Don't refer
3807         `str->codesys->fixed.size'.
3808
3809 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3810
3811         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3812         (latin_a_char_to_byte1): Deleted.
3813         (latin_a_char_to_byte2): Deleted.
3814
3815 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3816
3817         * mule-charset.c (make_charset): Add new argument `ucs_min',
3818         `ucs_max' and `code_offset'.
3819         (charset_get_byte1): New implementation [delete specific charset
3820         depended implementations].
3821         (Fmake_charset): Modify for `make_charset'.
3822         (Fmake_reverse_direction_charset): Likewise.
3823         (complex_vars_of_mule_charset): Likewise.
3824
3825         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3826         `code_offset'.
3827         (CHARSET_UCS_MIN): New macro.
3828         (CHARSET_UCS_MAX): New macro.
3829         (CHARSET_CODE_OFFSET): New macro.
3830         (MAKE_CHAR): Delete charset depended definitions [except
3831         katakana-jisx0201].
3832
3833 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3834
3835         * char-ucs.h (breakup_char_1): Use
3836         `Vdefault_coded_charset_priority_list' for C0-Controls,
3837         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3838
3839 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3840
3841         * char-ucs.h (charset_get_byte1): New function.
3842         (XCHARSET_GET_BYTE1): Deleted.
3843         (charset_get_byte2): New function.
3844         (XCHARSET_GET_BYTE2): Deleted.
3845         (Vdefault_coded_charset_priority_list): New external variable.
3846         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3847         `Vdefault_preferred_coded_charset_list'.
3848
3849         * mule-charset.c (charset_get_byte1): New function.
3850         (charset_get_byte2): New function.
3851         (Vdefault_coded_charset_priority_list): New variable.
3852         (vars_of_mule_charset): Add new variable
3853         `default-coded-charset-priority-list'.
3854
3855 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3856
3857         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3858         (XCHARSET_GET_BYTE2): New inline function.
3859         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3860         `XCHARSET_GET_BYTE2'.
3861
3862 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3863
3864         * mule-charset.c (make_charset): Initialize
3865         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3866         NULL if table is not defined.
3867
3868 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3869
3870         * text-coding.c (char_encode_shift_jis): Use
3871         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3872         `ucs_to_latin_jisx0201'.
3873
3874         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3875         (ucs_to_latin_iso8859_2): Deleted.
3876         (ucs_to_latin_iso8859_3): Deleted.
3877         (ucs_to_latin_iso8859_4): Deleted.
3878         (ucs_to_latin_iso8859_9): Deleted.
3879         (ucs_to_latin_viscii_lower): Deleted.
3880         (ucs_to_latin_viscii_upper): Deleted.
3881         (ucs_to_latin_tcvn5712): Deleted.
3882         (make_charset): Add new argument `decoding_table'; set up
3883         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3884         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3885         `decoding_table' is defined in UTF-2000.
3886         (Fmake_charset): Modify for `make_charset'.
3887         (Fmake_reverse_direction_charset): Likewise.
3888         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3889         and `GENERATE_96_SET'.
3890
3891         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3892         (ucs_to_latin_jisx0201): Deleted.
3893         (latin_iso8859_2_to_ucs): Deleted.
3894         (ucs_to_latin_iso8859_2): Deleted.
3895         (latin_iso8859_3_to_ucs): Deleted.
3896         (ucs_to_latin_iso8859_3): Deleted.
3897         (latin_iso8859_4_to_ucs): Deleted.
3898         (ucs_to_latin_iso8859_4): Deleted.
3899         (latin_iso8859_9_to_ucs): Deleted.
3900         (ucs_to_latin_iso8859_9): Deleted.
3901         (latin_viscii_lower_to_ucs): Deleted.
3902         (ucs_to_latin_viscii_lower): Deleted.
3903         (latin_viscii_upper_to_ucs): Deleted.
3904         (ucs_to_latin_viscii_upper): Deleted.
3905         (struct Lisp_Charset): Renamed `encoding_table' to
3906         `to_byte1_table'; add `to_byte2_table'.
3907         (CHARSET_DECODING_TABLE): New macro.
3908         (CHARSET_TO_BYTE1_TABLE): New macro.
3909         (CHARSET_TO_BYTE2_TABLE): New macro.
3910         (XCHARSET_DECODING_TABLE): New macro.
3911         (XCHARSET_TO_BYTE1_TABLE): New macro.
3912         (XCHARSET_TO_BYTE2_TABLE): New macro.
3913         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3914         tables.
3915         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3916         don't use `ucs_to_*' tables.
3917
3918 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3919
3920         * text-coding.c (Fmake_coding_system): Don't set up
3921         `codesys->fixed.size'.
3922         (encode_coding_no_conversion): Use `if' instead of `switch'.
3923
3924         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3925
3926 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3927
3928         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3929         (Fmake_charset): Modify for `make_charset'.
3930         (Fmake_reverse_direction_charset): Likewise.
3931         (complex_vars_of_mule_charset): Likewise.
3932
3933 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3934
3935         * text-coding.c (char_encode_shift_jis): Use table
3936         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3937
3938 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3939
3940         * text-coding.c (text_encode_generic): Use `if' instead of
3941         `switch'.
3942         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3943         decode JIS-Latin.
3944
3945 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3946
3947         * text-coding.c (encode_coding_sjis): Deleted.
3948         (char_encode_shift_jis): New function.
3949         (char_finish_shift_jis): New function.
3950         (reset_encoding_stream): Set up `encode_char' and `finish' for
3951         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3952         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3953         (char_encode_utf8): Treat `eol_type'.
3954
3955 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3956
3957         * file-coding.c (decode_coding_iso2022): Use
3958         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3959
3960 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3961
3962         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3963         to 0.7 (Hirano).
3964
3965 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3966
3967         * char-lb.h (CHAR_COLUMNS): New macro.
3968
3969 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3970
3971         * text-coding.c (char_encode_ucs4): New function.
3972         (char_finish_ucs4): New function.
3973         (encode_coding_ucs4): Deleted.
3974         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3975         (text_encode_generic): Delete local variable `charset' and `half'.
3976         (ucs_to_mule_table): Deleted.
3977         (mule_to_ucs_table): Deleted.
3978         (Fset_ucs_char): Deleted.
3979         (ucs_to_char): Deleted.
3980         (Fucs_char): Deleted.
3981         (Fset_char_ucs): Deleted.
3982         (Fchar_ucs): Deleted.
3983         (decode_ucs4): Deleted.
3984         (mule_char_to_ucs4): Deleted.
3985         (encode_ucs4): Deleted.
3986         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3987         (decode_coding_utf8): Likewise.
3988         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3989         (char_encode_iso2022): Fixed.
3990         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3991         `Fset_char_ucs' and `Fchar_ucs'.
3992         (complex_vars_of_file_coding): Don't initialize
3993         `ucs_to_mule_table'.
3994
3995         * objects-tty.c (tty_initialize_font_instance): Don't use
3996         `XCHARSET_COLUMNS'.
3997
3998         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3999         UTF-2000.
4000
4001         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4002         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4003
4004         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4005         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4006         (emchar_string_displayed_columns): Likewise.
4007
4008         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4009         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4010         (string_column_at_point): Likewise.
4011         (Fmove_to_column): Likewise.
4012
4013         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4014         `encoding_table' and `decoding_table'.
4015         (CHARSET_REP_BYTES): Deleted.
4016         (XCHARSET_REP_BYTES): Deleted.
4017         (XCHARSET_COLUMNS): Deleted.
4018         (CHAR_COLUMNS): New macro.
4019         (lookup_composite_char): Deleted unconditionally.
4020         (composite_char_string): Likewise.
4021
4022 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4023
4024         * char-ucs.h (Emchar_to_byte_table): New type.
4025         (get_byte_from_character_table): New function interface.
4026         (Vcharset_latin_jisx0201): New variable.
4027         (latin_jisx0201_to_ucs): New variable.
4028         (ucs_to_latin_jisx0201): New variable.
4029         (Vcharset_latin_iso8859_2): New variable.
4030         (latin_iso8859_2_to_ucs): New variable.
4031         (ucs_to_latin_iso8859_2): New variable.
4032         (Vcharset_latin_iso8859_3): New variable.
4033         (latin_iso8859_3_to_ucs): New variable.
4034         (ucs_to_latin_iso8859_3): New variable.
4035         (Vcharset_latin_iso8859_4): New variable.
4036         (latin_iso8859_4_to_ucs): New variable.
4037         (ucs_to_latin_iso8859_4): New variable.
4038         (Vcharset_latin_iso8859_9): New variable.
4039         (latin_iso8859_9_to_ucs): New variable.
4040         (ucs_to_latin_iso8859_9): New variable.
4041         (Vcharset_latin_viscii_lower): New variable.
4042         (latin_viscii_lower_to_ucs): New variable.
4043         (ucs_to_latin_viscii_lower): New variable.
4044         (Vcharset_latin_viscii_upper): New variable.
4045         (latin_viscii_upper_to_ucs): New variable.
4046         (ucs_to_latin_viscii_upper): New variable.
4047         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4048         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4049         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4050         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4051         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4052         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4053         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4054         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4055         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4056         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4057
4058         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4059         (Vcharset_latin_viscii_upper): New variable.
4060         (make_byte_from_character_table): New function.
4061         (put_byte_from_character_table): New function.
4062         (get_byte_from_character_table): New function.
4063         (CHAR96): New macro.
4064         (ucs_to_latin_jisx0201): New variable.
4065         (latin_jisx0201_to_ucs): New variable.
4066         (ucs_to_latin_iso8859_2): New variable.
4067         (latin_iso8859_2_to_ucs): New variable.
4068         (ucs_to_latin_iso8859_3): New variable.
4069         (latin_iso8859_3_to_ucs): New variable.
4070         (ucs_to_latin_iso8859_4): New variable.
4071         (latin_iso8859_4_to_ucs): New variable.
4072         (ucs_to_latin_iso8859_9): New variable.
4073         (latin_iso8859_9_to_ucs): New variable.
4074         (ucs_to_latin_viscii_lower): New variable.
4075         (latin_viscii_lower_to_ucs): New variable.
4076         (ucs_to_latin_viscii_upper): New variable.
4077         (latin_viscii_upper_to_ucs): New variable.
4078         (ucs_to_latin_tcvn5712): New variable.
4079         (latin_tcvn5712_to_ucs): New variable.
4080         (Qlatin_viscii_lower): New variable.
4081         (Qlatin_viscii_upper): New variable.
4082         (syms_of_mule_charset): Set up new symbol
4083         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4084         (complex_vars_of_mule_charset): Set up new charset
4085         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4086         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4087         `ucs_to_<CHARSET>' tables.
4088
4089 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4090
4091         * text-coding.c: New file.
4092
4093 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4094
4095         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4096
4097         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4098         (MAKE_CHAR): Modify for `ucs-bmp'.
4099         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4100         non-MULE characters of BMP.
4101
4102 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4103
4104         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4105         to 0.6.
4106
4107 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4108
4109         * lstream.h:
4110         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4111         - Include character.h for `CHAR_ASCII_P'.
4112
4113         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4114
4115         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4116         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4117
4118         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4119         (BYTE_C0_P): Likewise.
4120         (BYTE_C1_P): Likewise.
4121         (Lstream_get_emchar_1): Likewise.
4122         (Lstream_fput_emchar): Likewise.
4123         (Lstream_funget_emchar): Likewise.
4124         (copy_internal_to_external): Likewise.
4125         (copy_external_to_internal): Likewise.
4126
4127         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4128         (BYTE_C0_P): Likewise.
4129         (BYTE_C1_P): Likewise.
4130         (Lstream_get_emchar_1): Likewise.
4131         (Lstream_fput_emchar): Likewise.
4132         (Lstream_funget_emchar): Likewise.
4133         (copy_internal_to_external): Likewise.
4134         (copy_external_to_internal): Likewise.
4135
4136         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4137         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4138
4139         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4140         (BYTE_ASCII_P): Moved to mb-1byte.h.
4141
4142 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4143
4144         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4145
4146         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4147         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4148         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4149         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4150         (VALIDATE_CHARPTR_FORWARD): Likewise.
4151         (simple_charptr_emchar): Moved to mb-multibyte.h.
4152         (simple_set_charptr_emchar): Likewise.
4153         (simple_charptr_copy_char): Likewise.
4154         (non_ascii_charptr_emchar): Likewise.
4155         (non_ascii_set_charptr_emchar): Likewise.
4156         (non_ascii_charptr_copy_char): Likewise.
4157         (charptr_emchar): Moved to mb-*byte.h.
4158         (set_charptr_emchar): Likewise.
4159         (charptr_copy_char): Likewise.
4160
4161         * mb-1byte.h, mb-multibyte.h: New files.
4162
4163 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4164
4165         * mb-utf-8.h (MULTIBYTE): New macro.
4166         (MAX_EMCHAR_LEN): Moved from buffer.h.
4167         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4168
4169         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4170
4171         * mb-lb.h, multibyte.h: New files.
4172
4173         * char-1byte.h (Charset_ID): Moved from buffer.h.
4174         (MIN_LEADING_BYTE): Likewise.
4175         (LEADING_BYTE_ASCII): Likewise.
4176         (NUM_LEADING_BYTES): Likewise.
4177         (CHARSETP): Likewise.
4178         (CHARSET_BY_LEADING_BYTE): Likewise.
4179         (XCHARSET_LEADING_BYTE): Likewise.
4180         (XCHARSET_GRAPHIC): Likewise.
4181         (XCHARSET_COLUMNS): Likewise.
4182         (XCHARSET_DIMENSION): Likewise.
4183         (CHAR_CHARSET): Likewise.
4184         (CHAR_LEADING_BYTE): Likewise.
4185         (BREAKUP_CHAR): Likewise.
4186         (Vcharset_ascii): Likewise.
4187
4188         * buffer.h: Include multibyte.h unconditionally.
4189         (VALID_CHARPTR_P): Moved to multibyte.h.
4190         (ASSERT_VALID_CHARPTR): Likewise.
4191         (REAL_INC_CHARPTR): Likewise.
4192         (REAL_INC_CHARBYTIND): Likewise.
4193         (REAL_DEC_CHARPTR): Likewise.
4194         (INC_CHARPTR): Likewise.
4195         (INC_CHARBYTIND): Likewise.
4196         (DEC_CHARPTR): Likewise.
4197         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4198         (VALIDATE_CHARPTR_FORWARD): Likewise.
4199         (charptr_n_addr): Likewise.
4200         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4201         (simple_charptr_emchar): Moved to multibyte.h.
4202         (simple_set_charptr_emchar): Likewise.
4203         (simple_charptr_copy_char): Likewise.
4204         (non_ascii_charptr_emchar): Likewise.
4205         (non_ascii_set_charptr_emchar): Likewise.
4206         (non_ascii_charptr_copy_char): Likewise.
4207         (charptr_emchar): Likewise.
4208         (set_charptr_emchar): Likewise.
4209         (charptr_copy_char): Likewise.
4210         (charptr_emchar_n): Likewise.
4211         (Charset_ID): Moved to char-1byte.h.
4212         (Vcharset_ascii): Likewise.
4213         (CHAR_CHARSET): Likewise.
4214         (CHAR_LEADING_BYTE): Likewise.
4215         (LEADING_BYTE_ASCII): Likewise.
4216         (NUM_LEADING_BYTES): Likewise.
4217         (MIN_LEADING_BYTE): Likewise.
4218         (CHARSETP): Likewise.
4219         (CHARSET_BY_LEADING_BYTE): Likewise.
4220         (XCHARSET_LEADING_BYTE): Likewise.
4221         (XCHARSET_GRAPHIC): Likewise.
4222         (XCHARSET_COLUMNS): Likewise.
4223         (XCHARSET_DIMENSION): Likewise.
4224         (BREAKUP_CHAR): Likewise.
4225
4226 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4227
4228         * character.h: Add document about interface for characters.
4229
4230         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4231         (MAKE_CHAR): Delete comment about
4232         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4233         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4234         (BREAKUP_CHAR): Modify name of arguments.
4235         (CHAR_CHARSET): Modify name of argument.
4236
4237         * buffer.h: Delete document about Emchar accessors.
4238
4239 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4240
4241         * character.h (CHAR_INTP): Moved from buffer.h
4242         (CHAR_OR_CHAR_INTP): Likewise.
4243         (XCHAR_OR_CHAR_INT): Likewise.
4244         (CHECK_CHAR_COERCE_INT): Likewise.
4245
4246         * buffer.h (CHAR_INTP): Moved to character.h
4247         (CHAR_OR_CHAR_INTP): Likewise.
4248         (XCHAR_OR_CHAR_INT): Likewise.
4249         (CHECK_CHAR_COERCE_INT): Likewise.
4250
4251 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4252
4253         * character.h:
4254         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4255         - Include char-1byte.h, char-lb.h or char-ucs.h.
4256
4257         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4258
4259         * buffer.h: Include character unconditionally.
4260         (valid_char_p): Moved to char-*.h.
4261         (non_ascii_valid_char_p): Moved to char-lb.h.
4262
4263         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4264
4265 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4266
4267         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4268         in UTF-2000 because it is not ported yet and not to use
4269         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4270         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4271         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4272
4273         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4274         (CHAR_ASCII_P): Moved from character.h.
4275
4276         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4277         (CHAR_ASCII_P): Likewise.
4278         (CHAR_FIELD1_MASK): Deleted.
4279         (CHAR_FIELD2_MASK): Deleted.
4280         (CHAR_FIELD3_MASK): Deleted.
4281         (MAX_CHAR_BASIC_LATIN): New macro.
4282         (CHAR_FIELD1): Deleted.
4283         (CHAR_FIELD2_INTERNAL): Deleted.
4284         (CHAR_FIELD3_INTERNAL): Deleted.
4285         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4286         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4287         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4288         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4289         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4290         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4291         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4292         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4293         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4294         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4295         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4296         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4297         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4298         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4299         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4300         (MIN_CHAR_COMPOSITION): Deleted.
4301         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4302         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4303
4304 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4305
4306         * buffer.h: Include mb-utf-8.h in UTF-2000.
4307
4308         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4309
4310         * mb-utf-8.h: New file.
4311
4312 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4313
4314         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4315         instead of `int'.
4316
4317         * mule-charset.h, buffer.h (Charset_ID): New type.
4318
4319 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4320
4321         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4322         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4323         instead of `MULE_CHAR_PRIVATE_OFFSET',
4324         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4325         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4326         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4327
4328         * character.h (Vcharset_japanese_jisx0212): New variable
4329         definition.
4330
4331 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4332
4333         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4334         (charset_by_attributes): Delete array about direction.
4335         (latin_a_char_to_charset): New variable in UTF-2000.
4336         (latin_a_char_to_byte1): New variable in UTF-2000.
4337         (latin_a_char_to_byte2): New variable in UTF-2000.
4338         (Qucs_bmp): New variable.
4339         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4340         `Bufbyte'.
4341         (next_allocated_2_byte_leading_byte): Likewise.
4342         (non_ascii_set_charptr_emchar): Likewise.
4343         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4344         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4345         `charset_by_attributes'.
4346         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4347         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4348         and `CHARSET_BY_LEADING_BYTE'.
4349         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4350         `utf-2000-version' to `vars_of_mule_charset'.
4351         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4352         define `leading-code-private-11' in UTF-2000; move setting of
4353         `utf-2000-version' from `syms_of_mule_charset'.
4354         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4355         UTF-2000.
4356
4357         * character.h (Charset_ID): New type.
4358         (LEADING_BYTE_UCS_BMP): New macro.
4359         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4360         (CHARSET_ID_OFFSET_94): New macro.
4361         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4362         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4363         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4364         final-byte.
4365         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4366         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4367         (CHARSET_ID_OFFSET_96): New macro.
4368         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4369         CHARSET_ID_OFFSET_96 and final-byte.
4370         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4371         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4372         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4373         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4374         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4375         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4376         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4377         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4378         (LEADING_BYTE_THAI_TIS620): Likewise.
4379         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4380         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4381         (CHARSET_ID_OFFSET_94x94): New macro.
4382         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4383         CHARSET_ID_OFFSET_94x94 and final-byte.
4384         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4385         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4386         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4387         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4388         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4389         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4390         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4391         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4392         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4393         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4394         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4395         (CHARSET_TYPE_128X128): New macro.
4396         (CHARSET_TYPE_256X256): New macro.
4397         (XCHARSET_PRIVATE_P): Delete unconditionally.
4398         (charset_by_attributes): Delete array about direction.
4399         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4400         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4401         (MIN_CHAR_94): New macro.
4402         (MAX_CHAR_94): New macro.
4403         (MIN_CHAR_96): New macro.
4404         (MAX_CHAR_96): New macro.
4405         (MIN_CHAR_94x94): New macro.
4406         (MAX_CHAR_94x94): New macro.
4407         (MIN_CHAR_96x96): New macro.
4408         (MAX_CHAR_96x96): New macro.
4409         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4410         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4411         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4412         - 32)'.
4413         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4414         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4415         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4416         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4417         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4418         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4419         `XCHARSET_LEADING_BYTE' to make code-point.
4420         (latin_a_char_to_charset): New variable.
4421         (latin_a_char_to_byte1): New variable.
4422         (latin_a_char_to_byte2): New variable.
4423         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4424         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4425         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4426
4427         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4428         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4429         (find_charsets_in_emchar_string): Likewise.
4430         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4431
4432         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4433         `int'.
4434         (decode_coding_iso2022): Likewise.
4435
4436         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4437         of `unsigned char'.
4438
4439         * redisplay.c (redisplay_text_width_emchar_string): Use
4440         `Charset_ID' instead of `unsigned char'.
4441         (redisplay_frame_text_width_string): Likewise.
4442
4443         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4444         `unsigned char'.
4445
4446         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4447         instead of `unsigned char'.
4448         (face_cachel_charset_font_metric_info): Likewise.
4449
4450         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4451         (get_non_ascii_char_table_value): Likewise.
4452         (get_char_table): Likewise.
4453         (put_char_table): Likewise.
4454         (map_over_other_charset): Likewise.
4455         (map_char_table): Likewise.
4456
4457         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4458         instead of `unsigned char'.
4459
4460 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4461
4462         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4463         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4464
4465         * mule-charset.c (leading_code_private_11): Don't define in
4466         UTF-2000.
4467
4468         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4469         in UTF-2000 because it is not ported yet and not to use
4470         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4471
4472 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4473
4474         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4475
4476 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4477
4478         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4479         in UTF-2000.
4480
4481         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4482         of unsigned char to store leading-byte.
4483
4484         * chartab.c (get_non_ascii_char_table_value): Don't use
4485         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4486
4487         * file-coding.c (encode_coding_big5): Delete bogus implementation
4488         in UTF2000.
4489
4490         * character.h (LEADING_BYTE_*): Delete definition for
4491         non-UTF-2000.
4492         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4493         (LEADING_BYTE_PREFIX_P): Deleted.
4494         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4495         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4496         (BUFBYTE_LEADING_BYTE_P): Deleted.
4497         (CHARSET_PRIVATE_P): Deleted unconditionally.
4498         (rep_bytes_by_first_byte): Deleted unconditionally.
4499         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4500         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4501         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4502         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4503         (CHAR_FIELD2): Deleted.
4504         (CHAR_FIELD3): Deleted.
4505         (MAKE_CHAR): Delete definition for non-UTF-2000.
4506         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4507         (breakup_char_1): New implementation.
4508         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4509         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4510
4511 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4512
4513         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4514         condition.
4515
4516 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4517
4518         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4519         (CHARSET_PRIVATE_P): Likewise.
4520         (XCHARSET_PRIVATE_P): Likewise.
4521         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4522
4523         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4524         UTF2000.
4525         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4526
4527 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4528
4529         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4530         (NUM_LEADING_BYTES): Changed from 128 to 256.
4531         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4532         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4533         UTF2000.
4534         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4535
4536         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4537         UTF2000.
4538         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4539         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4540         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4541         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4542         (Qchinese_cns11643_3): New variable in UTF2000.
4543         (Qchinese_cns11643_4): New variable in UTF2000.
4544         (Qchinese_cns11643_5): New variable in UTF2000.
4545         (Qchinese_cns11643_6): New variable in UTF2000.
4546         (Qchinese_cns11643_7): New variable in UTF2000.
4547         (syms_of_mule_charset): Define `chinese-cns11643-3',
4548         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4549         and `chinese-cns11643-7' in UTF2000.
4550         (vars_of_mule_charset): Initialize
4551         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4552         + 1 in UTF2000.
4553         (complex_vars_of_mule_charset): Setup charset
4554         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4555         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4556
4557 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4558
4559         * mule-charset.c: Move setting for `leading-code-private-11' from
4560         `syms_of_mule_charset' to `vars_of_mule_charset'.
4561
4562 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4563
4564         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4565         and `NUM_LEADING_BYTES' in assert.
4566
4567 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4568
4569         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4570         instead of 128.
4571         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4572         `NUM_LEADING_BYTES' instead of 128.
4573
4574 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4575
4576         * mule-charset.h (charset_by_leading_byte): Use
4577         `NUM_LEADING_BYTES' instead of 128.
4578         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4579
4580         * mule-charset.c (charset_by_leading_byte): Use
4581         `NUM_LEADING_BYTES' instead of 128.
4582         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4583
4584         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4585         128.
4586
4587 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4588
4589         * mule-charset.c (syms_of_mule_charset): Update to
4590         0.4 (Shin-Imamiya).
4591
4592 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4593
4594         * file-coding.c (encode_coding_sjis): New implementation for
4595         UTF2000.  (decode_coding_sjis): Ditto.
4596
4597 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4598
4599         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4600         Don't define in UTF2000.
4601
4602         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4603         defined.
4604
4605         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4606         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4607         MULE.
4608
4609 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4610
4611         * config.h.in (CHAR_IS_UCS4): New macro.
4612
4613         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4614         conventional MULE representation.
4615         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4616
4617         * mule-charset.h: Reverted to original.
4618
4619         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4620         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4621         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4622
4623         * character.h: New file.
4624
4625         * file-coding.c (Fmake_coding_system): Set 1 to
4626         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4627         defined.
4628         (encode_coding_no_conversion): New implementation for UTF2000.
4629
4630         * file-coding.h (struct Lisp_Coding_System): Add new member
4631         `fixed.size'.
4632
4633 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4634
4635         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4636         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4637         (encode_coding_iso2022): New implementation for UTF2000.
4638
4639 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4640
4641         * mule-canna.c (c2mu): New implementation for UTF2000.
4642         (m2c): Likewise.
4643
4644 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4645
4646         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4647
4648 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4649
4650         * file-coding.c (reset_encoding_stream): Set 0 to
4651         `str->iso2022.current_char_boundary' in UTF2000.
4652         (encode_utf8): Don't define in UTF2000.
4653         (encode_coding_utf8): New implementation for UTF-8 representation
4654         of UTF2000.
4655         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4656
4657 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4658
4659         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4660
4661         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4662         UTF2000.
4663         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4664
4665         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4666
4667         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4668         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4669         as UTF-8 in UTF2000.
4670         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4671         (non_ascii_valid_char_p): Don't define in UTF2000.
4672         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4673         (Lstream_get_emchar_1): Likewise.
4674         (utf-2000-version): New variable in UTF2000.
4675
4676         * lread.c (read_escape): Add new reader `u'.
4677
4678         * insdel.c (three_to_one_table): Don't define in UTF2000.
4679         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4680         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4681         UTF2000.
4682         (bytind_to_bufpos_func): Likewise.
4683         (buffer_mule_signal_inserted_region): Likewise.
4684         (vars_of_insdel): Don't initialize `three_to_one_table'.
4685         (init_buffer_text): Use `buf->text->mule_size' instead of
4686         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4687         UTF2000.
4688
4689         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4690         UTF-8 representation in UTF2000.
4691         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4692         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4693         (decode_coding_iso2022): Don't define local variable `lb' in
4694         UTF2000; don't use LEADING_BYTE in UTF2000; use
4695         `DECODE_ADD_UCS_CHAR' in UTF2000.
4696         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4697
4698         * config.h.in (UTF2000): New macro.
4699
4700         * buffer.h (struct buffer_text): Add new member `mule_size' and
4701         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4702         (valid_char_p): Return always 1 in UTF2000.
4703         (MAX_EMCHAR_LEN): 6 in UTF2000.
4704         (three_to_one_table): Don't define in UTF2000.
4705         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4706         UTF2000.
4707         (real_bytind_to_bufpos): Likewise.
4708
4709         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4710
4711 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4712
4713         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4714         representation change.
4715         (Vutf_2000_version): New variable.
4716         (leading_code_private_11): New variable.
4717         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4718         `leading-code-private-11'.
4719
4720         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4721         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4722         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4723         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4724         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4725         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4726         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4727         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4728         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4729         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4730         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4731         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4732         (MIN_CHAR_GREEK): New macro.
4733         (MAX_CHAR_GREEK): New macro.
4734         (MIN_CHAR_CYRILLIC): New macro.
4735         (MAX_CHAR_CYRILLIC): New macro.
4736         (MIN_CHAR_HEBREW): New macro.
4737         (MAX_CHAR_HEBREW): New macro.
4738         (MIN_CHAR_THAI): New macro.
4739         (MAX_CHAR_THAI): New macro.
4740         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4741         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4742         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4743         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4744         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4745         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4746         (CHAR_FIELD2): New inline function.
4747         (CHAR_FIELD3): New inline function.
4748         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4749         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4750         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4751         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4752         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4753         (MIN_CHAR_COMPOSITION): Likewise.
4754         (CHAR_LEADING_BYTE): Modified for character representation change.
4755         (MAKE_CHAR): Likewise.
4756
4757         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4758         (Vcharset_greek_iso8859_7): Likewise.
4759         (Vcharset_cyrillic_iso8859_5): Likewise.
4760         (Vcharset_hebrew_iso8859_8): Likewise.
4761         (Vcharset_thai_tis620): Likewise.
4762         (Vcharset_katakana_jisx0201): Likewise.
4763
4764 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
4765
4766         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
4767
4768 2002-12-14  Ben Wing  <ben@xemacs.org>
4769
4770         * callint.c: Declaration error.
4771         * dumper.c (pdump):
4772         * dumper.c (pdump_load): Warning fix.
4773         * process.c: GCPRO error.
4774         * glyphs.c (unmap_subwindow):
4775         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
4776         * event-stream.c (maybe_kbd_translate): Wrong argument to
4777         character_to_event().
4778
4779         * alloc.c (garbage_collect_1):
4780         * emacs.c:
4781         * emacs.c (debug_can_access_memory):
4782         * emacs.c (fatal_error_signal):
4783         * emacs.c (mswindows_handle_hardware_exceptions):
4784         * emacs.c (main_1):
4785         * emacs.c (main):
4786         * emacs.c (assert_failed):
4787         * emacs.c (syms_of_emacs):
4788         * lisp.h:
4789         * print.c:
4790         * print.c (std_handle_out_va):
4791         * print.c (write_string_to_stdio_stream):
4792         * print.c (write_fmt_string):
4793         * print.c (printing_badness):
4794         * print.c (printing_major_badness):
4795         * print.c (print_internal):
4796         * print.c (debug_print_no_newline):
4797         * print.c (debug_backtrace):
4798         Be more defensive in handling bad values when printing.  Add code
4799         from trunk involving inhibit_non_essential_printing_operations.
4800         When going down or in debug_print(), don't do external conversion
4801         and such and try really, really hard when printing to avoid core
4802         dumping.  Add force-debugging-signal, debug_break().
4803
4804 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
4805
4806         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
4807         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
4808
4809 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
4810
4811         * database.c: Fix open_database. Berkeley DB API has changed in
4812         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
4813
4814 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
4815
4816         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
4817
4818 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
4819
4820         * event-Xt.c (Xt_timeout):
4821         (Xt_timeout_callback):
4822         (emacs_Xt_add_timeout):
4823         (emacs_Xt_remove_timeout):
4824         (Xt_timeout_to_emacs_event):
4825         Turn completed_timeouts from a stack into a queue.  Fixes
4826         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
4827
4828 2002-11-07  Wolfram Gloger  <wg@malloc.de>
4829
4830         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
4831         * emacs.c (main): Assert that mmap'd allocation is disabled.
4832
4833 2002-10-14  Andy Piper  <andy@xemacs.org>
4834
4835         * glyphs-widget.c (layout_query_geometry): add in fiddle
4836         factor. Include border text in width layout calculation.
4837         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
4838
4839 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
4840
4841         * XEmacs 21.4.10 "Military Intelligence" is released.
4842
4843 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
4844
4845         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
4846         using the NAS private array SoundFileInfo that no longer exists in
4847         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
4848         and earlier.  This is broken for some versions between 1.5a and
4849         1.5f.
4850
4851 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
4852
4853         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
4854
4855         * emacs.c (shut_down_emacs): Improve crash message.
4856
4857 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
4858
4859         * file-coding.c (determine_real_coding_system): Check for coding
4860         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
4861         shebangs and Python PEP 263.
4862
4863 2002-10-08  Andy Piper  <andy@xemacs.org>
4864
4865         * glyphs-widget.c (layout_query_geometry): only resize dynamically
4866         if static sizes haven't been set.
4867
4868 2002-08-30  Mike Alexander  <mta@arbortext.com>
4869
4870         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
4871         to close a socket.
4872
4873 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
4874
4875         * callproc.c (child_setup): 21.4 doesn't have retry_close.
4876
4877 2002-09-20  Mike Sperber <mike@xemacs.org>
4878
4879         (This partially gets back my patch from 2002-07-20 without the
4880         bug.)
4881         * callproc.c (child_setup): Remove Ben's comment noting confusion
4882         over the file descriptors >= 3: close_process_descs() doesn't
4883         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
4884         * process-unix.c (unix_create_process): Call
4885         begin_dont_check_for_quit to inhibit unwanted interaction (and
4886         thus breaking of X event synchronicity) in the child.
4887
4888 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
4889
4890         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
4891         widget.
4892
4893 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
4894
4895         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
4896         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
4897         the xemacs process did not exit, but looped infinitely here.  This
4898         fixes that problem.
4899
4900 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4901
4902         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
4903         (find_context): Improve comments.
4904
4905         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
4906         (re_match_2): An XCHAR_TABLE operation was missing.
4907
4908         Many of the following changes were inspired by Andy Piper's (now
4909         obsolete) patch to make syntax-table text property lookup optional.
4910
4911         [Documentation]
4912
4913         * syntax.h (top level): Document semantics of syntax flags.
4914         * syntax.c (comstr_start, Fforward_comment): Improve comments.
4915         * syntax.c, syntax.h (top level): Document syntax cache better in
4916         comments.
4917
4918         [Instrument syntax caching (temporary change)]
4919
4920         * syntax.h (enum syntax_cache_statistics_functions, struct
4921         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
4922         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
4923         * syntax.c (scan_words, Fforward_comment, scan_lists,
4924         Fbackward_prefix_characters):
4925         * font-lock.c (find_context):
4926         Use them to instrument syntax caching. 
4927         * syntax.c (struct syntax_cache_statistics, scs_statistics,
4928         syntax_cache_statistics_function_names): New type and variables.
4929         * syntax.c (update_syntax_cache): Update and report statistics.
4930
4931         [Major syntax cache optimizations]
4932
4933         syntax.c (lookup_syntax_properties): Default off.
4934
4935         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
4936         * syntax.c (update_syntax_cache):
4937         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
4938
4939         [Minor syntax cache optimizations and code clarifications]
4940
4941         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
4942         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
4943         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
4944         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
4945         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
4946         (Code clarification.)
4947
4948         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
4949         scan_lists): Compute code from syncode, use Boolean macros instead
4950         of redundant masking operations.  (Code clarification; any decent
4951         compiler can do this optimization.)
4952
4953         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
4954         for clarity.
4955
4956         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
4957         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
4958         use F*_single_property_change instead of F*_extent_change.
4959         Currently F*_single_property_change is _much_ less efficient.
4960
4961         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
4962         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
4963         syntax_cache.object properly, don't leave Qt or Qnil.
4964         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
4965         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
4966         tests for Qt or Qnil.
4967
4968 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
4969
4970         * redisplay.c (point_in_line_start_cache): 
4971         * extents.c (print_extent_1):
4972         Fix warnings.
4973
4974         * extents.c (Fset_extent_property): Document `syntax-table' property.
4975
4976         * extents.h (Fnext_single_property_change): EXFUN it.
4977
4978 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
4979
4980         * search.c (clear_unused_search_regs): New static function.
4981         (search_buffer): 
4982         (simple_search): 
4983         (boyer_moore):
4984         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
4985         Minor clarifications in comments.
4986
4987         * regex.c (re_match_2_internal): Ensure no stale submatches.
4988
4989 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
4990
4991         * event-Xt.c (enqueue_focus_event): Add missing prototype.
4992
4993 2002-08-29  Jerry James  <james@xemacs.org>
4994
4995         * lisp.h: structrures -> structures.
4996
4997 2002-06-03  Andy Piper  <andy@xemacs.org>
4998
4999         * frame.c (frame_conversion_internal): add conversion appropriate
5000         for setting frame dimensions in pixels.
5001
5002         * console.h (struct console_methods): add device-specific widget
5003         layout functions.
5004
5005         * emacs.c (main_1): initialize glyph vars.
5006
5007         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5008         (handle_focus_event_2): new function. Allow focus to
5009         be set to a particular window and widget.
5010         (enqueue_focus_event): new function. Create a
5011         synthetic focus event.
5012         (emacs_Xt_handle_magic_event): call
5013         handle_focus_event_2.
5014
5015         * frame.c (Fset_frame_pixel_height): new function. Allow
5016         pixel-based sizing. Does the right thing on character-oriented
5017         displays.
5018         (Fset_frame_pixel_width): ditto.
5019         (Fset_frame_pixel_size): ditto.
5020         (syms_of_frame): declare.
5021
5022         * general-slots.h: add :vertically-justify and
5023         :horizontally-justify.
5024
5025         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5026         (mswindows_widget_border_width): new function.
5027         (mswindows_combo_box_instantiate): set border widths.
5028         (console_type_create_glyphs_mswindows): declare.
5029
5030         * glyphs-widget.c:
5031         (check_valid_justification): allow vertical and horizontal
5032         justification.
5033         (widget_border_width): new function. Call device methods.
5034         (widget_instance_border_width): ditto.
5035         (logical_unit_height): new function. Determine the height of a
5036         logical-unit. Logical units are intended to provide grid-like
5037         layout for subcontrols in a layout. If the layout is
5038         :vertically-justify top then subcontrols will be positioned on
5039         logical-unit boundaries, thus allowing adjacent subcontrols to
5040         line up.
5041         (widget_logical_unit_height): ditto for widgets.
5042         (redisplay_widget): misc cleanup.
5043         (widget_spacing): new function. Call device specific
5044         methods. Intended to be the default gap between adjacent widgets.
5045         (widget_query_geometry): use new spacing functions to determine
5046         appropriate geometry.
5047         (initialize_widget_image_instance): initialize horizontal and
5048         vertical justification.
5049         (widget_instantiate): use logica-units where appropriate for
5050         sizing large widgets.
5051         (button_query_geometry): use widget_instance_border_width.
5052         (tree_view_query_geometry): ditto.
5053         (tab_control_query_geometry): ditto.
5054         (edit_field_query_geometry): new function.
5055         (layout_update): pick up :justify, :horizontally-justify and
5056         :vertically-justify none of which worked previously. :justify is
5057         used as a fallback for both horizontal and vertical justification.
5058         (layout_query_geometry): use logical units to size appropriately.
5059         (layout_layout): ditto.
5060         (Fwidget_logical_to_character_width): new function. Allow users to
5061         convert from logical units to characters so that frame sizes can
5062         be set appropriately.
5063         (Fwidget_logical_to_character_height): ditto.
5064         (syms_of_glyphs_widget): declare.
5065         (image_instantiator_edit_fields): add edit_field_query_geometry.
5066         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5067         :horizontally-justify.
5068         (specifier_vars_of_glyphs_widget): new function. Declare
5069         Vwidget_border_width which is not yet used.
5070
5071         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5072         (x_widget_border_width): new function.
5073         (x_widget_instantiate): create a sensible name for widgets.
5074         (console_type_create_glyphs_x): declare x_widget_border_width.
5075
5076         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5077         (struct Lisp_Image_Instance): add :vertically-justify and
5078         :horizontally-justify.
5079         (LAYOUT_JUSTIFY_TOP): new.
5080         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5081         (ROUND_UP): new macro. Round argument up to next integral
5082         interval.
5083
5084         * redisplay-output.c (redisplay_output_layout): misc formatting.
5085
5086         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5087
5088 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5089
5090         * XEmacs 21.4.9 "Informed Management" is released.
5091
5092 2002-08-19  Andy Piper  <andy@xemacs.org>
5093
5094         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5095         win32 format.
5096
5097         * realpath.c (xrealpath): normalize drive spec also so that dir
5098         sep chars are not mixed on cygwin.
5099
5100 2002-08-06  Jerry James  <james@xemacs.org>
5101
5102         * window.c (Fsplit_window): Count only half of the divider width
5103         against the left window when splitting horizontally. 
5104
5105 2002-06-24  Andy Piper  <andy@xemacs.org>
5106
5107         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5108         toolbar was cleared.
5109
5110         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5111         function. Split out from mswindows_output_frame_toolbars.
5112         (mswindows_output_frame_toolbars): move clear pieces to
5113         mswindows_output_frame_toolbars.
5114
5115         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5116         out from gtk_output_frame_toolbars.
5117         (gtk_output_frame_toolbars): move clear pieces to
5118         gtk_clear_frame_toolbars.
5119
5120         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5121         the frame is cleared. How this ever worked before is a mystery.
5122         (x_output_frame_toolbars): Only output toolbars.
5123         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5124
5125         * gutter.c (update_gutter_geometry):
5126         Mark frame layout changed.
5127         (update_frame_gutter_geometry, update_frame_gutters):
5128         Respect frame_layout_changed.
5129
5130         * console.h (struct console_methods): add
5131         clear_frame_toolbars_method.
5132
5133         * redisplay.c (redisplay_frame): call
5134         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5135
5136         * toolbar.h: declare update_frame_toolbars_geometry.
5137
5138         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5139         out from update_frame_toolbars.  Call clear_frame_toolbars.
5140         (update_frame_toolbars): only output, do not change geometry.
5141
5142         * redisplay.c: add frame_layout_changed.
5143
5144         * redisplay.h: add frame_layout_changed.
5145         (CLASS_RESET_CHANGED_FLAGS): set it.
5146         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5147         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5148         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5149
5150         * device.h (struct device): add frame_layout_changed.
5151         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5152
5153         * frame.h (struct frame): add frame_layout_changed.
5154         (MARK_FRAME_LAYOUT_CHANGED): new.
5155
5156 2002-06-30  Mike Alexander  <mta@arbortext.com>
5157
5158         * event-msw.c (mswindows_need_event): Don't wait for a new message
5159         if the queue is not empty.  Suggested by Paul Moore.
5160
5161 2002-06-12  Andy Piper  <andy@xemacs.org>
5162
5163         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5164         for printing on accurately.
5165
5166 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5167
5168         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5169         WM_ACTIVATE message. Make sure that the frame is visible if the
5170         window is visible. This seemss to fix the problem where XEmacs
5171         appears to freeze after switching desktops with certain virtual
5172         window managers.
5173         (debug_output_mswin_message): Added code to output message
5174         parameters for WM_WINDOWPOSCHANGED, 
5175         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5176
5177 2002-05-25  Andy Piper  <andy@xemacs.org>
5178
5179         * select-x.c (vars_of_select_x): Fix docstring of
5180         x-selection-strict-motif-ownership
5181
5182 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5183
5184         * keymap.c (get_keymap):
5185         Add comment about do_autoload GCPROs own args.
5186
5187 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5188
5189         * bytecode.c (execute_optimized_program): check_opcode ifdef
5190         ERROR_CHECK_BYTE_CODE.
5191
5192 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5193
5194         Thanks to Ben Wing and Michael Sperber.
5195
5196         * eval.c (Fcommand_execute):
5197         (Feval):
5198         (Ffuncall):
5199         (Fmacroexpand_internal):
5200         (function_argcount):
5201         callint.c (Fcall_interactively):
5202         Add comment about do_autoload GCPROs own args.
5203
5204         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5205
5206         * eval.c (Ffuncall): Extra braces to placate GCC.
5207
5208 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5209
5210         * backtrace.h (grow_specpdl):
5211         (SPECPDL_RESERVE):
5212         * EmacsFrame.c (EmacsFrameSetValues):
5213         * eval.c (grow_specpdl):
5214         * ExternalShell.c (hack_event_masks_1):
5215         * glyphs-x.c (convert_EImage_to_XImage): 
5216         (x_finalize_image_instance):
5217         * ralloc.c (page_size):
5218         (r_alloc_sbrk):
5219         * xgccache.c (gc_cache_hash):
5220         Fix unsigned comparison warnings.
5221
5222 2002-07-29  Jerry James  <james@xemacs.org>
5223
5224         * lread.c (locate_file): Any nonnegative return value indicates
5225         success if MODE is nonnegative.
5226
5227 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5228
5229         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5230         argument. 
5231
5232 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5233
5234         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5235
5236         * dumper.c (pdump_get_indirect_count):
5237         (pdump_scan_by_alignment):
5238         (pdump_dump_root_struct_ptrs):
5239         (pdump_dump_rtables):
5240         (pdump_dump_root_objects):
5241         (pdump):
5242         * nas.c (WaveOpenDataForReading):
5243         * fns.c (print_bit_vector):
5244         * font-lock.c (SINGLE_SYNTAX_STYLE):
5245         * glyphs.c (check_for_ignored_expose):
5246         (find_matching_subwindow):
5247         * glyphs-eimage.c:
5248         * imgproc.c (get_histogram):
5249         * redisplay.c (point_in_line_start_cache):
5250         * redisplay-output.c (redisplay_unmap_subwindows):
5251         * symbols.c (defsymbol_massage_name_1):
5252         (defkeyword_massage_name):
5253         (deferror_massage_name_and_message):
5254         * redisplay-x.c (x_output_string): 
5255         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5256         * frame.h (struct frame):
5257         * filelock.c (current_lock_owner):
5258         * doprnt.c (emacs_doprnt_1):
5259         * lisp.h (struct Lisp_Bit_Vector):
5260         (DO_REALLOC):
5261         Fix warnings.
5262
5263 2002-02-13  Ben Wing  <ben@xemacs.org>
5264
5265         * event-stream.c (reset_key_echo):
5266         * event-stream.c (reset_this_command_keys):
5267         * event-stream.c (execute_command_event):
5268         If console is dead as a result of C-x 5 0, then post-command stuff
5269         needs to be careful and do only non-console-specific stuff.
5270
5271 2002-07-01  Mike Sperber <mike@xemacs.org>
5272
5273         * process-unix.c (unix_send_process): Mark coding_outstream as
5274         non-open upon SIGPIPE.
5275
5276         * event-stream.c (Fnext_event): Reorder switch cases to something
5277         that makes sense.
5278
5279 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5280
5281         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
5282         Don't bogusly reinitialize ascii_character property.
5283
5284 2002-07-08  Mike Sperber <mike@xemacs.org>
5285
5286         * process.c (Fstart_process_internal): Do error checking before we
5287         fork off the child, so the child can't muck with the state of the
5288         parent.
5289
5290 2002-07-08  Mike Sperber <mike@xemacs.org>
5291
5292         * ralloc.c (init_ralloc): Allocate properly for pdump.
5293
5294 2002-06-12  Andy Piper  <andy@xemacs.org>
5295
5296         * glyphs.c (query_string_geometry): check the string.
5297
5298         * glyphs-widget.c (widget_logical_unit_height): cope with nil
5299         widget names.
5300
5301 2002-06-17  Jerry James  <james@xemacs.org>
5302
5303         * sysdll.c: Remove RTLD_GLOBAL initialization.
5304         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
5305
5306 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
5307
5308         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
5309
5310 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
5311
5312         * sysdep.c (sys_rename): Make sys_rename work for the case where
5313         Windows rename sets errno to EACCES if target file exists.
5314
5315 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
5316
5317         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5318         Fix detection of metric units to work on Win95
5319
5320 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
5321
5322         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
5323
5324 2002-04-25  Andy Piper  <andy@xemacs.org>
5325
5326         * redisplay.c (create_text_block): Remove extra comment trailer.
5327
5328 2002-04-24  Andy Piper  <andy@xemacs.org>
5329
5330         * redisplay.c (create_text_block): Don't actually add propagation
5331         data if the line ends after we have added a glyph.
5332
5333 2002-04-22  Andy Piper  <andy@xemacs.org>
5334
5335         * extents.c (extent_fragment_update): check for glyphs we have
5336         previously displayed.
5337         * extents.c (print_extent_1): warning removal.
5338         * extents.h: change prototype.
5339         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
5340         widths correctly for wide glyphs.
5341         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
5342         * redisplay.c (prop_type): add PROP_GLYPH.
5343         * redisplay.c (struct prop_block): add glyph type
5344         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
5345         to the propagation data.
5346         * redisplay.c (create_text_block): if there is a glyph in the
5347         propagation data use it to salt extent_fragment_update.
5348         * redisplay.c (create_string_text_block): ditto.
5349
5350 2002-04-13  Nix  <nix@esperi.demon.co.uk>
5351
5352         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
5353         * redisplay-output.c (compare_runes): Compare them.
5354         * redisplay.c: Update copyright date.
5355         * redisplay.c (pos_data): Add need_baseline_computation field.
5356         * redisplay.c (add_glyph_rune): Update ascent, descent, and
5357         need_baseline_computation; zero yoffset. Set max_pixmap_height
5358         for all pixmaps, not just automatically positioned ones.
5359         * redisplay.c (calculate_yoffset): New, compute yoffset values.
5360         * redisplay.c (calculate_baseline): New, compute textual baseline.
5361         * redisplay.c (add_glyph_rune): Call them.
5362         * redisplay.c (create_text_block): Likewise.
5363         * redisplay.c (create_overlay_glyph_block): Likewise.
5364         * redisplay.c (add_margin_runes): Likewise.
5365         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
5366
5367         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
5368         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
5369         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
5370         * redisplay-msw.c (mswindows_output_string): Likewise.
5371         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
5372         * redisplay-gtk.c (gtk_output_display_block): Likewise.
5373         * redisplay-x.c (x_output_display_block): Likewise.
5374
5375 2002-03-28  Ben Wing  <ben@xemacs.org>
5376
5377         * redisplay.c: Fixed bug in redisplay
5378         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
5379         and down of the lines, since they're bigger than the line
5380         size. (It was seen most obviously when there's a horizontal scroll
5381         bar, e.g. do C-h a glyph or something like that.) The problem was
5382         that the glyph-contrib-p setting on glyphs was ignored even if it
5383         was set properly, which it wasn't until now.
5384
5385 2002-04-24  Andy Piper  <andy@xemacs.org>
5386
5387         * lisp.h (Dynarr_end): Fix definition.
5388
5389 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
5390
5391         * redisplay.c (mark_redisplay): Remove call to
5392         update_frame_window_mirror.
5393
5394 2001-11-15  Andy Piper  <andy@xemacs.org>
5395
5396         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
5397         cygwin (again).
5398
5399 2002-02-13  Andy Piper  <andy@xemacs.org>
5400
5401         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
5402         we did in fact enqueue the XM_MAPFRAME event.
5403
5404 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
5405
5406         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
5407         to fix problem switching between virtual desktops under virtuawin
5408         virtual window manager.
5409
5410 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
5411
5412         * event-msw.c: Typo fix.
5413         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
5414         magic XM_MAPFRAME event has been sent.
5415
5416 2001-11-23  Andy Piper  <andy@xemacs.org>
5417
5418         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
5419
5420 2001-11-21  Andy Piper  <andy@xemacs.org>
5421
5422         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
5423         mouse events outside the frame.
5424
5425 2002-03-20  Andy Piper  <andy@xemacs.org>
5426
5427         * menubar-msw.c (mswindows_popup_menu): warning removal.
5428         * dialog-msw.c (dialog_popped_down): ditto.
5429
5430 2001-12-11  Andy Piper  <andy@xemacs.org>
5431
5432         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
5433         * dialog-msw.c (mswindows_make_dialog_box_internal): set
5434         popup_up_p.
5435         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
5436         * menubar-msw.c (mswindows_handle_wm_command): ditto.
5437         * menubar-msw.c (mswindows_popup_menu): ditto.
5438
5439 2001-10-29  Andy Piper  <andy@xemacs.org>
5440
5441         * dialog-msw.c (handle_directory_dialog_box): quit if the user
5442         cancels.
5443
5444 2002-01-03  Andy Piper  <andy@xemacs.org>
5445
5446         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
5447         letters.
5448         (xrealpath): ditto.
5449
5450 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
5451
5452         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
5453         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
5454         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5455         Detect and handle case where machine is set up for metric units
5456
5457 2002-04-02  Andy Piper  <andy@xemacs.org>
5458
5459         * dired-msw.c (mswindows_get_files): 
5460         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
5461         completely handled by XEmacs. Suggested by Thomas Vogler
5462         <mail@thomas-vogler.de>.
5463
5464 2001-11-14  Andy Piper  <andy@xemacs.org>
5465
5466         * nt.c (REG_ROOT): change registry key to XEmacs.
5467
5468 2002-04-27  Andy Piper  <andy@xemacs.org>
5469
5470         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
5471
5472 2002-04-26  Andy Piper  <andy@xemacs.org>
5473
5474         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
5475         behavior.
5476
5477 2002-03-14  Mike Alexander  <mta@arbortext.com>
5478
5479         * event-msw.c (mswindows_unwait_process): New, remove process from
5480         wait list
5481         * process-nt.c (nt_finalize_process_data): Call
5482         mswindows_unwait_process
5483         * console-msw.h: Declare mswindows_unwait_process
5484
5485 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
5486
5487         * editfns.c (Fdecode_time):
5488         (Fformat_time_string):
5489         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
5490         (make_time): Warning elimination (change arg name).
5491
5492 2001-11-24  Andy Piper  <andy@xemacs.org>
5493
5494         * window.c (Fsplit_window): Doc return type.
5495
5496 2002-04-01  Andy Piper  <andy@xemacs.org>
5497
5498         * emacs.c (Fkill_emacs): Only output message box in interactive
5499         mode.
5500
5501 2002-04-26  Andy Piper  <andy@xemacs.org>
5502  
5503         * config.h.in: pull in 21.5.x change to stop alloca warnings under
5504         cygwin.
5505
5506 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
5507
5508         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
5509         bit platform.
5510
5511 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
5512
5513         * XEmacs 21.4.8 "Honest Recruiter" is released.
5514
5515 2002-05-07  Nix  <nix@esperi.demon.co.uk>
5516
5517         Supersedes 2002-04-17 patch.
5518
5519         * process.h (PROCESS_LIVE_P): Use the process status as
5520         evidence of health, not the state of the input stream.
5521         (PROCESS_READABLE_P): Say if the process is readable
5522         from. (It may be dead nonetheless.)
5523         (CHECK_READABLE_PROCESS): Test for that condition.
5524
5525         * process.c (create_process): Use PROCESS_READABLE_P.
5526         (read_process_output, set_process_filter): Likewise.
5527
5528         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
5529         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
5530
5531         This code is #if 0'd, this is not the time to add new functions:
5532
5533         * process.c (Fprocess_readable_p): Report readability status.
5534         * process.c (Qprocess_readable_p): New, associated symbol...
5535         * process.c (syms_of_process): ... initialize it.
5536
5537 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
5538
5539         * XEmacs 21.4.7 "Economic Science" is released.
5540
5541 2002-04-17  Nix  <nix@esperi.demon.co.uk>
5542
5543         * process.h (PROCESS_LIVE_P): Use the process status as
5544         evidence of health, not the state of the input stream.
5545
5546 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
5547
5548         * sysdep.c (sys_siglist): change "signum" to "signal"
5549
5550 2001-04-21  Martin Buchholz  <martin@xemacs.org>
5551
5552         * s/darwin.h: New file.
5553         Thanks to Greg Parker <gparker@cs.stanford.edu>.
5554         
5555 2002-04-23  Andreas Jaeger  <aj@suse.de>
5556
5557         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
5558         which use lib64 for 64-bit libs.
5559         (START_FILES): Likewise.
5560
5561 2002-02-11  Mike Sperber  <mike@xemacs.org>
5562
5563         * device-x.c: 
5564         (x_IO_error_handler):
5565         (x_init_device): Temporarily keep device in static variable
5566         `device_being_initialized' so we can recover gracefully from
5567         internal XOpenDevice failure.  (XOpenDevice is documented to
5568         return NULL on failure, but sometimes calls the IO error handler
5569         instead.)
5570
5571 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
5572
5573         * dired.c (Ffile_name_all_completions): Change documentation --
5574         remove reference to completion-ignored-extensions.
5575         * dired.c (vars_of_dired): Change documentation for
5576         completion-ignored-extensions -- remove reference to
5577         file-name-all-completions.
5578
5579 2002-03-06  Jerry James  <james@xemacs.org>
5580
5581         * emodules.c (emodules_load): Fix multiple loading of same module.
5582
5583 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
5584         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
5585         RTLD_LAZY to avoid incorrect symbol binding when using nested
5586         shared libraries on Solaris.
5587
5588 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
5589
5590         * fileio.c (Ffind_file_name_handler): Improve docstring.
5591
5592 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
5593
5594         * fns.c (Fmapconcat): Improve docstring.
5595
5596 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
5597
5598         * device-gtk.c: Add prototype for
5599         emacs_gtk_selection_clear_event_handle.
5600         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
5601         selection.  Setup signal handler for "selection_clear_event"
5602         (emacs_gtk_selection_clear_event_handle).
5603
5604         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
5605         other applications owning the clipboard (based on
5606         x_handle_selection_clear).
5607
5608 2001-12-23  William M. Perry  <wmperry@gnu.org>
5609
5610         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
5611         
5612 2002-01-04  Martin Buchholz  <martin@xemacs.org>
5613
5614         * keymap.c (define_key_alternate_name): Parenthesize EQ.
5615
5616 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
5617
5618         * XEmacs 21.4.6 "Common Lisp" is released.
5619
5620 2001-12-16  Torsten Duwe  <duwe@caldera.de>
5621
5622         * search.c (Freplace_match): Add missing sub-expression functionality.
5623
5624         * buffer.c (decode_buffer): Add a check for pointer type to
5625         decode_buffer, before gcc's CSE optimization reorders a
5626         dereference in front of the allow_string test.
5627
5628 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
5629
5630         * window.c (window_loop): Fix bug that sometimes prevented
5631         window_loop() from iterating across multiple devices.  Also, at
5632         Ben's request, changed infloop-detecting code to abort() instead
5633         of silently terminating window_loop().
5634
5635 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
5636
5637         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
5638         * editfns.c (make_time): New function.
5639         (Fencode_time): Use it instead of wasteful_word_to_lisp.
5640         * lisp.h (make_time): Prototype and comment it.
5641         * dired.c (wasteful_word_to_lisp): Deprecate.
5642         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
5643
5644 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
5645
5646         * fileio.c (auto_save_1): Use current coding system, not
5647         escape-quoted.
5648
5649 2001-11-13  Ben Wing  <ben@xemacs.org>
5650
5651         * window.c:
5652         * window.c (window_truncation_on):
5653         * window.c (syms_of_window):
5654         truncate-partial-width-windows should respect the buffer being
5655         displayed, like other redisplay vars.
5656
5657 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
5658
5659         * event-stream.c (Fread_key_sequence): save current buffer.
5660
5661 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5662
5663         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
5664
5665 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5666
5667         * alloc.c (lcrecord_stats): Add space for types defined in modules.
5668
5669 2001-10-26  Mike Alexander  <mta@arbortext.com>
5670
5671         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
5672
5673 2001-10-25  Andy Piper  <andy@xemacs.org>
5674
5675         * ChangeLog:
5676         * dialog-msw.c (handle_directory_proc): new function.
5677          (handle_directory_dialog_box): new fucntion.
5678          (handle_file_dialog_box): use new directory dialog support.
5679          (mswindows_make_dialog_box_internal): ditto.
5680         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
5681         handling.
5682         (mswindows_find_frame): make global.
5683         * fileio.c (Fexpand_file_name): build fix.
5684         * general-slots.h: add Qdirectory.
5685         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
5686         handling.
5687         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
5688         cygwin not leaving win32 paths unchanged.
5689         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
5690         cygwin runtime to do path conversion.
5691         (Fmswindows_shell_execute): fix cygwin handling of URLs.
5692         (syms_of_win32): add new function.
5693         * window.c (window_loop): build fix.
5694
5695 2001-10-15  Andy Piper  <andy@xemacs.org>
5696
5697         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
5698
5699 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
5700
5701         * XEmacs 21.4.5 "Civil Service" is released.
5702
5703 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
5704
5705         * glyphs-x.c: Force buffer-tab highlight update when moving the
5706         buffer, avoiding an ugly black border, used for keyboard focus
5707         indication, on a widget that can never have keyboard focus, the
5708         buffer tab.
5709
5710 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
5711
5712         * process-unix.c (unix_open_multicast_group): Remove too much
5713         conversion between host and network byte order.
5714
5715 2001-09-10  Nix  <nix@esperi.demon.co.uk>
5716
5717         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
5718         before replacing them.
5719
5720         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
5721         operation.
5722
5723         * src/window.c (undedicate_windows): Use it.
5724         * src/window.h: Add prototype.
5725
5726 2001-09-17  Ben Wing  <ben@xemacs.org>
5727
5728         * fileio.c (normalize_filename):
5729         * fileio.c (Fexpand_file_name):
5730         Fix various C++ compile errors in Andy's recent code.
5731         
5732         * callint.c (Fcall_interactively):
5733         * editfns.c (Ftemp_directory):
5734         * editfns.c (Fuser_full_name):
5735         * emacs.c (argmatch):
5736         * lread.c (locate_file_map_suffixes):
5737         * redisplay-x.c (x_ring_bell):
5738         Fix sign-compare warnings.
5739         
5740 2001-09-08  Andy Piper  <andy@xemacs.org>
5741
5742         * fileio.c (normalize_filename): copied from nt.c
5743         * (Ffile_name_directory): enable win32 paths under cygwin.
5744         * (Ffile_name_nondirectory): ditto.
5745         * (directory_file_name): ditto.
5746         * (Fexpand_file_name): ditto.
5747         * (Ffile_truename): ditto.
5748         * (Fsubstitute_in_file_name): ditto.
5749         * (Ffile_name_absolute_p): ditto.
5750         * (Ffile_readable_p): ditto.
5751
5752 2001-09-08  Andy Piper  <andy@xemacs.org>
5753
5754         * device-msw.c (mswindows_finish_init_device): remove dde
5755         initialization.
5756         * device-msw.c (mswindows_init_dde): factor out from
5757         mswindows_finish_init_device()
5758         * device-msw.c (init_mswindows_very_early): new function
5759         initialize but don't enable dde.
5760         * emacs.c (main_1): call init_mswindows_very_early.
5761         * event-msw.c:
5762         * event-msw.c (mswindows_dde_callback): only execute when we are
5763         ready.
5764         * symsinit.h: declare init_mswindows_very_early.
5765
5766 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5767
5768         [sjt: This has been in 21.5 for months with no complaints.]
5769
5770         * console.h (struct console_methods): Added flags member.
5771         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
5772         (CONMETH_IMPL_FLAG):
5773         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
5774         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5775
5776         * device.c (window_system_pixelated_geometry): Use the above macros.
5777
5778         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
5779         implememntation flag.
5780         * device.h (DEVICE_DISPLAY_P): Use it.
5781
5782         * frame.c (delete_frame_internal): Use the above macro.
5783
5784         * redisplay.c (redisplay_device): Use it.
5785         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5786         (redisplay_frame): Ditto.
5787
5788         * device-msw.c (mswindows_device_implementation_flags): Removed.
5789         (msprinter_device_implementation_flags): Removed.
5790         (console_type_create_device_mswindows): Removed references to
5791         implementation_flags methods, set implementation flags here.
5792         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
5793
5794         * device-gtk.c (gtk_device_implementation_flags): Removed method.
5795         (console_type_create_device_gtk): Removed method declaration.
5796         Added commented out statement which semantically matches the
5797         commented out statement in the above removed method.
5798
5799 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
5800
5801         The attached patch fixes a few warnings. 
5802
5803         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
5804         * src/frame-gtk.c: guard against GNOME calls in GTK only
5805         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
5806         * src/select-gtk.c: prototype lisp_to_time
5807
5808 2001-06-08  Ben Wing  <ben@xemacs.org>
5809
5810         ------ gc-in-window-procedure fixes ------
5811         
5812         * alloc.c:
5813         * alloc.c (struct post_gc_action):
5814         * alloc.c (register_post_gc_action):
5815         * alloc.c (run_post_gc_actions):
5816         * alloc.c (garbage_collect_1):
5817         Create "post-gc actions", to avoid those dreaded "GC during window
5818         procedure" problems.
5819
5820         * event-msw.c:
5821         Abort, clean and simple, when GC in window procedure.  We want
5822         to flush these puppies out.
5823
5824         * glyphs-msw.c:
5825         * glyphs-msw.c (finalize_destroy_window):
5826         * glyphs-msw.c (mswindows_finalize_image_instance):
5827         Use a post-gc action when destroying subwindows.
5828
5829         * lisp.h:
5830         Declare register_post_gc_action().
5831
5832         * scrollbar-msw.c:
5833         * scrollbar-msw.c (unshow_that_mofo):
5834         Use a post-gc action when unshowing scrollbar windows, if in gc.
5835
5836         * redisplay.c (mark_redisplay):
5837         Add comment about the utter evilness of what's going down here.
5838
5839         ------ cygwin setitimer fixes ------
5840         
5841         * Makefile.in.in (sheap_objs):
5842         * Makefile.in.in (profile_objs):
5843         * Makefile.in.in (objs):
5844         Compile profile.c only when HAVE_SETITIMER.
5845         
5846         * nt.c (mswindows_sigset):
5847         * nt.c (mswindows_sighold):
5848         * nt.c (mswindows_sigrelse):
5849         * nt.c (mswindows_sigpause):
5850         * nt.c (mswindows_raise):
5851         * nt.c (close_file_data):
5852         Style fixes.
5853         
5854         * nt.c:
5855         Move setitimer() emulation to win32.c, because Cygwin needs it too.
5856         
5857         * profile.c:
5858         * profile.c (Fstart_profiling):
5859         * profile.c (Fstop_profiling):
5860         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
5861         instead of just plain setitimer().
5862         
5863         * signal.c:
5864         * signal.c (set_one_shot_timer):
5865         * signal.c (alarm):
5866         Define qxe_setitimer() as an encapsulation around setitimer() --
5867         call setitimer() directly unless Cygwin or MS Win, in which case
5868         we use our simulated version in win32.c.
5869         
5870         * systime.h:
5871         * systime.h (struct itimerval):
5872         * systime.h (ITIMER_REAL):
5873         Prototype mswindows_setitimer() and qxe_setitimer().  Long
5874         comment about "qxe" and the policy regarding encapsulation.
5875
5876         * win32.c:
5877         * win32.c (setitimer_helper_proc):
5878         * win32.c (setitimer_helper_period):
5879         * win32.c (setitimer_helper):
5880         * win32.c (mswindows_setitimer):
5881         Move setitimer() emulation here, so Cygwin can use it.
5882         Rename a couple of functions and variables to be longer and more
5883         descriptive.  In setitimer_helper_proc(), send the signal
5884         using either mswindows_raise() or (on Cygwin) kill().  If for
5885         some reason we are still getting lockups, we'll change the kill()
5886         to directly invoke the signal handlers.
5887
5888         ------ windows shell fixes ------
5889         
5890         * callproc.c:
5891         * ntproc.c:
5892         Comments about how these two files must die.
5893
5894         * callproc.c (init_callproc):
5895         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
5896         not just COMSPEC. (more correct and closer to FSF.) Don't
5897         force a value for SHELL into the environment. (Comments added
5898         to explain why not.)
5899         
5900         * nt.c (init_user_info):
5901         Don't shove a fabricated SHELL into the environment.  See above.
5902
5903 2001-06-01  Ben Wing  <ben@xemacs.org>
5904
5905         * Makefile.in.in (ldflags):
5906         eliminate that pesky "defaulting to 00401000" warning.
5907         * nt.h:
5908         eliminate warnings.
5909
5910 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
5911
5912         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
5913         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
5914
5915 2001-04-24  Jerry James <james@xemacs.org>
5916
5917         * faces.h: pass parameters to Fadd_spec_to_specifier in the
5918         correct order.
5919
5920 2001-06-01  Ben Wing  <ben@xemacs.org>
5921
5922         * event-msw.c (debug_mswin_messages):
5923         conditionalize the messages that were causing compile errors.
5924         (if only macros could generate #ifdef statements ...)
5925
5926 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
5927
5928         * XEmacs 21.4.4 "Artificial Intelligence" is released.
5929
5930 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5931
5932         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
5933
5934 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5935
5936         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
5937         * process-unix.c (unix_canonicalize_host_name):
5938         sysdep.c (init_system_name):
5939         Use it to conditionally support IPv6 canonicalization.
5940
5941 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
5942
5943         * event-msw.c:
5944         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
5945
5946 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
5947
5948         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
5949         attempt is made to scroll when no scroll bar is available.
5950
5951 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5952
5953         * input-method-motif.c (XIM_delete_frame): New callback.
5954         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
5955         got deleted from 21.4.3.)
5956
5957 2001-06-01  Ben Wing  <ben@xemacs.org>
5958
5959         * nt.c (mswindows_utime):
5960         * nt.c (close_file_data):
5961         fix off-by-one-indirection error.
5962
5963 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
5964
5965         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
5966         because set_file_times() now takes Lisp_Object path, instead of
5967         char*.
5968         * nt.c: Include buffer.h.
5969         * nt.c (convert_from_time_t): New.
5970         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
5971         not set mtime correctly.
5972         * nt.h: Declare mswindows_utime().
5973         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
5974         path, instead of char*.
5975         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
5976
5977 2001-05-30  Ben Wing  <ben@xemacs.org>
5978
5979         For 21.4:
5980
5981         (Stephen, just take all event-msw.c patches.  This includes
5982         the "iconify" fix below.)
5983
5984         * event-msw.c:
5985         * event-msw.c (mswindows_dequeue_dispatch_event):
5986         * event-msw.c (assert):
5987         * event-msw.c (emacs_mswindows_quit_p):
5988         * event-msw.c (debug_mswin_messages):
5989         * event-msw.c (debug_output_mswin_message):
5990         * event-msw.c (vars_of_event_mswindows):
5991         Fix yet more problems with C-g handling.
5992         Implement debug-mswindows-events.
5993         
5994 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5995
5996         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
5997         
5998 2001-05-23  Ben Wing  <ben@xemacs.org>
5999
6000         * event-msw.c (winsock_writer):
6001         * event-msw.c (winsock_closer):
6002         prior kludgy code was clobbering the buffer, thinking it was
6003         "unused" space to store an unneeded return value; instead, use
6004         the variable we've already got staring us in the face.
6005
6006 2001-05-17  Andy Piper  <andy@xemacs.org>
6007
6008         * sysfile.h: don't assume that file attributes are boolean
6009
6010 2001-05-23  Ben Wing  <ben@xemacs.org>
6011
6012         * device-msw.c (msprinter_init_device):
6013         signal an error rather than crash with an unavailable network
6014         printer (from Mike Alexander).
6015         
6016         * event-msw.c:
6017         * event-msw.c (struct winsock_stream):
6018         * event-msw.c (winsock_writer):
6019         * event-msw.c (winsock_closer):
6020         * event-msw.c (make_winsock_stream_1):
6021         cleanup headers.  fix (hopefully) an error with data corruption
6022         when sending to a network connection.
6023
6024         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6025         to handle the ~user prefix by (a) always assuming we're referencing
6026         ourselves and not even verifying the user -- hence any file with
6027         a tilde as its first char is invalid! (b) if there wasn't a slash
6028         following the filename, the pointer was set *past* the end of
6029         file and we started reading from uninitialized memory.  Now we
6030         simply treat these as files, always.
6031
6032         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6033         
6034 2001-05-19  Ben Wing  <ben@xemacs.org>
6035
6036         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6037
6038         * process-nt.c:
6039         * process-nt.c (vars_of_process_nt):
6040         remove unused mswindows-quote-process-args.  rec for 21.4.
6041         
6042 2001-05-12  Ben Wing  <ben@xemacs.org>
6043
6044         * event-msw.c (mswindows_dde_callback):
6045         * event-msw.c (mswindows_wnd_proc):
6046         eliminate cygwin warnings.
6047
6048 2001-05-06  Ben Wing  <ben@xemacs.org>
6049
6050         * console-msw.h:
6051         * device-msw.c:
6052         * device-msw.c (print_dialog_worker):
6053         * device-msw.c (mswindows_handle_print_dialog_box):
6054         * device-msw.c (syms_of_device_mswindows):
6055         * dialog-msw.c (mswindows_make_dialog_box_internal):
6056         * general-slots.h:
6057         implement printing the selection when it's selected.
6058
6059 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6060
6061         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6062
6063 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6064
6065         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6066         EMACS_INT is signed.
6067
6068 2001-04-15  Michael Lausch  <mla@1012surf.net>
6069
6070         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6071         gtk_widget_request_size() to give scrollbar >0 width for
6072         GTK >1.2.8.
6073
6074 2001-05-30  William M. Perry  <wmperry@gnu.org>
6075
6076         * event-gtk.c: Check for buttons as modifier keys.
6077
6078 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6079
6080         * s\mingw32.h:
6081         Properly find MinGW's <process.h> inside Cygwin's restructured
6082         include directories.  Don't try to include <cygwin/version.h>
6083         since we are dropping support for MinGW in versions of Cygwin
6084         earlier than b21.
6085         * nt.c:
6086         Drop support for MinGW in versions of Cygwin before b21.
6087         * sysdep.c:
6088         Properly find MinGW's <process.h> inside Cygwin's restructured
6089         include directories.
6090         * syswindows.h:
6091         Drop support for MinGW in versions of Cygwin before b21.
6092         * unexcw.c:
6093         Even though a.out.h is no longer detected by configure, allow
6094         MinGW to use it until we figure out how to do the job with Win32.
6095
6096 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6097
6098         * syntax.c (find_start_of_comment):
6099         Fix `unbalanced parentheses' bug when dealing with mixed comment
6100         styles in c++/java/etc. mode
6101
6102 2001-05-29  Mike Alexander  <mta@arbortext.com>
6103
6104         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6105         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6106
6107 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6108
6109         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6110
6111 2001-03-31  Mike Sperber <mike@xemacs.org>
6112
6113         * search.c (Freplace_match): Support FSF-style specification of
6114         match subexpression when applied to a buffer.
6115
6116 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6117
6118         * event-stream.c (is_scrollbar_event): add missing semicolon
6119
6120 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6121
6122         * Makefile.in.in: Use TAR macro instead of hardcoding
6123           tar.  Allows use of GNU tar instead of system tar
6124
6125 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6126
6127         * event-stream.c (is_scrollbar_event): add missing semicolon
6128
6129 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6130
6131         * XEmacs 21.4.3 "Academic Rigor" is released.
6132
6133 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6134
6135         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6136
6137 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6138
6139         * buffer.c (Vcase_fold_search): Remove obsolete
6140           comment about non ASCII case-fold-search.  This
6141           bug has been fixed by case-table changes.
6142
6143 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6144
6145         * event-msw.c: Restore include of events-mod.h.
6146
6147 2001-04-22   zhaoway  <zw@debian.org>
6148
6149         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6150         !HAVE_SCROLLBARS.
6151
6152 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6153
6154         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6155
6156 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6157
6158         * mule-charset.c (Fmake_charset): Add missing else.
6159
6160 2001-04-23  Ben Wing  <ben@xemacs.org>
6161
6162         * event-msw.c (FAKE_MOD_QUIT):
6163         * event-msw.c (mswindows_dequeue_dispatch_event):
6164         * event-msw.c (mswindows_wnd_proc):
6165         * event-msw.c (emacs_mswindows_quit_p):
6166         Get critical quit working.
6167
6168 2001-05-05  Ben Wing  <ben@xemacs.org>
6169
6170         * console-msw.h:
6171         * device-msw.c:
6172         * device-msw.c (mswindows_get_default_margin):
6173         * frame-msw.c (mswindows_size_frame_internal):
6174         * frame-msw.c (msprinter_init_frame_1):
6175         * frame-msw.c (vars_of_frame_mswindows):
6176         Change top/bottom margin defaults to 0.5 inches.
6177
6178 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6179
6180         Fix link error with gcc 3.0 on Linux.
6181         * terminfo.c (UP): Remove.
6182         * terminfo.c (BC): Remove.
6183         * terminfo.c (PC): Remove.
6184         They weren't used, and in any case, these symbols should be
6185         defined in the *library*.
6186
6187 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6188
6189         * s/aix4.h: Fix crash with xlc -O3.
6190         Improve comment explaining how -O3 works.
6191
6192 2001-04-15  Ben Wing  <ben@xemacs.org>
6193
6194         * event-stream.c:
6195         * event-stream.c (Fnext_event):
6196         * event-stream.c (is_scrollbar_event):
6197         * event-stream.c (execute_command_event):
6198         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6199         crash' problem.  His fix introduces other problems.  We filter
6200         out scrollbar events specifically, making them somewhat invisible
6201         to command-building, and not appearing in `this-command-keys'.
6202         More work is still needed (see comments in event-stream.c), but
6203         this fixes all the major problems.
6204
6205 2001-04-20  Ben Wing  <ben@xemacs.org>
6206
6207         * .cvsignore: Added stuff for Windows.
6208
6209 2001-04-28  Ben Wing  <ben@xemacs.org>
6210
6211         * buffer.c (Ferase_buffer):
6212         * editfns.c (buffer_insert1):
6213         * editfns.c (Finsert_before_markers):
6214         * editfns.c (Finsert_string):
6215         * editfns.c (Finsert_char):
6216         * editfns.c (Fdelete_region):
6217         * editfns.c (Fwiden):
6218         * editfns.c (Fnarrow_to_region):
6219         remove bogus lines setting zmacs_region_stays to 0.
6220         
6221 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6222
6223         * process-unix.c (unix_open_network_stream): If connect() fails
6224         invalidate file descriptor after closing it.
6225
6226 2001-03-08  Mike Alexander  <mta@arbortext.com>
6227
6228         * event-msw.c (mswindows_need_event_in_modal_loop):
6229         Don't dispatch a message if we didn't get one.
6230         (mswindows_need_event):
6231         Terminate the correct process when one exits instead of the first
6232         one on Vprocess_list and look for process termination when in
6233         mswindows_protect_modal_loop.
6234
6235 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6236
6237         * XEmacs 21.4.1 "Copyleft" is released.
6238
6239 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6240
6241         * input-method-motif.c (XIM_delete_frame): New callback.
6242         (XIM_init_frame): Register it.
6243
6244 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6245
6246         * XEmacs 21.4.0 "Solid Vapor" is released.
6247
6248 2001-04-15  Ben Wing  <ben@xemacs.org>
6249
6250         * cmdloop.c (call_command_loop):
6251         Fix braino in bit-rotting code.
6252         
6253 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6254
6255         * extents.c (Fset_extent_endpoints): Force creation of extent info
6256         in buffer_or_string.
6257
6258         * extents.c (process_extents_for_insertion_mapper): Correctly
6259         check for open-open zero-length extents.
6260
6261 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6262
6263         * lisp.h: New typedefs Memory_count, Element_count.
6264         * regex.c:
6265         * regex.h:
6266         Sign-compare warning elimination: several unsigned -> signed.
6267         Based on work by Ben Wing <ben@xemacs.org>.
6268
6269 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6270
6271         * XEmacs 21.2.47 "Zephir" is released.
6272
6273 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6274
6275         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6276
6277 2001-04-03  Mike Sperber <mike@xemacs.org>
6278
6279         * search.c: Revert previous patch due because of release.
6280
6281 2001-03-30  Ben Wing  <ben@xemacs.org>
6282
6283         * s\cygwin32.h:
6284         Add missing killpg prototype.
6285
6286         * elhash.c:
6287         Add a comment about fixing problems when a new entry is added
6288         while mapping.
6289
6290         * frame-msw.c (mswindows_init_frame_1):
6291         Fix compile warnings.
6292
6293         * menubar.c (vars_of_menubar):
6294         Provide `menu-accelerator-support' to indicate that we properly
6295         support %_ in menu specifications, so that package code can
6296         conditionalize on this (and remove %_ from menu specifications
6297         on older versions).
6298
6299         * event-msw.c:
6300         * scrollbar-msw.c:
6301         * scrollbar-msw.c (can_scroll):
6302         * scrollbar-msw.h:
6303         Fix handling of mouse wheel under Windows to follow standards --
6304         now scrolls window under pointer, not selected window.
6305
6306 2001-03-31  Mike Sperber <mike@xemacs.org>
6307
6308         * search.c (Freplace_match): Support FSF-style specification of
6309         match subexpression when applied to a buffer.
6310
6311 2001-03-15  Martin Buchholz  <martin@xemacs.org>
6312
6313         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
6314         function to modify KEYMAP, so map over a copy of the hash table.
6315
6316 2001-03-21  Martin Buchholz <martin@xemacs.org>
6317
6318         * XEmacs 21.2.46 "Urania" is released.
6319
6320 2001-03-20  Dan Holmsand  <dan@eyebee.com>
6321
6322         * realpath.c (xrealpath): Make file-truename work with symlinks to
6323         /cygdrive paths on cygwin. Always lowercase drive-letters on
6324         native windows.
6325         (cygwin_readlink): Don't try to find canonical filename unless
6326         file exists.
6327
6328 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
6329
6330         * ChangeLog: Log GTK merge.
6331
6332         * dumper.c:
6333         * select-x.c:
6334         * specifier.c:
6335         * symeval.h:
6336         Revert gratuitous whitespace changes from GTK merge.
6337
6338         * emacs.c: Document end of complex #ifdef @ l. 1495.
6339
6340
6341 2001-03-12  Andy Piper  <andy@xemacs.org>
6342
6343         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
6344         have to do likewise.
6345
6346 2001-03-12  Andy Piper  <andy@xemacs.org>
6347
6348         * sysdep.c: we only support mingw now.
6349
6350 2001-03-09  Andy Piper  <andy@xemacs.org>
6351
6352         * unexcw.c (copy_executable_and_dump_data_section): making approx
6353         overrun a warning only.
6354
6355 2001-03-10  William M. Perry  <wmperry@aventail.com>
6356
6357         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
6358         satisfy Stephen's identical-after-cpp plea.
6359
6360 2001-03-02  Ben Wing  <ben@xemacs.org>
6361
6362         * cmds.c:
6363         * cmds.c (Fforward_char):
6364         * syntax.c:
6365         * window.c:
6366
6367         Augment documentation of the most common motion commands to make
6368         note of the shifted-motion support.
6369         
6370 2001-03-02  Ben Wing  <ben@xemacs.org>
6371
6372         * nt.c (mswindows_fstat):
6373         * nt.c (mswindows_stat):
6374         * search.c (boyer_moore):
6375         Fix compile warnings under Windows.
6376         
6377         * sysdep.c (sys_readdir):
6378         Fix buggy filename-conversion code under Mule.
6379
6380 2001-03-09  William M. Perry  <wmperry@aventail.com>
6381
6382         * Makefile.in.in:
6383         * config.h.in:
6384         * console.c:
6385         * console.h:
6386         * device.c:
6387         * device.h:
6388         * dragdrop.c:
6389         * emacs.c:
6390         * event-stream.c:
6391         * events.c:
6392         * events.h:
6393         * faces.c:
6394         * frame.h:
6395         * general-slots.h:
6396         * glyphs.c:
6397         * gutter.c:
6398         * inline.c:
6399         * lisp.h:
6400         * lrecord.h:
6401         * make-src-depend:
6402         * redisplay-output.c:
6403         * redisplay.c:
6404         * symsinit.h:
6405         * sysfile.h:
6406         * toolbar.c:
6407         * window.c:
6408         The Great GTK Merge.
6409
6410         * ChangeLog.GTK:
6411         * console-gtk.c:
6412         * console-gtk.h:
6413         * device-gtk.c:
6414         * emacs-marshals.c:
6415         * emacs-widget-accessors.c:
6416         * event-gtk.c:
6417         * frame-gtk.c:
6418         * gccache-gtk.c:
6419         * gccache-gtk.h:
6420         * glade.c:
6421         * glyphs-gtk.c:
6422         * glyphs-gtk.h:
6423         * gtk-glue.c:
6424         * gtk-xemacs.c:
6425         * gtk-xemacs.h:
6426         * gui-gtk.c:
6427         * gui-gtk.h:
6428         * menubar-gtk.c:
6429         * native-gtk-toolbar.c:
6430         * objects-gtk.c:
6431         * objects-gtk.h:
6432         * redisplay-gtk.c:
6433         * scrollbar-gtk.c:
6434         * scrollbar-gtk.h:
6435         * select-gtk.c:
6436         * toolbar-gtk.c:
6437         * ui-byhand.c:
6438         * ui-gtk.c:
6439         * ui-gtk.h:
6440         The Great GTK Merge: new files.
6441
6442 2001-02-26  Ben Wing  <ben@xemacs.org>
6443
6444         Reapplied Lstream change.
6445
6446 2001-02-26  Ben Wing  <ben@xemacs.org>
6447
6448         Undid the last change, since it is more controversial than I
6449         thought.  It should be back in at some point soon.
6450         
6451 2001-02-25  Ben Wing  <ben@xemacs.org>
6452
6453         * buffer.c:
6454         * callproc.c (Fold_call_process_internal):
6455         * event-msw.c (ntpipe_slurp_reader):
6456         * event-msw.c (ntpipe_shove_writer):
6457         * event-msw.c (winsock_reader):
6458         * event-msw.c (winsock_writer):
6459         * file-coding.c:
6460         * file-coding.c (detect_eol_type):
6461         * file-coding.c (detect_coding_type):
6462         * file-coding.c (determine_real_coding_system):
6463         * file-coding.c (Fdetect_coding_region):
6464         * file-coding.c (decoding_reader):
6465         * file-coding.c (decoding_writer):
6466         * file-coding.c (mule_decode):
6467         * file-coding.c (Fdecode_coding_region):
6468         * file-coding.c (encoding_reader):
6469         * file-coding.c (encoding_writer):
6470         * file-coding.c (mule_encode):
6471         * file-coding.c (Fencode_coding_region):
6472         * file-coding.c (detect_coding_sjis):
6473         * file-coding.c (decode_coding_sjis):
6474         * file-coding.c (encode_coding_sjis):
6475         * file-coding.c (detect_coding_big5):
6476         * file-coding.c (decode_coding_big5):
6477         * file-coding.c (encode_coding_big5):
6478         * file-coding.c (detect_coding_ucs4):
6479         * file-coding.c (decode_coding_ucs4):
6480         * file-coding.c (encode_coding_ucs4):
6481         * file-coding.c (detect_coding_utf8):
6482         * file-coding.c (decode_coding_utf8):
6483         * file-coding.c (encode_coding_utf8):
6484         * file-coding.c (detect_coding_iso2022):
6485         * file-coding.c (decode_coding_iso2022):
6486         * file-coding.c (encode_coding_iso2022):
6487         * file-coding.c (decode_coding_no_conversion):
6488         * file-coding.c (encode_coding_no_conversion):
6489         * glyphs-x.c (write_lisp_string_to_temp_file):
6490         * gpmevent.c (tty_get_foreign_selection):
6491         * lisp.h:
6492         * lstream.c:
6493         * lstream.c (Lstream_flush_out):
6494         * lstream.c (Lstream_adding):
6495         * lstream.c (Lstream_write_1):
6496         * lstream.c (Lstream_write):
6497         * lstream.c (Lstream_raw_read):
6498         * lstream.c (Lstream_read_more):
6499         * lstream.c (Lstream_read):
6500         * lstream.c (Lstream_unread):
6501         * lstream.c (Lstream_fputc):
6502         * lstream.c (stdio_reader):
6503         * lstream.c (stdio_writer):
6504         * lstream.c (filedesc_reader):
6505         * lstream.c (filedesc_writer):
6506         * lstream.c (lisp_string_reader):
6507         * lstream.c (struct fixed_buffer_stream):
6508         * lstream.c (make_fixed_buffer_input_stream):
6509         * lstream.c (make_fixed_buffer_output_stream):
6510         * lstream.c (fixed_buffer_reader):
6511         * lstream.c (fixed_buffer_writer):
6512         * lstream.c (struct resizing_buffer_stream):
6513         * lstream.c (resizing_buffer_writer):
6514         * lstream.c (dynarr_writer):
6515         * lstream.c (lisp_buffer_reader):
6516         * lstream.c (lisp_buffer_writer):
6517         * lstream.h:
6518         * lstream.h (lstream_implementation):
6519         * lstream.h (struct lstream):
6520         * md5.c (Fmd5):
6521         * process-nt.c (nt_send_process):
6522         * process-unix.c (unix_send_process):
6523         
6524         Correct Lstream lossage due to mixing of signed and unsigned
6525         quantities.  All Lstream uses of size_t and ssize_t are now a
6526         single signed data type Lstream_data_count.  This fixes problems
6527         under Windows with sending large quantities of data to a process,
6528         and may well fix other subtle bugs.
6529
6530 2001-02-23  Martin Buchholz <martin@xemacs.org>
6531
6532         * XEmacs 21.2.45 "Thelxepeia" is released.
6533
6534 2001-02-21  Martin Buchholz  <martin@xemacs.org>
6535
6536         * lisp-union.h (XSETINT): 
6537         (XSETCHAR):
6538         (XSETOBJ): 
6539         Reverse previous change of 2001-02-06.
6540
6541 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
6542
6543         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
6544         buffers.
6545         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6546         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
6547         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
6548         * regex.c (POS_AS_IN_BUFFER): removed
6549         * regex.c (re_search_2):
6550         * regex.c (re_match_2):
6551         Don't use an offset of 1 when calculating buffer positions, since
6552         `BI_BUF_BEGV' does it already.
6553
6554 2001-02-18  Wim Dumon  <wim@easics.be>
6555
6556         * insdel.c (prepare_to_modify_buffer): Also check for
6557         supersession when clash-detection is enabled. 
6558
6559 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
6560
6561         * regex.c (re_match_2_internal):
6562         Convert temp characters from 'const unsigned char' to 're_char'.
6563         Fix crashing bug with extended characters under mule.
6564         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
6565         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
6566         font-lock, pdump, and new syntax-table code.
6567         * syntax.c (find_start_of_comment):
6568         (find_end_of_comment):
6569         (forward-comment):
6570         Fix crashing bugs involving moving beyond end of buffer.
6571         * syntax.c (find_start_of_comment):
6572         Fixed logic to allow proper detection of cases where the same
6573         character is used to end both a two-char comment start and a
6574         two-char comment end sequence. Fixes `(forward-comment -1)'.
6575         * syntax.c (find_start_of_comment):
6576         Return position just past last comment-end character for all cases
6577         (previously was only done for two-char comment-end sequences).
6578         * syntax.c (forward-comment):
6579         Take value returned from `find_end_of_comment', rather than
6580         incrementing it.
6581         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6582         Properly deal with BUFFERP (syntax_cache.object)
6583
6584 2001-02-17  Martin Buchholz  <martin@xemacs.org>
6585
6586         * alloc.c (Fgarbage_collect): 
6587         * alloc.c (make_bit_vector_from_byte_vector):
6588         -Wsign-compare-correctness.
6589
6590 2001-02-16  Martin Buchholz  <martin@xemacs.org>
6591
6592         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
6593         (XSETCHAR): Likewise.
6594         (XSETOBJ): Likewise.
6595
6596 2001-02-15  Martin Buchholz  <martin@xemacs.org>
6597
6598         * mule-canna.c (canna-func-delete_previous): 
6599         Rename to canna-func-delete-previous.
6600
6601 2001-02-14  Martin Buchholz  <martin@xemacs.org>
6602
6603         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
6604
6605 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
6606
6607         * font-lock.c (find_context): Fix C++ compile errors introduced by
6608         recent patch
6609
6610 2001-02-13  Martin Buchholz  <martin@xemacs.org>
6611
6612         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
6613         pragma, but earlier ones barf on the same pragma.
6614
6615 2001-02-06  Mike Sperber <mike@xemacs.org>
6616
6617         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
6618         `configure-mule-lisp-directory'.
6619
6620 2001-02-12  Martin Buchholz  <martin@xemacs.org>
6621
6622         Make sure dump-id.c is compiled in the same way as other .c's.
6623         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
6624         * dump-id.h: Remove.
6625         * emacs.c: Move dump-id.h into dumper.h.
6626         * dumper.h: Move dump-id.h into dumper.h.
6627         * Makefile.in.in:
6628         Use standard .c.o rule for building dump-id.o.
6629         Remove preprocessor flags from link command.
6630         Add dump-id.o to ${otherobjs} if PDUMP.
6631
6632 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
6633
6634         Port FSF 20.7 syntax table improvements.
6635         * syntax.c.
6636         * syntax.h.
6637
6638         Fixups for new syntax table stuff.
6639         * dired.c: Include syntax.c.
6640         (Fdirectory_files): Initialize regex_match_object and
6641         regex_emacs_buffer.
6642         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
6643         and Fget_char_property.
6644
6645         Use ported FSF 20.7 syntax table improvements.
6646         * font-lock.c.
6647         * regex.c.
6648         * search.c.
6649         
6650 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6651
6652         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
6653         Unixware's enum boolean from sys/types.h.
6654
6655 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6656
6657         Fix support for building with latest Purify.
6658         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
6659         (PURIFY_FLAGS): Likewise.
6660
6661 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6662
6663         * fileio.c (lisp_string_set_file_times): New.
6664         * fileio.c (Fcopy_file): Use it.
6665         Fixes bug:
6666         (copy-file filename non-ascii-filename t t)
6667         ==> No such file or directory, non-ascii-filename
6668
6669 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6670
6671         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
6672         USHRT_MAX seems clearer than ~0 anyways.
6673
6674 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6675
6676         dumper improvements.  Inspired by Olivier.
6677         * dumper.c (pdump_max_align): New.
6678         * dumper.c (pdump_add_entry): Use pdump_max_align.
6679         * dumper.c (pdump_get_entry_list): Likewise.
6680         * dumper.c (pdump_scan_by_alignment): Likewise.
6681         Don't iterate through unnecessary alignments.
6682         * dumper.c (pdump_file_get): No need to align result of malloc().
6683         * dumper.c (pdump_mallocadr): Remove.  
6684         The result of malloc() is guaranteed to be maximally aligned.
6685         * dumper.c: s/elmt/elt/g;
6686         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
6687         * dumper.c (pdump_alert_undump_object): Likewise.
6688         * dumper.c (pdump_align_table): 
6689         Don't support alignments > 64.
6690         Store ALIGNOF's, not shift counts, in table.
6691
6692 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6693
6694         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
6695         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
6696         * systime.h: Use HAVE_UTIME.
6697         * sysdep.c (struct utimbuf): Remove.
6698         * sysdep.c (set_file_times): Prefer utime() to utimes().
6699         * config.h.in (HAVE_UTIME): New.
6700         * config.h.in (HAVE_UTIME_H): Remove.
6701         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
6702
6703 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6704
6705         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
6706
6707 2001-02-08  Martin Buchholz  <martin@xemacs.org>
6708
6709         * s/irix6-0.h: Use the standard system memmove, not bcopy.
6710
6711 2001-02-08  Martin Buchholz <martin@xemacs.org>
6712
6713         * XEmacs 21.2.44 "Thalia" is released.
6714
6715 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6716
6717         Fixes crashes in kill-emacs on some systems.
6718         * process-unix.c (unix_kill_child_process):
6719         It's OK for kill() to fail with ESRCH.
6720
6721 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6722
6723         Contortions to make .gdbinit tricks work on most systems.
6724         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
6725         * alloc.c (dbg_valmask): Make non-const.
6726         * alloc.c (dbg_typemask): Make non-const.
6727         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
6728         * alloc.c (dbg_valbits): Make non-const.
6729         * alloc.c (dbg_gctypebits): Make non-const.
6730         * .gdbinit (decode_object): Make it work with AIX cc.
6731
6732 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6733
6734         * elhash.c (make_general_lisp_hash_table):
6735         Use simpler and more efficient calloc to clear entries.
6736
6737 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6738
6739         * window.c (window_scroll): Work around an AIX C compiler bug.
6740         Fixes 'scroll-up' does nothing problem with xlC.
6741
6742 2001-02-05  Martin Buchholz  <martin@xemacs.org>
6743
6744         * .gdbinit: Remove obsolete comment.
6745
6746 2001-01-31  Mike Alexander  <mta@arbortext.com>
6747
6748         * select.c (Fown_selection_internal): Set owned_p for device
6749         method correctly.
6750
6751 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6752
6753         Port to g++ 2.97.
6754         "not" cannot be used as a macro name as it is an operator in C++
6755         * config.h.in: Stop #defining `not'.
6756         * chartab.c (check_category_char): not ==> not_p
6757         * chartab.h: Likewise.
6758         * regex.c (re_match_2_internal): Likewise.
6759
6760 2001-02-02  Martin Buchholz  <martin@xemacs.org>
6761
6762         * lisp-disunion.h: Fix up comments.
6763
6764 2001-01-31  Martin Buchholz  <martin@xemacs.org>
6765
6766         * keymap.c (define_key_check_and_coerce_keysym):
6767         (syms_of_keymap):
6768         Support mouse-6 and mouse-7 bindings in the obvious way.
6769
6770 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6771
6772         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
6773
6774 2001-01-30  Martin Buchholz  <martin@xemacs.org>
6775
6776         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
6777         Previous patch missed DEFVAR_INT_MAGIC.
6778         Make sure future DEFVAR_foo use correct types.
6779         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
6780         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
6781         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
6782         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
6783         * (DEFVAR_INT): Likewise.
6784         * redisplay.c (vertical_clip): Should be of type Fixnum.
6785         * redisplay.c (horizontal_clip): Likewise.
6786         * lisp.h (dump_add_opaque_int): New.
6787         (dump_add_opaque_fixnum): New.
6788
6789 2001-01-29  Andy Piper  <andy@xemacs.org>
6790
6791         * glyphs-widget.c (check_valid_int_or_function): allow symbols
6792         since they can be eval'ed
6793
6794 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6795
6796         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
6797         Oops, XEmacs redefines `class'.  Use `typename' instead.
6798
6799 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6800
6801         * dumper.c: Fix C++ compile errors.
6802
6803 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6804
6805         * tparam.c: Use correct prototypes.
6806
6807 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6808
6809         * sysproc.h: #include util.h for NetBSD's openpty.
6810
6811 2001-01-27  Martin Buchholz  <martin@xemacs.org>
6812
6813         More 64-bit correctness.
6814         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
6815         Use a typedef `fixnum' for the type used for DEFVAR_INT.
6816         Fix up comments.
6817         This finally finishes the 64-bit SGI port.
6818         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
6819         * symbols.c: Fix up comments and type casts.
6820         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
6821         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
6822         * symeval.h (Fixnum): New type.
6823         * symeval.h (symbol_value_type): Fix up comment.
6824
6825         * commands.h:
6826         * nt.c:
6827         * emacs.c:
6828         * data.c:
6829         * redisplay.c:
6830         * abbrev.c:
6831         * dired-msw.c:
6832         * event-Xt.c:
6833         * eldap.c:
6834         * window.c:
6835         * sound.c:
6836         * event-stream.c:
6837         * eval.c:
6838         * buffer.c:
6839         * mule-canna.c: A million DEFVAR_INTs here...
6840         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
6841         * extents.c:
6842         * cmdloop.c:
6843         * lisp.h:
6844         * select-x.c:
6845         * console-x.h:
6846         * event-msw.c:
6847         * mule-wnnfns.c:
6848         * hpplay.c:
6849         * ralloc.c:
6850         * alloc.c:
6851         * keymap.c:
6852         * profile.c:
6853         s/int/Fixnum/g in DEFVAR_INT declarations.
6854
6855 2001-01-26  Martin Buchholz  <martin@xemacs.org>
6856
6857         Port pdump to SGI alignment-sensitive environment.
6858         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
6859         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
6860         properly aligned.
6861         Define and use aligned reading and writing macros.
6862         Use buffered stdio instead of posix i/o for faster dumping.
6863         Eliminate kludgy 256 byte space for header.
6864         Read and write from dump file using structs for alignment safety.
6865         * dumper.c (pdump_align_stream): New.
6866         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
6867         * dumper.c (PDUMP_READ_ALIGNED): New.
6868         * dumper.c (PDUMP_WRITE_ALIGNED): New.
6869         * dumper.c (pdump_static_Lisp_Object): New struct.
6870         * dumper.c (pdump_static_pointer): New struct.
6871         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
6872         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
6873         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
6874         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
6875
6876         * dumper.c (pdump_backtrace):
6877         * dumper.c (pdump_get_indirect_count):
6878         * dumper.c (pdump_register_object):
6879         * dumper.c (pdump_register_struct):
6880         * dumper.c (pdump_reloc_one):
6881         * dumper.c (pdump_scan_by_alignment):
6882         * dumper.c (pdump_dump_from_root_struct_ptrs):
6883         * dumper.c (pdump_dump_opaques):
6884         * dumper.c (pdump_dump_rtables):
6885         * dumper.c (pdump_dump_from_root_objects):
6886         * dumper.c (pdump):
6887         * dumper.c (pdump_load_finish):
6888         Use aligned reading and writing.
6889
6890         * dumper.c (pdump_free): Make static.
6891         * dumper.c (pdump_hFile): Likewise.
6892         * dumper.c (pdump_hMap): Likewise.
6893
6894 2001-01-26  Martin Buchholz <martin@xemacs.org>
6895
6896         * XEmacs 21.2.43 "Terspichore" is released.
6897
6898 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6899
6900         Type fiddling for window_config.saved_windows_count
6901         * window.c (struct window_config): 
6902         Make saved_windows_count member unsigned.
6903         * window.c (sizeof_window_config_for_n_windows): 
6904         Make parameter unsigned.
6905         * window.c (mark_window_config):
6906         * window.c (window_config_equal):
6907         * window.c (free_window_configuration):
6908         * window.c (Fset_window_configuration):
6909         * window.c (count_windows):
6910         * window.c (Fcurrent_window_configuration):
6911         * window.c (reinit_vars_of_window):
6912         Update all callers and users.
6913
6914 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6915
6916         Alignment correctness for flexible arrays.
6917         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
6918         Make alignment-correct. Add interesting comments.
6919         * alloc.c (size_vector):
6920         * alloc.c (make_vector_internal):
6921         * alloc.c (make_bit_vector_internal):
6922         * alloc.c (sweep_bit_vectors_1):
6923         * fns.c (size_bit_vector):
6924         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
6925         * window.c (sizeof_window_config_for_n_windows): 
6926         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
6927
6928 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6929
6930         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
6931
6932 2001-01-23  Andy Piper  <andy@xemacs.org>
6933
6934         * select.c (Fown_selection_internal): pass owned_p
6935
6936         * select-msw.c (mswindows_own_selection): New Signature.
6937
6938         * console.h (struct console_methods): add owned_p to
6939         _own_selection.
6940
6941         * select-x.c (x_own_selection): pass owned_p
6942         (hack_motif_clipboard_selection): use owned_p
6943         (vars_of_select_x): new variable -
6944         x_selection_strict_motif_ownership.
6945
6946 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6947
6948         * specifier.h (specifier_data_offset): Remove pointless parens.
6949         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
6950
6951 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6952
6953         Make Lisp_Object sizeof methods be alignment-correct.
6954         pdump must restore objects to the same alignment as the C compiler
6955         assumes.  It really matters on SGIs.
6956         * lstream.c (aligned_sizeof_lstream): New.
6957         (sizeof_lstream): Use aligned_sizeof_lstream.
6958         (Lstream_new): Likewise.
6959         * opaque.c (aligned_sizeof_opaque): New.
6960         (sizeof_opaque): Use aligned_sizeof_opaque.
6961         (make_opaque): Likewise.
6962         * specifier.c (aligned_sizeof_specifier): New.
6963         (sizeof_specifier): Use aligned_sizeof_specifier.
6964         (make_specifier_internal): Likewise.
6965
6966 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6967
6968         * lstream.h (struct lstream): Use max_align_t for trailing data.
6969         * specifier.h (struct Lisp_Specifier): Likewise.
6970
6971 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6972
6973         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
6974         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
6975         (CCL_SUSPEND): Likewise.
6976         (CCL_INVALID_CMD): Likewise.
6977         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
6978         (ccl_driver): Likewise.
6979         (CCL_WRITE_CHAR): Macro hygiene.
6980         (CCL_WRITE_STRING): Macro hygiene.
6981
6982 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6983
6984         Port "portable" dumper to SunOS 4 and HP-UX.
6985         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
6986         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
6987         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
6988
6989 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6990
6991         * lisp.h (ALIGNOF): A better definition for C++.
6992
6993 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6994
6995         Macro hygiene.
6996         Fix printf warnings: int format, long int arg.
6997         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
6998         (PUSH_FAILURE_POINT): Use correct printf formats.
6999         (POP_FAILURE_POINT): Use correct printf formats.  
7000         Use do {...} while (0)
7001
7002 2001-01-20  Martin Buchholz <martin@xemacs.org>
7003
7004         * XEmacs 21.2.42 "Poseidon" is released.
7005
7006 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7007
7008         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7009
7010 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7011
7012         De-kludgify FIXED_TYPE free list frobbing.
7013         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7014         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7015         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7016         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7017         * alloc.c (LRECORD_FREE_P): New.
7018         * alloc.c (MARK_LRECORD_AS_FREE): New.
7019         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7020         * alloc.c (STRUCT_FREE_P): Deleted.
7021         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7022         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7023         * alloc.c (STRING_CHARS_FREE_P): New.
7024         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7025         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7026         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7027         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7028         * alloc.c (resize_string): Use new definitions.
7029         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7030         * alloc.c (verify_string_chars_integrity): Use new definitions.
7031         * alloc.c (compact_string_chars): Use new definitions.
7032         * alloc.c: Update monster comments.
7033         * lrecord.h (lrecord_type): Add some new lrecord types for
7034         alloc.c's use.
7035
7036 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7037
7038         Improve alignment hackery.
7039         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7040         (max_align_t): Moved from opaque.h - general purpose.
7041         (ALIGN_PTR): Use size_t, not long.
7042         * opaque.h (max_align_t): Move to lisp.h.
7043
7044 2001-01-18  Norbert Koch  <nk@LF.net>
7045
7046         * gui.h: Fix and add prototypes to fix build problems.
7047
7048 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7049
7050         temacs is going away, so `dump-temacs' is now a bad name.
7051         * .dbxrc (dump-temacs): Rename to `dmp'.
7052         * .gdbinit (dump-temacs): Rename to `dmp'.
7053
7054 2001-01-17  Andy Piper  <andy@xemacs.org>
7055
7056         * glyphs.c (print_image_instance): comment to make martin happy.
7057
7058         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7059         change.
7060
7061         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7062         activation.
7063         (mswindows_tab_control_redisplay): warning suppression.
7064
7065         * glyphs-widget.c (widget_update): re-write to cope with updated
7066         items.
7067         (widget_instantiate): use new gui_item functions.
7068         (tab_control_update): deleted.
7069         (progress_gauge_update): deleted.
7070         (image_instantiator_progress_guage): take out update reference.
7071         (image_instantiator_tree_view): ditto.
7072         (image_instantiator_tab_control): ditto.
7073
7074         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7075         Right the new way.
7076         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7077         return whether anything was changed.
7078         (update_gui_item_keywords): as it sounds.
7079
7080         * gui.h: declare widget_gui_parse_item_keywords.
7081
7082         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7083         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7084
7085 2001-01-17  Martin Buchholz <martin@xemacs.org>
7086
7087         * XEmacs 21.2.41 "Polyhymnia" is released.
7088
7089 2001-01-16  Didier Verna  <didier@xemacs.org>
7090
7091         * glyphs.c (image_instantiate): don't use fallbacks when
7092         instantiating a face's background pixmap by inheritance.
7093
7094 2001-01-14  Mike Sperber <mike@xemacs.org>
7095
7096         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7097         Conditionalize accordingly.
7098
7099 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7100
7101         * dumper.c (pdump_file_get): Fix a compiler warning.
7102
7103 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7104
7105         Make Purify happy when pdumping.
7106         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7107         iniitalizing all bits of new lisp object memory.
7108         * symbols.c (Fmake_local_variable): Likewise.
7109         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7110         * symbols.c (Fdefvaralias): Likewise.
7111         * mule-charset.c (vars_of_mule_charset): Likewise.
7112
7113 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7114         Add the `-nd' flag when running pre-dump operations under the debugger.
7115         * .dbxrc (run-temacs): Add `-nd'.
7116         * .dbxrc (update-elc): Likewise.
7117         * .dbxrc (dump-temacs): Likewise.
7118         * .gdbinit (run-temacs): Likewise.
7119         * .gdbinit (check-temacs): Likewise.
7120         * .gdbinit (update-elc): Likewise.
7121         * .gdbinit (dump-temacs): Likewise.
7122
7123 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7124
7125         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7126         export OBJECT_MODE=64
7127         configure --pdump --use-union-type=no
7128         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7129         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7130
7131         * miscplay.c (sndcnv8U_2mono):
7132         Avoid two uses of `++' in the same expression.
7133         Suppresses a GCC warning.
7134
7135 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7136
7137         Make sure future compilers don't miscompile alloc.c.
7138         * alloc.c:
7139         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7140         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7141
7142 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7143
7144         * dumper.c: A little post-pdump-rename comment fixup.
7145
7146 2001-01-09  Jerry James  <james@eecs.ku.edu>
7147
7148         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7149
7150 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7151
7152         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7153         script:
7154         #!/bin/sh
7155         replace_symbol () {
7156           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7157         }
7158
7159         replace_symbol pdump_wire_lists pdump_weak_object_chains
7160         replace_symbol pdump_wire_list dump_add_weak_object_chain
7161
7162         replace_symbol pdump_wires pdump_root_objects
7163         replace_symbol pdump_wire dump_add_root_object
7164
7165         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7166         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7167
7168         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7169         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7170         replace_symbol dumpstructinfo pdump_root_struct_ptr
7171         replace_symbol dumpstruct dump_add_root_struct_ptr
7172
7173         replace_symbol dumpopaque dump_add_opaque
7174         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7175         replace_symbol dumpopaqueinfos pdump_opaques
7176         replace_symbol dumpopaqueinfo pdump_opaque
7177
7178         replace_symbol nb_structdump nb_root_struct_ptrs
7179         replace_symbol nb_opaquedump nb_opaques
7180
7181         replace_symbol align_table pdump_align_table
7182         replace_symbol dump_header pdump_header
7183
7184         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7185         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7186
7187
7188 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7189
7190         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7191         optimizing bytecount_to_charcount().
7192
7193 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7194
7195         * config.h.in:
7196         (HAVE_DLFCN_H): Removed.
7197         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7198
7199 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7200
7201         Portable dumper maintainability improvements.
7202         * alloc.c (staticpro):
7203         * alloc.c (staticpro_nodump):
7204         * alloc.c (garbage_collect_1):
7205         * alloc.c (reinit_alloc_once_early):
7206         * alloc.c (init_alloc_once_early):
7207         * alloc.c: Move dumper functions to alloc.c.
7208         * dumper.c (pdump_backtrace):
7209         * dumper.c (pdump_dump_structs):
7210         * dumper.c (pdump_dump_opaques):
7211         * dumper.c (pdump_dump_rtables):
7212         * dumper.c (pdump_dump_wired):
7213         * dumper.c (pdump):
7214         * dumper.c (pdump_load_check):
7215         * dumper.c (pdump_load_finish):
7216         * dumper.c (pdump_file_unmap):
7217         * dumper.c (pdump_file_get):
7218         * dumper.c (pdump_resource_free):
7219         * dumper.c (pdump_resource_get):
7220         * dumper.c (pdump_file_free):
7221         * dumper.c (pdump_file_try):
7222         * dumper.c (pdump_load):
7223         Remove fixed size limits on staticpro(), staticpro_nodump(),
7224         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7225         Remove custom code for dumping lrecord_implementations_table - use
7226         dumpopaque instead.
7227         Remove (most of the) custom code for dumping staticpros - dump it
7228         like any other dynarr.
7229
7230         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7231         * dumper.c: Moved functions from alloc.c.
7232         * alloc.c (dumpstruct): Moved to dumper.c.
7233         * alloc.c (dumpopaque): Likewise.
7234         * alloc.c (pdump_wire): Likewise.
7235         * alloc.c (pdump_wire_list): Likewise.
7236
7237         * lisp.h (Dynarr_sizeof): New.
7238         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7239         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7240         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7241
7242         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7243         * lisp.h (dumpopaque): ditto.
7244         * lisp.h (pdump_wire): ditto.
7245         * lisp.h (pdump_wire_list): ditto.
7246
7247 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7248
7249         * make-src-depend (PrintPatternDeps):
7250         Use `sort' to make output independent of perl version.
7251
7252 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7253
7254         Port to Netbsd 1.5.
7255         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7256         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7257
7258 2001-01-03  Didier Verna  <didier@xemacs.org>
7259
7260         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7261         that `focus_frame' is alive before thinking of calling
7262         `redisplay_redraw_cursor' on it.
7263
7264 2001-01-08  Martin Buchholz <martin@xemacs.org>
7265
7266         * XEmacs 21.2.40 is released.
7267
7268 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7269
7270         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7271
7272 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7273
7274         * alloc.c (dbg_valmask): Make const.
7275         * alloc.c (dbg_typemask): Make const.
7276         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7277         * alloc.c (dbg_valbits): Make const.
7278         * alloc.c (dbg_gctypebits): Make const.
7279
7280 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
7281
7282         * redisplay-x.c (x_bevel_area):
7283         redisplay.h (struct rune):
7284         Typo fixes in comments.
7285
7286 2001-01-05  Andy Piper  <andy@xemacs.org>
7287
7288         * glyphs-x.c (x_redisplay_widget): use size changed for offset
7289         adjustment.
7290
7291         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
7292
7293 2001-01-05  Martin Buchholz  <martin@xemacs.org>
7294
7295         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
7296
7297         * mule-ccl.c (stack_idx_of_map_multiple):
7298         Non const global data must not be initialized!
7299         Found by MIYASHITA Hisashi.
7300
7301 2001-01-02  Andy Piper  <andy@xemacs.org>
7302
7303         * frame.c (change_frame_size): make sure frame size is always
7304         marked as changed.
7305
7306         * glyphs.c (image_instance_layout): minor code reuse.
7307
7308         * window.c (Fcurrent_window_configuration): revert previous
7309         change.
7310
7311 2001-01-02  Martin Buchholz  <martin@xemacs.org>
7312
7313         * glyphs.h:
7314         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
7315
7316 2000-12-31  Andy Piper  <andy@xemacs.org>
7317
7318         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
7319         when widget gets unmapped.
7320
7321         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
7322         function. Make sure widgets losing focus don't just drop it.
7323         (handle_focus_event_1): record the widget with focus.
7324
7325 2000-12-31  Andy Piper  <andy@xemacs.org>
7326
7327         * window.c (allocate_window): use
7328         make_image_instance_cache_hash_table.
7329         (make_dummy_parent): ditto.
7330         (Fset_window_configuration): ditto.
7331
7332         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
7333
7334         * glyphs.c (process_image_string_instantiator): use
7335         INSTANTIATOR_TYPE.
7336         (get_image_instantiator_governing_domain): ditto.
7337         (normalize_image_instantiator): ditto.
7338         (instantiate_image_instantiator): ditto.
7339         (make_image_instance_1): ditto.
7340         (image_instantiate): ditto. Key on glyph *and* instantiator type.
7341         (instantiator_eq_equal): new function for use with instance hash
7342         tables.
7343         (instantiator_eq_hash): ditto.
7344         (make_image_instance_cache_hash_table): create a suitable hash
7345         table for storing image instances.
7346
7347         * elhash.h (hash_table_weakness): new internal weakness type
7348         HASH_TABLE_KEY_CAR_VALUE_WEAK.
7349         declare new functions.
7350
7351         * elhash.c (finish_marking_weak_hash_tables): introduce yet
7352         another weakness type for glyphs.
7353         (make_standard_lisp_hash_table): new function split out from
7354         make_general_lisp_hash_table.
7355         (make_lisp_hash_table): call make_standard_lisp_hash_table.
7356         (hash_table_instantiate): ditto.
7357         (Fmake_hash_table): ditto.
7358
7359 2000-12-31  Martin Buchholz <martin@xemacs.org>
7360
7361         * XEmacs 21.2.39 is released.
7362
7363 2000-12-29  Andy Piper  <andy@xemacs.org>
7364
7365         * menubar.c (menubar_visible_p_changed): signal the frame changed.
7366
7367         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
7368         the frame has changed so that we pick up geometry changes such as
7369         menubar visibility.
7370
7371 2000-12-28  Andy Piper  <andy@xemacs.org>
7372
7373         * lastfile.c (my_ebss): make a char array so we can pad the
7374         bss. Fixes cygwin unexec.
7375
7376         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
7377
7378 2000-12-26  Andy Piper  <andy@xemacs.org>
7379
7380         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
7381         comments and try and be more precise about a non-/SIGIO world.
7382         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
7383         SIGIO.
7384
7385         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
7386         we don't normalize to zero width or height.
7387
7388 2000-12-24  Andy Piper  <andy@xemacs.org>
7389
7390         * Makefile.in.in (ldflags): add -mwindows when appropriate.
7391
7392 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
7393
7394         * s/sco5.h: SCO 5 has pty support.
7395
7396 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
7397
7398         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
7399         input-method-xlib.c contains whole contents of input-method-xfs.c,
7400         so we can use input-method-xlib.c's code for USE_XFONTSET
7401         using #ifdefs.
7402         * input-method-xfs.c: removed.
7403
7404 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
7405
7406         * file-coding.h (enum coding_category_type): reorder enumerators to
7407         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
7408         (now one greater than largest real coding_category_type enumerator).
7409         * file-coding.c (coding_category_symbol, coding_category_by_priority,
7410         coding_category_system, fcd_descriptihon_1, decode_coding_category,
7411         Fcoding_category_list, Fset_coding_priority_list,
7412         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
7413         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
7414
7415 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7416
7417         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
7418         * redisplay-output.c (redisplay_output_window): Clear top of window
7419         when face is changed.
7420         * redisplay-x.c (x_redraw_exposed_window): Call
7421         redisplay_clear_top_of_window.
7422         * redisplay.h: Publish redisplay_clear_top_of_window.
7423
7424 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7425
7426         * buffer.c (Fkill_buffer): Map over all devices.
7427         * window.c (window_loop): Remove UNSHOW_BUFFER code.
7428         (list_windows): New function.
7429         (list_all_windows): Ditto.
7430         (Freplace_buffer_in_windows): Use them.
7431
7432 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
7433
7434         * database.c (berkdb_subtype): Recognize new subtype `queue'.
7435         (Fopen_database): Use `db_create' instead of `db_open'.
7436         (syms_of_database): Initialize Qqueue.
7437
7438 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7439
7440         * buffer.c (common_init_complex_vars_of_buffer): Initialize
7441         buffer_local_face_property.
7442         * buffer.h (struct buffer): New member buffer_local_face_property.
7443         * window.c (Fset_window_buffer):  Mark window's face as changed
7444         when buffer has buffer local face.
7445         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
7446         * objects.c (color_after_change): Set buffer_local_face_property
7447         when locale of face specifier is buffer.
7448         * objects.c (font_after_change): Ditto.
7449         * objects.c (face_boolean_after_change): Ditto.
7450         * glyphs.c (image_after_change): Ditto.
7451
7452 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7453
7454         * nt.c (mswindows_fstat): Report file permissions, volume serial
7455         number, etc. Code adapted from FSF Emacs 20.7.
7456
7457 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7458
7459         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
7460         of stat when we don't have symbolic links, to make sure
7461         mswindows_stat is called on mswindows.
7462
7463 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7464
7465         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
7466
7467 2000-12-12  Martin Buchholz  <martin@xemacs.org>
7468
7469         * doprnt.c (emacs_doprnt_1): More printing fixes.
7470         Make printing of numbers compatible with libc and FSF Emacs.
7471         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
7472         Use the system printf to do most of the hard work of formatting,
7473         instead of doprnt_1().
7474         Calculate memory to allocate for format string.
7475         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
7476         (doprnt_1): Cleaner code and documentation.
7477
7478 2000-12-01  Jerry James  <james@eecs.ukans.edu>
7479
7480         * Makefile.in.in: Use the loop variable to install headers.
7481
7482 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7483
7484         * window.c (Fsplit_window): Don't invalidate face cache.
7485
7486 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7487
7488         * minibuf.c (Fall_completions): Undo the previous change
7489         which removed checking elements start with space.
7490
7491 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7492
7493         * mule-canna.c: Didier suppression.
7494
7495 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7496
7497         * mule-canna.c: rename static unsigned char buf[] to key_buffer
7498         (warning suppression).  Add English comment translations.
7499
7500 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7501
7502         * unexelfsgi.c (unexec): Better test for mmap failure.
7503
7504 2000-12-05  Martin Buchholz <martin@xemacs.org>
7505
7506         * XEmacs 21.2.38 is released.
7507
7508 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7509
7510         * redisplay.c (bar-cursor): Make a user variable.
7511
7512         * symsinit.h: Add init_postgresql_from_environment.
7513
7514 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7515
7516         * regex.c: Convert to clean C.
7517
7518 2000-12-05  Dan Holmsand  <dan@eyebee.com>
7519
7520         * realpath.c:
7521         Don't #include sysfile.h. Revert to duplicating PATH_MAX
7522         initialization.
7523         (sys_readlink): renamed to system_readlink to avoid conflict with
7524         the other sys_readlink.
7525
7526 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
7527
7528         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
7529
7530 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
7531
7532         * postgresql.c (init_postgresql_from_environment): new function.
7533         (vars_of_postgresql): Move code initializing Lisp variables out and
7534         into init_postgresql_from_environment.
7535         emacs.c (main_1): Call init_postgresql_from_environment if and only
7536         if running a dumped XEmacs.
7537
7538 2000-08-31  Dan Holmsand  <dan@eyebee.com>
7539
7540         * buffer.c: Make find-file-compare-truenames default to true on
7541         windows.
7542
7543         * realpath.c (win32_abs_start):
7544         (cygwin_readlink):
7545         (win32_readlink): New functions.
7546         (xrealpath): Return really real filenames on windows.
7547
7548         * fileio.c (Ffile_truename): Make file-truename work on windows.
7549
7550 2000-11-29  Didier Verna  <didier@xemacs.org>
7551
7552         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
7553         * faces.c (update_face_cachel_data): use it.
7554         * faces.c (add_face_cachel): use it. Complete background pixmap
7555         frobbing in face cache if `update_face_cachel_data' has not done so.
7556
7557 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
7558
7559         * search.c (string_match_1): Don't set last_thing_searched
7560         when search failed.
7561
7562 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
7563
7564         * buffer.c: Include casetab.h
7565         (common_init_complex_vars_of_buffer): Use new case-table object.
7566         * buffer.h: Include casetab.h
7567         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
7568         (DOWNCASE_TABLE_OF): Ditto.
7569         * bufslots.h: Remove char-tables and add case-table.
7570         * casetab.c: Include casetab.h
7571         (CASE_TABLE_P): Removed.
7572         (mark_case_table): New function.
7573         (allocate_case_table): New function.
7574         (Fcase_table_p): Use new case-table.
7575         (case_table_char): New function.
7576         (Fget_case_table): Ditto.
7577         (Fput_case_table): Ditto.
7578         (Fput_case_table_pair): Ditto.
7579         (Fcopy_case_table): Ditto.
7580         (Fcurrent_case_table): Return case-table.
7581         (Fstandard_case_table): Return case-table.
7582         (Fset_case_table): Fix doc-string.
7583         (set_case_table): Use case-table
7584         (syms_of_casetab): DEFSUBR new functions.
7585         (complex_vars_of_casetab): Set up standard case-table.
7586         * casetab.h: New file.
7587         * editfns.c: Include casetab.h
7588         (Fcompare_buffer_substrings): Use case-table.
7589         * inline.c: Include casetab.h
7590         * lisp.h: Remove bogus extern.
7591         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
7592         * search.c: Include casetab.h
7593         (TRANSLATE_ASCII): Removed.
7594         (TRANSLATE): Unconditionally translate character.
7595         (looking_at_1): Use case-table.
7596         (string_match_1): Ditto.
7597         (fast_string_match): Ditto.
7598         (search_command): Ditto.
7599         (search_buffer): Separate boyer_moore.  Check whether
7600         boyer_moore is possible.
7601         (simple_search): New function.
7602         (boyer_moore): Separated from search_buffer. Translate char.
7603
7604 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7605
7606         * regex.c (RE_TR_ASCII): Removed.
7607         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
7608         (PATFETCH): Call PATFETCH_RAW.
7609         (PATFETCH_RAW): Fetch Emchar.
7610         (PATUNFETCH): Decrement charptr.
7611         (GET_BUFFER_SPACE): Rename b to buf_end.
7612         (BUF_PUSH): Ditto.
7613         (BUF_PUSH_2): Ditto.
7614         (BUF_PUSH_3): Ditto.
7615         (EXTEND_BUFFER): Ditto.
7616         (SET_LIST_BIT): Ditto.
7617         (regex_compile): Ditto.  Translate non ASCII char.
7618         (compile_range): Ditto.
7619         (re_search_2): Ditto.
7620         (re_match_2_internal): Compare Emchar.
7621         (bcmp_translate): Ditto.
7622
7623 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
7624
7625         * lisp.h (basic char/int typedefs):  comment improvement.
7626
7627 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
7628
7629         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
7630         unstomp inhibit_site_lisp.  Improve comments.
7631
7632 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
7633
7634         * mule-charset.c (Fcharset_property):  improve type checking, comments.
7635
7636 2000-11-28  Andy Piper  <andy@xemacs.org>
7637
7638         * redisplay-output.c (redisplay_output_subwindow): make sure we do
7639         clipped display for windows in the gutter also.
7640         (redisplay_display_boxes_in_window_p): change semantics of return
7641         codes to be more intuitive.
7642
7643         * gutter.h: declare display_boxes_in_gutter_p.
7644
7645         * gutter.c (display_boxes_in_gutter_p): new function for
7646         redisplay.
7647
7648 2000-11-22  Andy Piper  <andy@xemacs.org>
7649
7650         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
7651         autodetect domain.
7652
7653 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
7654
7655         * callproc.c (Fold_call_process_internal):
7656         * gpm.c (Freceive_gpm_event):
7657         (tty_get_foreign_selection): Might be just warning supression.
7658         * fileio.c (Fwrite_region_internal):
7659         (Fset_visited_file_modtime):
7660         * keymap.c (event_matches_key_specifier_p):
7661         Initialize GCPROed variable.
7662
7663         * menubar-x.c (command_builder_find_menu_accelerator):
7664         Initialize before use.
7665
7666 2000-11-23  Andy Piper  <andy@xemacs.org>
7667
7668         * unexcw.c (unexec): make the resulting executable executable.
7669
7670 2000-11-21  Martin Buchholz  <martin@xemacs.org>
7671
7672         * doc.c (get_doc_string):
7673         Use size_t, not int, for result of XSTRING_LENGTH.
7674
7675         * cmds.c (Fdelete_char):
7676         * cmds.c (Fpoint_at_eol):
7677         * cmds.c (Fself_insert_command):
7678         Use EMACS_INT, not int, for result of XINT.
7679         Someday, someone will want to insert more than 2**31 identical characters.
7680
7681         * cmds.c (Fdelete_char):
7682         * cmds.c (Fdelete_backward_char):
7683         * syntax.c (Fforward_word):
7684         * syntax.c (Fforward_comment):
7685         Make COUNT argument optional, for consistency with forward-char et al.
7686
7687 2000-11-22  Martin Buchholz  <martin@xemacs.org>
7688
7689         * lisp.h:
7690         * print.c (long_to_string):
7691         Return a useful value: the pointer at end of data written.
7692
7693         * doprnt.c:
7694         Use `static const char * const' for constant strings.
7695         (union printf_arg): Delete `i', `ui' members.
7696         (get_doprnt_args):
7697         (emacs_doprnt_1):
7698         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
7699         Do all printf-ing via the `l' specifier.
7700         Use EMACS_INT instead of int.
7701         Optimize.
7702
7703 2000-11-20  Didier Verna  <didier@xemacs.org>
7704
7705         * faces.c (update_face_cachel_data): don't frob the background
7706         pixmap when the window is being created. The face is needed but
7707         does not exist yet.
7708
7709 2000-11-20  Andy Piper  <andy@xemacs.org>
7710
7711         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
7712         messing with a debug environment.
7713
7714 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7715
7716         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
7717
7718 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7719
7720         * casetab.c (Fcase_table_p): Fix compile error and crash.
7721
7722 2000-11-18  Philip Aston  <philipa@mail.com>
7723
7724         * s/cygwin32.h: Cygwin has SVR4-like pty support.
7725
7726 2000-11-18  Martin Buchholz  <martin@xemacs.org>
7727
7728         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
7729         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
7730
7731 2000-11-17  Martin Buchholz  <martin@xemacs.org>
7732
7733         * config.h.in: Define HAVE_ELF_H if elf.h exists.
7734         * unexelf.c: Use HAVE_ELF_H.
7735         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
7736         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
7737         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
7738         Greg Harrington <greg_harrington@hotmail.com> provided a machine
7739         for testing.
7740         So this is an unexelfsgi.c from a different line of development.
7741
7742 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7743
7744         * regex.c (RE_TR_ASCII): New function.
7745         (RE_TRANSLATE): Call it.
7746
7747 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7748
7749         * buffer.h (TRT_TABLE_OF): Remove assert.
7750         (IN_TRT_TABLE_DOMAIN): Removed.
7751
7752 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7753
7754         * free-hook.c (log_gcpro):
7755         (show_gcprohist): Add support for GCPRO5.
7756
7757 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
7758
7759         * emacs.c (main_1): Improve -sd error message when --pdump=no.
7760
7761 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
7762
7763         * symeval.h: Declare flush_all_buffer_local_cache.
7764
7765         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
7766         (flush_buffer_local_cache): Added.
7767         (flush_all_buffer_local_cache): Added.
7768
7769         * lrecord.h: Remove unused XD_LO_RESET_NIL.
7770
7771         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
7772         (pdump_dump_data): Ditto.
7773         (pdump_reloc_one): Ditto.
7774         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
7775         before dumping.
7776
7777
7778 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7779
7780         * buffer.c: Remove if 0'ed entry.
7781         * buffer.h: Rewrite TRT to use char-table.
7782         * bufslots.h: Remove mirror tables.
7783         * casetab.c: Remove mirror tables.
7784         (CASE_TABLE_P): New macro.
7785         (Fcase_table_p): Element of a case table is string or char-table.
7786         (make_mirror_trt_table): Removed.
7787         (set_case_table): Setup char-table from strings for backward
7788         compatibility.
7789         * dired.c (Fdirectory_files):
7790         * dired-msw.c: (mswindows_get_files):
7791         * lisp.h: Change prototype of re_pattern_buffer.
7792         * regex.c: (RE_TRANSLATE): New macro.
7793         (TRANSLATE_P): Ditto.
7794         Change translate to type RE_TRANSLATE_TYPE.
7795         * regex.h: Define RE_TRANSLATE_TYPE
7796         * search.c (TRANSLATE): New macro.
7797         (TRANSLATE_ASCII): New macro.
7798         Translate table is changed to Lisp_Object.
7799         (signal_failure): Inhibit return.
7800
7801 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7802
7803         * device-msw.c:
7804         * eldap.c:
7805         * event-Xt.c:
7806         * event-stream.c:
7807         * print.c:
7808         Do UNGCPRO before return.
7809
7810 2000-11-14  Martin Buchholz <martin@xemacs.org>
7811
7812         * XEmacs 21.2.37 is released.
7813
7814 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7815
7816         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
7817         Add comments about discarded return value.
7818
7819 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
7820
7821         * callint.c:
7822         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
7823
7824 2000-10-27  Andy Piper  <andy@xemacs.org>
7825
7826         * gutter.c (Fset_default_gutter_position): default left and right
7827         gutters to visible.
7828         (calculate_gutter_size): calculate resonable heuristic for left
7829         and right gutter sizes.
7830         (specifier_vars_of_gutter): change left and right gutter sizes to
7831         autodetect.
7832         (calculate_gutter_size_from_display_lines): new function.
7833         (output_gutter): check for resizing on left and right gutters.
7834         (clear_gutter): don't special case top and left gutters.
7835         (specifier_vars_of_gutter): use new signature for
7836         set_specifier_caching.
7837
7838         * glyphs-x.c (x_redisplay_widget): spelling fix.
7839         * glyphs.c (specifier_vars_of_glyphs):
7840         * menubar.c (specifier_vars_of_menubar):
7841         * redisplay.c (specifier_vars_of_redisplay):
7842         * toolbar.c (specifier_vars_of_toolbar):
7843         * window.c (specifier_vars_of_window):
7844         * scrollbar.c (specifier_vars_of_scrollbar):
7845         (complex_vars_of_scrollbar): use new signature for
7846         set_specifier_caching.
7847
7848         * specifier.c (set_specifier_caching): include recompute flag.
7849         (recompute_one_cached_specifier_in_window): always recompute if
7850         flag set.
7851         (recompute_one_cached_specifier_in_frame): ditto.
7852
7853         * specifier.h (struct specifier_caching): add recompute flag.
7854
7855 2000-10-24  Andy Piper  <andy@xemacs.org>
7856
7857         * unexcw.c (copy_executable_and_dump_data_section): add new
7858         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
7859         5.0 happy.
7860
7861 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7862
7863         * console-x.h (x_device): New member modifier_release_time.
7864         * event-Xt.c (x_handle_sticky_modifiers):
7865         Bound interval modifier keys are sticky.
7866         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
7867         * events.h: extern it.
7868
7869 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7870
7871         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
7872
7873 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7874
7875         * event-stream.c (execute_command_event): Preserve current_events
7876         and the like when event is misc-user-event.
7877         Inhibit quit during the call to maybe_echo_keys.
7878
7879 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
7880
7881         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
7882         symlink when buffer is killed.
7883         (inhibit_clash_detection): New variable.
7884
7885 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7886
7887         * console.c (Fset_input_method): Trigger redisplay on tty.
7888
7889 2000-11-07  Martin Buchholz  <martin@xemacs.org>
7890
7891         * process.c (Fprocess_status): Revert to previous behavior:
7892         (process-status "nosuchprocess") ==> nil
7893
7894 2000-11-06  Martin Buchholz  <martin@xemacs.org>
7895
7896         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
7897         Work around another GCC 2.95.2 optimizer bug.
7898
7899 2000-11-02  Martin Buchholz  <martin@xemacs.org>
7900
7901         * process.c (Fget_process): Use LIST_LOOP_2.
7902         (kill_buffer_processes): Use LIST_LOOP_2.
7903
7904         * minibuf.c (Fall_completions):
7905         Delete old non-functional code for FSF fourth argument.
7906
7907         * frame.c (frame_matches_frame_spec):
7908         Renamed from `frame_matches_frametype'.  Update all callers.
7909         (device_matches_device_spec):
7910         Renamed from 'device_matches_console_spec'.  Update all callers.
7911
7912         * doc.c (Fsubstitute_command_keys):
7913         Remove buffer overflow crash.  Small code cleanups.
7914
7915         * casetab.c (check_case_table): Simpler code.
7916
7917         * window.c (Freplace_buffer_in_windows):
7918         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
7919         (and similar implementation) as Fdelete_windows_on.
7920         Update all callers.
7921
7922         * alloc.c (Fmake_list):
7923         * alloc.c (make_vector):
7924         * alloc.c (Fmake_vector):
7925         * alloc.c (make_bit_vector):
7926         * alloc.c (Fmake_bit_vector):
7927         * alloc.c (Fbit_vector):
7928         * alloc.c (Fmake_string):
7929         * alloc.c (Fpurecopy):
7930         * alloc.c (Fmemory_limit):
7931         * buffer.c:
7932         * buffer.c (Fget_buffer):
7933         * buffer.c (Fkill_buffer):
7934         * buffer.c (complex_vars_of_buffer):
7935         * bytecode.c (Fcompiled_function_stack_depth):
7936         * callint.c (Fprefix_numeric_value):
7937         * event-stream.c:
7938         * event-stream.c (Fread_key_sequence):
7939         * casetab.c:
7940         * casetab.c (Fcase_table_p):
7941         * casetab.c (check_case_table):
7942         * casetab.c (Fset_case_table):
7943         * casetab.c (Fset_standard_case_table):
7944         * chartab.c:
7945         * chartab.c (Fchar_table_type):
7946         * chartab.c (Freset_char_table):
7947         * chartab.c (Fget_char_table):
7948         * chartab.c (Fget_range_char_table):
7949         * chartab.c (Fput_char_table):
7950         * chartab.c (Fmap_char_table):
7951         * chartab.c (Fcategory_table_p):
7952         * chartab.c (Fcheck_category_at):
7953         * chartab.c (Fchar_in_category_p):
7954         * chartab.c (Fcategory_table):
7955         * chartab.c (Fcopy_category_table):
7956         * chartab.c (Fset_category_table):
7957         * chartab.c (Fcategory_designator_p):
7958         * chartab.c (Fcategory_table_value_p):
7959         * cmds.c (Fdelete_char):
7960         * cmds.c (Fdelete_backward_char):
7961         * cmds.c (Fself_insert_command):
7962         * cmds.c (Fself_insert_internal):
7963         * console.c (Fvalid_console_type_p):
7964         * console.c (Fcdfw_console):
7965         * console.c (Fconsole_type):
7966         * console.c (Fconsole_name):
7967         * console.c (Fconsole_device_list):
7968         * console.c (Fconsole_on_window_system_p):
7969         * data.c:
7970         * data.c (Feq):
7971         * data.c (Fold_eq):
7972         * data.c (Fsubr_interactive):
7973         * data.c (Fchar_to_int):
7974         * data.c (Fint_to_char):
7975         * data.c (Fsetcar):
7976         * data.c (Fsetcdr):
7977         * data.c (Fnumber_to_string):
7978         * data.c (Fstring_to_number):
7979         * data.c (Frem):
7980         * database.c (mark_database):
7981         * database.c (finalize_database):
7982         * database.c (Fdatabase_live_p):
7983         * database.c (Fdatabasep):
7984         * device-x.c (Fx_get_resource):
7985         * device.c (Fdfw_device):
7986         * dired.c:
7987         * dired.c (Ffile_name_completion):
7988         * dired.c (Ffile_name_all_completions):
7989         * dired.c (Fuser_name_completion):
7990         * dired.c (Fuser_name_completion_1):
7991         * dired.c (Fuser_name_all_completions):
7992         * doc.c (Fdocumentation):
7993         * doc.c (Fdocumentation_property):
7994         * doc.c (Fsubstitute_command_keys):
7995         * editfns.c:
7996         * editfns.c (Fchar_to_string):
7997         * editfns.c (Fstring_to_char):
7998         * editfns.c (Ftemp_directory):
7999         * editfns.c (Finsert_char):
8000         * editfns.c (Fbuffer_substring_no_properties):
8001         * editfns.c (Fnarrow_to_region):
8002         * editfns.c (Fchar_equal):
8003         * editfns.c (Fchar_Equal):
8004         * editfns.c (Ftranspose_regions):
8005         * emacs.c (Fdump_emacs):
8006         * eval.c (Fthrow):
8007         * eval.c (Fcommand_execute):
8008         * eval.c (Fautoload):
8009         * eval.c (Fbacktrace):
8010         * eval.c (Fbacktrace_frame):
8011         * events.c:
8012         * events.c (Fcopy_event):
8013         * events.c (Fcharacter_to_event):
8014         * events.c (Fevent_button):
8015         * events.c (Fevent_process):
8016         * extents.c:
8017         * extents.c (Fnext_extent_change):
8018         * extents.c (Fextent_property):
8019         * faces.c (Ffacep):
8020         * faces.c (Fmake_face):
8021         * file-coding.c:
8022         * file-coding.c (Fencode_shift_jis_char):
8023         * file-coding.c (Fencode_big5_char):
8024         * fileio.c (Ffile_name_directory):
8025         * fileio.c (Ffile_name_nondirectory):
8026         * fileio.c (Ffile_name_as_directory):
8027         * fileio.c (Fdirectory_file_name):
8028         * fileio.c (Ffile_truename):
8029         * fileio.c (Fsubstitute_in_file_name):
8030         * fileio.c (Ffile_modes):
8031         * fileio.c (Fset_file_modes):
8032         * fileio.c (Fset_default_file_modes):
8033         * fileio.c (Fverify_visited_file_modtime):
8034         * floatfns.c (Facos):
8035         * floatfns.c (Fasin):
8036         * floatfns.c (Fatan):
8037         * floatfns.c (Fcos):
8038         * floatfns.c (Fsin):
8039         * floatfns.c (Ftan):
8040         * floatfns.c (Fbessel_j0):
8041         * floatfns.c (Fbessel_j1):
8042         * floatfns.c (Fbessel_jn):
8043         * floatfns.c (Fbessel_y0):
8044         * floatfns.c (Fbessel_y1):
8045         * floatfns.c (Fbessel_yn):
8046         * floatfns.c (Ferf):
8047         * floatfns.c (Ferfc):
8048         * floatfns.c (Flog_gamma):
8049         * floatfns.c (Fexp):
8050         * floatfns.c (Fexpt):
8051         * floatfns.c (Flog):
8052         * floatfns.c (Flog10):
8053         * floatfns.c (Fsqrt):
8054         * floatfns.c (Fcube_root):
8055         * floatfns.c (Facosh):
8056         * floatfns.c (Fasinh):
8057         * floatfns.c (Fatanh):
8058         * floatfns.c (Fcosh):
8059         * floatfns.c (Fsinh):
8060         * floatfns.c (Ftanh):
8061         * floatfns.c (Fabs):
8062         * floatfns.c (Ffloat):
8063         * floatfns.c (Flogb):
8064         * floatfns.c (Fceiling):
8065         * floatfns.c (Ffloor):
8066         * floatfns.c (Fround):
8067         * floatfns.c (Ftruncate):
8068         * floatfns.c (Ffceiling):
8069         * floatfns.c (Fffloor):
8070         * floatfns.c (Ffround):
8071         * floatfns.c (Fftruncate):
8072         * fns.c (Fstring_equal):
8073         * fns.c (Fstring_lessp):
8074         * fns.c (concat2):
8075         * fns.c (concat3):
8076         * fns.c (vconcat2):
8077         * fns.c (vconcat3):
8078         * fns.c (Fsubstring):
8079         * fns.c (Fassoc):
8080         * fns.c (Fold_assoc):
8081         * fns.c (assoc_no_quit):
8082         * fns.c (Fassq):
8083         * fns.c (Fold_assq):
8084         * fns.c (assq_no_quit):
8085         * fns.c (Frassoc):
8086         * fns.c (Fold_rassoc):
8087         * fns.c (Frassq):
8088         * fns.c (Fold_rassq):
8089         * fns.c (rassq_no_quit):
8090         * fns.c (Fremassoc):
8091         * fns.c (remassoc_no_quit):
8092         * fns.c (Fremassq):
8093         * fns.c (remassq_no_quit):
8094         * fns.c (Fremrassoc):
8095         * fns.c (Fremrassq):
8096         * fns.c (remrassq_no_quit):
8097         * fns.c (Fsort):
8098         * fns.c (Fplist_get):
8099         * fns.c (Fplist_put):
8100         * fns.c (Fplist_remprop):
8101         * fns.c (Fplist_member):
8102         * fns.c (Flax_plist_get):
8103         * fns.c (Flax_plist_put):
8104         * fns.c (Flax_plist_remprop):
8105         * fns.c (Flax_plist_member):
8106         * fns.c (Fequal):
8107         * fns.c (Fold_equal):
8108         * fns.c (Frequire):
8109         * fns.c (Fbase64_encode_region):
8110         * fns.c (Fbase64_encode_string):
8111         * fns.c (Fbase64_decode_region):
8112         * frame.c:
8113         * frame.c (frame_matches_frame_spec):
8114         * frame.c (device_matches_device_spec):
8115         * frame.c (next_frame):
8116         * frame.c (previous_frame):
8117         * frame.c (Fnext_frame):
8118         * frame.c (Fprevious_frame):
8119         * frame.c (Fframe_property):
8120         * frame.c (Fset_frame_height):
8121         * frame.c (Fset_frame_size):
8122         * frame.h:
8123         * glyphs.c:
8124         * glyphs.c (if):
8125         * glyphs.c (decode_error_behavior_flag):
8126         * glyphs.c (Fmake_image_instance):
8127         * indent.c (Findent_to):
8128         * intl.c (Fignore_defer_gettext):
8129         * keymap.c (Fkeymapp):
8130         * keymap.c (Flookup_key):
8131         * lread.c:
8132         * lread.c (Fload_internal):
8133         * lread.c (Feval_buffer):
8134         * lread.c (Feval_region):
8135         * macros.c (Fexecute_kbd_macro):
8136         * marker.c (set_marker_internal):
8137         * marker.c (Fset_marker):
8138         * marker.c (set_marker_restricted):
8139         * marker.c (Fcopy_marker):
8140         * marker.c (noseeum_copy_marker):
8141         * menubar.c:
8142         * menubar.c (Fpopup_menu):
8143         * minibuf.c:
8144         * mule-charset.c (Fcharset_name):
8145         * mule-charset.c (Fchar_charset):
8146         * mule-charset.c (Fchar_octet):
8147         * mule-charset.c (Fsplit_char):
8148         * mule-wnnfns.c (Fwnn_open):
8149         * mule-wnnfns.c (Fwnn_dict_comment):
8150         * mule-wnnfns.c (Fwnn_quit_henkan):
8151         * mule-wnnfns.c (Fwnn_word_toroku):
8152         * mule-wnnfns.c (Fwnn_word_sakujo):
8153         * mule-wnnfns.c (Fwnn_word_use):
8154         * mule-wnnfns.c (Fwnn_hindo_set):
8155         * objects.c:
8156         * objects.c (Fmake_color_instance):
8157         * objects.c (Fmake_font_instance):
8158         * print.c (Fwrite_char):
8159         * process.c:
8160         * process.c (mark_process):
8161         * process.c (print_process):
8162         * process.c (get_process_from_usid):
8163         * process.c (Fprocessp):
8164         * process.c (Fprocess_live_p):
8165         * process.c (Fget_process):
8166         * process.c (Fget_buffer_process):
8167         * process.c (get_process):
8168         * process.c (Fprocess_id):
8169         * process.c (Fprocess_name):
8170         * process.c (Fprocess_command):
8171         * process.c (init_process_io_handles):
8172         * process.c (start_process_unwind):
8173         * process.c (Fstart_process_internal):
8174         * process.c (Fopen_multicast_group_internal):
8175         * process.c (Fset_process_window_size):
8176         * process.c (read_process_output):
8177         * process.c (send_process):
8178         * process.c (Fprocess_tty_name):
8179         * process.c (Fset_process_buffer):
8180         * process.c (Fprocess_buffer):
8181         * process.c (Fprocess_mark):
8182         * process.c (set_process_filter):
8183         * process.c (Fset_process_filter):
8184         * process.c (Fprocess_filter):
8185         * process.c (Fprocess_send_region):
8186         * process.c (Fprocess_send_string):
8187         * process.c (exec_sentinel):
8188         * process.c (Fset_process_sentinel):
8189         * process.c (Fprocess_sentinel):
8190         * process.c (status_notify):
8191         * process.c (Fprocess_status):
8192         * process.c (Fprocess_exit_status):
8193         * process.c (process_send_signal):
8194         * process.c (Fprocess_send_eof):
8195         * process.c (deactivate_process):
8196         * process.c (remove_process):
8197         * process.c (Fdelete_process):
8198         * process.c (kill_buffer_processes):
8199         * process.c (Fprocess_kill_without_query):
8200         * process.c (Fprocess_kill_without_query_p):
8201         * rangetab.c:
8202         * rangetab.c (Fget_range_table):
8203         * rangetab.c (Fput_range_table):
8204         * rangetab.c (Fremove_range_table):
8205         * rangetab.c (Fclear_range_table):
8206         * search.c:
8207         * search.c (Fskip_chars_forward):
8208         * search.c (Fskip_chars_backward):
8209         * search.c (Fskip_syntax_forward):
8210         * search.c (Fskip_syntax_backward):
8211         * search.c (search_command):
8212         * search.c (Freplace_match):
8213         * search.c (Fregexp_quote):
8214         * select.c (Fown_selection_internal):
8215         * select.c (Fselection_owner_p):
8216         * select.c (Fselection_exists_p):
8217         * select.c (Fget_selection_internal):
8218         * specifier.c:
8219         * symbols.c:
8220         * symbols.c (Fintern):
8221         * symbols.c (Fintern_soft):
8222         * symbols.c (Funintern):
8223         * symbols.c (Fapropos_internal):
8224         * symbols.c (Fset_default):
8225         * syntax.c:
8226         * syntax.c (Fsyntax_table_p):
8227         * syntax.c (Fcopy_syntax_table):
8228         * syntax.c (Fset_syntax_table):
8229         * syntax.c (Fchar_syntax):
8230         * syntax.c (syntax_match):
8231         * syntax.c (Fmatching_paren):
8232         * syntax.c (Fforward_word):
8233         * syntax.c (scan_lists):
8234         * syntax.c (Fscan_lists):
8235         * syntax.c (Fscan_sexps):
8236         * syntax.c (Fparse_partial_sexp):
8237         * toolbar.c (Fcheck_toolbar_button_syntax):
8238         * tooltalk.doc:
8239         * window.c:
8240         * window.c (Fwindowp):
8241         * window.c (Fwindow_live_p):
8242         * window.c (Fwindow_point):
8243         * window.c (Fdelete_window):
8244         * window.c (Fnext_window):
8245         * window.c (Fprevious_window):
8246         * window.c (Fother_window):
8247         * window.c (window_loop):
8248         * window.c (Fget_lru_window):
8249         * window.c (Fsplit_window):
8250         * window.c (Fenlarge_window):
8251         * window.c (Fenlarge_window_pixels):
8252         * window.c (Fshrink_window):
8253         * window.c (Fshrink_window_pixels):
8254         * window.c (change_window_height):
8255         * window.c (Fwindow_configuration_p):
8256         * window.c (Fcurrent_window_configuration):
8257         * window.h:
8258         * casefiddle.c (casify_object):
8259         * casefiddle.c (Fupcase):
8260         * casefiddle.c (Fdowncase):
8261         * casefiddle.c (Fcapitalize):
8262         * casefiddle.c (Fupcase_initials):
8263         * casefiddle.c (casify_region_internal):
8264         * casefiddle.c (casify_region):
8265         * casefiddle.c (Fupcase_region):
8266         * casefiddle.c (Fdowncase_region):
8267         * casefiddle.c (Fcapitalize_region):
8268         * casefiddle.c (Fupcase_initials_region):
8269         * casefiddle.c (Fupcase_word):
8270         * casefiddle.c (Fdowncase_word):
8271         * casefiddle.c (Fcapitalize_word):
8272         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8273         Replace 0 with '\0' when working with bytes.
8274         Replace initial "(" with "\(" in docstrings.
8275
8276 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8277
8278         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8279
8280         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
8281
8282 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8283
8284         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
8285
8286 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8287
8288         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
8289         correctly.
8290
8291 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8292
8293         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
8294         (inhibit_auto_save_session): New variable.
8295         (vars_of_fileio): Declare and initialize them.
8296         * fileio.c (Fdo_auto_save): Don't create session file if
8297         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
8298
8299 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8300
8301         * sgiplay.c (play_internal): C++ compilability.
8302         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
8303         * callproc.c (Fold_call_process_internal):
8304         Remove unused vars `env', `first'.
8305         * scrollbar.c (update_scrollbar_instance):
8306         #### unused var `current_window'.
8307         * redisplay-tty.c: Put currently unused vars insert_mode_on,
8308         etc. within #ifdef NOT_YET.
8309         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
8310         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
8311         * specifier.c (specifier_instance):
8312         #### unused var `tag'.
8313         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
8314
8315 2000-10-27  Martin Buchholz  <martin@xemacs.org>
8316
8317         * fns.c (Fbutlast):
8318         * fns.c (list_sort):
8319         * fns.c (Ffillarray):
8320         * fns.c (bytecode_nconc2):
8321         * fns.c (Fnconc):
8322         * fns.c (mapcar1):
8323         * fns.c (Fmapconcat):
8324         Be pedantically 64-bit correct.  For the time when someone will
8325         want to have a list with length > 2**32.
8326
8327         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8328         Work around MIPSpro compiler bug.
8329
8330         * process-unix.c (unix_kill_child_process): Add snarky comment.
8331         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
8332
8333         * config.h.in: Oops, _getpt ==> _getpty
8334
8335 2000-10-26  Martin Buchholz  <martin@xemacs.org>
8336
8337         * config.h.in:
8338         * regex.c:
8339         Use void*, not char*, as return type of alloca().
8340
8341         * alloc.c (free_marker): Side effect inside assert expression!
8342
8343 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
8344
8345         * mule-charset.c (Fset_charset_ccl_program): To check
8346         if the given ccl program is valid, use setup_ccl_program()
8347         instead of CHECK_VECTOR().
8348         (Fmake_charset): Likewise.
8349
8350 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
8351
8352         * faces.c (get_extent_fragment_face_cache_index):
8353         Fix cachel.merged_faces memory leak.
8354
8355 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
8356
8357         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
8358         Reset MSB of octets obtained by DECODE_SJIS
8359         because of the incompatibility with Emacs.
8360         (ccl_driver)<CCL_ENCODE_SJIS>:
8361         Set MSB of octets before passing them to
8362         ENCODE_SJIS because of the incompatibility
8363         with Emacs.
8364
8365 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
8366
8367         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
8368         (DECLARE_LRECORD): Undo the last change.
8369         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
8370
8371 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
8372
8373         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
8374         the implementation to lrecord_implementations_table.
8375
8376 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
8377
8378         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
8379         initial value of `lrecord_type_##c_name' and
8380         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
8381         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
8382         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
8383         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
8384         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
8385
8386 2000-10-17  Martin Buchholz  <martin@xemacs.org>
8387
8388         * miscplay.c (sndcnv8S_2mono):
8389         (sndcnv2monounsigned):
8390         (sndcnvULaw_2linear):
8391         (sndcnv16swap):
8392         Remove implementation-defined behavior.
8393
8394 2000-10-12  Martin Buchholz  <martin@xemacs.org>
8395
8396         * input-method-xlib.c: Warning suppression.
8397
8398 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
8399
8400         * mule-ccl.c: Sync up with Emacs 21.0.90.
8401         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
8402         Do nothing.
8403         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
8404         Likewise.
8405         (ccl_driver[WriteMultibyteChar2]): Bug fix.
8406         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
8407         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
8408         leading char belongs to official 2-dimensional charset.
8409         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
8410         write the given character as is.  Otherwise,
8411         if it is a multibyte char, convert it by
8412         non_ascii_set_charptr_emchar, then write it.
8413         (CCL_WRITE_STRING): Likewise.
8414         (ccl_get_compiled_code): New function.
8415         (setup_ccl_program): When ccl_prog is invalid,
8416         return -1.
8417         (Fregister_code_conversion_map): New function.
8418         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
8419
8420         * mule-ccl.h: Sync up with Emacs 21.0.90.
8421         (Fregister_ccl_program): export it.
8422
8423         * redisplay-msw.c (separate_textual_runs):
8424         If ccl program is not valid, don't do ccl conversion.
8425
8426         * redisplay-x.c (separate_textual_runs): Ditto.
8427
8428         * file-coding.c (Fmake_coding_system):
8429         When type is ccl and value is vector, register it
8430         with a proper symbol.  And checks whether the
8431         given ccl program is valid.
8432         (mule_decode): When calling ccl_driver, if src indicates
8433         NULL pointer, set an empty string instead.
8434         (mule_encode): Likewise.
8435
8436 2000-10-11  Martin Buchholz  <martin@xemacs.org>
8437
8438         The following large batch of changes gets us back to a state of
8439         C++ compilability.  Extbyte is now a char, which means that
8440         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
8441
8442         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
8443
8444         * sound.c (Fplay_sound): Type correctness.
8445
8446         * select-x.c (hack_motif_clipboard_selection): Type correctness.
8447         (x_get_window_property): Type correctness.
8448         (receive_incremental_selection): unsigned char ==> Extbyte
8449         (selection_data_to_lisp_data): unsigned char ==> Extbyte
8450         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
8451         (Fx_store_cutbuffer_internal): Type correctness.
8452
8453         * process-unix.c (try_to_initialize_subtty): Type correctness.
8454
8455         * objects-x.c (x_print_color_instance): Type correctness.
8456         (x_print_font_instance): Type correctness.
8457         (x_list_fonts): SExtbyte ==> Extbyte.
8458         (valid_x_font_name_p): SExtbyte ==> Extbyte.
8459         (x_find_charset_font): SExtbyte ==> Extbyte.
8460         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
8461         (truename_via_XListFonts): SExtbyte ==> Extbyte.
8462         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
8463         Use bufbyte_strcmp.
8464
8465         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
8466         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
8467         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
8468         (BYTE_C0_P): Use bit ops for char-signedness safety.
8469         (BYTE_C1_P): Use bit ops for char-signedness safety.
8470         (CHARSET_BY_LEADING_BYTE):
8471         (CHARSET_BY_ATTRIBUTES):
8472         Always use inline function.
8473         Use type_checking_assert.
8474         Hide chlook.
8475
8476         * mule-charset.c (non_ascii_charptr_copy_char):
8477         Modify to work with both ASCII and non-ASCII characters.
8478         Improve docs and variable names.
8479         Replace over-clever fall-through switch with a simple loop.
8480         (Lstream_get_emchar_1):
8481         Replace over-clever fall-through switch with a simple loop.
8482
8483         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8484         Warning suppression.
8485
8486         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
8487         the return value of Lstream_getc, which could be EOF as well.
8488
8489         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
8490
8491         * lisp.h: Make Extbyte a char, not unsigned char, so that external
8492         APIs can be used on Extbytes without casts.  Risky!
8493         (SExtbyte): Remove.
8494         (UExtbyte): Remove.
8495
8496         * input-method-xlib.c (XIM_init_device):
8497         Use Xlib.h instead of IntrinsicP.h.
8498         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
8499         which will break in X11R7.
8500         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
8501         to call XRegisterIMInstantiateCallback with correct types.
8502
8503         * gui-x.c (button_item_to_widget_value): Type correctness.
8504
8505         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
8506
8507         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
8508         (xbm_instantiate_1): Type correctness.
8509         (BUILD_GLYPH_INST):  Type correctness.
8510
8511         * fileio.c (Fsubstitute_in_file_name): Type correctness.
8512
8513         * file-coding.c:
8514         (decode_coding_sjis):
8515         (decode_coding_big5):
8516         (decode_coding_ucs4):
8517         (decode_coding_utf8):
8518         (decode_coding_iso2022):
8519         (decode_coding_no_conversion):
8520         Make all decoding functions take an Extbyte * arg.
8521         (encode_coding_sjis):
8522         (encode_coding_big5):
8523         (encode_coding_ucs4):
8524         (encode_coding_utf8):
8525         (encode_coding_iso2022):
8526         (encode_coding_no_conversion):
8527         Make all encoding functions take a Bufbyte * arg.
8528         Use size_t instead of unsigned int for memory sizes.
8529         Only cast to unsigned char whenever dereferencing Extbyte *.
8530
8531         * doc.c (unparesseuxify_doc_string): Type correctness.
8532
8533         * console-x.c (split_up_display_spec):
8534         Rewrite without using details of internal string representation.
8535         (x_semi_canonicalize_device_connection): Type correctness.
8536
8537         * config.h.in:
8538         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
8539         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
8540         (HAVE_XFREE386): Removed.
8541
8542         * buffer.h (DEC_CHARPTR): `const' correctness.
8543         (bufbyte_strcmp): New.
8544         (bufbyte_memcmp): New.
8545
8546         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
8547
8548         * buffer.h (XCHAR_OR_CHAR_INT):
8549         Always use inline function.
8550         Remove redundant type checking assert() - XINT will abort quite nicely.
8551
8552 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8553
8554         * search.c (Freplace_match): Set newtext to an empty string.
8555
8556 2000-10-10  Martin Buchholz  <martin@xemacs.org>
8557
8558         * s/decosf1-3.h: Remove #include of stropts.h
8559         * s/ptx.h: Remove #include of stropts.h
8560         * s/usg5-4.h: Remove #include of stropts.h
8561         * sysproc.h:
8562         * config.h.in:
8563         Use stropts.h, not sys/stropts.h.
8564         Use strtio.h, not sys/strtio.h.
8565
8566 2000-10-04  Martin Buchholz <martin@xemacs.org>
8567
8568         * XEmacs 21.2.36 is released.
8569
8570 2000-09-21  Andy Piper  <andy@xemacs.org>
8571
8572         * glyphs-x.c (x_redisplay_widget): make sure non-structural
8573         changes still involve copying the widget tree.
8574         (update_widget_face): make sure a change is register in the widget
8575         tree. Call update_tab_widget_face appropriately.
8576         (update_tab_widget_face): ditto.
8577         (x_tab_control_redisplay): make sure non-structural changes still
8578         involve copying the widget tree.
8579
8580 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
8581
8582         * lread.c (locate_file): Check the path element is non-nil.
8583
8584 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8585
8586         * lisp.h: Warning suppression for SCO compilers.
8587
8588         * redisplay-tty.c (reset_tty_modes): Fix crash.
8589         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
8590
8591 2000-09-27  Martin Buchholz  <martin@xemacs.org>
8592
8593         Big signal/process handling overhaul.  Bugs fixed:
8594         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
8595         M-x comint-kill-subjob should work for both values nil and t of
8596         process-connection-type. It was broken on most platforms.
8597         Testing on Irix and Cygwin still needed.  Other plaforms tested.
8598         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
8599         * process-unix.c: Signal/Process handling overhaul.
8600         (pty_name): make 64 bytes, as `expect' does, for paranoia.
8601         (allocate_pty): Use all available modern methods of allocating
8602         ptys, falling back to old style BSD allocation as a last resort.
8603         Use allegedly more secure Unix98 pty allocation by default.
8604         (allocate_pty_the_old_fashioned_way): New. the last resort.
8605         (unix_create_process): Push ptem, ldterm, ttcompat where
8606         available.  Autoconfiscate.
8607         (try_to_initialize_subtty): New.
8608         (unix_kill_child_process): Proper signal handling for ptys on most
8609         platforms, using special knowledge of AIX, BSD, etc...
8610         (unix_create_process): Always disconnect_controlling_terminal() for
8611         subprocesses, whether using ptys or not.
8612         * process.h: Remove old getpt-dependent PTY code.
8613         * process.c (Fprocess_send_signal): New, obvious generic function.
8614         (decode_signal): New.
8615         (Finterrupt_process):
8616         (Fkill_process):
8617         (Fquit_process):
8618         (Fstop_process):
8619         (Fcontinue_process):
8620         (Fsignal_process): Use decode_signal.
8621         (process_send_signal):
8622         Many docstring corrections.
8623         Allow any signal to be sent to a process object.
8624         * config.h.in: Add symbols for big signal/process overhaul.
8625         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
8626         * sysproc.h: Include process-related headers, where available:
8627         sys/stropts.h sys/strtio.h pty.h libutil.h
8628         * s/irix4-0.h:
8629         * s/irix5-0.h:
8630         * s/cygwin32.h:
8631         * s/gnu.h:
8632         * s/linux.h:
8633         * s/hpux.h:
8634         * s/aix3-1.h:
8635         Remove old S&M pty stuff.
8636         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
8637         * systty.h: Simplify cpp hackery, improve comments.
8638         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
8639
8640         * editfns.c (Fformat_time_string):
8641         Be a little more paranoid with the return value of ctime.
8642
8643         * fileio.c (check_executable):
8644         (check_writable):
8645         Use symbolic constants X_OK, W_OK.
8646
8647         * console-x.c (split_up_display_spec): Fix a warning.
8648
8649 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8650
8651         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
8652         * ntproc.c (sys_spawnve): make_string ==> build_string
8653         Small clarity improvements.
8654
8655 2000-09-30  Martin Buchholz  <martin@xemacs.org>
8656
8657         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
8658
8659         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
8660
8661         * config.h.in (HAVE_STRCASECMP): Remove.
8662
8663 2000-09-29  Martin Buchholz  <martin@xemacs.org>
8664
8665         * redisplay-output.c (redisplay_output_pixmap):
8666         Cleaner and possibly more 64-bit correct code.
8667
8668 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
8669
8670         * dumper.c (pdump_load_finish): move restoration of
8671         `noninteractive1' to emacs.c (main_1).
8672         * emacs.c (main_1): protect LISP-visible command-line flags
8673         from pdump_load().
8674
8675 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
8676
8677         * Makefile.in.in (versionclean):  Use EXE_TARGET and
8678         DUMP_TARGET instead of literal program names.
8679
8680 2000-09-20  Martin Buchholz  <martin@xemacs.org>
8681
8682         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
8683
8684 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8685
8686         * *: Spelling mega-patch
8687
8688 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8689
8690         * fns.c (bad_bad_turtle):
8691         Delete "Eek!" comment, since we fixed the bug to which it refers.
8692
8693 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8694
8695         * alloca.c: Replace REGISTER with register.
8696
8697 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
8698
8699         * file-coding.c (ucs_to_char): Use countof.
8700
8701 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8702
8703         * file-coding.c: (ucs_to_char):
8704         (complex_vars_of_file_coding):
8705         Use countof instead of sizeof.
8706         Use CHECK_NATNUM instead of CHECK_INT.
8707
8708         * sysdep.c (strcasecmp): Remove.
8709         * device-x.c (ascii_strcasecmp): New.
8710         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
8711         Avoid using non-standard non-portable strcasecmp.
8712
8713 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8714
8715         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
8716         * font-lock.c: remove reference to emacsfns.h.
8717         * search.c: small doc improvement.
8718         * event-Xt.c: correct file names in comments.
8719         * console-x.h Correct file names in comments.
8720         * frame.c: Correct file names in comments.
8721         * event-stream.c: remove Energize from comments.
8722
8723 2000-09-15  Martin Buchholz  <martin@xemacs.org>
8724
8725         * symeval.h (DEFERROR_STANDARD):
8726         (DEFERROR):
8727         (DEFSYMBOL):
8728         (DEFSYMBOL_NO_DUMP):
8729         (DEFSYMBOL_MULTIWORD_PREDICATE):
8730         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
8731         (DEFKEYWORD):
8732         The construct &##name is not sensible C.
8733         Fixes compilation errors with Unixware native compiler.
8734
8735 2000-09-14  Martin Buchholz  <martin@xemacs.org>
8736
8737         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
8738         (next_frame_internal): Removed.  We now just have next_frame.
8739         (next_frame):
8740         Write a simpler and cleaner one-pass algorithm.
8741         Remove called_from_delete_device arg and #ifdefed-out code.
8742         (previous_frame):
8743         Renamed from prev_frame.  Update callers.
8744         Cleaned up to have an analogous implementation to next_frame.
8745         (other_visible_frames_internal): Remove the
8746         called_from_delete_device bogus arg, and hence, remove this
8747         function.  Just use other_visible_frames().
8748
8749         * window.c (Fnext_window):
8750         Prettify docstring.
8751         Since next_frame() is guaranteed to return a frame, remove check
8752         for nil inserted in previous patch.
8753         (Fprevious_window):
8754         Prettify docstring.
8755         Make code look more like Fnext_window.
8756         (window_loop):
8757         Respect the `console' arg when iterating through windows.
8758         Fixes bug: (get-buffer-window buffer t device) not respecting
8759         the `device' arg.
8760         This function needs more work, as others have pointed out.
8761
8762         * frame.h: Rename prev_frame to previous_frame.
8763         device_matches_console_spec no longer takes a `frame' arg.
8764
8765         * s/gnu.h:
8766         * s/linux.h:
8767         * s/hpux.h:
8768         Use EMACS_BLOCK_SIGNAL instead of sigblock.
8769         From "Golubev I. N." <gin@mo.msk.ru>.
8770
8771         * make-src-depend: Fix typo.
8772
8773 2000-09-13  Martin Buchholz  <martin@xemacs.org>
8774
8775         * window.c (Fnext_window):
8776         next_frame() might return nil, not a frame.
8777         Fixes this crash:
8778         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8779
8780         * frame.c (next_frame_internal):
8781         We've passed a frame if we've passed its device.
8782         Fixes this crash:
8783         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8784 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
8785
8786 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8787
8788         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8789         Allow option to suppress accelerators in menu/dialog items.
8790         (populate_or_checksum_helper): Pass dialog title through above.
8791
8792 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8793
8794         * event-msw.c (mswindows_key_to_emacs_keysym):
8795         Add "pause" key, fix "menu" key.
8796
8797 2000-09-09  Martin Buchholz  <martin@xemacs.org>
8798
8799         * eval.c (reinit_vars_of_eval):
8800         Increase max_lisp_eval_depth to 1000,
8801         required for thai-xtis.el to byte-compile under some circumstances.
8802
8803 2000-09-04  Martin Buchholz  <martin@xemacs.org>
8804
8805         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
8806         From Kenichi Handa.
8807
8808 2000-09-01  Martin Buchholz  <martin@xemacs.org>
8809
8810         * make-src-depend: Make the generated Makefiles smaller.
8811
8812         * s/hpux.h (SETUP_SLAVE_PTY):
8813         Provide a %d in the format string for the errno argument.
8814
8815         * editfns.c (Ftemp_directory):
8816         Warning fix.
8817         Avoid buffer overrun on very long file name.
8818
8819         * input-method-xlib.c (XIM_init_device):
8820         6th parameter of XRegisterIMInstantiateCallback has different
8821         pointer types on different OSes, so simply cast to (void *).
8822
8823         * unexhp9k800.c: Warning fixes.  Fiddly changes.
8824
8825         * sysdll.c (dll_open):
8826         shl_load will hang hard if passed a NULL filename.
8827         Simply return NULL for compatibility with dlopen.
8828         * sysdll.c: Conform to XEmacs coding standards.
8829
8830         * sysdep.c (get_pty_max_bytes):
8831         Support pty input lines longer than 512 bytes on HP-UX 10.20.
8832
8833 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8834
8835         * tooltalk.c: Add #include <syssignal.h>
8836
8837 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
8838
8839         * s/hpux.h: Don't use undefined function sigunblock().
8840
8841 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8842
8843         * config.h.in: Add HAVE_BALLOON_HELP.
8844         * emacs.c: Use HAVE_BALLOON_HELP.
8845         * Makefile.in.in (x_objs):
8846         Make Balloon Help conditional on finding shape.h.
8847
8848 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
8849
8850         * syntax.c (regex_emacs_buffer_p): New variable.
8851         * syntax.h (regex_emacs_buffer_p): extern.
8852         * search.c (looking_at_1):
8853         (string_match_1):
8854         (fast_string_match):
8855         (search_buffer): Set regex_emacs_buffer_p.
8856         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
8857         when before_dot, at_dot, after_dot.
8858
8859 2000-08-23  Andy Piper  <andy@xemacs.org>
8860
8861         * gui-x.c (popup_selection_callback): Only set action_occurred
8862         when we really have an image instance.
8863         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8864
8865 2000-08-23  Andy Piper  <andy@xemacs.org>
8866
8867         * gui-msw.c (mswindows_handle_gui_wm_command): set
8868         action_occurred.
8869         * gui-x.c (popup_selection_callback): ditto.
8870
8871         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
8872         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
8873         (struct Lisp_Image_Instance): add action_occurred flag.
8874
8875         * glyphs.c (redisplay_subwindow): use action_occurred flag.
8876         (image_instance_changed): ditto.
8877         (reset_frame_subwindow_instance_cache): only unmap windows - do
8878         not remove them from the cache also.
8879
8880         * glyphs-widget.c (tab_control_update): better debug.
8881         (progress_gauge_update): ditto.
8882         (layout_update): ditto.
8883         (layout_instantiate): ditto.
8884         (tab_control_order_only_changed): cope with null pending items.
8885
8886         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
8887         debug. Force selection of an item when an action occurred. Cope
8888         with null pending_items.
8889         (mswindows_progress_gauge_redisplay): better debug.
8890         * glyphs-x.c (x_tab_control_redisplay): ditto.
8891
8892         * redisplay.c (redisplay_frame): reset the frame cache if the
8893         frame is garbaged.
8894
8895         * window.c (Fset_window_configuration): potentially re-enable
8896         frame cache reset.
8897         (window_unmap_subwindows): need to finalize instances here since
8898         it is only used in mark_window_as_deleted.
8899
8900 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
8901
8902         * nas.c (SndOpenDataForReading):
8903         nas.c (WaveOpenDataForReading):
8904         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
8905         Somehow escaped from the 2000-08-14 patch.
8906
8907 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
8908
8909         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
8910         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
8911
8912 2000-08-21  Andy Piper  <andy@xemacs.org>
8913
8914         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
8915         window if it is not already displayed.
8916
8917         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
8918         it is not already displayed.
8919
8920         * window.c (Fset_window_configuration): don't reset the frame
8921         cache.
8922
8923         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
8924         instances from the frame cache if we are actually finalizing them.
8925         (reset_frame_subwindow_instance_cache): reset frame cache only
8926         after unmapping everything.
8927         (map_subwindow): set displayed flag after mapping.
8928
8929 2000-08-21  Martin Buchholz  <martin@xemacs.org>
8930
8931         * data.c (indirect_function):
8932         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
8933
8934         * eval.c (function_argcount):
8935         Use original function when signaling errors.
8936
8937 2000-08-18  Andy Piper  <andy@xemacs.org>
8938
8939         * frame.c (delete_frame_internal): use new
8940         free_frame_subwindow_instances name.
8941
8942         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
8943         (add_tab_item): make return type correct.
8944         (mswindows_tab_control_instantiate): assert index of tab.
8945         (mswindows_tab_control_redisplay): Re-code to use
8946         gui_item_equal_sans_selected and gui_item_list_find_selected.
8947
8948         * glyphs-widget.c (tab_control_update): Correct comment.
8949
8950         * window.c (window_unmap_subwindows): use new
8951         unmap_subwindow_instance_cache_mapper.
8952         (window_unmap_subwindows_cache_mapper): deleted.
8953         (Fset_window_configuration): comparisons should now be with
8954         EQ. Preserve the subwindow instance cache across configuration
8955         changes.
8956         (allocate_window): ditto.
8957         (make_dummy_parent): ditto.
8958
8959         * glyphs.c (free_frame_subwindow_instances): rename from
8960         free_frame_subwindow_instance_cache. finalize all instances rather
8961         than just those in the display cache.
8962         (finalize_all_subwindow_instances): walk windows unmapping and
8963         finalizing subwindows.
8964         (unmap_subwindow_instance_cache_mapper): moved from
8965         window.c. Allow finalization as well as unmapping.
8966
8967         * gui.c (gui_item_list_find_selected): new function.
8968
8969         * gui.h (gui_item_list_find_selected): declare.
8970
8971         * glyphs-x.c (x_tab_control_redisplay): pick tab
8972         explicitly. Re-code to use gui_item_equal_sans_selected and
8973         gui_item_list_find_selected.
8974
8975         * glyphs-x.h: add lwlib-utils.h
8976
8977         * buffer.c (Frecord_buffer): undo previous change.
8978
8979 2000-08-09  Vin Shelton  <acs@xemacs.org>
8980
8981         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
8982         possible.  Create temporary files more securely.  The patch was
8983         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
8984         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
8985         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
8986         for details.
8987
8988 2000-08-07  Ben Wing  <ben@xemacs.org>
8989
8990         * getloadavg.c: remove duplicate (and windows-breaking)
8991         includes of fcntl.h and sys/file.h.
8992
8993         * nt.c: remove duplicate getloadavg() definition.
8994
8995         * sysdll.h (Qdll_filename_encoding): add missing stand-in
8996         encodings.
8997
8998 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8999
9000         * eval.c (function_argcount): If function needs to be autoloaded
9001         actually use the loaded definition.
9002         GCPRO function.
9003
9004 2000-08-05  Ben Wing  <ben@xemacs.org>
9005
9006         * getloadavg.c: add prototype for getloadavg().  remove
9007         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9008         of the code).  remove duplicate header includes.
9009
9010         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9011
9012         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9013         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9014         useful load average.
9015
9016         * alloc.c (reinit_alloc_once_early): removed references to
9017         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9018         the lisp vars are the only things referencing the malloc_sbrk_*
9019         vars, and they were already if 0'd out.  these vars only exist
9020         in the older malloc.c, which is basically unused, and they're
9021         only for informational purposes.
9022
9023         * m\*.h: removed useless VIRT_ADDR_VARIES.
9024
9025         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9026
9027 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9028
9029         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9030         color if the image is a mono pixmap.
9031
9032 2000-07-30  Ben Wing  <ben@xemacs.org>
9033
9034         * Makefile.in.in (release):
9035         Remove stray @.
9036
9037         * buffer.c (directory_is_current_directory):
9038         * dired-msw.c (mswindows_get_files):
9039         * dired.c:
9040         * dired.c (Fdirectory_files):
9041         * dired.c (file_name_completion_stat):
9042         * dired.c (Ffile_attributes):
9043         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9044         preprocessor tricks, to avoid problems on some machines
9045         (e.g. SCO).
9046
9047         * callproc.c (egetenv): GC docs.
9048
9049         * console-msw.h:
9050         * console-msw.h (struct mswindows_dialog_id):
9051         * lrecord.h (lrecord_type):
9052         New object for use with MSW dialogs.
9053
9054         * console.h (struct console_methods):
9055         New enable/disable frame methods, for proper modal dialogs.
9056
9057         * device-msw.c (msprinter_default_printer): Fix to follow
9058         proper Mule conventions.
9059
9060         * device-msw.c:
9061         * device-msw.c (signal_open_printer_error):
9062         * device-msw.c (msprinter_init_device):
9063         * device-msw.c (ensure_not_printing):
9064         * device-msw.c (plist_get_margin):
9065         * device-msw.c (Fmsprinter_select_settings):
9066         * device-msw.c (finalize_devmode):
9067         * device-msw.c (Fmsprinter_settings_despecialize):
9068         * device-msw.c (signal_enum_priner_error):
9069         * extents.c (decode_extent):
9070         * extents.c (decode_map_extents_flags):
9071         * extents.c (decode_extent_at_flag):
9072         * extents.c (Fextent_at):
9073         * extents.c (Fextents_at):
9074         * extents.c (symbol_to_glyph_layout):
9075         [[[[2]]]] Use structured errors.
9076
9077         * dialog-msw.c:
9078         * dialog-msw.c (mswindows_is_dialog_msg):
9079         * dialog-msw.c (mark_mswindows_dialog_id):
9080         * dialog-msw.c (dialog_proc):
9081         * dialog-msw.c (handle_question_dialog_box):
9082         * dialog-msw.c (syms_of_dialog_mswindows):
9083         Define new object to clean up marking; use it as a dialog identifier.
9084         Call new delete-dialog-box-hook.
9085
9086         * dialog-x.c (dbox_selection_callback):
9087         * dialog-x.c (dbox_descriptor_to_widget_value):
9088         * dialog-x.c (x_make_dialog_box_internal):
9089         Call new delete-dialog-box-hook.
9090         Return an id.
9091
9092         * dialog.c:
9093         * dialog.c (syms_of_dialog):
9094         * dialog.c (vars_of_dialog):
9095         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9096
9097         * eval.c:
9098         * eval.c (signal_call_debugger):
9099         when noninteractive, output stack traces on the console instead
9100         of in a (never-seen) buffer.
9101
9102         * eval.c (signal_type_error):
9103         * eval.c (invalid_argument_2):
9104         * lisp.h:
9105         new funs for use w/structured errors.
9106
9107         * event-Xt.c:
9108         * event-Xt.c (x_to_emacs_keysym):
9109         * event-Xt.c (describe_event):
9110         * event-Xt.c (emacs_Xt_event_handler):
9111         * event-Xt.c (vars_of_event_Xt):
9112         * event-msw.c:
9113         * event-msw.c (mswindows_wnd_proc):
9114         * event-msw.c (vars_of_event_mswindows):
9115         rename {x,mswindows}-debug-events to debug-{}-events for
9116         consistency with other debug-foo variables.
9117
9118         * event-stream.c:
9119         document next-event more clearly.
9120
9121         * fileio.c (Ffile_name_directory):
9122         * fileio.c (Ffile_name_nondirectory):
9123         * fileio.c (Funhandled_file_name_directory):
9124         * fileio.c (file_name_as_directory):
9125         * fileio.c (Ffile_name_as_directory):
9126         * fileio.c (directory_file_name):
9127         * fileio.c (Fdirectory_file_name):
9128         * fileio.c (Fmake_temp_name):
9129         * fileio.c (Ffile_truename):
9130         * fileio.c (Fsubstitute_in_file_name):
9131         * fileio.c (expand_and_dir_to_file):
9132         * fileio.c (barf_or_query_if_file_exists):
9133         * fileio.c (check_executable):
9134         * fileio.c (Ffile_exists_p):
9135         * fileio.c (Ffile_writable_p):
9136         * fileio.c (Ffile_directory_p):
9137         * fileio.c (Ffile_regular_p):
9138         * fileio.c (Ffile_modes):
9139         * fileio.c (Ffile_newer_than_file_p):
9140         * fileio.c (Fverify_visited_file_modtime):
9141         * fileio.c (Fset_visited_file_modtime):
9142         * fileio.c (auto_save_1):
9143         (1). (2).
9144         fix up gcpro's.
9145
9146         * frame-msw.c:
9147         * frame-msw.c (mswindows_init_frame_1):
9148         * frame-msw.c (mswindows_enable_frame):
9149         * frame-msw.c (error_frame_unsizable):
9150         * frame-msw.c (msprinter_init_frame_1):
9151         * frame-msw.c (msprinter_init_frame_3):
9152         * frame-msw.c (console_type_create_frame_mswindows):
9153         (2).
9154         implement new enable/disable frame methods.
9155
9156         * frame-x.c:
9157         * frame-x.c (x_enable_frame):
9158         * frame-x.c (console_type_create_frame_x):
9159         implement new enable/disable frame methods.
9160
9161         * frame.c:
9162         * frame.c (Fdisable_frame):
9163         * frame.c (syms_of_frame):
9164         * frame.h (struct frame):
9165         implement new enable/disable frame methods/functions.
9166
9167         * general-slots.h:
9168         add initial-focus.
9169
9170         * glyphs-msw.c (mswindows_widget_instantiate):
9171         comment that initial-focus should be implemented.
9172
9173         * glyphs-widget.c:
9174         * glyphs-widget.c (check_valid_instantiator):
9175         * glyphs-widget.c (check_valid_orientation):
9176         * glyphs-widget.c (check_valid_tab_orientation):
9177         * glyphs-widget.c (check_valid_justification):
9178         * glyphs-widget.c (check_valid_border):
9179         * glyphs-widget.c (check_valid_callback):
9180         * glyphs-widget.c (check_valid_int_or_function):
9181         * glyphs-widget.c (check_valid_string_or_vector):
9182         * glyphs-widget.c (check_valid_item_list_1):
9183         * glyphs-widget.c (widget_validate):
9184         * glyphs-widget.c (combo_box_validate):
9185         * glyphs-widget.c (widget_instantiate):
9186         * glyphs-widget.c (syms_of_glyphs_widget):
9187         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9188         * glyphs-widget.c (image_instantiator_combo_box):
9189         * glyphs-widget.c (image_instantiator_scrollbar):
9190         * glyphs-widget.c (image_instantiator_tab_control):
9191         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9192         (2).
9193         support (unimplemented) keyword initial-focus.
9194         reindent long macros.
9195
9196         * glyphs-x.c (x_redisplay_widget):
9197         * glyphs-x.c (x_button_instantiate):
9198         * glyphs-x.c (x_button_redisplay):
9199         * glyphs-x.c (x_progress_gauge_instantiate):
9200         * glyphs-x.c (x_edit_field_instantiate):
9201         * glyphs-x.c (x_combo_box_instantiate):
9202         * glyphs-x.c (x_tab_control_instantiate):
9203         * glyphs-x.c (x_label_instantiate):
9204         * gui-x.c:
9205         * gui-x.c (button_item_to_widget_value):
9206         * gui-x.c (gui_items_to_widget_values_1):
9207         * gui-x.c (gui_item_children_to_widget_values):
9208         * gui-x.c (gui_items_to_widget_values):
9209         * gui-x.h:
9210         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9211         add new flag to gui-parsing routines to indicate whether
9212         accelerator specs should be supported.
9213
9214         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9215
9216         * glyphs.h (struct Lisp_Image_Instance):
9217         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9218         add initial-focus flag.
9219
9220         * gui.c:
9221         * gui.c (syms_of_gui):
9222         * gui.c (vars_of_gui):
9223         clean up menu-no-selection-hook.
9224
9225         * gui.h:
9226         support delete-dialog-box-hook.
9227
9228         * lread.c (Fload_internal):
9229         * lread.c (locate_file_in_directory_mapper):
9230         (1).
9231
9232         * lrecord.h:
9233         * lrecord.h (struct toolbar_button):
9234         * lrecord.h (syms_of_toolbar):
9235         document how to create a new object.
9236
9237         * menubar-msw.c (mswindows_char_is_accelerator):
9238         may be called on frames w/o menus.
9239
9240         * menubar.c (vars_of_menubar):
9241         clean up :filter docs.
9242
9243         * nt.c (readdir):
9244         * ntproc.c:
9245         (1).
9246
9247         * process-nt.c:
9248         * process-nt.c (validate_signal_number):
9249         * process-nt.c (signal_cannot_launch):
9250         * process-nt.c (nt_create_process):
9251         * process-nt.c (nt_send_process):
9252         * process-nt.c (nt_kill_child_process):
9253         * process-nt.c (nt_open_network_stream):
9254         * process-nt.c (syms_of_process_nt):
9255         (2).
9256         delete quote-handling.  call new lisp code that does it better.
9257
9258         * process-unix.c (connect_to_file_descriptor):
9259         * process-unix.c (allocate_pty):
9260         * process-unix.c (unix_send_process):
9261         * process-unix.c (unix_kill_child_process):
9262         * process-unix.c (unix_open_network_stream):
9263         * process-unix.c (unix_open_multicast_group):
9264         (1). (2).
9265
9266         * process.c:
9267         * process.c (Fstart_process_internal):
9268         (2).  need to canonicalize process path even if absolute.
9269
9270         * select-msw.c (symbol_to_ms_cf):
9271         * select-msw.c (ms_cf_to_symbol):
9272         * select-msw.c (cf_is_autofreed):
9273         * select-msw.c (mswindows_destroy_selection):
9274         * select.c:
9275         * select.c (syms_of_select):
9276         * select.h:
9277         support dibv5, fix bugs. (from Mike Alexander)
9278
9279         * select.c (Fget_selection_internal):
9280         * select.c (select_convert_out):
9281
9282         * sysdep.c:
9283         * sysdep.c (xemacs_stat):
9284         renamed.
9285
9286         * sysdep.c (mkdir):
9287         * sysdep.c (rmdir):
9288         but keep original stat() here because we provide encapsulation
9289         around these funs.
9290
9291         * sysfile.h:
9292         * sysfile.h (fstat):
9293         remove stat garbage.
9294
9295         * syswindows.h:
9296         fix X/MSW conflict.
9297         don't include tchar.h.  it's inappropriate because it makes
9298         compile-time distinctions when we want runtime distinctions.
9299         (we provide our own tchar replacements)
9300
9301         * toolbar.c:
9302         use default object printer for toolbar-button.
9303
9304         * unexcw.c:
9305         make sure we don't encapsulate.
9306
9307         * window.c (vars_of_window):
9308         emphasize that temp-buffer-show-hook is obsolete.
9309
9310 2000-08-05  Martin Buchholz  <martin@xemacs.org>
9311
9312         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
9313         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
9314
9315         * events.c (Fevent_timestamp_lessp):
9316         Not 64-bit clean.  Use EMACS_INT, not int.
9317
9318 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
9319
9320         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
9321         unsigned int and changed the last enum to
9322         lrecord_type_last_built_in_type.
9323         (lrecord_implementations_table): changed prototype to know how
9324         long the array is supposed to be.
9325         (lrecord_type_count): new unsigned int to keep track of the
9326         current number of lisp lrecord types.
9327         (DEFINE_EXTERNAL_LRECORD):
9328         (DECLARE_EXTERNAL_LRECORD): Added these two for external
9329         dynamic-modules to declare new lisp types. They are the same
9330         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
9331         int for each new type, and increment lrecord_type_count by 1.
9332
9333         * alloc.c (lrecord_implementations_table): Changed to reference
9334         lrecord_type_last_built_in_type for the size of the array.
9335         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
9336
9337 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9338
9339         * glyphs.h (check_valid_item_list): Renamed from
9340         check_valid_item_list_1.
9341
9342 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
9343
9344         * select.c (Qselect_coerce): New.
9345         * select.c (Vselection_coercion_alist): New.
9346         * select.c (syms_of_select): Declare.
9347         * select.c (get-selection-internal): Use it.
9348         Use the new select-coerce functionality.
9349
9350         * select.c (select_coerce): New.
9351         * select.h (select_coerce): Declare.
9352         New function to coerce one type of data into another.
9353
9354 2000-08-03  Martin Buchholz  <martin@xemacs.org>
9355
9356         * callproc.c (Fcall_process_internal):
9357         (Fcall_process_internal):
9358         * process-unix.c (unix_create_process):
9359         Save and restore the value of errno, so that error messages are accurate.
9360
9361 2000-08-01  Martin Buchholz  <martin@xemacs.org>
9362
9363         * elhash.c (print_hash_table):
9364         Fix printing of hash tables to also use `key-and-value' instead of `t'.
9365         Prettify docstrings and indentation.
9366
9367 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9368
9369         * window.c (Fwindow_pixel_edges): Subtract frame border and
9370         gutter size.
9371
9372 2000-07-31  Andy Piper  <andy@xemacs.org>
9373
9374         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
9375         will acknowledge the change.
9376
9377         * glyphs.h: declare tab_control_order_only_changed.
9378
9379         * glyphs-x.c (x_tab_control_redisplay): use
9380         tab_control_order_only_changed.
9381
9382         * glyphs-widget.c (tab_control_order_only_changed): new function.
9383
9384         * glyphs-msw.c (mswindows_tab_control_redisplay): use
9385         tab_control_order_only_changed.
9386
9387         * gui.c (gui_item_equal_sans_selected): new function.
9388         (gui_item_equal): use it.
9389
9390         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
9391         :properties in favor of :items..
9392
9393         * glyphs-widget.c (check_valid_item_list): rename from
9394         check_valid_item_list_1.
9395         (check_valid_item_list_1): renamed.
9396         (combo_box_validate): deprecate :properties in favor of :items.
9397         (widget_instantiate): ditto.
9398         (tab_control_update): ditto.
9399         (image_instantiator_combo_box): ditto.
9400         (image_instantiator_tree_view): ditto.
9401         (image_instantiator_tab_control): ditto.
9402         (layout_post_instantiate): remove dead code.
9403
9404         * print.c (debug_print_no_newline): only write to debugger if in
9405         WIN32_NATIVE.
9406
9407         * elhash.c (Fmake_hash_table): update doc string.
9408
9409         * event-msw.c (mswindows_wnd_proc): don't allow processing of
9410         messages whilst in GC. This at least stops XEmacs crashing but has
9411         the potential for wierd behaviour.
9412
9413 2000-07-31  Martin Buchholz  <martin@xemacs.org>
9414
9415         * config.h.in:
9416         Make existence of s&m files optional.
9417
9418         * s/bsd386.h: Remove HAVE_GETLOADAVG.
9419         * s/freebsd.h: Remove HAVE_GETLOADAVG.
9420         * s/gnu.h: Remove HAVE_GETLOADAVG.
9421         * s/netbsd.h: Remove HAVE_GETLOADAVG.
9422         * s/sol2.h: Remove HAVE_GETLOADAVG.
9423         * lisp.h: Remove getloadavg() declaration.
9424         * fns.c:
9425         Include <sys/loadavg.h> if available.
9426         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
9427         * config.h.in:  Group together getloadavg()-related macros.
9428         Use only configure-time tests to detect getloadavg().
9429
9430 2000-07-30  Martin Buchholz  <martin@xemacs.org>
9431
9432         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
9433
9434 2000-07-25  Andy Piper  <andy@xemacs.org>
9435
9436         * syswindows.h: add tchar.h for native builds.
9437
9438         * frame.c (syms_of_frame): remove set-glyph-image.
9439
9440         * general-slots.h: add Qset_glyph_image.
9441
9442         * glyphs-widget.c (layout_update): add domain arg to
9443         set-glyph-image.
9444         (syms_of_glyphs_widget): remove set-glyph-image.
9445
9446 2000-07-23  Ben Wing  <ben@xemacs.org>
9447
9448         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
9449         Vpopup_frame_list.
9450
9451 2000-07-22  Andy Piper  <andy@xemacs.org>
9452
9453         * symsinit.h: add syms_of_win32().
9454
9455         * gui-msw.c (syms_of_gui_mswindows): remove
9456         Fmswindows_shell_execute.
9457         (Fmswindows_shell_execute): moved to win32.c.
9458
9459         * emacs.c (main_1): add syms_of_win32 ().
9460
9461         * win32.c (init_potentially_nonexistent_functions): rewrite in
9462         compiler-friendly terms.
9463         (Fmswindows_shell_execute): move here from gui-msw.c.
9464         (syms_of_win32): new.
9465
9466         * device-msw.c (Fmswindows_printer_list): clean up args to
9467         EnumPrinters.
9468         Don't include tchar under cygwin or mingw.
9469         (msprinter_default_printer): make cygwin-friendly.
9470
9471 2000-07-21  Andy Piper  <andy@xemacs.org>
9472
9473         * glyphs-widget.c (image_instantiator_tree_view): use tab
9474         control's update function.
9475         (layout_property): new function. Retrieve items.
9476
9477         * glyphs-msw.c (mswindows_tree_view_redisplay): new
9478         function. Re-populate the tree view from the pending items.
9479
9480         * glyphs.c (instantiate_image_instantiator): Make sure the domain
9481         is designated the parent if the domain is an image instance. This
9482         is needed so that dirtiness can be cascade up the hierarchy and
9483         thus for layout children to be redisplayed correctly.
9484         (allocate_image_instance): rename glyph -> parent.
9485
9486         * redisplay.h: change redisplay_output_layout signature.
9487
9488         * redisplay-msw.c (mswindows_output_display_block): use domain
9489         arg.
9490
9491         * redisplay-x.c (x_output_display_block): use domain arg.
9492
9493 2000-07-10  Andy Piper  <andy@xemacs.org>
9494
9495         * window.c (Fset_window_configuration): add comment.
9496
9497         * redisplay-output.c (compare_runes):
9498         (redisplay_output_subwindow): redisplay rather than update subwindow.
9499         (redisplay_output_layout): ditto.
9500
9501         * redisplay-msw.c (mswindows_frame_output_end):
9502         (mswindows_frame_output_end): make defer window pos optional.
9503
9504         * lisp.h: add Flast.
9505
9506         * glyphs.h (struct image_instantiator_methods): add dest_mask top
9507         normalize method. Change update method to be for changed
9508         instantiators. Add redisplay method. Change signature of layout
9509         method.
9510         (struct Lisp_Image_Instance): add instantiator.
9511         (IMAGE_INSTANCE_INSTANTIATOR): new.
9512         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
9513         (XIMAGE_INSTANCE_INSTANTIATOR): new.
9514         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
9515
9516         * glyphs.c:
9517         (find_instantiator_differences): new function.
9518         (Fset_instantiator_property): new convenience function.
9519         (check_image_instance_structure): strictly check for vector
9520         instantiators.
9521         (normalize_image_instantiator): make non-static.
9522         (instantiate_image_instantiator): pass on dest_mask and use new
9523         signatures for image_instance_layout and friends.
9524         (mark_image_instance): mark the instantiator. Mark the subwindow
9525         face not the widget face.
9526         (image_instance_equal): add instantiator.
9527         (image_instance_hash): ditto.
9528         (allocate_image_instance): ditto.
9529         (Fset_image_instance_property): removed.
9530         (Fimage_instance_file_name): ditto.
9531         (Fcolorize_image_instance): ditto.
9532         (image_instance_layout): add offsets to be set.
9533         (update_image_instance): new function. update an image instance
9534         from its changed instantiator.
9535         (inherit_normalize): add dest_mask.
9536         (xbm_normalize): ditto.
9537         (xface_normalize): ditto.
9538         (xpm_normalize): ditto.
9539         (text_update): set_property -> update.
9540         (image_instantiate): use the glyph identity as a hash key, not the
9541         instantiator.
9542         (glyph_width): use new image_instance_layout signature.
9543         (glyph_ascent): ditto.
9544         (glyph_descent): ditto.
9545         (glyph_height): ditto.
9546         (glyph_query_geometry): ressurrect.
9547         (glyph_layout): ditto.
9548         (redisplay_subwindow): update -> redisplay.
9549         (syms_of_glyphs): add Fset_instantiator_property.
9550         (image_instantiator_format_create): set_property -> update.
9551
9552         * glyphs-x.c:
9553         (autodetect_normalize): add dest_maks to signature.
9554         (x_redisplay_subwindow): update -> redisplay.
9555         (x_redisplay_widget): ditto.
9556         (x_button_redisplay): ditto.
9557         (x_progress_gauge_redisplay): ditto.
9558         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
9559         stacking order.
9560         (console_type_create_glyphs_x): update -> redisplay.
9561         (image_instantiator_format_create_glyphs_x): ditto.
9562
9563         * glyphs-widget.c:
9564         (check_valid_instantiator): disallow glyphs in the instantiator,
9565         they must now be vectors.
9566         (check_valid_instantiator_list): ditto.
9567         (glyph_instantiator_to_glyph): use internal symbol rather than
9568         intern.
9569         (widget_update): renamed from widget_set_property. Call cascaded
9570         update methods.
9571         (redisplay_widget): renamed from update_widget.
9572         (widget_layout): image_instance_layout now takes position as well
9573         as size.
9574         (widget_normalize): ditto.
9575         (widget_instantiate): ditto.
9576         (tab_control_query_geometry) ditto.:
9577         (tab_control_update): renamed from tab_control_set_property.
9578         (progress_gauge_update): set_property -> update.
9579         (layout_normalize): rewrite so that child instantiators are
9580         normalized also.
9581         (layout_update): new function. Create glyphs from the normalized
9582         children and cope with any other layout keywords. We do not
9583         instantiate children here that will be take care of by
9584         redisplay_output_layout.
9585         (layout_instantiate): call layout_update and not much else.
9586         (layout_post_instantiate): not sure whether this is needed
9587         anymore.
9588         (layout_query_geometry): query glyph geometry rather than
9589         image_instance geometry.
9590         (layout_layout): set offsets from pass in parameters. Use glyph
9591         geometry and layout functions rather than image instance ones.
9592         (native_layout_layout): ditto.
9593         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
9594         (image_instantiator_widget): set_property -> update.
9595         (image_instantiator_buttons): ditto.
9596         (image_instantiator_progress_guage): ditto.
9597         (image_instantiator_tab_control): ditto.
9598         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
9599         (image_instantiator_layout): add update method.
9600
9601         * glyphs-msw.c (bmp_normalize):
9602         (mswindows_resource_normalize): add dest_mask so that it can be
9603         proprogated by layout_normalize.
9604         (begin_defer_window_pos): make optional because it may not be the
9605         right thing to do and it introduces differences with X.
9606         (mswindows_unmap_subwindow): ditto.
9607         (mswindows_map_subwindow): ditto.
9608         (mswindows_redisplay_subwindow): renamed from
9609         mswindows_update_subwindow.
9610         (mswindows_redisplay_widget): ditto.
9611         (mswindows_button_redisplay): renamed from
9612         mswindows_button_update. Update is now what the instantiation
9613         function does for a changed instantiator.
9614         (mswindows_progress_gauge_instantiate): set the progress value
9615         here if appropriate.
9616         (mswindows_tab_control_redisplay): cope with re-ordering of the
9617         members of the tab widget by simply selecting the new top
9618         widget. This makes things appear ok if you click on a tab.
9619         (mswindows_combo_box_instantiate): image_instance_layout now takes
9620         position as well as size.
9621         (mswindows_progress_gauge_redisplay): renamed from
9622         mswindows_progress_gauge_update.
9623         (console_type_create_glyphs_mswindows): fix update -> redisplay.
9624         (image_instantiator_format_create_glyphs_mswindows): ditto.
9625
9626         * glyphs-eimage.c (jpeg_normalize):
9627         (gif_normalize):
9628         (png_normalize):
9629         (tiff_normalize): add dest_mask so that it can be proprogated by
9630         layout_normalize.
9631
9632         * elhash.c:
9633         (print_hash_table):
9634         (hash_table_weakness_validate):
9635         (decode_hash_table_weakness):
9636         (Fhash_table_weakness):
9637         (Fhash_table_type):
9638         (syms_of_elhash): use Ben's naming scheme for hashtable types..
9639
9640         * console.h (struct console_methods): move update_* to
9641         redisplay_*.
9642
9643 2000-07-20  Ben Wing  <ben@xemacs.org>
9644
9645         * *.[ch] (XSETOBJ): remove unused middle argument.
9646         lisp-disunion.h: correct wrap_object() to one argument.
9647
9648 2000-07-15  Ben Wing  <ben@xemacs.org>
9649
9650         * s/cygwin32.h:
9651         * s/cygwin32.h (CYGWIN_CONV_PATH):
9652         Add missing logb prototype for v1.1.
9653         Use post-b20 names and alias to pre-b20 names when pre-b20.
9654
9655         * s/windowsnt.h: [5].
9656
9657 2000-07-15  Ben Wing  <ben@xemacs.org>
9658
9659         * Makefile.in.in (x_objs):
9660         * Makefile.in.in (sheap_objs):
9661         * Makefile.in.in (objs):
9662         added win32.o, cosmetic cleanups.
9663
9664         * alloc.c (Fmake_byte_code):
9665         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
9666         etc. macros which declare their own args now.
9667
9668         * alloc.c (syms_of_alloc):
9669         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
9670
9671         * buffer.c:
9672         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
9673
9674         * buffer.c (Fget_file_buffer):
9675         Fixed GCPRO problem.
9676
9677         * buffer.c (get_truename_buffer):
9678         Fixed comment about GC checking.
9679
9680         * buffer.c (syms_of_buffer):
9681         Undeclared those dedicated frame funs.
9682         [2].
9683
9684         * buffer.h:
9685         Define convenience macros for internal/external conversions.
9686         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
9687         and Qenvironment_variable_encoding for cleaner code.
9688
9689         * bufslots.h:
9690         Remove dedicated-frame; in lisp.
9691
9692         * bytecode.c (funcall_compiled_function):
9693         [1].
9694
9695         * bytecode.c (syms_of_bytecode):
9696         [2].
9697
9698         * console-msw.c:
9699         * console-msw.c (mswindows_show_console): Rewrote.
9700
9701         * console-msw.c (Fmswindows_debugging_output): New.
9702         Sends to OutputDebugString (special MSWin debugger interface).
9703
9704         * console-msw.c (Fmswindows_message_box):
9705         Fixed stupid bugs so it works when called from kill-emacs.
9706
9707         * console-msw.c (syms_of_console_mswindows):
9708         Declare Fmswindows_debugging_output.
9709
9710         * console-msw.h:
9711         New MSWin prototypes.
9712
9713         * console-msw.h (struct mswindows_frame):
9714         New entry last-click-mods for improved button-modifier support.
9715
9716         * console-msw.h (FRAME_MSWINDOWS_POPUP):
9717         New struct entry `popup' with corresponding accessor.
9718
9719         * console-x.c:
9720         * console-x.c (split_up_display_spec):
9721         * console-x.c (get_display_arg_connection):
9722         * console-x.c (x_semi_canonicalize_console_connection):
9723         * console-x.c (x_canonicalize_device_connection):
9724         [[[6]]]: Change char to more specific type.
9725         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
9726
9727         * console-x.c (x_semi_canonicalize_console_connection):
9728         * console-x.c (x_canonicalize_device_connection):
9729         [[[9]]]: Fix up error signalling to use new structured error system.
9730
9731         * console-x.h:
9732         [[[4]]]: Define codesys aliases:
9733         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
9734         Qx_color_name_encoding, Qx_display_name_encoding.
9735
9736         * console.h (struct console_methods):
9737         New method make_dialog_box_internal supersedes older
9738         popup_dialog_box method.
9739
9740         * data.c:
9741         Define many new errors, part of new structured errors.
9742
9743         * data.c (init_errors_once_early):
9744         * data.c (syms_of_data):
9745         [2].
9746
9747         * device-msw.c (mswindows_init_device):
9748         [[[5]]]: Cleanup to support NT 3.51.
9749
9750         * device-msw.c (decode_devmode): Cleanup.
9751
9752         * device-msw.c (mswindows_handle_print_setup_dialog_box):
9753         * device-msw.c (mswindows_handle_print_dialog_box):
9754         * device-msw.c (mswindows_handle_page_setup_dialog_box):
9755         * device-msw.c (syms_of_device_mswindows):
9756         Delete the dialog box primitives recently introduced by Kirill and
9757         instead interface to general dialog box interface.
9758
9759         * device-x.c:
9760         * device-x.c (compute_x_app_name):
9761         * device-x.c (x_init_device):
9762         * device-x.c (Fx_valid_keysym_name_p):
9763         * device-x.c (Fx_set_font_path):
9764         [6].
9765         [7].
9766
9767         * device.h (wrap_device): New.
9768         First of its kind; meant to replace XSETDEVICE.
9769
9770         * dialog-msw.c: Many file-dialog symbols.
9771
9772         * dialog-msw.c (mswindows_register_popup_frame): New.
9773         * dialog-msw.c (mswindows_is_dialog_msg): New.
9774         For supporting kbd traversal in dialog boxes.
9775
9776         * dialog-msw.c (dialog_proc):
9777         Support hitting ESC in dialogs.
9778
9779         * dialog-msw.c (struct):
9780         Common dialog box errors.
9781
9782         * dialog-msw.c (handle_file_dialog_box): New.
9783         Add file dialog code.
9784
9785         * dialog-msw.c (handle_question_dialog_box):
9786         Redo existing code to support new question dialog syntax.
9787
9788         * dialog-msw.c (console_type_create_dialog_mswindows):
9789         We support new dialog console method.
9790
9791         * dialog-msw.c (syms_of_dialog_mswindows):
9792         * dialog-msw.c (vars_of_dialog_mswindows):
9793         New file dialog symbols, vars.
9794
9795         * dialog-x.c:
9796         * dialog-x.c (maybe_run_dbox_text_callback):
9797         * dialog-x.c (dbox_descriptor_to_widget_value):
9798         * dialog-x.c (x_make_dialog_box_internal):
9799         * dialog-x.c (console_type_create_dialog_x):
9800         Mule-ize entire file.
9801         Redo to support question dialog syntax.
9802         [6].
9803
9804         * dialog.c:
9805         * dialog.c (Fmake_dialog_box_internal):
9806         * dialog.c (syms_of_dialog):
9807         Kill old popup-dialog-box, replace with new primitive.
9808         Just call device method or signal error.
9809
9810         * eldap.c (Fldap_open):
9811         * eldap.c (Fldap_search_basic):
9812         * eldap.c (Fldap_add):
9813         * eldap.c (Fldap_modify):
9814         [1].
9815         [7].
9816
9817         * emacs.c:
9818         * emacs.c (make_arg_list_1):
9819         * emacs.c (make_arg_list):
9820         Mule-ize call to dll_init().
9821         [6].
9822         [8].
9823
9824         * emacs.c (make_argc_argv):
9825         * emacs.c (free_argc_argv):
9826         * emacs.c (init_cmdargs):
9827         * emacs.c (main_1):
9828         * emacs.c (Fkill_emacs):
9829         * emacs.c (Fdump_emacs):
9830         Update comments about what can be used in syms_* etc.
9831         Call init_win32() when necessary.
9832         Fix up MS Win dialog box in kill-buffer to actually work right.
9833         [7].
9834
9835         * eval.c:
9836         * eval.c (For):
9837         * eval.c (Fand):
9838         * eval.c (Fprogn):
9839         * eval.c (Fprog1):
9840         * eval.c (Fprog2):
9841         * eval.c (FletX):
9842         * eval.c (Flet):
9843         * eval.c (condition_case_3):
9844         * eval.c (Feval):
9845         * eval.c (function_argcount):
9846         * eval.c (funcall_lambda):
9847         [1].
9848
9849         * eval.c (type_error): New.
9850         * eval.c (maybe_type_error): New.
9851         * eval.c (continuable_type_error): New.
9852         * eval.c (maybe_continuable_type_error): New.
9853         * eval.c (type_error_with_frob): New.
9854         * eval.c (maybe_type_error_with_frob): New.
9855         * eval.c (continuable_type_error_with_frob): New.
9856         * eval.c (maybe_continuable_type_error_with_frob): New.
9857         New functions for use with structured errors.
9858
9859         * event-Xt.c:
9860         * event-Xt.c (x_event_to_emacs_event):
9861         Buttons are now modifiers too.
9862
9863         * event-Xt.c (emacs_Xt_current_event_timestamp):
9864         Implement new event method.
9865         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
9866
9867         * event-msw.c:
9868         * event-msw.c (ntpipe_shove_writer): [5].
9869         * event-msw.c (mswindows_enqueue_mouse_button_event):
9870         * event-msw.c (mswindows_drain_windows_queue):
9871         * event-msw.c (mswindows_wnd_proc): [7].
9872         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
9873         * event-msw.c (mswindows_modifier_state):
9874         Throughout: support new button modifiers.
9875
9876         * event-msw.c (emacs_mswindows_current_event_timestamp):
9877         Implement new event method.
9878         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
9879
9880         * event-stream.c:
9881         * event-stream.c (event_stream_current_event_timestamp): New.
9882         * event-stream.c (maybe_kbd_translate): New functionality.
9883         * event-stream.c (vars_of_event_stream):
9884         Document new kbd-translate-table functionality.
9885
9886         * event-stream.c (Fcurrent_event_timestamp): New.
9887         New primitive for use in fabricated events.
9888         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
9889
9890         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
9891
9892         * events.c:
9893         * events.c (Fmake_event):
9894         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
9895         [1].
9896         [9].
9897
9898         * events.c (format_event_object): fix gcc warnings.
9899
9900         * events.c (Fevent_timestamp): Document new primitives.
9901
9902         * events.c (TIMESTAMP_HALFSPACE): New.
9903
9904         * events.c (Fevent_timestamp_lessp): New.  New primitive for
9905         comparing timestamps correctly (half-space algorithm).
9906
9907         * events.c (Fevent_modifier_bits): Doc fix.
9908
9909         * events.c (Fevent_modifiers): Major doc addition.
9910         * events.c (event_x_y_pixel_internal): Typo fix.
9911         * events.c (syms_of_events): Declare new primitives.
9912
9913         * events.h:
9914         Update long comment for button modifiers, timestamps.
9915
9916         * events.h (struct event_stream):
9917         New current_event_timestamp method.
9918
9919         * extents.c:
9920         * extents.c (extent_in_region_p):
9921         * extents.c (decode_extent):
9922         * extents.c (Fset_extent_parent):
9923         * extents.c (decode_map_extents_flags):
9924         Fix gcc warnings.
9925         [9].
9926
9927         * extents.c (struct extent_at_arg):
9928         * extents.c (decode_extent_at_flag):
9929         * extents.c (extent_at_mapper):
9930         * extents.c (extent_at_bytind):
9931         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
9932         * extents.c (Fextents_at): New primitive. [9].
9933         * extents.c (symbol_to_glyph_layout): [9].
9934         Support new primitive `extents-at'.
9935
9936
9937         * extents.c (get_text_property_bytind):
9938         extent_at_bytind has another arg.
9939         [9].
9940
9941         * extents.c (syms_of_extents): New primitive.
9942
9943         * file-coding.c (Fmake_coding_system): [1].
9944         * file-coding.c (subsidiary_coding_system): fix gcc warning
9945         * file-coding.c (syms_of_file_coding): [2].
9946
9947         * fileio.c (Fexpand_file_name):
9948         * fileio.c (Fsysnetunam):
9949         * fileio.c (Ffile_exists_p):
9950         * fileio.c (Ffile_executable_p):
9951         * fileio.c (Fverify_visited_file_modtime):
9952         Clean up GCPROing.
9953
9954         * fileio.c (syms_of_fileio): [2].
9955
9956         * filelock.c (lock_file_1):
9957         * filelock.c (current_lock_owner):
9958         * filelock.c (lock_if_free):
9959         * filelock.c (lock_file):
9960         * filelock.c (unlock_file):
9961         Clean up GCPROing.
9962
9963         * fns.c (concat): Fix gcc warning.
9964
9965         * fns.c (Fmember):
9966         * fns.c (Fold_member):
9967         * fns.c (Fmemq):
9968         * fns.c (Fold_memq):
9969         * fns.c (memq_no_quit):
9970         * fns.c (Fassoc):
9971         * fns.c (Fold_assoc):
9972         * fns.c (Fassq):
9973         * fns.c (Fold_assq):
9974         * fns.c (assq_no_quit):
9975         * fns.c (Frassoc):
9976         * fns.c (Fold_rassoc):
9977         * fns.c (Frassq):
9978         * fns.c (Fold_rassq):
9979         * fns.c (rassq_no_quit):
9980         * fns.c (Fdelete):
9981         * fns.c (Fold_delete):
9982         * fns.c (Fdelq):
9983         * fns.c (Fold_delq):
9984         * fns.c (delq_no_quit):
9985         * fns.c (Fremassoc):
9986         * fns.c (Fremassq):
9987         * fns.c (remassq_no_quit):
9988         * fns.c (Fremrassoc):
9989         * fns.c (Fremrassq):
9990         * fns.c (remrassq_no_quit):
9991         * fns.c (Freverse):
9992         * fns.c (mapcar1):
9993         [1].
9994
9995         * frame-msw.c (mswindows_init_frame_1):
9996         * frame-msw.c (mswindows_delete_frame):
9997         Register popups with dialog code so keyboard traversing works.
9998
9999         * frame-tty.c (tty_raise_frame_no_select): [1].
10000
10001         * frame-x.c:
10002         * frame-x.c (x_set_frame_text_value):
10003         * frame-x.c (x_set_frame_properties):
10004         * frame-x.c (x_create_widgets):
10005         [7].
10006
10007         * frame.c:
10008         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10009
10010         * frame.h (wrap_frame): New.
10011         Macro like wrap_device.
10012
10013         * general.c:
10014         * general.c (SYMBOL):
10015         * general.c (syms_of_general):
10016         Major reorg.  This is now just a wrapper and symbols themselves
10017         are listed in general-slots.h.
10018
10019         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10020         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10021
10022         * glyphs-msw.c (mswindows_native_layout_instantiate):
10023         Add DS_CONTROL so keyboard traversal will work.
10024
10025         * glyphs-widget.c:
10026         * glyphs-widget.c (syms_of_glyphs_widget):
10027         Move some symbols to general-slots.h.
10028
10029         * glyphs-x.c:
10030         * glyphs-x.c (xbm_instantiate_1):
10031         * glyphs-x.c (x_xbm_instantiate):
10032         * glyphs-x.c (x_xface_instantiate):
10033         * glyphs-x.c (autodetect_instantiate):
10034         * glyphs-x.c (cursor_font_instantiate):
10035         * glyphs-x.c (x_update_widget):
10036         * glyphs-x.c (x_widget_instantiate):
10037         * glyphs.c (bitmap_to_lisp_data):
10038         * glyphs.c (pixmap_to_lisp_data):
10039         [7].
10040
10041         * glyphs.c (syms_of_glyphs):
10042         [2].
10043
10044         * gui-x.c:
10045         * gui-x.c (print_widget_value):
10046         * gui-x.c (menu_separator_style_and_to_external):
10047         * gui-x.c (add_accel_and_to_external):
10048         * gui-x.c (button_item_to_widget_value):
10049         * gui-x.c (gui_items_to_widget_values_1):
10050         * gui-x.c (gui_items_to_widget_values):
10051         * gui-x.c (syms_of_gui_x):
10052         * gui-x.c (vars_of_gui_x):
10053         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10054         [9].
10055
10056         * gui-x.h:
10057         Muleize, prototype changes matching gui-x.c.
10058
10059         * gui.c:
10060         * gui.c (separator_string_p):
10061         * gui.c (gui_item_add_keyval_pair):
10062         * gui.c (make_gui_item_from_keywords_internal):
10063         * gui.c (signal_too_long_error):
10064         * gui.c (parse_gui_item_tree_item):
10065         * gui.c (syms_of_gui):
10066         * gui.c (vars_of_gui):
10067         * gui.h:
10068         menu-no-selection-hook moved here (used by MSWin).
10069         Move some symbols to general-slots.h.
10070         [6].
10071         [9].
10072
10073         * insdel.c (get_buffer_pos_char):
10074         * insdel.c (get_buffer_range_char):
10075         Add GC comments.
10076
10077         * keymap.c (keymap_lookup_directly):
10078         * keymap.c (keymap_store):
10079         * keymap.c (ensure_meta_prefix_char_keymapp):
10080         * keymap.c (describe_map):
10081         * keymap.h:
10082         Support new button modifiers.
10083
10084         * lisp-disunion.h (wrap_object):
10085         * lisp-disunion.h (XSETOBJ):
10086         Rename make_obj to wrap_object.
10087
10088         * lisp-union.h:
10089         * lisp-union.h (make_int):
10090         * lisp-union.h (make_char):
10091         Support wrap_object.
10092
10093         * lisp.h:
10094         * lisp.h (LIST_LOOP):
10095         * lisp.h (EXTERNAL_LIST_LOOP):
10096         * lisp.h (LIST_LOOP_2):
10097         * lisp.h (EXTERNAL_LIST_LOOP_1):
10098         * lisp.h (EXTERNAL_LIST_LOOP_2):
10099         * lisp.h (EXTERNAL_LIST_LOOP_3):
10100         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10101         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10102         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10103         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10104         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10105         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10106         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10107         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10108         * lisp.h (struct Lisp_Symbol):
10109         * lisp.h (maybe_continuable_error_with_frob):
10110         Fix up section comments.
10111         Add new types for char to indicate usage.
10112         Delete symbols auto-generated from general-slots.h.
10113         Add prototypes for structured error functions.
10114         Add long comments describing looping macros and change interface
10115         so that lvalues are automatically declared.
10116         Add NO_DECLARE macro in case callers want to declare lvalues
10117         themselves.
10118
10119         * lread.c (read_syntax_error):
10120         * lread.c (continuable_read_syntax_error):
10121         * lread.c (read_structure):
10122         * lread.c (sequence_reader):
10123         * lread.c (read_list_conser):
10124         * lread.c (read_compiled_function):
10125         Rename syntax_error and continuable_syntax_error to avoid clash
10126         with same-named structured error functions.
10127
10128         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10129         * menubar-msw.c (populate_menu_add_item):
10130         * menubar-msw.c (populate_or_checksum_helper):
10131         [5].
10132         [9].
10133
10134         * menubar-x.c:
10135         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10136         Mule-ize whole file.
10137
10138         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10139
10140         * mule-charset.c (Fmake_charset):
10141         * mule-wnnfns.c (Fwnn_set_param):
10142         [1].
10143
10144         * ntproc.c (create_child):
10145         * ntproc.c (Fwin32_set_current_locale):
10146         Add comments portending doom.
10147
10148         * objects-msw.c:
10149         * objects-msw.c (old_font_enum_callback_2):
10150         * objects-msw.c (font_enum_callback_1):
10151         * objects-msw.c (mswindows_enumerate_fonts):
10152         [5].
10153
10154         * objects-x.c:
10155         * objects-x.c (allocate_nearest_color):
10156         * objects-x.c (x_parse_nearest_color):
10157         * objects-x.c (x_initialize_color_instance):
10158         * objects-x.c (x_print_color_instance):
10159         * objects-x.c (x_finalize_color_instance):
10160         * objects-x.c (x_valid_color_name_p):
10161         * objects-x.c (x_initialize_font_instance):
10162         * objects-x.c (x_print_font_instance):
10163         * objects-x.c (valid_x_font_name_p):
10164         * objects-x.c (truename_via_FONT_prop):
10165         * objects-x.c (truename_via_random_props):
10166         * objects-x.c (truename_via_XListFonts):
10167         * objects-x.c (x_font_truename):
10168         * objects-x.c (x_font_instance_truename):
10169         * objects-x.c (x_font_instance_properties):
10170         * objects-x.c (x_list_fonts):
10171         * objects-x.c (x_find_charset_font):
10172         Mule-ize entire file.
10173         [7].
10174
10175         * objects-x.h:
10176         Mule-verify.
10177
10178         * print.c:
10179         * print.c (std_handle_out_external):
10180         * print.c (debug_print_no_newline):
10181         * print.c (syms_of_print):
10182         Output to all debugger kinds in debug-print.
10183         Fix console-output code under MSWin to actually work.
10184
10185         * process-nt.c (send_signal):
10186         * process-nt.c (nt_create_process):
10187         Use newer Unicode macros.
10188
10189         * process-unix.c (unix_create_process):
10190         * process-unix.c (unix_canonicalize_host_name):
10191         * process-unix.c (unix_open_network_stream):
10192         [7].
10193
10194         * scrollbar-x.c:
10195         Mule-verify.
10196
10197         * search.c (syms_of_search):
10198         [2].
10199
10200         * select-msw.c (mswindows_destroy_selection):
10201         Use LIST_LOOP_2.
10202
10203         * select-x.c (symbol_to_x_atom):
10204         [7].
10205
10206         * select.c (syms_of_select):
10207         [2].
10208
10209         * sound.c (Fplay_sound_file):
10210         [7].
10211
10212         * specifier.c:
10213         * specifier.c (decode_specifier_type):
10214         * specifier.c (Fvalid_specifier_locale_type_p):
10215         * specifier.c (check_valid_locale_or_locale_type):
10216         * specifier.c (decode_locale):
10217         * specifier.c (decode_locale_type):
10218         * specifier.c (decode_locale_list):
10219         * specifier.c (check_valid_domain):
10220         * specifier.c (decode_specifier_tag_set):
10221         * specifier.c (Fcanonicalize_tag_set):
10222         * specifier.c (Fdefine_specifier_tag):
10223         * specifier.c (Fspecifier_tag_predicate):
10224         * specifier.c (check_valid_inst_list):
10225         * specifier.c (check_valid_spec_list):
10226         * specifier.c (decode_how_to_add_specification):
10227         * specifier.c (check_modifiable_specifier):
10228         * specifier.c (specifier_add_spec):
10229         * specifier.c (boolean_validate):
10230         * specifier.c (display_table_validate):
10231         [9].
10232
10233         * specifier.c (syms_of_specifier):
10234         Move some symbols to general-slots.h.
10235         [2].
10236
10237         * symbols.c:
10238         * symbols.c (Fmapatoms):
10239         * symbols.c (Fapropos_internal):
10240         Add GCPROs.
10241
10242         * symbols.c (set_default_buffer_slot_variable):
10243         * symbols.c (set_default_console_slot_variable):
10244         [1].
10245
10246         * symbols.c (defsymbol_massage_name_1):
10247         * symbols.c (defkeyword_massage_name):
10248         * symbols.c (deferror_1):
10249         * symbols.c (deferror):
10250         * symbols.c (deferror_massage_name_and_message):
10251         * symeval.h:
10252         * symeval.h (DEFSYMBOL):
10253         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10254
10255         * symbols.c (syms_of_symbols):
10256         [2].
10257
10258         * symsinit.h:
10259         * symsinit.h (init_win32): New.
10260         Also new is syms_of_dialog_mswindows.
10261
10262         * syswindows.h:
10263         Add new Unicode macros, missing Cygwin wide-char functions,
10264         convenience conversion macros for Qmswindows_tstr, macros for
10265         encapsulating required MSWin <-> Cygwin filename conversions,
10266         prototype for dynamically-extracted (not in NT 3.51) functions.
10267
10268         * toolbar-x.c:
10269         Mule-verify.
10270
10271         * tooltalk.c (Fadd_tooltalk_message_arg):
10272         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10273         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10274         [7].
10275
10276         * tooltalk.c (syms_of_tooltalk):
10277         [2].
10278
10279         * unexnt.c:
10280         * unexnt.c (unexec):
10281         Fix up headers, declaration of unexec() to be more standard.
10282
10283 2000-07-20  Martin Buchholz  <martin@xemacs.org>
10284
10285         * offix.h: Revert change to guard macros - they're used in offix.c!
10286
10287 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10288
10289         * lisp.h: Defsubred Fdelete.
10290
10291         * console-msw.h:  (msprinter_default_printer): Added.
10292
10293         * console-msw.c (msprinter_canonicalize_console_connection):
10294         (msprinter_canonicalize_device_connection): Added.
10295
10296         * device-msw.c (msprinter_default_printer):
10297         (Fmswingows_get_default_printer):
10298         (signal_enum_priner_error):
10299         (Fmswingows_printer_list): Added.
10300
10301 2000-07-19  Martin Buchholz <martin@xemacs.org>
10302
10303         * XEmacs 21.2.35 is released.
10304
10305 2000-07-19  Martin Buchholz  <martin@xemacs.org>
10306
10307         * select-x.c (x_handle_selection_request):
10308         Text selected in xemacs and pasted into xterm failed to appear.
10309         Spelling fixes and cosmetic changes.
10310
10311 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10312
10313         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
10314         XEmacs frame (fix for doubling chars in dialog boxes).
10315
10316 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10317
10318         * select.c (select_convert_in, select_convert_out):
10319         Don't call intern() every time.
10320
10321         * select.c (Qselect_convert_in, Qselect_convert_out): New.
10322         * select.c (vars_of_select): Initialise them.
10323
10324 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10325
10326         * select.c (selection-coercible-types): New.
10327
10328         * select.c (own-selection-internal):
10329         * select.c (get-selection-internal):
10330         MULE bug fix - these should default to COMPOUND_TEXT and not
10331         STRING for MULE. I think.
10332
10333         * select.c (select_convert_out): Use selection-coercible-types
10334         to find types that we can attempt to perform coercions on.
10335
10336 2000-07-18  Martin Buchholz  <martin@xemacs.org>
10337
10338         * mule-wnnfns.c:
10339         * mule-canna.c:
10340         Add coding: cookie to identify encoding.
10341
10342         * mule-canna.c (CANNA_mode_keys): make static.
10343         Use proper prototypes, even for functions of no arguments.
10344         Remove external prototype for Fding().
10345
10346         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
10347
10348         * select.c (syms_of_select): Add missing DEFSUBR.
10349
10350 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10351
10352         * select.c (get_selection_internal, own_selection_internal):
10353         Make the type default to STRING, rather than placing a nil type
10354         into Vselection_alist.
10355
10356 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10357
10358         * gpmevent.c (tty_selection_exists_p):
10359         * gpmevent.c (tty_own_selection):
10360         Updated parameter lists.
10361
10362 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
10363
10364         * select.h (selection-alist): Removed declaration.
10365
10366         * select.h (get_local_selection):
10367         * select.c (get_local_selection):
10368         Made static.
10369
10370         * select.h (convert_selection): Removed declaration.
10371         * select.c (convert_selection): Removed.
10372         This function belongs in Lisp.
10373
10374         * select.h (select_convert_in): Declare.
10375         * select.h (select_convert_out): Declare.
10376         * select.c (select_convert_in): New.
10377         * select.c (select_convert_out): New.
10378         New conversion functions for other files to call.
10379
10380         * select.h (select_notify_buffer_kill): Declare.
10381         * select.c (select_notify_buffer_kill): New.
10382         New functions that get called from kill-buffer.
10383
10384         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
10385         X-specific lisp code.
10386
10387         * select.h: Declare some of the lisp-visible functions for
10388         external use.
10389
10390         * select.c (clean_local_selection_data): Removed. This was
10391         a disgusting function, and previously should have been in
10392         select-x.c in any case. The functionality is now provided
10393         in select-convert-from-integer (select.el).
10394
10395         * select.c (available-selection-types): Fixed stupidity where
10396         INTEGER and ATOM got added twice. Also add STRING when we see an
10397         extent.
10398
10399         * select.c (get-selection-internal): Removed symbol stripping. No
10400         longer causes conversion when data comes from the internal cache.
10401
10402         * select.c (syms_of_select): Added new functions.
10403
10404         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
10405         error checking - previously this called abort!
10406
10407         * select-x.c (x_own_selection): Changed comment.
10408
10409         * select-x.c (x_handle_selection_request): Use select_convert_out.
10410         Don't mess with selection-alist; it's an internal variable of select.c.
10411
10412         * select-x.c (x_get_foreign_selection): Use select_convert_in.
10413
10414         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
10415         rather than messing with selection-alist.
10416
10417         * select-msw.c (mswindows_get_foreign_selection):
10418         Use TO_INTERNAL_FORMAT rather than hacking.
10419
10420 2000-07-14  Martin Buchholz  <martin@xemacs.org>
10421
10422         * process-unix.c (unix_open_multicast_group):
10423         (unix_open_multicast_group): Remove useless casts.
10424
10425 2000-07-13  Martin Buchholz  <martin@xemacs.org>
10426
10427         * sound.c (Fplay_sound): Fix `unused variable' warning.
10428
10429         * emacs.c (main): Use correct type for _environ on SCO5.
10430
10431 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
10432
10433         * console.h (own_selection_method):
10434         * console.h (selection_exists_p_method):
10435         * console.h (available_selection_types_method): New.
10436         * console.h (register_selection_data_type_method): New.
10437         * console.h (selection_data_type_name): New.
10438
10439         * console-msw.h (mswindows_destroy_selection): Declare it.  New
10440         function & alist to track GlobalAlloc()'d handles that need
10441         releasing when the clipboard data gets replaced or emptied.
10442
10443         * event-msw.c (mswindows_wnd_proc): Call it.
10444
10445         * lisp.h, general.c (Qappend): New symbol representing a
10446         `how-to-add' mode.
10447
10448         * select.c (own-selection-internal):
10449         * select.c (selection-exists-p):
10450         * select.c (available-selection-types): New.
10451         * select.c (register-selection-data-type): New.
10452         * select.c (selection-data-type-name): New.  New functions to deal
10453         with device-specific selection data formats.
10454         * select.c (selection-converter-out-alist): Renamed.
10455         * select.c (selection-converter-in-alist): New.
10456         * select.c (selection-appender-alist): New.  Added new alists.
10457         * select.c (syms_of_select, vars_of_select): Added new symbols &
10458         variables.
10459         * select.c (get_local_selection): Split.
10460         * select.c: Removed spurious type checking - selections may now be
10461         of any type, not just strings.
10462         * select.c (own-selection-internal):
10463
10464         * select.h, select.c (convert_selection): New. Created
10465         convert_selection() function based on get_local_selection().
10466         * select.h, select.c (QCF_*): New symbols representing mswindows
10467         clipboard formats.
10468         * select.h, select.c (Qreplace_all, Qreplace_existing): New
10469         symbols representing `how-to-add' modes.
10470
10471         * select-msw.c (x_sym_p): New.
10472         * select-msw.c (symbol_to_ms_cf): New.
10473         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
10474         symbols & clipboard formats. Can also handle string names.
10475         * select-msw.c (mswindows_own_selection):
10476         * select-msw.c (mswindows_selection_exists_p):
10477         Added `data-type' parameter. Use it.
10478         * select-msw.c (mswindows_available_selection_types): New.
10479         * select-msw.c (mswindows_register_selection_data_type): New.
10480         * select-msw.c (mswindows_selection_data_type_name): New.
10481         * select-msw.c (mswindows_own_selection):
10482         * select-msw.c (mswindows_get_foreign_selection):
10483         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
10484         * select-msw.c (console_create_select_mswindows): Added new methods.
10485         * select-msw.c (mswindows_destroy_selection): New.
10486         * select-msw.c (Vhandle_alist): New list.
10487         * select-msw.c (mswindows_own_selection):
10488
10489         * select-x.c (x_own_selection):
10490         * select-x.c (x_selection_exists_p):
10491         * select-x.c: Added some comments about maybe using new
10492         functionality.
10493         * select-x.c (x_own_selection):
10494
10495         * specifier.c: Remove definition of Qappend (now in general.c)
10496         * specifier.c (syms_of_specifier): Remove Qappend.
10497
10498 2000-07-12  Martin Buchholz  <martin@xemacs.org>
10499
10500         * config.h.in: Add socklen_t.
10501
10502         * s/decosf4-0.h: No special compiler flags needed or desired.
10503         In particular, undefine _BSD for DEC OSF 4.0.
10504
10505 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10506
10507         * redisplay-msw.c (msprinter_frame_output_end): Added.
10508         (console_type_create_redisplay_mswindows): Referred the above.
10509
10510         * frame.c (setup_frame_without_minibuffer): Do not create a
10511         default minibuffer frame on a printer device.
10512
10513         * frame-msw.c (apply_dc_geometry): Added.
10514         (msprinter_start_page):
10515         (msprinter_init_frame_3):
10516         (msprinter_eject_page): Use it.
10517
10518         * console-msw.h (struct msprinter_frame): Added pix_left and top,
10519         and removed residual duplex and orientation properties.
10520
10521 2000-07-11  Martin Buchholz  <martin@xemacs.org>
10522
10523         * eval.c (function_argcount): Work around a DEC CC compiler bug.
10524
10525         * unexalpha.c: Remove system prototypes from C sources!
10526
10527 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
10528
10529         * eval.c: Remove references to M-x edit-options in DEFUNs for
10530         `defvar' and `defconst'.
10531
10532 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10533
10534         * config.h.in: Remove SMART_INCLUDE hackery.
10535
10536         PostgreSQL hacking:
10537         * config.h.in: Don't use SMART_INCLUDE.
10538
10539         * postgresql.h: Include libpq-fe.h here.  Fix typo.
10540         * inline.c: Simply #include "postgresql.h"
10541         * postgresql.c:
10542         - Don't use SMART_INCLUDE
10543         - Use simply "const".
10544         - Use standard doc string conventions.
10545         - Use correct type for result of PQstatus.
10546
10547 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10548
10549         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
10550
10551         C++ compilation changes.
10552         * config.h.in (EXTERN_C): Define.
10553         * config.h.in (not): This is also a C++ keyword.
10554         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
10555         * cm.c: Use EXTERN_C.
10556         * redisplay-tty.c: Use EXTERN_C.
10557         * sysdep.c: Use EXTERN_C.  Remove Gould support.
10558
10559 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10560
10561         * general.c: Remove duplicate definition for Qfunction.
10562
10563 2000-07-08  Ben Wing  <ben@xemacs.org>
10564
10565         * device-msw.c (msprinter_init_device):
10566         * device-msw.c (sync_printer_with_devmode):
10567         * device-msw.c (handle_devmode_changes):
10568         * device-msw.c (print_dialog_worker):
10569         * device-msw.c (Fmsprinter_apply_settings):
10570         * device-msw.c (hash_devmode):
10571         * device-msw.c (Fmsprinter_settings_despecialize):
10572         use Qmswindows_tstr, not Qctext.
10573
10574         * vm-limit.c (check_memory_limits):
10575         avoid infinite loop printing warning messages.
10576
10577 2000-07-05  Craig Lanning  <lanning@scra.org>
10578
10579         * Makefile.in.in: Add support for including the Windows resources
10580         when building with the cygwin and mingw targets.
10581
10582         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
10583         not set or not correct.
10584         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
10585         (init_initial_directory): Don't try to use $PWD on the
10586         WIN32_NATIVE target.
10587
10588         * s\cygwin32.h:
10589         [[Add -mwindows to eliminate console window.]] not required --ben
10590         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10591         (MAIL_USE_POP): removed; now handled by configure.
10592
10593         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
10594         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
10595         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10596         (MAIL_USE_POP): removed; now handled by configure.
10597         (ENCAPSULATE_STAT): from Dan Holmsand, added.
10598         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
10599         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
10600         constant string.
10601         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
10602         up from <winsock.h> via systime.h.
10603         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
10604         (getpagesize): from Dan Holmsand, added.
10605         Added #endif which was left dangling by Ben's mega patch; added
10606         comment to help prevent this in the future.
10607
10608         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
10609
10610 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10611
10612         * console-msw.h (struct mswindows_device): Removed unnecessary
10613         cached device geometry values.
10614         Added update_tick and an accessor macro.
10615         (Lisp_Devmode): Added lrecord declaration.
10616         (struct msprinter_device): Contain devmode as a Lisp object.
10617         Added mswindows_get_selected_frame_hwnd();
10618
10619         * console.h (struct console_methods): Indentation nitpicking.
10620
10621         * device-msw.c (mswindows_init_device): Do not initialize geometry
10622         cache. Initialize update tick.
10623         (mswindows_device_system_metrics): Ask the device for its geometry.
10624         (global_free_2_maybe):
10625         (devmode_to_hglobal):
10626         (handle_printer_changes):
10627         (ensure_not_printing):
10628         (print_dialog_worker):
10629         (Fmsprinter_print_setup_dialog):
10630         (Fmsprinter_print_dialog):
10631         (plist_get_margin):
10632         (plist_set_margin):
10633         (Fmsprinter_page_setup_dialog): Added functions.
10634         (sync_printer_with_devmode):
10635         (handle_devmode_changes):
10636         (Fmsprinter_get_settings):
10637         (Fmsprinter_select_settings):
10638         (Fmsprinter_apply_settings):
10639         (allocate_devmode):
10640         (Fmsprinter_settings_copy):
10641         (Fmsprinter_settings_despecialize):
10642         (print_devmode):
10643         (finalize_devmode):
10644         (equal_devmode):
10645         (hash_devmode): Added functions
10646         (syms_of_device_mswindows): Init devmode lrecord class.
10647
10648         * device.h: Added an exfun for find-device.
10649
10650         * event-msw.c (mswindows_wnd_proc): Do not update the cached
10651         geometry; although, recreate the device compatible DC.
10652
10653         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
10654         (msprinter_init_frame_3):
10655         (msprinter_frame_property):
10656         (msprinter_internal_frame_property_p):
10657         (msprinter_frame_properties):
10658         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
10659         print job properties (will move to device settings).
10660
10661         * lisp.h: Added symbols.
10662
10663         * general.c (syms_of_general): Declared them.
10664
10665         * hash.c (string_hash): Added.
10666
10667         * lrecord.h (lrecord_type): Added devmode lrecord type.
10668
10669 2000-07-02  Mike Sperber <mike@xemacs.org>
10670
10671         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
10672         FreeBSD 4.0.
10673
10674 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
10675
10676         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
10677         integer.
10678
10679 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
10680
10681         * data.c (Fstring_to_number): Don't recognize floating point if
10682         base is not 10.
10683
10684 2000-06-22  Martin Buchholz  <martin@xemacs.org>
10685
10686         * glyphs-widget.c (tab_control_query_geometry):
10687         (widget_query_geometry):
10688         (button_query_geometry):
10689         * glyphs.c (text_query_geometry):
10690         Enforce type correctness.
10691
10692 2000-06-18  Martin Buchholz  <martin@xemacs.org>
10693
10694         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
10695         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
10696
10697 2000-06-17  Martin Buchholz  <martin@xemacs.org>
10698
10699         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
10700         conflicts with gcc's fixincluded version of FOO.h.
10701
10702         * glyphs.h (image_instance_geometry): Remove trailing `,'
10703
10704 2000-06-08  Mike Alexander  <mta@arbortext.com>
10705
10706         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
10707         (shove_thread): Don't write the same output twice
10708         (make_ntpipe_output_stream): Increase priority of shove thread
10709         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
10710         chance to run
10711         (ntpipe_shove_closer): Don't delete the pipe until we're done with
10712         it.
10713
10714 2000-06-12  Ben Wing  <ben@xemacs.org>
10715
10716         * s\mingw32.h (sigset):
10717         * s\windowsnt.h (sigset):
10718         rename msw_ to mswindows_ for consistency with general convention.
10719
10720 2000-06-12  Ben Wing  <ben@xemacs.org>
10721
10722         * console-msw.c:
10723         * console-msw.c (mswindows_get_console_hwnd):
10724         * console-msw.c (mswindows_ensure_console_allocated):
10725         * console-msw.c (mswindows_hide_console):
10726         * console-msw.c (mswindows_show_console):
10727         * console-msw.c (mswindows_ensure_console_buffered):
10728         * console-msw.c (mswindows_output_console_string):
10729         * console-msw.c (mswindows_windows9x_p):
10730         * console-msw.h:
10731         * device-msw.c (mswindows_get_workspace_coords):
10732         * device-msw.c (mswindows_device_system_metrics):
10733         * dialog-msw.c (mswindows_popup_dialog_box):
10734         * event-msw.c (mswindows_wnd_proc):
10735         * frame-msw.c (mswindows_size_frame_internal):
10736         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10737         * menubar-msw.c (displayable_menu_item):
10738         * menubar-msw.c (mswindows_char_is_accelerator):
10739         * nt.c:
10740         * nt.c (mswindows_sigset):
10741         * nt.c (mswindows_sigrelse):
10742         * nt.c (mswindows_sigpause):
10743         * nt.c (mswindows_raise):
10744         * nt.c (timer_proc):
10745         * ntproc.c:
10746         * ntproc.c (find_child_console):
10747         * ntproc.c (sys_kill):
10748         * print.c:
10749         * print.c (std_handle_out_external):
10750         * process-nt.c (find_child_console):
10751         * process-nt.c (send_signal_the_95_way):
10752         * process-nt.c (ensure_console_window_exists):
10753         * process-nt.c (nt_create_process):
10754         * syssignal.h:
10755         rename msw_ to mswindows_ for consistency with general convention.
10756
10757         * emacs.c:
10758         * dumper.c:
10759         include nt.h, not syswindows.h.
10760
10761         * nt.c (mswindows_fstat):
10762         * nt.c (mswindows_stat):
10763         prefix mswindows_ instead of attempting to directly override the
10764         library functions.  fix declarations.
10765
10766         * nt.h:
10767         include syswindows.h.  move some sysdep.h stuff here.
10768
10769         * ntheap.h:
10770         include syswindows.h, not <windows.h>.
10771
10772         * ntplay.c:
10773         clean up headers.
10774
10775         * sysdep.c:
10776         clean up headers.
10777
10778         * sysdep.c (sys_fstat):
10779         * sysdep.c (sys_stat):
10780         call mswindows versions when appropriate.
10781
10782         * sysdep.h:
10783         move mswin decls to nt.h.
10784
10785         * syswindows.h:
10786         add long comment describing appropriate use of the various windows
10787         headers.
10788
10789 2000-06-11  Ben Wing  <ben@xemacs.org>
10790
10791         * device-x.c: Correct doc string for sixth arg of x-get-resource.
10792
10793 2000-06-10  Ben Wing  <ben@xemacs.org>
10794
10795         * Makefile.in.in (release):
10796         Correction to make sure xemacs.exe always dumped when correct.
10797
10798         * alloca.c:
10799         * balloon_help.c:
10800         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
10801
10802         * buffer.c (set_buffer_internal):
10803         [[[[2]]]]: Remove HAVE_FEP code.
10804
10805         * buffer.c (init_initial_directory):
10806         [3].
10807
10808         * bytecode.c:
10809         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
10810         individual files.
10811
10812         * callproc.c:
10813         * callproc.c (call_process_cleanup):
10814         * callproc.c (Fold_call_process_internal):
10815         * callproc.c (child_setup):
10816         * callproc.c (getenv_internal):
10817         * callproc.c (init_callproc):
10818         * callproc.c (vars_of_callproc):
10819         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
10820         __CYGWIN32__ -> CYGWIN.
10821         DOS_NT -> WIN32_NATIVE.
10822         Remove MSDOS support/references, converting to WIN32_NATIVE
10823           where correct.
10824         __MINGW32__ -> MINGW.
10825         Fix windows.h includes.
10826         Remove bogus HAVE_NTGUI.
10827
10828         * config.h.in:
10829         [2].
10830
10831         * console-msw.c:
10832         mswindows_message_outputted added for use in allowing startup
10833         errors on the console to be seen.
10834
10835         * console-msw.c (msw_ensure_console_allocated):
10836         * console-msw.c (msw_output_console_string):
10837         * console-msw.c (DHEADER):
10838         * console-msw.c (DOPAQUE_DATA):
10839         * console-msw.c (DEVENT):
10840         * console-msw.c (DCONS):
10841         * console-msw.c (DCONSCDR):
10842         * console-msw.c (DSTRING):
10843         * console-msw.c (DVECTOR):
10844         * console-msw.c (DSYMBOL):
10845         * console-msw.c (DSYMNAME):
10846         Fix warnings.
10847
10848         * console-stream.c (stream_init_console):
10849         Fix text/binary problems.
10850
10851         * device-msw.c:
10852         * device-msw.c (mswindows_finish_init_device):
10853         * device-msw.c (mswindows_delete_device):
10854         [1].
10855
10856         * device.c (handle_asynch_device_change):
10857         [3].
10858
10859         * dgif_lib.c:
10860         * dgif_lib.c (DGifOpenFileName):
10861         * dgif_lib.c (DGifOpenFileHandle):
10862         * dgif_lib.c (DGifGetLine):
10863         * dgif_lib.c (DGifGetPixel):
10864         Added config.h/lisp.h, fix up includes.
10865         [1].
10866
10867         * dired-msw.c:
10868         [4].
10869
10870         * dired.c:
10871         * dired.c (file_name_completion):
10872         * dired.c (Ffile_attributes):
10873         * dired.c (syms_of_dired):
10874         [1].
10875
10876         * dumper.c:
10877         * dumper.c (pdump_file_unmap):
10878         * dumper.c (pdump_load):
10879         [1].
10880
10881         * editfns.c:
10882         * editfns.c (Ftemp_directory):
10883         * editfns.c (user_login_name):
10884         * editfns.c (Fuser_real_login_name):
10885         * editfns.c (get_home_directory):
10886         [1].
10887
10888         * elhash.c (finish_marking_weak_hash_tables):
10889         [[[[5]]]]: Fix GCC warnings.
10890
10891         * emacs.c:
10892         * emacs.c (mswindows_handle_hardware_exceptions):
10893         * emacs.c (make_arg_list_1):
10894         * emacs.c (main_1):
10895         * emacs.c (Fkill_emacs):
10896         * emacs.c (Fdump_emacs):
10897         [1].
10898         Fix problems with nested crashes, add long comment.
10899
10900         * event-Xt.c (init_event_Xt_late):
10901         [1].
10902
10903         * event-msw.c:
10904         * event-msw.c (mswindows_dde_callback):
10905         * event-msw.c (mswindows_handle_sticky_modifiers):
10906         * event-msw.c (mswindows_wnd_proc):
10907         [1].
10908         [5].
10909
10910         * events.c (character_to_event):
10911         [1].
10912
10913         * fileio.c:
10914         * fileio.c (Ffile_name_directory):
10915         * fileio.c (Ffile_name_nondirectory):
10916         * fileio.c (directory_file_name):
10917         * fileio.c (Fexpand_file_name):
10918         * fileio.c (Fsubstitute_in_file_name):
10919         * fileio.c (Ffile_name_absolute_p):
10920         * fileio.c (check_executable):
10921         * fileio.c (Ffile_readable_p):
10922         * fileio.c (Ffile_accessible_directory_p):
10923         * fileio.c (Ffile_modes):
10924         * fileio.c (Funix_sync):
10925         * fileio.c (vars_of_fileio):
10926         [1]. [4].
10927
10928         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
10929
10930         Expand getdefdir defn.
10931         Fix bogus rename() comment.
10932
10933         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
10934         to use standard XEmacs include files, e.g. sysfile.h, rather
10935         than system-specific includes.
10936
10937         * fns.c:
10938         * fns.c (Fsubseq):
10939         [5]. [6].
10940
10941         * frame.c (vars_of_frame):
10942         [1].
10943
10944         * getloadavg.c:
10945         * getloadavg.c (getloadavg):
10946         [1]. [6].
10947         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
10948         (We don't use it elsewhere in the code; just add a comment.)
10949
10950         * gif_io.c:
10951         [6].
10952         Add config.h.
10953
10954         * glyphs-msw.c:
10955         * glyphs-msw.c (mswindows_resource_instantiate):
10956         [1].
10957
10958         * glyphs-x.c (x_native_layout_instantiate):
10959         [5].
10960
10961         * gui-msw.c (Fmswindows_shell_execute):
10962         [1].
10963
10964         * insdel.c:
10965         [4].
10966
10967         * lisp.h:
10968         [4]. [5].
10969
10970         * lread.c (locate_file_in_directory_mapper):
10971         [1].
10972
10973         * lstream.c:
10974         [4].
10975
10976         * mem-limits.h:
10977         * mem-limits.h (get_lim_data):
10978         [1].
10979
10980         * menubar-msw.c:
10981         [4].
10982
10983         * ndir.h:
10984         [1].
10985
10986         * nt.c:
10987         * nt.c (getwd):
10988         * nt.c (closedir):
10989         * nt.c (rva_to_section):
10990         * nt.c (mswindows_executable_type):
10991         [1]. [6].
10992         Fix closedir() defn.
10993
10994         * nt.h:
10995         [[[[8]]]]: *_OK defs moved to sysfile.h.
10996
10997         * ntproc.c:
10998         [6]. [7].
10999
11000         * objects-x.c:
11001         [4].
11002
11003         * print.c:
11004         * print.c (std_handle_out_external):
11005         [1]. [4].
11006
11007         * process-nt.c:
11008         * process-nt.c (nt_create_process):
11009         [6].
11010         try to fix process quoting somewhat.
11011
11012         * process-unix.c (unix_create_process):
11013         [1].
11014
11015         * process.c:
11016         * process.c (vars_of_process):
11017         Add Vnull_device.
11018
11019         * process.h:
11020         [1].
11021
11022         * realpath.c:
11023         * realpath.c (xrealpath):
11024         [1].
11025
11026         * redisplay-tty.c (init_tty_for_redisplay):
11027         [3].
11028
11029         * redisplay.c:
11030         [4]. [6].
11031
11032         * scrollbar-msw.c:
11033         [4].
11034
11035         * sheap.c:
11036         * sheap.c (more_static_core):
11037         * sheap.c (report_sheap_usage):
11038         [5]. [6].
11039
11040         * signal.c:
11041         * signal.c (alarm_signal):
11042         [1]. [6].
11043
11044         * sound.c:
11045         [6].
11046
11047         * strftime.c:
11048         * strftime.c (zone_name):
11049         [1]. [5].
11050
11051         * symsinit.h (init_sunpro):
11052         [1].
11053
11054         * syscommctrl.h:
11055         commctrl.h not in Cygwin b20.1.
11056
11057         * sysdep.c:
11058         * sysdep.c (endif):
11059         * sysdep.c (sys_subshell):
11060         * sysdep.c (init_baud_rate):
11061         * sysdep.c (emacs_get_tty):
11062         * sysdep.c (emacs_set_tty):
11063         * sysdep.c (tty_init_sys_modes_on_device):
11064         * sysdep.c (init_system_name):
11065         * sysdep.c (sys_open):
11066         * sysdep.c (interruptible_open):
11067         * sysdep.c (sys_fopen):
11068         * sysdep.c (sys_mkdir):
11069         * sysdep.c (sys_rename):
11070         * sysdep.c (get_process_times_1):
11071         [1]. [6].
11072
11073         * sysdep.h:
11074         [1].
11075
11076         * sysdir.h:
11077         * sysdir.h (DIRENTRY_NONEMPTY):
11078         [1]. [6].
11079
11080         * sysdll.c (dll_init):
11081         * sysdll.h:
11082         [1].
11083
11084         * sysfile.h:
11085         [1]. [6]. [8].
11086         added text/binary defs.
11087
11088         * sysfloat.h:
11089         [1].
11090
11091         * sysproc.h:
11092         * sysproc.h (EDESTADDRREQ):
11093         * sysproc.h (poll_fds_for_input):
11094         [1]. [6].
11095
11096         * syspwd.h:
11097         [6].
11098
11099         * syssignal.h:
11100         [1].
11101
11102         * systime.h:
11103         [1]. [6].
11104
11105         * systty.h:
11106         [1].
11107
11108         * syswindows.h:
11109         [1].
11110         Always define WIN32_LEAN_AND_MEAN.
11111
11112         * unexcw.c (unexec):
11113         [5].
11114
11115         * unexec.c:
11116         * unexec.c (copy_text_and_data):
11117         * unexec.c (adjust_lnnoptrs):
11118         [1].
11119
11120         * unexnt.c:
11121         * unexnt.c (_start):
11122         [1].
11123
11124 2000-06-07  Ben Wing  <ben@xemacs.org>
11125
11126         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11127         was used only as a model.  We've long since extracted any useful
11128         logic or code out of this. (I just did an exhaustive search.)
11129
11130         * s\msdos.h: Removed.
11131
11132         * s\windows95.h: Removed.
11133
11134 2000-06-10  Ben Wing  <ben@xemacs.org>
11135
11136         * s\cygwin32.h:
11137         [1]. [5].
11138         Don't use extern with fun defs.
11139
11140         * s\mingw32.h:
11141         [1]. [7].
11142         Remove nt\inc include.
11143         Remove getdisk, getdefdir. (The former is unused, the latter
11144         expanded in fileio.h.)
11145
11146         * s\windowsnt.h:
11147         * s\windowsnt.h (WIN32_NATIVE):
11148         * s\windowsnt.h (HAVE_STRCASECMP):
11149         [1]. [7].
11150         Add long comment about preprocessor changes.
11151         Remove getdisk, getdefdir. (The former is unused, the latter
11152         expanded in fileio.h.)
11153
11154 2000-06-10  Ben Wing  <ben@xemacs.org>
11155
11156         * m\arm.h:
11157         * m\delta.h:
11158         * m\intel386.h:
11159         * m\sequent.h:
11160         * m\template.h:
11161         * m\windowsnt.h:
11162         [1].
11163         Remove bogus/unused NO_SOCK_SIGIO.
11164
11165 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11166
11167         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11168         not an Emchar.
11169
11170 2000-06-04  Mike Sperber <mike@xemacs.org>
11171
11172         * casetab.c (set_case_table): For `set-standard-case-table',
11173         actually deposit the new case tables where the rest of XEmacs can
11174         see them.
11175
11176 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11177
11178         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11179
11180 2000-06-05  Ben Wing  <ben@xemacs.org>
11181
11182         * callproc.c (child_setup): Don't do close_load_descs() under
11183         MS Windows.  Put in a comment explaining why.
11184
11185 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11186
11187         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11188         Toolkit shell" which breaks `kill-compilation' on Windows NT
11189         native, retaining STDERR handling improvements.
11190
11191 2000-06-01  Andreas Jaeger  <aj@suse.de>
11192
11193         * s/s390.h: Support for S390, based on a patch by Martin
11194         Schwidefsky <schwidefsky@de.ibm.com>.
11195
11196 2000-05-30  Andy Piper  <andy@xemacs.org>
11197
11198         * window.c (allocate_window):
11199         (make_dummy_parent):
11200         (Fset_window_configuration): use new hashtable type.
11201
11202         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11203         (struct image_instantiator_methods):
11204         (struct Lisp_Image_Instance): make instance geometry signed.
11205
11206         * glyphs.c (instantiate_image_instantiator):
11207         (image_instance_query_geometry):
11208         (image_instance_layout):
11209         (image_instance_layout):
11210         (query_string_geometry):
11211         (text_query_geometry):
11212         (image_instantiate):
11213         (image_instantiate):
11214         (cache_subwindow_instance_in_frame_maybe):
11215         (subwindow_query_geometry): make instance geometry signed.
11216
11217         * glyphs-widget.c (widget_query_geometry):
11218         (widget_layout):
11219         (button_query_geometry):
11220         (tree_view_query_geometry):
11221         (tab_control_query_geometry):
11222         (layout_query_geometry):
11223         (layout_layout):
11224         (native_layout_layout): make instance geometry signed.
11225
11226 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11227
11228         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11229         constant.
11230
11231         * general.c (syms_of_general): Add Qfull_assoc symbol.
11232
11233         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11234         correctly.
11235         (decode_weak_list_type): Decode full-assoc type.
11236         (encode_weak_list_type): Encode full-assoc type.
11237         (Fmake_weak_list): Update doc string.
11238
11239 2000-05-30  Andy Piper  <andy@xemacs.org>
11240
11241         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11242
11243         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11244         (decode_hash_table_weakness): ditto.
11245         (Fhash_table_weakness): ditto.
11246         (Fhash_table_type): ditto.
11247         (finish_marking_weak_hash_tables): ditto.
11248         (hash_table_weakness_validate): ditto.
11249         (syms_of_elhash): ditto.
11250
11251 2000-05-28  Martin Buchholz <martin@xemacs.org>
11252
11253         * XEmacs 21.2.34 is released.
11254
11255 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11256
11257         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11258         start cache.
11259         (updating_line_start_cache): Gone.
11260         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11261         generic code to force a minimum of 1 line laid out in the
11262         CMOTION_DISP case.
11263
11264 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11265
11266         * glyphs.c (instantiate_image_instantiator): Check for initialized
11267         height & width no longer special cases IMAGE_NOTHING.
11268         (nothing_instantiate): Set height and width of instance.
11269
11270 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11271
11272         * unexelf.c (unexec): Search for ".data" section.
11273         Initialize new_data2_offset from old_data_index.
11274         Remove redundant check for ElfW.
11275
11276 2000-05-23  Andy Piper  <andy@xemacs.org>
11277
11278         * glyphs.c (get_image_instantiator_governing_domain): allow more
11279         specific domains as the governing domain rather than expecting an
11280         exact match. This fixes problems with layouts.
11281
11282 2000-05-22  Andy Piper  <andy@xemacs.org>
11283
11284         * redisplay-output.c (compare_runes): check for non-images
11285
11286         * glyphs.c (set_glyph_dirty_p): ditto.
11287         (update_glyph_cachel_data): ditto.
11288
11289         * glyphs-widget.c (layout_post_instantiate): ditto.
11290         (layout_post_instantiate): ditto.
11291
11292         * event-msw.c (mswindows_wnd_proc): warning removal.
11293
11294 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
11295
11296         * s\mingw32.h: Added #undef for CLASH_DETECTION.
11297
11298         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
11299
11300         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
11301
11302         * nt.c (rva_to_section): mingw32 needs rva_to_section.
11303         (mswindows_executable_type): mingw32 now has enough headers for
11304         this to work.
11305
11306 2000-05-20  Andy Piper  <andy@xemacs.org>
11307
11308         * console-msw.c (mswindows_output_last_error): ; -> ,
11309
11310 2000-05-12  Andy Piper  <andy@xemacs.org>
11311
11312         * console-msw.c (FROB): compare ints with ints.
11313
11314 2000-05-11  Andy Piper  <andy@xemacs.org>
11315
11316         * glyphs-x.c (x_finalize_image_instance): make minimal build
11317         happy.
11318
11319 2000-05-20  Ben Wing  <ben@xemacs.org>
11320
11321         * event-Xt.c:
11322         * event-Xt.c (vars_of_event_Xt):
11323         move modifier-keys-are-sticky to event-stream.c.
11324
11325         * event-msw.c:
11326         * event-msw.c (mswindows_enqueue_mouse_button_event):
11327         * event-msw.c (key_needs_default_processing_p):
11328         * event-msw.c (XEMSW_LCONTROL):
11329         * event-msw.c (mswindows_handle_sticky_modifiers):
11330         * event-msw.c (FROB):
11331         * event-msw.c (clear_sticky_modifiers):
11332         * event-msw.c (output_modifier_keyboard_state):
11333         * event-msw.c (output_alt_keyboard_state):
11334         * event-msw.c (mswindows_wnd_proc):
11335         * event-msw.c (mswindows_modifier_state):
11336         * event-msw.c (emacs_mswindows_handle_magic_event):
11337         implement sticky modifiers.
11338
11339         * event-stream.c:
11340         * event-stream.c (vars_of_event_stream):
11341         move modifier-keys-are-sticky here.
11342
11343         * lisp.h:
11344         add CHECK_FUNCTION.
11345
11346         * rangetab.c:
11347         implement map-range-table.
11348
11349
11350 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
11351
11352         * redisplay-tty.c (reset_tty_modes):
11353         (tty_redisplay_shutdown): Adjust argument type to
11354         tty_frame_output_end.
11355
11356 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11357
11358         * eval.c (Fbacktrace): Don't output a line with only right
11359         parenthesis.
11360
11361 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
11362
11363         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
11364         (Fpq_reset_poll): Ditto.
11365
11366 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
11367
11368         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
11369
11370 2000-05-16  Ben Wing  <ben@xemacs.org>
11371
11372         * buffer.c:
11373         * buffer.c (dfc_convert_to/from_internal_format):
11374         * buffer.c (reinit_vars_of_buffer):
11375         Fix conversion functions to allow reentrancy.
11376
11377         * console-msw.c:
11378         * console-msw.c (mswindows_output_last_error):
11379         New fun, generally useful -- output a human-readable
11380         version of GetLastError() on the console.
11381
11382         * console-msw.h:
11383         * console-msw.h (struct mswindows_frame):
11384         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
11385
11386         * console-stream.c (stream_output_begin):
11387         * console-stream.c (stream_output_end):
11388         * console-stream.c (stream_output_vertical_divider):
11389         * console-stream.c (stream_clear_region):
11390         * console-stream.c (stream_flash):
11391         * console-stream.c (console_type_create_stream):
11392         Delete blank stream methods, not needed.
11393
11394         * console.h (struct console_methods):
11395         Split begin/end methods into window and frame.
11396
11397         * event-msw.c:
11398         * event-msw.c (mswindows_handle_paint):
11399         * event-msw.c (output_alt_keyboard_state):
11400         * event-msw.c (mswindows_wnd_proc):
11401         * event-msw.c (vars_of_event_mswindows):
11402         Comment about problems with ignored-expose.
11403         Define mswindows-debug-events; not really implemented.
11404
11405         * frame-msw.c (mswindows_init_frame_1):
11406         random cleanups.
11407
11408         * glyphs-msw.c:
11409         * glyphs-msw.c (begin_defer_window_pos):
11410         * glyphs-msw.c (mswindows_unmap_subwindow):
11411         * glyphs-msw.c (mswindows_map_subwindow):
11412         * glyphs-msw.c (mswindows_resize_subwindow):
11413         Use DeferWindowPos to reduce flashing when mapping/unmapping.
11414
11415         * glyphs.c (make_image_instance_1):
11416         Fix crash.
11417
11418         * gutter.c (Fredisplay_gutter_area):
11419         Use new begin/end methods.
11420
11421         * lisp.h (Dynarr_new2):
11422         New creation fun.
11423
11424         * redisplay-msw.c:
11425         * redisplay-msw.c (mswindows_frame_output_begin):
11426         * redisplay-msw.c (mswindows_frame_output_end):
11427         * redisplay-msw.c (console_type_create_redisplay_mswindows):
11428         New begin/end methods -- handle DeferWindowPos.
11429
11430         * redisplay-output.c (redisplay_move_cursor):
11431         * redisplay-output.c (redraw_cursor_in_window):
11432         * redisplay-output.c (redisplay_update_line):
11433         * redisplay-output.c (redisplay_output_window):
11434         New begin/end methods.
11435
11436         * redisplay-tty.c:
11437         * redisplay-tty.c (tty_frame_output_begin):
11438         * redisplay-tty.c (tty_frame_output_end):
11439         * redisplay-tty.c (console_type_create_redisplay_tty):
11440         New begin/end methods.
11441
11442         * redisplay-x.c:
11443         * redisplay-x.c (x_window_output_begin):
11444         * redisplay-x.c (x_window_output_end):
11445         * redisplay-x.c (console_type_create_redisplay_x):
11446         New begin/end methods.
11447
11448         * redisplay.c (redisplay_frame):
11449         * redisplay.c (Fredisplay_echo_area):
11450         New begin/end methods.
11451         use MAYBE_DEVMETH for clear_frame; it may not exist.
11452
11453         * window.h (WINDOW_XFRAME):
11454         WINDOW_XFOO macros -- get locale and decode struct pointer.
11455
11456
11457 2000-05-12  Ben Wing  <ben@xemacs.org>
11458
11459         * emacs.c:
11460         * emacs.c (ensure_no_quitting_from_now_on):
11461         * emacs.c (fatal_error_signal):
11462         * emacs.c (mswindows_handle_hardware_exceptions):
11463         * emacs.c (main):
11464         * emacs.c (Fkill_emacs):
11465         * emacs.c (shut_down_emacs):
11466         * emacs.c (assert_failed):
11467         various improvements in fatal error handling.
11468
11469         * eval.c:
11470         move preparing_for_armageddon to emacs.c.
11471
11472         * lisp.h:
11473         declare fatal_error_in_progress.
11474
11475         * print.c:
11476         * print.c (std_handle_out_external):
11477         * print.c (std_handle_out_va):
11478         * print.c (stderr_out):
11479         * print.c (stdout_out):
11480         use console under mswin when no standard output.
11481         don't do code conversion during fatal error.
11482
11483         * scrollbar.c (Fscrollbar_page_up):
11484         * scrollbar.c (Fscrollbar_page_down):
11485         fix missing else.  reindent.
11486
11487 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
11488
11489         Emergency fix.
11490
11491         * glyphs.h (GLYPH_CACHEL_DESCENT):
11492         (GLYPH_CACHEL_DESCENT):
11493         (GLYPH_CACHEL_DESCENT):
11494         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
11495         used in case these are inline functions.
11496         Use more absurd values to error check.
11497
11498         include window.h for error check functions.
11499
11500 2000-05-11  Ben Wing  <ben@xemacs.org>
11501
11502         * cmdloop.c (Freally_early_error_handler):
11503         Display message box under windows; otherwise, message will disappear
11504         before it can be viewed.
11505
11506         * console-msw.c:
11507         * console-msw.c (Fmswindows_message_box):
11508         * console-msw.c (FROB):
11509         * console-msw.c (syms_of_console_mswindows):
11510         Define new fun `mswindows-message-box'.
11511         #### I will merge this into `popup-dialog-box'; just give me
11512         a bit of time.
11513
11514         * general.c:
11515         * general.c (syms_of_general):
11516         Some new symbols used in `mswindows-message-box'.
11517
11518         * glyphs.c:
11519         * glyphs.c (Fset_image_instance_property):
11520         put warning in this fun.
11521
11522         * glyphs.h:
11523         * glyphs.h (GLYPH_CACHEL_WIDTH):
11524         * glyphs.h (GLYPH_CACHEL_ASCENT):
11525         * glyphs.h (GLYPH_CACHEL):
11526         * glyphs.h (GLYPH_CACHEL_GLYPH):
11527         define error-checking versions to try to catch a bug i've seen --
11528         redisplay gets in an infinite loop because the glyph width of the
11529         continuation glyph is 65535.
11530
11531         * lisp.h:
11532         Extern message-box stuff.
11533
11534         * window.c (allocate_window):
11535         * window.c (make_dummy_parent):
11536         * window.c (Fset_window_configuration):
11537         Use EQUAL not EQ for subwindow caches to make them work a bit
11538         better. (Something is still very broken.)
11539
11540
11541 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11542
11543         * glyphs.c (image_instantiate): Suppress gcc warnings.
11544         (Fmake_image_instance): Fix doc string.
11545         * specifier.c (Fmake_specifier): Ditto.
11546
11547 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
11548
11549         * paths.h.in (PATH_LOCK): Removed.
11550         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
11551         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
11552
11553 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
11554
11555         * fns.c (Ffeaturep): Update e-mail address in doc-string.
11556         Document (featurep '(and xemacs 21.02)).
11557
11558 2000-05-09  Ben Wing  <ben@xemacs.org>
11559
11560         * buffer.c (complex_vars_of_buffer):
11561         update modeline-format doc.
11562
11563         * device.h:
11564         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
11565
11566         * emacs.c:
11567         timeline of all released versions of Emacs, for use in creating
11568         authorship comments and in synching up.
11569
11570         * glyphs-widget.c (image_instantiator_buttons):
11571         * glyphs-widget.c (image_instantiator_edit_fields):
11572         * glyphs-widget.c (image_instantiator_combo_box):
11573         * glyphs-widget.c (image_instantiator_scrollbar):
11574         * glyphs-widget.c (image_instantiator_progress_guage):
11575         * glyphs-widget.c (image_instantiator_tree_view):
11576         * glyphs-widget.c (image_instantiator_tab_control):
11577         * glyphs-widget.c (image_instantiator_labels):
11578         * glyphs-widget.c (image_instantiator_layout):
11579         * glyphs-widget.c (image_instantiator_native_layout):
11580         rename decode_domain method to governing_domain.
11581
11582         * glyphs.c:
11583         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
11584         * glyphs.c (add_entry_to_device_ii_format_list):
11585         make sure we don't put an entry more than once into the list.
11586         * glyphs.c (check_instance_cache_mapper):
11587         *************************************************************
11588         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11589         HAVE BEEN GETTING.
11590         *************************************************************
11591         * glyphs.c (get_image_instantiator_governing_domain):
11592         clean up, expand on new concept of governing domain.
11593         * glyphs.c (instantiate_image_instantiator):
11594         * glyphs.c (allocate_image_instance):
11595         use governing_domain instead of cache_domain in naming.
11596         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
11597         * glyphs.c (make_image_instance_1):
11598         * glyphs.c (Fmake_image_instance):
11599         allow for any domain (not just device), and process the
11600         governing domain correctly.  very big doc fix.
11601         * glyphs.c (Fimage_instance_domain):
11602         new primitive, to retrieve the governing domain of an image instance.
11603         * glyphs.c (image_instantiate):
11604         use new governing_domain stuff.  this fixes a crash you could get
11605         by instantiating certain widget glyphs in frame locales. (should
11606         signal an error instead of crashing.)
11607         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
11608         * glyphs.c (Fglyphp): clean up doc.
11609         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
11610         * glyphs.c (syms_of_glyphs):
11611         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
11612         * glyphs.c (image_instantiator_format_create): add some comments about
11613         bogus code.
11614         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
11615         for current-display-table. (Apparently Hrjove implemented in 1998 a
11616         design I wrote up in 1996, but didn't update the doc string.)
11617
11618         * glyphs.h: clean up a doc string.
11619         * glyphs.h (governing_domain):
11620         * glyphs.h (struct image_instantiator_methods):
11621         changes for governing_domain stuff.
11622
11623         * gutter.c:
11624         * gutter.c (Fgutter_specifier_p):
11625         * gutter.c (Fgutter_size_specifier_p):
11626         * gutter.c (Fgutter_visible_specifier_p):
11627         * objects.c:
11628         * objects.c (Fcolor_specifier_p):
11629         * objects.c (Ffont_specifier_p):
11630         * objects.c (Fface_boolean_specifier_p):
11631         doc strings moved to make-*-specifier.
11632
11633         * redisplay.c (add_disp_table_entry_runes_1):
11634         * redisplay.c (generate_fstring_runes):
11635         * redisplay.c (screen):
11636         add random comments and doc strings.
11637
11638         * specifier.c:
11639         * specifier.c (Fmake_specifier):
11640         major overhaul of this doc string.
11641
11642         * specifier.c (Fvalid_specifier_domain_p):
11643         comment about the bogosity of image instances being domains.
11644         * specifier.c (decode_domain):
11645         now non-static, used in glyphs.c.
11646         * specifier.c (specifier_instance):
11647         comment about the bogosity of image instances being domains.
11648         * specifier.c (Fgeneric_specifier_p):
11649         move doc string to make-generic-specifier.
11650         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
11651         rebackslashify.
11652
11653         * specifier.h:
11654         * specifier.h (DOMAIN_FRAME):
11655         * specifier.h (DOMAIN_LIVE_P):
11656         * specifier.h (DOMAIN_XDEVICE):
11657         rebackslashify.
11658         add comments about problems with these macros.
11659         prototype for decode_domain.
11660
11661         * toolbar.c:
11662         * toolbar.c (Ftoolbar_specifier_p):
11663         move doc string to `make-toolbar-specifier'.
11664
11665         * window.c (window_unmap_subwindows_cache_mapper):
11666         *************************************************************
11667         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11668         HAVE BEEN GETTING.
11669         *************************************************************
11670
11671 2000-05-09  Andy Piper  <andy@xemacs.org>
11672
11673         * glyphs.h: declare reset_frame_subwindow_instance_cache.
11674
11675         * window.c (Fset_window_configuration): reset the frame subwindow
11676         cache and re-initialize the window subwindow caches.
11677
11678         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
11679
11680 2000-05-09  Ben Wing  <ben@xemacs.org>
11681
11682         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
11683         DWORD.
11684
11685 2000-04-26  Mike Woolley  <mike@bulsara.com>
11686
11687         * ntheap.c: Changed recreate_heap to limit the amount reserved
11688         for the heap to that which is actually available. Also now
11689         displays a message box (with some dignostics) in the event that
11690         it still can't start.
11691
11692 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11693
11694         * callproc.c (Fold_call_process_internal): GCPRO path
11695
11696 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
11697
11698         Patch by Bill Perry.
11699
11700         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
11701         back data instead of #ifdef.
11702         (Fscrollbar_page_down): ditto.
11703
11704 2000-05-07  Ben Wing  <ben@xemacs.org>
11705
11706         * buffer.h:
11707         Kludge for defining Qmswindows_tstr.
11708
11709         * nt.c:
11710         * nt.c (open_input_file):
11711         * nt.c (open_output_file):
11712         * nt.c (rva_to_section):
11713         * nt.c (mswindows_executable_type):
11714         Move all memory-mapped-file routines here (some were in unexnt.c,
11715         which is bad because they are used by process-nt.c, and unexnt
11716         won't be around when portable dumping).  Synched the above routines
11717         with FSF 20.6.
11718
11719         * nt.h:
11720         Removed ifdef'd out bogus code.
11721         Fixed some prototypes.
11722
11723         * nt.h (file_data):
11724         * nt.h (OFFSET_TO_RVA):
11725         * nt.h (RVA_TO_OFFSET):
11726         * nt.h (RVA_TO_PTR):
11727         Moved the memory-mapped-file structures, macros and prototypes
11728         here, to parallel nt.c.  ntheap.h should really be removed
11729         entirely, and it's a non-portable-dumper specific file.
11730
11731         * ntheap.h (round_to_next):
11732         Moved the memory-mapped-file structures, macros and prototypes
11733         to nt.h.
11734
11735         * ntproc.c (compare_env):
11736         Moved rva_to_section and mswindows_executable_type to nt.c.
11737         Moved compare_env to process-nt.c.
11738         ntproc.c will die, one day.
11739
11740         * ntproc.c (sys_spawnve):
11741         Account for win32_ -> mswindows_.
11742
11743         * process-nt.c:
11744         * process-nt.c (struct nt_process_data):
11745         * process-nt.c (ensure_console_window_exists):
11746         * process-nt.c (compare_env):
11747         * process-nt.c (nt_create_process):
11748         * process-nt.c (nt_kill_process_by_pid):
11749         * process-nt.c (syms_of_process_nt):
11750         * process-nt.c (vars_of_process_nt):
11751         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
11752         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
11753         changes).  Eliminate our old `nt-quote-process-args' mechanism.
11754         Synch up nt_create_process with FSF 20.6 sys_spawnve.
11755         Move compare_env here from ntproc.c.
11756
11757         * process.c (Fprocess_send_region):
11758         Takes an optional fourth argument, BUFFER, which should fix some
11759         problems with call-process.
11760
11761         * syscommctrl.h:
11762         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
11763
11764         * syswindows.h:
11765         Move ICC_BAR_CLASSES to syscommctrl.h.
11766         Add preliminary macros for MSWindows/Mule.  More to come.
11767
11768         * unexnt.c:
11769         * unexnt.c (unexec):
11770         open_output_file moved to nt.c.
11771
11772
11773 2000-05-05  Andy Piper  <andy@xemacs.org>
11774
11775         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
11776         instance from the frame cache also since GC may catch up too late
11777         to make frame deletion sane.
11778
11779 2000-05-04  Andy Piper  <andy@xemacs.org>
11780
11781         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
11782         (x_finalize_image_instance): ungcpro on deletion.
11783
11784         * glyphs.c (image_instantiator_format_create): give pointers a
11785         query geometry method so that the geometry is at least set.
11786
11787         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
11788         initialize layouts if using widgets.
11789
11790 2000-05-03  Andy Piper  <andy@xemacs.org>
11791
11792         * nt.c: remove bogus reference to sysmmsystem.h
11793
11794         * gui-x.c (popup_selection_callback): fix no selection abort.
11795
11796 2000-05-02  Andy Piper  <andy@xemacs.org>
11797
11798         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
11799         (mswindows_widget_instantiate): ditto.
11800
11801         * glyphs-widget.c (initialize_widget_image_instance): initialize
11802         children correctly.
11803         (widget_instantiate): cope with children and items in the same
11804         instance.
11805
11806         * glyphs.c (mark_image_instance): cope with children as a first
11807         class member.
11808         (image_instance_equal): ditto.
11809         (image_instance_hash): ditto.
11810         (image_instance_changed): ditto.
11811
11812 2000-04-30  Andy Piper  <andy@xemacs.org>
11813
11814         * glyphs.c (subwindow_query_geometry): new function. Return some
11815         defaults.
11816         (subwindow_instantiate): don't assign dimensions if none have been
11817         given.
11818         (image_instantiator_format_create): add subwindow_query_geometry.
11819         (print_image_instance): cope with layouts as widgets.
11820
11821 2000-04-29  Andy Piper  <andy@xemacs.org>
11822
11823         * frame.c (delete_frame_internal): call
11824         free_frame_subwindow_instance_cache so that all subwindows are
11825         finalized before their parent.
11826         (mark_frame): remove subwindow_cachels.
11827         (Fmake_frame): remove subwindow_cachel manipulation.
11828         (allocate_frame_core): subwindow_instance_cache is a weak list.
11829         (delete_frame_internal): set subwindow_instance_cache to nil.
11830
11831         * glyphs-msw.c (mswindows_finalize_image_instance): make double
11832         finalization safe.
11833         (mswindows_finalize_image_instance): use the device
11834         not the domain as the domain may have died already.
11835
11836         * glyphs-x.c (x_finalize_image_instance): ditto.
11837         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
11838         HEIGHT.
11839
11840         * redisplay-output.c (redisplay_unmap_subwindows): update for
11841         subwindow instance cache as a weak list.
11842         (redisplay_unmap_subwindows_maybe): ditto.
11843         (redisplay_unmap_subwindows_except_us): ditto.
11844
11845         * glyphs.c (unmap_subwindow): error checking will check the domain
11846         so don't deal with it here. Don't use cachels anymore.
11847         (map_subwindow): ditto.
11848         (update_subwindow_cachel_data): remove old accessor names.
11849         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
11850         (Fresize_subwindow): don't update cachel.
11851         (mark_subwindow_cachels):
11852         (update_subwindow_cachel_data):
11853         (add_subwindow_cachel):
11854         (get_subwindow_cachel_index):
11855         (update_subwindow_cachel):
11856         (reset_subwindow_cachels):
11857         (mark_subwindow_cachels_as_not_updated): deleted.
11858         (cache_subwindow_instance_in_frame_maybe): new function. Add a
11859         subwindow instance to the frame cache.
11860         (find_matching_subwindow): update for subwindow instance cache as
11861         a weak list.
11862         (update_widget_instances): ditto.
11863         (image_instance_type_to_mask):inlined.
11864         (free_frame_subwindow_instance_cache): new function. finalize all
11865         subwindows that are instantiated.
11866
11867         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
11868         of cachel information.
11869         (IMAGE_INSTANCE_DISPLAY_X):
11870         (IMAGE_INSTANCE_DISPLAY_Y):
11871         (IMAGE_INSTANCE_DISPLAY_WIDTH):
11872         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
11873         (XIMAGE_INSTANCE_DISPLAY_X):
11874         (XIMAGE_INSTANCE_DISPLAY_Y):
11875         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
11876         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
11877         remove subwindow_cachel structure and function references.
11878         (image_instance_type_to_mask): inline from glyphs.c
11879
11880         * redisplay.c (redisplay_frame): remove subwindow_cachel
11881         references.
11882
11883         * frame.h (struct frame): remove subwindow_cachels.
11884         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
11885
11886         * frameslots.h: add subwindow_instance_cache.
11887
11888         * window.c (replace_window): check subwindow cache of replacement.
11889         (window_unmap_subwindows_cache_mapper):
11890         (window_unmap_subwindows): new functions. Unmap all subwindows
11891         cached on this window.
11892         (mark_window_as_deleted): unmap all subwindows.
11893
11894 2000-04-27  Andy Piper  <andy@xemacs.org>
11895
11896         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
11897
11898         * glyphs-widget.c (widget_layout): return something.
11899         (layout_layout): return something. Fail if not initialized.
11900         (layout_query_geometry): ditto.
11901         (image_instantiator_native_layout): new function. Initialized the
11902         native layout type.
11903         (widget_instantiate): don't do layout stuff here.
11904
11905         * glyphs.c (instantiate_image_instantiator): reorded calling or
11906         instantiate and post_instantiate with layout in between.
11907         (image_instance_layout): be more selective about deciding whether
11908         the layout has been done or not.
11909
11910         * glyphs.h (struct image_instantiator_methods): return a value
11911         from layout_method.
11912
11913 2000-04-26  Andy Piper  <andy@xemacs.org>
11914
11915         * glyphs.c (allocate_image_instance): make initial width and
11916         height unspecified. Set initialized to 0.
11917
11918         * syscommctrl.h new file. Encapsulates commctrl.h.
11919
11920         * syswindows.h new file. Encapsulates windows.h.
11921
11922         * ntplay.c: use new syswindows.h and syscommctrl.h header.
11923         * nt.c: ditto.
11924         * console-msw.h: ditto.
11925
11926         * redisplay-tty.c (tty_output_display_block): remove layout references.
11927
11928         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
11929         window handle rather than just the frame.
11930
11931         * glyphs.c (mark_image_instance): remove layout references.
11932         (print_image_instance): ditto.
11933         (image_instance_equal): ditto.
11934         (image_instance_hash): ditto.
11935         (decode_image_instance_type): ditto.
11936         (encode_image_instance_type): ditto.
11937         (image_instantiate): ditto.
11938         (allocate_glyph): ditto.
11939         (Fimage_instance_height): ditto.
11940         (Fimage_instance_width): ditto.
11941         (update_subwindow): ditto.
11942
11943         * redisplay-x.c (x_output_display_block): recode for layouts as
11944         widgets.
11945
11946         * redisplay-output.c (redisplay_output_layout): recode for layouts
11947         as widgets.
11948         (compare_runes): remove layout references.
11949
11950         * redisplay-msw.c (mswindows_output_display_block): recode for
11951         layouts as widgets.
11952
11953         * glyphs-widget.c (image_instantiator_layout): remove
11954         layout_possible_dest_types.
11955         (layout_possible_dest_types): deleted.
11956
11957         * glyphs.h (image_instance_type): remove layout references.
11958         (struct Lisp_Image_Instance): ditto. Add initialized flag.
11959         (IMAGE_INSTANCE_INITIALIZED): new accessor.
11960         (XIMAGE_INSTANCE_INITIALIZED): ditto.
11961
11962 2000-04-25  Andy Piper  <andy@xemacs.org>
11963
11964         * glyphs-widget.c (image_instantiator_buttons):
11965         (image_instantiator_edit_fields):
11966         (image_instantiator_combo_box):
11967         (image_instantiator_scrollbar):
11968         (image_instantiator_progress_guage):
11969         (image_instantiator_tree_view):
11970         (image_instantiator_tab_control):
11971         (image_instantiator_labels):
11972         (image_instantiator_layout): call default post_instantiate method.
11973         (widget_post_instantiate): new function. Simply lays out the
11974         widgets.
11975
11976         * glyphs.h (struct image_instantiator_methods): add
11977         post_instantiate method.
11978
11979         * glyphs.c (instantiate_image_instantiator): add post_instantiate
11980         method calls.
11981
11982 2000-04-23  Andy Piper  <andy@xemacs.org>
11983
11984         * glyphs.h (struct image_instantiator_methods): add
11985         decode_domain_method.
11986         (struct Lisp_Image_Instance): remove subwindow frame - it can be
11987         derived from the domain.
11988         (IMAGE_INSTANCE_FRAME): new accessor.
11989         (XIMAGE_INSTANCE_FRAME): ditto.
11990
11991         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
11992         instead of _SUBWINDOW_FRAME.
11993         (finalize_image_instance): ditto.
11994         (Fimage_instance_foreground): ditto.
11995         (Fimage_instance_background): ditto.
11996         (image_instantiate): ditto.
11997         (update_subwindow_cachel): ditto.
11998         (update_subwindow): ditto.
11999         (unmap_subwindow): ditto.
12000         (map_subwindow): ditto
12001         (subwindow_instantiate): ditto.
12002         * glyphs-msw.c (mswindows_update_widget): ditto.
12003         (mswindows_progress_gauge_instantiate): ditto.
12004         (mswindows_tab_control_update): ditto.
12005         * glyphs-x.c (x_update_widget): ditto.
12006         (x_widget_instantiate): ditto.
12007         (x_tab_control_instantiate): ditto.
12008         (x_tab_control_update): ditto.
12009         * event-msw.c (mswindows_wnd_proc): ditto
12010
12011         * glyphs-widget.c (image_instantiator_layout): use
12012         subwindow_decode_domain.
12013         (image_instantiator_buttons): ditto.
12014         (image_instantiator_edit_fields): ditto.
12015         (image_instantiator_combo_box): ditto.
12016         (image_instantiator_scrollbar): ditto.
12017         (image_instantiator_progress_guage): ditto.
12018         (image_instantiator_tree_view): ditto.
12019         (image_instantiator_tab_control): ditto.
12020         (image_instantiator_labels): ditto.
12021         (image_instantiator_layout): ditto.
12022
12023         * glyphs.c: add instance error checking to many functions.
12024         (instantiate_image_instantiator): decode device from cache_domain.
12025         (image_instantiate): partially rewrite by using
12026         decode_image_instantiator_domain to determine what domain the
12027         instance needs to be cached in.
12028         (decode_image_instantiator_domain): new function. Determine what
12029         domain the image needs to be cached in.
12030         (check_window_subwindow_cache): new error checking function.
12031         (check_instance_cache_mapper): ditto.
12032         (check_image_instance_structure): ditto.
12033         (subwindow_decode_domain): new function. Encodes a window as a
12034         subwindow's cache domain.
12035         (image_instantiator_format_create): use it for text and
12036         subwindows.
12037
12038 2000-04-21  Andy Piper  <andy@xemacs.org>
12039
12040         * glyphs.c (image_instance_device): new function.
12041         (image_instance_frame): new function.
12042         (image_instance_window): new function.
12043         (image_instance_live_p): new function.
12044
12045         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12046         cache to nil.
12047
12048         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12049         (IMAGE_INSTANCE_DOMAIN): new accessor.
12050         (XIMAGE_INSTANCE_DOMAIN): ditto.
12051
12052         * glyphs-x.c (x_finalize_image_instance): device->domain.
12053
12054         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12055         (mswindows_finalize_image_instance): ditto.
12056
12057         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12058         (gif_instantiate): ditto.
12059         (png_instantiate): ditto.
12060         (tiff_instantiate): ditto.
12061
12062         * glyphs.c (instantiate_image_instantiator): use domain rather
12063         than device.
12064         (mark_image_instance): device -> domain.
12065         (print_image_instance): ditto.
12066         (finalize_image_instance): ditto.
12067         (image_instance_equal): ditto.
12068         (allocate_image_instance): ditto.
12069         (Fcolorize_image_instance): ditto.
12070         (query_string_geometry): ditto.
12071         (image_instantiate): ditto
12072         (query_string_font): ditto.
12073         (image_instantiate): ditto.
12074         (update_subwindow): ditto.
12075         (unmap_subwindow): ditto.
12076         (map_subwindow): ditto.
12077         (subwindow_instantiate): ditto.
12078
12079         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12080         (DOMAIN_FRAME): ditto.
12081         (DOMAIN_WINDOW): ditto.
12082         (DOMAIN_LIVE_P): ditto.
12083         (XDOMAIN_DEVICE): ditto.
12084         (XDOMAIN_FRAME): ditto.
12085         (XDOMAIN_WINDOW): ditto.
12086
12087         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12088         a valid specifier domain.
12089
12090 2000-04-19  Andy Piper  <andy@xemacs.org>
12091
12092         * glyphs-widget.c (syms_of_glyphs_widget): remove
12093         widget-callback-current-channel.
12094         (vars_of_glyphs_widget): ditto.
12095         * glyphs.h: ditto
12096
12097         * gui.c (get_gui_callback): revert to previous behaviour.
12098
12099 2000-04-18  Andy Piper  <andy@xemacs.org>
12100
12101         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12102         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12103         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12104
12105         * glyphs.c (image_instance_equal): add margin_width.
12106         (image_instance_hash): ditto.
12107
12108         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12109         (layout_query_geometry): ditto.
12110         (layout_layout): ditto.
12111         (syms_of_glyphs_widget): add margin-width.
12112         (image_instantiator_layout): allow margin-width.
12113
12114         * glyphs.c (update_widget_instances): make a normal function.
12115         (syms_of_glyphs): remove Qupdate_widget_instances.
12116         * glyphs.h: ditto.
12117
12118         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12119         so that we don't corrupt ideas about the last event or
12120         command. Remove widget-callback-current-channel fiddling.
12121         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12122
12123 2000-05-01  Martin Buchholz <martin@xemacs.org>
12124
12125         * XEmacs 21.2.33 is released.
12126
12127 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12128
12129         * make-src-depend: Allow dots in header file name.
12130
12131 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12132
12133         * mule-charset.h (struct charset_lookup): Add
12134         next_allocated_1_byte_leading_byte and
12135         next_allocated_2_byte_leading_byte.
12136         * mule-charset.c: Move above two variables so that those values
12137         will be dumped.
12138
12139 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12140
12141         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12142         when string length is zero.
12143         (find_charsets_in_emchar_string): Ditto.
12144
12145 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12146
12147         * lisp.h: extern Qdialog and Qmenubar.
12148
12149         * gui-x.c: added events.h.
12150                 also fixed typo which made the file uncompilable.
12151
12152         * general.c: Added Qmenubar and Qdialog
12153
12154 2000-04-28  Ben Wing  <ben@xemacs.org>
12155
12156         * frame-msw.c (mswindows_init_frame_1):
12157         * frame-msw.c (mswindows_mark_frame):
12158         * event-msw.c (mswindows_enqueue_dispatch_event):
12159         * console-msw.h:
12160         * console-msw.h (struct mswindows_frame):
12161         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12162         there are now three hash tables for callbacks.
12163         mswindows_enqueue_dispatch_event is no longer static.
12164
12165         * dialog-x.c (maybe_run_dbox_text_callback):
12166         * dialog-x.c (dbox_descriptor_to_widget_value):
12167         switch to new cons3 form for callbacks.
12168
12169         * glyphs-msw.c (mswindows_register_gui_item):
12170         * glyphs-msw.c (mswindows_widget_instantiate):
12171         * glyphs-msw.c (add_tree_item):
12172         * glyphs-msw.c (add_tab_item):
12173         new image instance parameter, so it can be passed to callback-ex.
12174         respect :callback-ex as well as :callback.
12175
12176         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12177         add :callback-ex.
12178
12179         * glyphs.c (print_image_instance):
12180         prettify, e.g. now prints widget type.
12181
12182         * gui-x.h:
12183         certain funs have new image instance parameter.
12184
12185         * gui.c:
12186         * gui.c (get_gui_callback):
12187         * gui.c (gui_item_add_keyval_pair):
12188         * gui.c (gui_item_init):
12189         * gui.c (gui_add_item_keywords_to_plist):
12190         * gui.c (mark_gui_item):
12191         * gui.c (gui_item_hash):
12192         * gui.c (gui_item_equal):
12193         * gui.c (copy_gui_item):
12194         * gui.c (syms_of_gui):
12195         recognize callback-ex in a number of places.
12196         also, fix the annoying "can't get out of yes-no dialog" bug.
12197
12198         * gui.h:
12199         * gui.h (struct Lisp_Gui_Item):
12200         recognize callback-ex in a number of places.
12201
12202         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12203         new parameter in button_item_to_widget_value.
12204
12205         * glyphs-x.c (x_update_widget):
12206         * glyphs-x.c (x_button_instantiate):
12207         * glyphs-x.c (x_button_update):
12208         * glyphs-x.c (x_progress_gauge_instantiate):
12209         * glyphs-x.c (x_edit_field_instantiate):
12210         * glyphs-x.c (x_combo_box_instantiate):
12211         * glyphs-x.c (x_tab_control_instantiate):
12212         * glyphs-x.c (x_label_instantiate):
12213         new image instance parameter in various places.
12214
12215         * event-Xt.c:
12216         * event-Xt.c (enqueue_Xt_dispatch_event):
12217         this fun gets exported.
12218
12219         * gui-msw.c:
12220         * gui-msw.c (mswindows_handle_gui_wm_command):
12221         handle both :callback and :callback-ex, and generate our own
12222         event because it's one of the callback-ex arguments.
12223
12224         * gui-x.c:
12225         * gui-x.c (popup_selection_callback):
12226         handle both :callback and :callback-ex, and generate our own
12227         event because it's one of the callback-ex arguments.
12228         * gui-x.c (button_item_to_widget_value):
12229         * gui-x.c (gui_items_to_widget_values_1):
12230         * gui-x.c (gui_item_children_to_widget_values):
12231         * gui-x.c (gui_items_to_widget_values):
12232         new image instance parameter in various places.
12233
12234         * fns.c (Freplace_list):
12235         fix small typo in doc string.
12236
12237         * lisp.h:
12238         declare enqueue_Xt_dispatch_event.
12239
12240 2000-04-28  Ben Wing  <ben@xemacs.org>
12241
12242         * buffer.c:
12243         * buffer.c (Frecord_buffer):
12244         * buffer.c (syms_of_buffer):
12245         delete record-buffer-hook.
12246
12247         * fns.c:
12248         * fns.c (Freplace_list):
12249         * fns.c (syms_of_fns):
12250         new primitive replace-list.
12251
12252         * frameslots.h:
12253         slot for old buffer-alist.
12254
12255         * lisp.h:
12256         exfun replace-list.
12257
12258         * redisplay.c:
12259         * redisplay.c (redisplay_frame):
12260         * redisplay.c (syms_of_redisplay):
12261         * redisplay.c (vars_of_redisplay):
12262         new hook buffer-list-changed-hook.
12263         call it.
12264
12265 2000-04-27  Ben Wing  <ben@xemacs.org>
12266
12267         * extents.h: extern in_modeline_generation.
12268
12269         * redisplay.c (generate_formatted_string_db): set
12270         in_modeline_generation.
12271
12272         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12273         flags if in modeline generation.  otherwise frame-modified-tick
12274         is ticked far too often.
12275         Declare in_modeline_generation.
12276
12277 2000-04-26  Ben Wing  <ben@xemacs.org>
12278
12279         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12280         option.
12281         (vars_of_emacs): add quick-build as an error-checking option.
12282         A bit kludgy, but there doesn't seem much point in creating
12283         a real var for this.
12284
12285         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
12286
12287 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12288
12289         * redisplay.h (struct display_line): Add a new variable,
12290         line_continuation.
12291
12292         * redisplay.c (create_text_block): Set dl->line_continuation if
12293         the line continues.
12294         (create_string_text_block): Ditto.
12295         (regenerate_window_incrementally): Use line_continuation instead
12296         of searching continuation glyph.
12297         (add_margin_runes): Call add_glyph_rune.
12298         (add_glyph_rune): Handle margin glyph.
12299
12300 2000-04-20  Martin Buchholz  <martin@xemacs.org>
12301
12302         * filelock.c (fill_in_lock_file_name):
12303         ANSIfy.
12304         Check for IS_ANY_SEP instead of '/'.
12305         (lock_file_1):
12306         Avoid generating gratuitous garbage.  Call user_login_name() directly.
12307         Never check errno without first seeing that system call failed.
12308         (unlock_file): Add GCPRO.
12309         (Flock_buffer): Fix docstring.
12310         (Ffile_locked_p): Fix docstring.  Add GCPRO.
12311
12312 2000-04-19  Martin Buchholz  <martin@xemacs.org>
12313
12314         * sysdep.c (get_pty_max_bytes):
12315         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
12316         strings longer than 252 bytes.
12317
12318         * md5.c: Unconditionally include ANSI header <limits.h>
12319
12320         * glyphs-x.c (convert_EImage_to_XImage):
12321         * lisp-union.h (union Lisp_Object):
12322         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
12323
12324 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
12325
12326         * filelock.c (current_lock_owner): Remove unused variable o, p.
12327
12328 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
12329
12330         * callint.c: Remove multiply defined symbol Qlet
12331         (syms_of_callint): ditto.
12332
12333 2000-04-14  Andy Piper  <andy@xemacs.org>
12334
12335         * general.c (syms_of_general): add last-command, this-command, let
12336         and funcall.
12337
12338         * lisp.h: declare various symbols.
12339
12340         * glyphs.h: declare Qwidget_callback_current_channel;
12341
12342         * glyphs-widget.c (syms_of_glyphs_widget): add
12343         Qgui_callback_current_channel.
12344         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
12345
12346         * gui-msw.c (mswindows_handle_gui_wm_command): bind
12347         widget-callback-current-channel when invoking the interactive
12348         arg. Also bind last-command and next-command when invoking the
12349         widget updates.
12350         * gui-x.c (popup_selection_callback): ditto.
12351
12352         * gui.c (get_gui_callback): massage args so that we are always
12353         calling eval. This allows us to add our own variable bindings
12354         outside.
12355
12356         * glyphs-x.c (x_button_instantiate): use
12357         gui_items_to_widget_values since this is GC safe.
12358         (x_progress_gauge_instantiate): ditto.
12359         (x_edit_field_instantiate): ditto.
12360         (x_label_instantiate): ditto.
12361
12362         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
12363         (emacs_Xt_event_widget_focus_out): new function
12364         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
12365         focus.
12366         (emacs_Xt_event_add_widget_actions): new function. add focus
12367         functions as actions.
12368         (init_event_Xt_late): use it.
12369
12370 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
12371
12372         * event-stream.c (Fdispatch_event): Doc fix.
12373
12374 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
12375
12376         * postgresql.c: Remove all references to PQsetenv*.
12377
12378         * postgresql.h: Remove references to PGsetenvHandler object.
12379         * lrecord.h (lrecord_type): Ditto.
12380
12381 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12382
12383         * glyphs-msw.h (struct mswindows_image_instance_data): Added
12384         real_heigh and real_width members, and accessor macros for these.
12385
12386         * glyphs-msw.c (init_image_instance_geometry): New function.
12387         (init_image_instance_from_dibitmap): Use it.
12388         (mswindows_resource_instantiate): Use it.
12389         (init_image_instance_from_xbm_inline): Use it.
12390         (mswindows_initialize_image_instance_mask): Use real bitmap
12391         geometry.
12392         (mswindows_create_resized_bitmap): Ditto.
12393         (mswindows_create_resized_mask): Ditto.
12394
12395         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
12396         and bitmap to their surface size.
12397
12398 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
12399
12400         * process-unix.c (unix_send_process): Guard against process MIA
12401         after Faccept_process_output.
12402
12403 2000-04-11  Ben Wing  <ben@xemacs.org>
12404
12405         * eval.c (unbind_to_hairy): fix brokenness introduced by
12406         nanosecond speed improvements.
12407
12408 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
12409
12410         * sunplay.c (init_device): To play sounds correctly, the device
12411         apparently needs to be initialized at least once by XEmacs.  Make
12412         it so.
12413
12414 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12415
12416         * redisplay.c (add_margin_runes): Add text image glyph
12417           handling.
12418
12419 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
12420
12421         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
12422         gcc is newer than 2.5.
12423
12424 2000-04-06  Colin Rafferty  <colin@xemacs.org>
12425
12426         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
12427
12428         * fns.c (size_bit_vector):
12429         * alloc.c (size_vector):
12430         (make_vector_internal):
12431         (make_bit_vector_internal):
12432         (sweep_bit_vectors_1):
12433         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
12434
12435 2000-04-06  Andy Piper  <andy@xemacs.org>
12436
12437         * gmalloc.c (malloc): undo previous change.
12438         (malloc): ditto.
12439         (free): ditto.
12440         (realloc): ditto.
12441
12442 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
12443
12444         * line-number.c (buffer_line_number): Revert to former version.
12445
12446 2000-04-06  Andy Piper  <andy@xemacs.org>
12447
12448         * gmalloc.c (malloc): add error checking.
12449         (malloc): ditto.
12450         (free): ditto.
12451         (realloc): ditto.
12452
12453         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
12454         button_item_to_widget_value arg.
12455
12456         * glyphs-x.c (x_button_instantiate): add extra
12457         button_item_to_widget_value arg.
12458         (x_progress_gauge_instantiate): ditto.
12459         (x_edit_field_instantiate): ditto.
12460         (x_label_instantiate): ditto.
12461
12462         * gui-x.c (gui_items_to_widget_values_1): add extra
12463         button_item_to_widget_value arg.
12464         (button_item_to_widget_value): add extra menu_item_p arg.
12465
12466         * gui-x.h: change signature of button_item_to_widget_value.
12467
12468         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
12469         button_item_to_widget_value arg.
12470
12471 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
12472
12473         * buffer.h (struct buffer): auto_save_modified should be long.
12474
12475 2000-04-05  Andy Piper  <andy@xemacs.org>
12476
12477         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
12478         type.
12479         (button_query_geometry): give a little more room so that athena
12480         buttons fit.
12481
12482 2000-04-05  Andy Piper  <andy@xemacs.org>
12483
12484         * faces.c (complex_vars_of_faces): The widget face should inherit
12485         the font of the gui-element face.
12486
12487 2000-04-04  Andy Piper  <andy@xemacs.org>
12488
12489         * glyphs-x.c (x_button_update): new function. unconditionally
12490         update a button's state when the instance is dirty.
12491         (image_instantiator_format_create_glyphs_x): add x_button_update.
12492         (x_widget_instantiate): remove old resize cruft.
12493
12494 2000-04-02  Andy Piper  <andy@xemacs.org>
12495
12496         * frame.c (change_frame_size_1): The introduction of gutters means
12497         that we need to allow 0 as a potential frame dimension.
12498
12499 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12500
12501         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
12502         image glyph if allow_cursor.
12503         (add_hscroll_rune): Don't allow cursor to border glyph.
12504         (create_text_block): Ditto.
12505
12506         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
12507         text not in buffer.
12508         (redisplay_output_layout): Call ensure_face_cachel_complete for
12509         text image glyph.
12510
12511
12512 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12513
12514         * redisplay.c (add_glyph_rune): Adding text image as text runes.
12515
12516         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
12517         not in buffer
12518
12519         * redisplay-tty.c (tty_output_display_block): Delete the routine
12520         for text image glyph
12521         * redisplay-x.c (x_output_display_block): ditto
12522         * redisplay-msw.c (mswindows_output_display_block): ditto
12523
12524 2000-02-02  Mike Alexander  <mta@arbortext.com>
12525
12526         Note: Some of these were committed by accident as part of other
12527         patches.
12528
12529         * regex.c (regex_compile): Avoid compiler warnings.
12530
12531         * ntproc.c (sys_spawnve): Avoid compiler warnings.
12532
12533         * nt.h: Declare term_ntproc correctly.
12534
12535         * nt.c: Remove incorrect declaration of get_home_directory which
12536         is declared correctly in lisp.h.
12537
12538         * keymap.c (get_keyelt): Avoid compiler warnings.
12539         (raw_lookup_key_mapper): Avoid compiler warnings.
12540
12541         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
12542
12543         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
12544
12545         * filemode.c (mode_string): Avoid compiler warnings.
12546
12547         * file-coding.c (Fcoding_system_aliasee): Add return statement to
12548         avoid warning.
12549
12550         * events-mod.h: Undef some things that winuser.h defines differently.
12551
12552         * data.c (Faset): Avoid compiler warnings.
12553
12554         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
12555
12556 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12557
12558         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
12559         Fall through to simple beep on error.
12560         Replace "extern" by real header file.
12561
12562         * linuxplay.c: Use nativesound.h
12563         (play_sound_data): Return error code. Be less verbose on error.
12564
12565         * sunplay.c: Use nativesound.h
12566         (play_sound_data): Return error code. Be less verbose on error.
12567
12568         * ntplay.c: Use nativesound.h
12569         (play_sound_data): Return fake error code
12570
12571         * sgiplay.c: Use nativesound.h
12572         (play_sound_data): Return error code
12573
12574         * hpplay.c: Use nativesound.h, partially implement
12575         new error code. Break compilation until finished.
12576         (play_sound_data): error code.
12577
12578         * nativesound.h (play_sound_file):
12579           (play_sound_data): Prototype in new header.
12580
12581 2000-03-31  Andy Piper  <andy@xemacs.org>
12582
12583         * glyphs-widget.c: (button_query_geometry): new function. Adjust
12584         for toggle and radio buttons.
12585         (image_instantiator_buttons): use it.
12586
12587 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12588
12589         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
12590         (x_update_horizontal_scrollbar_callback): Return if no mirror was
12591         found. Scrollbar event probably belonged to some old config.
12592
12593 2000-03-31  Andy Piper  <andy@xemacs.org>
12594
12595         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
12596         than 1.
12597         (initialize_widget_image_instance): default layout to
12598         LAYOUT_HORIZONTAL rather than 0.
12599         (widget_instantiate): reverse the item list at the end rather than
12600         every iteration.
12601         (layout_layout): re-code for the border text at the front of the
12602         item list rather than at the end.
12603         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
12604         provided by the user.
12605         (widget_query_geometry): comment.
12606
12607 2000-03-30  Andy Piper  <andy@xemacs.org>
12608
12609         * glyphs-widget.c (image_instantiator_layout): allow standard
12610         widget keywords in layouts.
12611
12612         * gutter.c (output_gutter): cope with nil gutter contents.
12613
12614         * frame.c (Fset_frame_properties): add gutter docs.
12615
12616 2000-03-29  Andy Piper  <andy@xemacs.org>
12617
12618         * toolbar-msw.c (TBSTYLE_FLAT): add.
12619         (mswindows_output_toolbar): minor fiddling.
12620
12621 2000-03-29  Andy Piper  <andy@xemacs.org>
12622
12623         * gutter.c (output_gutter): force gutter size recalculation if
12624         what we are trying to display won't fit.
12625         (update_gutter_geometry): new function. A per-gutter version of
12626         update_frame_gutter_geometry.
12627         (update_frame_gutter_geometry): use it.
12628         (redraw_exposed_gutter): add extra debugging output.
12629
12630 2000-03-28  Mike Alexander  <mta@arbortext.com>
12631
12632         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
12633         (pdump_file_unmap): Implement it on Windows
12634         (pdump_file_get): Save alocated handles for pdump_file_unmap
12635
12636 2000-03-28  Andy Piper  <andy@xemacs.org>
12637
12638         * gui.c (get_gui_callback): treat Quit specially.
12639
12640 2000-03-27  Andy Piper  <andy@xemacs.org>
12641
12642         * glyphs.c (image_instantiate): be careful to check in the same
12643         way we assigned.
12644
12645 2000-03-27  Didier Verna  <didier@xemacs.org>
12646
12647         * config.h.in: define the proper SMART_INCLUDE macro.
12648         handle renaming of `foo_h_path' to `foo_h_file'.
12649
12650         * database.c: ditto.
12651
12652         * emacs.c: ditto.
12653
12654         * linuxplay.c: ditto.
12655
12656         * terminfo.c: ditto.
12657
12658         * tooltalk.h: ditto.
12659
12660 2000-03-27  Andy Piper  <andy@xemacs.org>
12661
12662         * glyphs-msw.c (mswindows_update_widget): make sure the widget
12663         gets updated whenever the face might have changed.
12664
12665 2000-03-26  Mike Alexander  <mta@arbortext.com>
12666
12667         * dumper.c (pdump_resource_free): Fix the comment.
12668
12669 2000-03-21  Olivier Galibert  <galibert@pobox.com>
12670
12671         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
12672
12673 2000-03-22  Mike Alexander  <mta@arbortext.com>
12674
12675         * dumper.c: Include Windows headers on Windows
12676         (pdump_resource_free): Add a body to the function
12677         (pdump_load): exe_name -> exe_path and add some comments.
12678
12679 2000-03-25  Mike Alexander  <mta@arbortext.com>
12680
12681         * gui.c (copy_gui_item_tree): Return a value in all cases
12682
12683 2000-03-21  Didier Verna  <didier@xemacs.org>
12684
12685         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
12686         lwlib/config.h.in.
12687         (SMART_INCLUDE): new macro.
12688         (POSTGRES_INCLUDE): new macro to include postgresql headers from
12689         the proper location.
12690
12691         * postgresql.c: use it.
12692
12693         * inline.c: ditto.
12694
12695 2000-03-24  Andy Piper  <andy@xemacs.org>
12696
12697         * gutter.c (redraw_exposed_gutters): must be "in display" when we
12698         do this.
12699
12700 2000-03-24  Andy Piper  <andy@xemacs.org>
12701
12702         * redisplay-output.c (compare_runes): use image_instance_changed
12703         to detect changes. Do not depend on glyphs_changed, only depend on
12704         dirtiness.
12705          (redisplay_output_layout): add debug messages.
12706         (compare_runes): ditto.
12707
12708         * glyphs.h: declare new functions.
12709         (struct Lisp_Image_Instance): remove percent and associated
12710         accessors.
12711
12712         * gui.h: declare new copying functions.
12713
12714         * gui.c (copy_gui_item_tree): new function.
12715         (copy_gui_item): new function.
12716         (gui_item_id_hash): revert to standard hash.
12717         (gui_item_hash): ditto.
12718         (gui_item_hash_internal): deleted.
12719         (mark_gui_item): mark value.
12720         (gui_item_add_keyval_pair): add value.
12721         (gui_item_init): ditto.
12722         (gui_add_item_keywords_to_plist): ditto.
12723         (gui_item_equal): ditto.
12724         (syms_of_gui): add Q_value.
12725
12726         * glyphs-x.c (x_progress_gauge_update): use pending items and
12727         value for setting the state.
12728         (x_update_widget): don't set items from pending here.
12729
12730         * glyphs-widget.c (update_widget): update items here.
12731         (progress_gauge_set_property): use items for storing value. Put
12732         new value in pending items.
12733
12734         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
12735         items for new value. Convert percent -> value.
12736         (mswindows_tab_control_update): don't update items here.
12737
12738         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
12739         (update_subwindow): ditto.
12740         (image_instance_changed): new function. Compare hash values and
12741         past and present widget items.
12742         (image_instantiate): We more careful about where we instantiate
12743         things.
12744         (image_instantiate): add error checking.
12745
12746         * gutter.c (syms_of_gutter): use -hook.
12747
12748 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
12749
12750         * console-tty.c (Fset_console_tty_input_coding_system): Use
12751         Qkeyboard.
12752         (Fset_console_tty_output_coding_system): Use Qterminal.
12753         (tty_init_console): Use Qkeyboard and Qterminal.
12754
12755 2000-03-21  Ben Wing  <ben@xemacs.org>
12756
12757         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
12758         From Mike Alexander <mta@arbortext.com>.
12759
12760 2000-03-21  Ben Wing  <ben@xemacs.org>
12761
12762         * event-msw.c (mswindows_need_event): Horrible kludge to fix
12763         process brokenness.  Proper implementation to come.
12764         * callproc.c:
12765         Rename call-process-internal to old-call-process-internal.
12766         New impl. in process.el.
12767
12768 2000-03-21  Martin Buchholz  <martin@xemacs.org>
12769
12770         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
12771
12772 2000-03-20  Andy Piper  <andy@xemacs.org>
12773
12774         * glyphs.c (full_list_hash): make hashes of the same elements in
12775         different orders return different values.
12776
12777 2000-03-20  Martin Buchholz <martin@xemacs.org>
12778
12779         * XEmacs 21.2.32 is released.
12780
12781 2000-03-20  Martin Buchholz  <martin@xemacs.org>
12782
12783         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
12784         (DFC_MALLOC_USE_CONVERTED_DATA):
12785         Add aliasing-safe casts to allow use with char* or unsigned char*
12786         lvalues.
12787
12788         * eldap.c (Fldap_open):
12789         (Fldap_search_basic):
12790         (Fldap_add):
12791         (Fldap_modify):
12792         Make C++-compilable.
12793         Make sure GCPRO'ed variables are initialized.
12794         Use temp variables to avoid repeated calls to Flength.
12795
12796 2000-03-16  Martin Buchholz  <martin@xemacs.org>
12797
12798         * sysfile.h:
12799         Make sure PATH_MAX is always defined.
12800         Include limits.h for PATH_MAX.
12801         Deprecate use of MAXPATHLEN.
12802
12803 2000-03-10  Martin Buchholz  <martin@xemacs.org>
12804
12805         * emacs.c: Add reinit_vars_of_fileio.
12806         * symsinit.h: Add reinit_vars_of_fileio.
12807         * fileio.c (reinit_vars_of_fileio): New.
12808         * fileio.c (Fmake_temp_name):
12809         Initialize temp_name random number from microseconds to make
12810         collisions even less likely.  Initialize always at process startup
12811         time.  (make-temp-name) used to return the same file name twice in
12812         a row when PDUMP.
12813         Random stylistic fiddling.
12814         Comment fixes.
12815
12816 2000-03-20  Andy Piper  <andy@xemacs.org>
12817
12818         * glyphs.c (image_instantiate): allow text glyphs to be
12819         instantiated in the minibuffer window.
12820
12821 2000-03-19  Andy Piper  <andy@xemacs.org>
12822
12823         * glyphs.c (image_instance_hash): be careful about which items we
12824         hash on.
12825
12826         * glyphs-widget.c (tab_control_set_property): record into pending
12827         items rather than the actual items.
12828
12829         * glyphs-x.c (x_update_widget): use pending items to update with.
12830
12831         * glyphs-msw.c (mswindows_tab_control_update): use pending items
12832         to update with.
12833
12834         * glyphs.c (mark_image_instance): mark pending items.
12835
12836         * window.c (Fset_window_configuration): record the buffer.
12837         (Fselect_window): totally revert previous change which breaks many
12838         things.
12839
12840 2000-03-18  Andy Piper  <andy@xemacs.org>
12841
12842         * glyphs-msw.c (mswindows_tab_control_update): force selected
12843         item.
12844
12845         * glyphs.c (image_instantiate): don't allow the minibuffer as a
12846         window domain cache, otherwise we get inconsistencies at
12847         startup. There is something fishy at startup which can lead to the
12848         minibuffer being the selected window when the gutter content is
12849         instantiated.
12850
12851         * gui.c (parse_gui_item_tree_list): add probably unnecessary
12852         gcpros.
12853         (parse_gui_item_tree_children): ditto.
12854         (parse_gui_item_tree_item): ditto.
12855
12856         * glyphs.c (Fupdate_widget_instances): return something.
12857
12858 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
12859
12860         * window.c (Fselect_window): Undo 2000-03-17 change.
12861
12862 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
12863
12864         * postgresql.c (Fpq_setenv): Remove this turkey when linking
12865         against v7.0 libraries.  Insta-coredump city until the postgres
12866         folks fix it.
12867
12868 2000-03-17  Andy Piper  <andy@xemacs.org>
12869
12870         * faces.c (complex_vars_of_faces): don't give the widget face an
12871         inherited background pixmap.
12872
12873         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
12874         selected item.
12875
12876         * event-stream.c (Fdispatch_non_command_events): return something.
12877
12878         * gutter.c (output_gutter): use widget face.
12879         (clear_gutter): ditto.
12880
12881         * NEWS: adjust again.
12882
12883         * window.c (Fselect_window): make sure this runs to completion to
12884         avoid oddities with Fset_window_configuration.
12885         (Fcurrent_window_configuration): in general do not save the
12886         minibuffer as the selected window.
12887
12888         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
12889
12890 2000-03-16  Olivier Galibert  <galibert@pobox.com>
12891
12892         * emacs.c (Frunning_temacs_p): Revert previous patch.
12893         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
12894
12895 2000-03-16  Andy Piper  <andy@xemacs.org>
12896
12897         * glyphs-x.c (x_tab_control_update): if no widget values then
12898         return.
12899
12900         * NEWS: update for new features.
12901
12902         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
12903         synthetic event to the native system.
12904         (reinit_vars_of_event_Xt): set force_event_pending to
12905         emacs_Xt_force_event_pending.
12906
12907         * events.h (struct event_stream): add force_event_pending.
12908
12909         * specifier.c (recompute_one_cached_specifier_in_window): add
12910         comment.
12911
12912         * redisplay.c (redisplay_frame): don't call
12913         update_frame_subwindows. Reset subwindow cachels when
12914         subwindows_changed, removing this was an optimization too far.
12915
12916         * redisplay-output.c (compare_runes): reorganize so that we catch
12917         glyph changes when we want them. Set optimize_output when this
12918         would help layouts.
12919         (redisplay_output_layout): remove frame_really_changed, use
12920         optimize_output instead.
12921
12922         * redisplay-msw.c (mswindows_output_display_block): reset
12923         optimize_output after outputting a glyph.
12924         * redisplay-x.c (x_output_display_block): ditto.
12925         * redisplay-tty.c (tty_output_display_block): ditto.
12926
12927         * gutter.c: (specifier_vars_of_gutter): use new spec changed
12928         functions.
12929         (gutter_specs_changed): do specific gutter positions.
12930         (top_gutter_specs_changed): new function. Only update the
12931         specified gutter specs.
12932         (bottom_gutter_specs_changed): ditto.
12933         (left_gutter_specs_changed): ditto.
12934         (right_gutter_specs_changed): ditto.
12935
12936         * gui.c (gui_item_hash_internal): new function, does a real hash.
12937         (gui_item_id_hash): use it.
12938         (gui_item_hash): hash the eval'ed gui_item.
12939
12940         * gui-x.c (popup_selection_callback): send an eval event to call
12941         Fupdate_widget_instances.
12942
12943         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
12944         to call Fupdate_widget_instances.
12945
12946         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
12947         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
12948
12949         * glyphs.c: (update_frame_subwindows): deleted.
12950         (Fupdate_widget_instances): new function for updating the dirty
12951         state of widgets that might have changed.
12952         (syms_of_glyphs): add Qupdate_widget_instances.
12953         (full_list_hash): hash a list completely.
12954         (image_instance_hash): use it for items and properties.
12955
12956         * frame-msw.c (mswindows_size_frame_internal): remove unused
12957         variable.
12958
12959         * faces.h (struct face_cachel): fix comment.
12960
12961         * event-stream.c (Fdispatch_non_command_events): new
12962         function. Process non-command events, forcing an event cycle
12963         beforehand.
12964         (syms_of_event_stream): declare.
12965         (event_stream_force_event_pending): new function. Force an event
12966         on the native event queue so that an event cycle will occur next
12967         time we check.
12968
12969         * event-msw.c:
12970         (struct ntpipe_shove_stream):
12971         (mswindows_enqueue_dispatch_event):
12972         (mswindows_dequeue_dispatch_event):
12973         (mswindows_cancel_dispatch_event):
12974         (mswindows_pump_outstanding_events):
12975         (mswindows_drain_windows_queue):
12976         (mswindows_handle_paint):
12977         (mswindows_wnd_proc):
12978         (mswindows_key_to_emacs_keysym):
12979         (get_process_input_waitable):
12980         (emacs_mswindows_delete_stream_pair): re-indent file.
12981         (mswindows_need_event): do not process further fds if the windows
12982         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
12983         fixes the 100% cpu problem.
12984         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
12985
12986 2000-03-15  Olivier Galibert  <galibert@pobox.com>
12987
12988         * alloc.h: New.
12989         * dumper.h: New.
12990         * dumper.c: New.
12991
12992         * emacs.c: Moved dump file searching to dumper.c.
12993         (Frunning_temacs_p): Fixed.
12994
12995         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
12996         last_lrecord_type_index_assigned.
12997
12998 2000-02-20  Olivier Galibert  <galibert@pobox.com>
12999
13000         * symsinit.h: Added reinit parameter to init_console_stream
13001         declaration.
13002
13003         * lisp.h: Added file parameter to pdump_load declaration.
13004
13005         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13006         support.  Added dump file searching.
13007
13008         * config.h.in: Added EMACS_PROGNAME.
13009
13010         * console-stream.c (init_console_stream): Fix reinitialisation
13011         when running from temacs.
13012
13013         * alloc.c (pdump): Add id support.
13014         (pdump_load): Add file parameter and signature/id support.
13015
13016         * Makefile.in.in: Add full pdump support.
13017
13018 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13019
13020         * postgresql.c: Update documentation to reflect latest code
13021         status.
13022         (print_result): Show tuple counts in printed representation when
13023         appropriate.
13024         (Fpq_put_nbytes): MULE-ize.
13025         (Fpq_get_line_async): Ditto.
13026
13027 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13028
13029         * postgresql.c (Fpq_lo_import): Fix return value.
13030         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13031
13032 2000-03-13  Ben Wing  <ben@xemacs.org>
13033
13034         * alloc.c (pdump_load):
13035         Fix compile warning under mswin.
13036
13037 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13038
13039         * postgresql.c: Mule-ization, bug fixes.
13040         Use PG_CODING to encapsulate coding system name changes.
13041         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13042         (pg-coding-system): Create.
13043
13044         (Fpq_conn_defaults): Mule-ize.
13045         (Fpq_connectdb): Mule-ize & bug fix.
13046         (Fpq_connect_start): Mule-ize.
13047         (Fpq_set_client_encoding): Mule-ize.
13048         (Fpq_finish): Document `DEAD' connection status.
13049         (Fpq_clear): Ditto.
13050         (Fpq_pgconn): Mule-ize.
13051         (Fpq_exec): Mule-ize & bug fix.
13052         (Fpq_send_query): Ditto.
13053         (Fpq_get_result): Ditto.
13054         (Fpq_res_status): Mule-ize.
13055         (Fpq_result_error_message): Mule-ize.
13056         (Fpq_ntuples): fix comments.
13057         (Fpq_fname): Mule-ize.
13058         (Fpq_fnumber): Mule-ize.
13059         (Fpq_ftype): fix comments.
13060         (Fpq_get_value): Mule-ize.
13061         (Fpq_cmd_status): Ditto.
13062         (Fpq_cmd_tuples): Ditto.
13063         (Fpq_oid_value): Ditto.
13064         (Fpq_notifies): Ditto.
13065         (Fpq_lo_import): Ditto.
13066         (Fpq_lo_export): Ditto.
13067         (Fpq_get_line): Ditto.
13068         (Fpq_put_line): Mule-ize and bug fix.
13069         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13070
13071 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13072
13073         * postgresql.c (vars_of_postgresql): Mule-ize.
13074         (Fpq_conn_defaults): Ditto.
13075
13076 2000-03-12  Ben Wing  <ben@xemacs.org>
13077
13078         * alloc.c (Fmake_byte_code):
13079         * alloc.c (debug_string_purity_print):
13080         * alloc.c (pdump_backtrace):
13081         * alloc.c (pdump_get_indirect_count):
13082         * alloc.c (pdump_register_sub):
13083         * alloc.c (pdump_register_object):
13084         * alloc.c (pdump_register_struct):
13085         * alloc.c (pdump_dump_data):
13086         * alloc.c (pdump_reloc_one):
13087         Minor cleanups.
13088
13089         * console-msw.c:
13090         * console-msw.c (GetConsoleHwnd):
13091         * console-msw.c (msw_hide_console):
13092         * console-msw.c (msw_show_console):
13093         * console-msw.c (msw_ensure_console_buffered):
13094         * console-msw.c (msw_output_console_string):
13095         * console-msw.c (console_type_create_mswindows):
13096
13097         a) Added functions to manipulate the console window for use with
13098         shell support.
13099
13100         b) Added support for writing text to the console, which is now
13101         used under Windows when xemacs is not being run non-interactively,
13102         to write text that would otherwise be destined for stdout because
13103         under these circumstances, text written to stdout tends to
13104         disappear and not be seen.
13105
13106         * console-msw.h:
13107         * event-Xt.c:
13108         * event-Xt.c (x_event_to_emacs_event):
13109         * event-Xt.c (describe_event_window):
13110         * events-mod.h (XEMACS_MOD_CONTROL):
13111         * events.c:
13112         * events.c (Fmake_event):
13113         * events.c (character_to_event):
13114         * events.c (event_to_character):
13115         * events.c (format_event_object):
13116         * events.c (Fevent_modifiers):
13117         * events.h:
13118         * events.h (struct key_data):
13119         * events.h (struct button_data):
13120         * events.h (struct misc_user_data):
13121         * frame-x.c (Fcde_start_drag_internal):
13122         * frame-x.c (Foffix_start_drag_internal):
13123         * gpmevent.c (Freceive_gpm_event):
13124         * keymap.c:
13125         * keymap.c (bucky_sym_to_bucky_bit):
13126         * keymap.c (control_meta_superify):
13127         * keymap.c (make_key_description):
13128         * keymap.c (keymap_lookup_directly):
13129         * keymap.c (create_bucky_submap):
13130         * keymap.c (keymap_store):
13131         * keymap.c (define_key_check_and_coerce_keysym):
13132         * keymap.c (define_key_parser):
13133         * keymap.c (define_key_alternate_name):
13134         * keymap.c (Fdefine_key):
13135         * keymap.c (raw_lookup_key_mapper):
13136         * keymap.c (struct map_keymap_unsorted_closure):
13137         * keymap.c (map_keymap_unsorted_mapper):
13138         * keymap.c (map_keymap_sort_predicate):
13139         * keymap.c (map_keymap_sorted):
13140         * keymap.c (accessible_keymaps_mapper_1):
13141         * keymap.c (where_is_recursive_mapper):
13142         * keymap.c (describe_map_mapper):
13143         * keymap.c (describe_map_sort_predicate):
13144         * keymap.c (describe_map):
13145         * keymap.c (complex_vars_of_keymap):
13146         And a number of other files, the key modifier preprocessor
13147         constants that xemacs uses have names that conflict with constants
13148         defined under MS Windows for other purposes, so they were renamed
13149         to begin with the prefix XEMACS_. The variables that hold such
13150         modifiers were changed to consistently be of type int to fix
13151         various compile warnings.
13152
13153         * console.c (complex_vars_of_console):
13154         * device.c:
13155         * device-msw.c:
13156         * device-msw.c (mswindows_finish_init_device):
13157         * device-msw.c (msw_get_workspace_coords):
13158         * device-msw.c (mswindows_device_system_metrics):
13159         and various other files, added support for a new
13160         device property called offset-workspace which returns the position
13161         of the upper left corner of the workspace area and goes along with
13162         the existing size-workspace property.
13163
13164         * dialog-msw.c:
13165         * dialog-msw.c (push_bufbyte_string_as_unicode):
13166         * dialog-msw.c (mswindows_popup_dialog_box):
13167         Added support for XEmacs-style accelerator specifications in
13168         button text.  Note: I didn't add support for this under X Windows,
13169         and somebody needs to do this.
13170
13171         * dialog.c:
13172         * dialog.c (Fpopup_dialog_box):
13173         Documented the support for accelerators that was just mentioned.
13174
13175         editfns.c (get_home_directory): Changed behavior under Windows
13176         when HOME not defined; former behavior was irretrievably broken.
13177
13178         * emacs.c:
13179         * emacs.c (main_1):
13180         * emacs.c (main):
13181         * minibuf.c (clear_echo_area_internal):
13182         * minibuf.c (echo_area_append):
13183         * print.c:
13184         * print.c (std_handle_out_external):
13185         * print.c (std_handle_out_va):
13186         * print.c (fatal):
13187         * print.c (write_string_to_stdio_stream):
13188         * print.c (output_string):
13189         * print.c (debug_print):
13190         * print.c (debug_backtrace):
13191         * print.c (debug_short_backtrace):
13192         Cleaned up the code that prints text to stdout so that this can be
13193         changed to output into a console window instead under MS Windows,
13194         as described above.
13195
13196         * eval.c:
13197         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13198         * eval.c (internal_catch):
13199         * eval.c (unwind_to_catch):
13200         * eval.c (throw_or_bomb_out):
13201         * eval.c (condition_case_1):
13202         * eval.c (signal_1):
13203         * eval.c (check_error_state_sanity):
13204         * eval.c (call_with_suspended_errors_1):
13205         * eval.c (call_with_suspended_errors):
13206         * eval.c (reinit_vars_of_eval):
13207         Added code to catch throw loops and check for a pesky bug that may
13208         be gone now.
13209
13210         * event-msw.c:
13211         * event-msw.c (key_needs_default_processing_p):
13212         * event-msw.c (mswindows_wnd_proc):
13213         * event-msw.c (mswindows_modifier_state):
13214         * event-msw.c (emacs_mswindows_quit_p):
13215         * event-msw.c (vars_of_event_mswindows):
13216         a) Added support for using the alt key to select menu items as is
13217         standard under MS Windows.  This is controlled using the variable
13218         menu-accelerator-enabled, just like under X Windows.  There is an
13219         option on the options menu to turn this support on.  I really
13220         think that it should be on by default under Windows, but I'm not
13221         going to make this change yet.
13222
13223         b)  Added support for dynamic display size changes under Windows.
13224
13225         * event-stream.c:
13226         * event-stream.c (maybe_echo_keys):
13227         * event-stream.c (Fnext_event):
13228         * event-stream.c (command_builder_find_leaf):
13229         * event-stream.c (lookup_command_event):
13230         * event-stream.c (execute_command_event):
13231         * event-stream.c (pre_command_hook):
13232         * event-stream.c (post_command_hook):
13233         * event-stream.c (syms_of_event_stream):
13234         * event-stream.c (vars_of_event_stream):
13235         * event-stream.c (complex_vars_of_event_stream):
13236         * events.h (struct command_builder):
13237
13238         a) Tried to clean up a little bit the horribly written x-specific
13239         accelerator code that crept into this file.  I moved this code
13240         into menubar-x.c where it belongs. I also needed to move the
13241         command builder structure into the file events.h because it is
13242         accessed directly by this accelerator code.  What I didn't do, but
13243         which should be done at some point, is to properly abstract this
13244         code using device methods instead of the kludgy way that it
13245         currently hooks into the event code.
13246
13247         b) Added the lisp variables this-command-properties and
13248         last-command- properties, which should be used to synchronize two
13249         adjacent commands in preference to playing games with the variable
13250         this-command, which is typically what happens.
13251
13252         c) Added some slightly nasty code to hook into the lisp support
13253         for shifted- motion-key selection.  This is actually necessary for
13254         somewhat complicated reasons, which are described in
13255         simple.el. (NB: I think the proper thing would be to have the code
13256         that calls the pre and post command hooks also call out to generic
13257         lisp functions in simple.el, where all built-in stuff could be
13258         added.  I will think about this more.)
13259
13260         * event-unixoid.c (poll_fds_for_input):
13261         * lread.c (readchar):
13262         * redisplay-tty.c (tty_clear_frame):
13263         * redisplay-x.c (x_get_gc):
13264         * signal.c (interrupt_signal):
13265         And a whole bunch of other files: fixed up places that printed
13266         directly to stderr to instead call the function stderr_out so that
13267         the changes I made under Windows work correctly.
13268
13269         * filemode.c (mode_string):
13270         Warning fixes.
13271
13272         * frame-msw.c:
13273         * frame-msw.c (mswindows_size_frame_internal):
13274         Fixed the computation of frame size and position to keep the frame
13275         within the workspace area, rather than within the physical
13276         dimensions of the screen, so that the frame doesn't overlap window
13277         manager decorations, such as the start menu and toolbar, typically
13278         at the bottom of the screen.
13279
13280         * frame.c (vars_of_frame):
13281         Changed the default frame title format under MS Windows to consist
13282         of buffername-XEmacs, which is standard under MS Windows.  I think
13283         it might be a good idea to change this everywhere because I think
13284         it is superior to the current frame title format, but this is the
13285         kind of change that is likely to cause some people to get annoyed,
13286         so I'm not making it.
13287
13288         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
13289
13290         * gui-msw.c (mswindows_handle_gui_wm_command):
13291         Fixed compile warnings.
13292
13293         * gui-x.c:
13294         * gui-x.c (strdup_and_add_accel):
13295         * gui-x.c (button_item_to_widget_value):
13296         * gui-x.h:
13297         Added code to automatically put an accelerator onto the beginning
13298         of menu items that don't have one as is now the standard, and is
13299         described more later.  Also fixed things so that the menu item
13300         name can be an evaluated expression, again a new standard.
13301
13302         * gui.c:
13303         * gui.c (gui_item_add_keyval_pair):
13304         * gui.c (make_gui_item_from_keywords_internal):
13305         * gui.c (gui_add_item_keywords_to_plist):
13306         * gui.c (gui_item_accelerator):
13307         * gui.c (gui_name_accelerator):
13308         * gui.c (gui_item_included_p):
13309         * gui.c (gui_item_display_flush_left):
13310         * gui.c (gui_item_display_flush_right):
13311         * gui.c (parse_gui_item_tree_item):
13312         * gui.c (parse_gui_item_tree_children):
13313         * gui.c (parse_gui_item_tree_list):
13314         Mule-ized.  Cleanup.  GCPRO addition.
13315
13316         * line-number.c (buffer_line_number):
13317         * lisp.h:
13318         * lisp.h (EMACS_INT_MAX):
13319         Added the manifest constant EMACS_INT_MIN corresponding to the
13320         existing constant EMACS_INT_MAX.  This is partially to fix compile
13321         warnings under Windows, and partly for cleanliness.
13322
13323         * menubar-msw.c:
13324         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
13325         * menubar-msw.c (msw_translate_menu_or_dialog_item):
13326         * menubar-msw.c (displayable_menu_item):
13327         * menubar-msw.c (populate_menu_add_item):
13328         * menubar-msw.c (populate_or_checksum_helper):
13329         * menubar-msw.c (populate_menu):
13330         * menubar-msw.c (update_frame_menubar_maybe):
13331         * menubar-msw.c (prune_menubar):
13332         * menubar-msw.c (msw_char_is_accelerator):
13333         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
13334         * menubar-msw.c (mswindows_handle_wm_command):
13335         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
13336         * menubar-msw.c (mswindows_handle_wm_initmenu):
13337         * menubar-msw.c (mswindows_update_frame_menubars):
13338         * menubar-msw.c (mswindows_free_frame_menubars):
13339         * menubar-msw.c (mswindows_popup_menu):
13340         Fixed a bug in handling accelerators where an extra character
13341         would be displayed in the menu item.  Also generalized the
13342         function displayable_menu_item because it is now used by the
13343         dialog box code as well.  And finally, added code in the functions
13344         that create the menubar to extract a list of accelerators for the
13345         top level menubar, which is used in the event code to determine
13346         whether a particular alt-key combination should be used to invoke
13347         a menu item, or should be passed through to access the standard
13348         XEmacs keymap binding for this key combination.
13349
13350         Much needed GCPROing.
13351
13352         * menubar-x.c:
13353         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13354         * menubar-x.c (menu_item_descriptor_to_widget_value):
13355         * menubar-x.c (restore_in_menu_callback):
13356         * menubar-x.c (x_popup_menu):
13357         * menubar-x.c (menu_move_up):
13358         * menubar-x.c (menu_move_down):
13359         * menubar-x.c (menu_move_left):
13360         * menubar-x.c (menu_move_right):
13361         * menubar-x.c (menu_select_item):
13362         * menubar-x.c (command_builder_operate_menu_accelerator):
13363         * menubar-x.c (menu_accelerator_junk_on_error):
13364         * menubar-x.c (command_builder_find_menu_accelerator):
13365         * menubar-x.c (Faccelerate_menu):
13366         * menubar.h:
13367         Moved a whole bunch of code here that was previously in
13368         event-stream.c as described above.  There is also code connected
13369         to the new standard of adding an accelerator to the beginning of
13370         menu items that don't have one as described above and below.
13371
13372         * menubar.c:
13373         * menubar.c (menu_parse_submenu_keywords):
13374         * menubar.c (Fmenu_find_real_submenu):
13375         * menubar.c (Fnormalize_menu_item_name):
13376         * menubar.c (syms_of_menubar):
13377         * menubar.c (vars_of_menubar):
13378         * menubar.c (complex_vars_of_menubar):
13379
13380         a) Cleaned up a bunch of documentation and improved it.
13381
13382         b) XEmacs now automatically adds an accelerator onto the beginning
13383         of any menu items that don't have one.  I did this because there
13384         will inevitably be some menu items on the main menubar that don't
13385         have accelerators on them because the package that adds that
13386         particular menu item hasn't yet been fixed up to have accelerators
13387         in them and it looked rather strange to have some items with and
13388         some items without accelerators, especially since even in items
13389         without accelerators, you can, at least under windows, still
13390         access the item through an accelerator corresponding to the first
13391         character in the item's name.  If people don't like this behavior,
13392         I can add a variable to turn it off optionally, but I'm not sure
13393         this is a good idea because we really do need to have accelerators
13394         on all of the menu items, and if a package doesn't like the
13395         accelerators being put on the first character, then it should put
13396         the accelerators where they belong.
13397
13398         c) I made a behavior change, which is that the descriptor that
13399         specifies the text of the menu item, which formerly was just a
13400         string, can now also be an evaluated expression.  This makes this
13401         descriptor parallel with all of the others, which could also be
13402         evaluated expressions.  This also obviates the need for the
13403         keyword :label, which was previously listed in the documentation
13404         as unimplemented, and which was for the same purpose.
13405
13406         d) GCPROing.
13407
13408         * ntproc.c:
13409         * ntproc.c (new_child):
13410         * ntproc.c (sys_spawnve):
13411         * ntproc.c (find_child_console):
13412         * ntproc.c (sys_kill):
13413         Fixed compile warnings.  By the way, this file should really go
13414         away entirely, and this will happen as soon as Kirill makes his
13415         final round of process cleanups, which affect the function
13416         call-process.
13417
13418         * process-nt.c:
13419         * process-nt.c (struct nt_process_data):
13420         * process-nt.c (find_process_from_pid):
13421         * process-nt.c (send_signal_the_nt_way):
13422         * process-nt.c (enable_child_signals):
13423         * process-nt.c (find_child_console):
13424         * process-nt.c (send_signal_the_95_way):
13425         * process-nt.c (nt_finalize_process_data):
13426         * process-nt.c (ensure_console_window_exists):
13427         * process-nt.c (nt_create_process):
13428         * process-nt.c (nt_kill_child_process):
13429         * process-nt.c (nt_kill_process_by_pid):
13430         * process-nt.c (nt_open_network_stream):
13431         * process-nt.c (vars_of_process_nt):
13432         Copied over code from Emacs 20.5 to correctly send signals to sub-
13433         processes under Windows 95.  Also added code to automatically
13434         create and hide console window when a sub-process is created under
13435         Windows 95, which obviates the need for the separate runemacs.exe
13436         executable, and finally implemented some variables that were
13437         implemented in Emacs 20.5, but previously not in XEmacs.  These
13438         include mswindows- start-process-share-console and
13439         mswindows-start-process-inherit-error-mode. (Both of these only
13440         apply to Windows 95.)
13441
13442         * regex.c (regex_compile): Fixed a compile warning.
13443
13444         * select-msw.c:
13445         * select-msw.c (mswindows_own_selection):
13446         * select-msw.c (mswindows_get_foreign_selection):
13447         * select-msw.c (mswindows_disown_selection):
13448         * select-msw.c (console_type_create_select_mswindows):
13449         * select-msw.c (syms_of_select_mswindows):
13450         Cleaned up the file and implemented the device method
13451         selection_exists_p, which had accidentally been left out.  Also
13452         removed four lisp functions that were remnants from before the
13453         time when the selection code was properly device abstracted.
13454         These functions are no longer needed because there are generic
13455         equivalents, and because they were added recently and don't exist
13456         in FSF Emacs, I don't think there's any problem with just deleting
13457         them.
13458
13459         * sysdep.c:
13460         * sysdep.c (sys_subshell):
13461         Fixed a compile warning, although in this case there's probably
13462         something wrong with this code, and it ought to be looked into
13463         more thoroughly by somebody who understands it.
13464
13465         * window.c:
13466         * window.c (Fwindow_text_area_height):
13467         * window.c (Fwindow_width):
13468         * window.c (Fwindow_full_width):
13469         * window.c (Fwindow_pixel_width):
13470         * window.c (debug_print_window):
13471         * window.c (syms_of_window):
13472         Added functions window-text-area-height and window-full-width,
13473         which are functions for returning various width and height
13474         characteristics of a window. (One of these functions is necessary
13475         for making the file dialog box work correctly, and the other one
13476         was added for completeness.)  Also added a table to the
13477         documentation for window-height which describes the entire scheme
13478         for accessing width and height characteristics of a window.
13479
13480 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13481
13482         * nt.c (fstat): Added a comment for another problem with
13483         non-encapsulated [f]stat(), reported by Adrian Aichner
13484         <aichner@ecf.teradyne.com>.
13485
13486 2000-03-11  Andy Piper  <andy@xemacs.org>
13487
13488         * window.c (make_dummy_parent): initialize subwindow instance
13489         cache.
13490         (Fset_window_configuration): zero extent_modiff.
13491
13492 2000-03-10  Andy Piper  <andy@xemacs.org>
13493
13494         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
13495         more changes can be triggered.
13496         (Fredisplay_frame): ditto.
13497         (Fredraw_device): ditto.
13498         (Fredisplay_device): ditto.
13499         (redisplay_frame): make non-static.
13500         (redisplay_frame): call update_frame_gutter_geometry outside of
13501         display proper.
13502
13503         * gutter.h: declare update_frame_gutter_geometry.
13504
13505         * redisplay.h: declare redisplay_frame.
13506
13507         * gutter.c (update_frame_gutter_geometry): move geometry changes
13508         in update_frame_gutters here. Geometry changes can only occur
13509         outside of redisplay.
13510         (update_frame_gutters): remove geometry change code.
13511         (Fredisplay_gutter_area): make sure that we are in display when we
13512         update and that we have flushed any size changes.
13513
13514 2000-03-11  Andy Piper  <andy@xemacs.org>
13515
13516         * alloc.c (pdump_dump_data): remove i & count shadows.
13517
13518 2000-02-27  Mike Alexander  <mta@arbortext.com>
13519
13520         * sysdep.h: Declare pdump_read_file
13521
13522         * sysdep.c (pdump_read_file): New function
13523
13524         * alloc.c (pdump_load): Call pdump_read_file to get the portable
13525         dump data
13526
13527 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13528
13529         * lrecord.h: add `lrecord_type_pgsetenv'.
13530
13531 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
13532
13533         * symsinit.h: declare (vars|syms)_of* functions.
13534         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
13535
13536 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
13537
13538         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
13539
13540         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
13541         GCCs.
13542
13543         * emacs.c (main_1): Call postgres initialization code.
13544
13545         * postgresql.h: New file.  PostgreSQL RDBMS support.
13546         * postgresql.c: New file.
13547
13548 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13549
13550         * redisplay-output.c (redisplay_output_display_block): Disable
13551         redundant code.
13552
13553 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13554
13555         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
13556         (Fcanna_henkan_next): Ditto.
13557         (Fcanna_bunsetu_henkou): Ditto.
13558         (Fcanna_henkan_kakutei): Ditto.
13559         (Fcanna_henkan_end): Ditto.
13560         (Fcanna_henkan_quit): Ditto.
13561         (Fcanna_henkan_next): Set retun value correctly.
13562         (c2mu): Use unsigned char instead of signed char.
13563
13564 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13565
13566         * emacs.c (main_1): Always call syms_of_gui.
13567         * inline.c: include gui.h
13568
13569 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13570
13571         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
13572         converted to Lisp_Object.
13573         (Qtop_bottom): New variable.
13574         (syms_of_redisplay): Initialize it.
13575         * redisplay.h (Vvisible_bell): Ditto.
13576         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
13577         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
13578         only flash top and bottom.
13579
13580 2000-03-08  Andy Piper  <andy@xemacs.org>
13581
13582         * buffer.c (Frename_buffer): record new buffer name the right way.
13583
13584 2000-03-08  Andy Piper  <andy@xemacs.org>
13585
13586         * glyphs.c (update_subwindow): increase hash depth so that widget
13587         items get picked up properly.
13588
13589         * redisplay-output.c (compare_runes): increase hash depth so that
13590         widget items get picked up properly.
13591
13592 2000-03-08  Andy Piper  <andy@xemacs.org>
13593
13594         * gutter.c (output_gutter): add some debug.
13595
13596         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
13597         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
13598         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
13599
13600         * redisplay-output.c (compare_runes): use display_hash to
13601         determine if glyphs really are not the same.
13602
13603         * glyphs.c (update_subwindow): check display_hash to see if
13604         anything really needs to be updated. If not then do
13605         nothing. Record the display_hash after updating.
13606         (image_instance_equal): compare the image_instance face also.
13607
13608 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
13609
13610         * redisplay.h: Fix comment style.
13611
13612 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13613
13614         * consle-msw.h (struct mswindows_frame):
13615         Added new member paint_pending to indicate whether a WM_PAINT
13616         magic event has been queued for this frame.
13617
13618         * event-msw.c (mswindows_drain_windows_queue):
13619         Don't queue a WM_PAINT magic event if one is already queued.
13620         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
13621
13622         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
13623
13624 2000-03-07  Didier Verna  <didier@xemacs.org>
13625
13626         * dired.c: #include `regex.h' after `sysfile.h'.
13627
13628 2000-03-06  Martin Buchholz  <martin@xemacs.org>
13629
13630         * sound.c (init_nas_sound): Fix compiler warning.
13631
13632         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
13633         (FREE_STRUCT_P):
13634         (MARK_STRUCT_AS_FREE):
13635         (MARK_STRUCT_AS_NOT_FREE):
13636         Make `gcc -fstrict-aliasing' work properly.
13637
13638 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13639
13640         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
13641         (mswindows_delete_device): Call CoUnnitialize().
13642
13643         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
13644
13645 2000-02-25    <CraigL@DyCon.com>
13646
13647         * process-nt.c: MinGW now has <shellapi.h>, but still needs
13648         <errno.h>.
13649
13650         * sysdep.c: This extern declaration for environ prevents MinGW
13651         from finding the variable in CRTDLL.DLL.
13652
13653         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
13654         windows headers.
13655         (SHGFI_EXETYPE): ..
13656         (WM_MOUSEWHEEL): ..
13657         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
13658         definitions.
13659         (MMRESULT): Removed, now defined in cygwin's windows headers.
13660         (TIMECAPS): ..
13661         (uid_t,gid_t,pid_t,ssize_t): ..
13662         (_timeb): Removed, MinGW defines both _timeb and timeb.
13663         (HAVE_H_ERRNO): Added.
13664         (HAVE_TZNAME): Added, configure is not detecting this.
13665
13666 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
13667
13668         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
13669         * syntax.c (syntax_match): Use it.
13670
13671         * cmds.c: Import auto-fill-chars from FSF Emacs.
13672         (Vauto_fill_chars): New variables.
13673         (internal_self_insert): Check Vauto_fill_chars.
13674         (vars_of_cmds):
13675         Declare auto-fill-chars as a Lisp variable and initialize it.
13676
13677 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13678
13679         * fileio.c (Fmake_symbolic_link):
13680         (Ffile_symlink_p):
13681         Run handlers even if local machine doesn't have symlinks.
13682
13683 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13684
13685         * event-msw.c (mswindows_drain_windows_queue):
13686         Don't generate paint magic events for non-XEmacs frames.
13687
13688 2000-03-05  Andy Piper  <andy@xemacs.org>
13689
13690         * redisplay.c (redisplay_frame): generate_displayable_area and
13691         friends assumes that we are not in GC, we therefore have to make
13692         sure that this doesn't happen.
13693
13694         * gutter.c (calculate_gutter_size): generate_displayable_area
13695         assumes that we are not in GC, we therefore have to make sure that
13696         this doesn't happen.
13697
13698 2000-03-05  Martin Buchholz  <martin@xemacs.org>
13699
13700         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
13701
13702 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13703
13704         * redisplay.c (regenerate_window): Make sure we set a sane value
13705         for end_pos even if we jump out of the loop.
13706         (regenerate_window): Answer Ben's question :-).
13707         (start_end_of_last_line): Add may_error argument.
13708         (start_of_last_line):
13709         (end_of_last_line): Pass may_error = 0.
13710         (end_of_last_line_may_error): New function.
13711         (pixel_to_glyph_translation): Use it, so we don't crash in
13712         event_to_glyph.
13713
13714 2000-03-04  Andy Piper  <andy@xemacs.org>
13715
13716         * window.h (struct window): add gutter_extent_modiff.
13717
13718         * window.c (allocate_window): zero out gutter_extent_modiff.
13719
13720         * redisplay.h: declare sync_display_line_structs.
13721
13722         * redisplay.c (add_glyph_rune): add a better comment.
13723
13724         * redisplay-output.c (sync_display_line_structs): made non-static.
13725         (compare_runes): remove unneccesary glyph cachel access.
13726
13727         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
13728
13729         * gutter.c (output_gutter): don't output the gutter if extent
13730         changes only involve extents in buffers. use 4 sets of display
13731         lines.
13732         (gutter_extent_signal_changed_region_maybe): new function. Mark
13733         extents in gutters as changed.
13734         (update_frame_gutters): use 4 sets of display lines.
13735         (reset_gutter_display_lines): ditto.
13736         (free_frame_gutters): ditto.
13737         (redraw_exposed_gutter): force output of gutters.
13738
13739         * frame.h (struct frame): add 4 sets of gutter display lines.
13740
13741         * extents.c: (extent_changed_for_redisplay): signal changes to
13742         extents in strings in the gutter as well as extents in buffers.
13743
13744 2000-03-02  Andy Piper  <andy@xemacs.org>
13745
13746         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
13747
13748         * frame.c (Fmake_frame): make sure the gutters get initialized
13749         after the frame is visible.
13750         (set_frame_selected_window): re-arrange compilation macros a
13751         little.
13752         (change_frame_size_1): mark gutters changed.
13753
13754         * device.c (Fset_device_class): mark gutters changed.
13755
13756 2000-03-01  Andy Piper  <andy@xemacs.org>
13757
13758         * window.c (window_top_frame_gutter_height): deleted.
13759         (window_bottom_frame_gutter_height): ditto.
13760         (window_left_frame_gutter_height): ditto.
13761         (window_right_frame_gutter_height): ditto.
13762         (window_top_gutter_height): don't use them.
13763         (window_bottom_gutter_height): ditto.
13764         (window_left_gutter_width): ditto.
13765         (window_right_gutter_width): ditto.
13766         (Fsplit_window): ditto.
13767         (Fwindow_pixel_edges): don't use border dimensions here.
13768
13769         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
13770         (update_scrollbar_instance): ditto.
13771
13772         * redisplay.c (generate_modeline): don't take gutters into account.
13773         (generate_modeline): ditto.
13774         (redisplay_frame): small gutter display optimization.
13775
13776         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
13777
13778         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
13779         gutters into account.
13780
13781         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
13782         for window position and type.
13783
13784         * gutter.c (get_gutter_coords): fix for frame gutters.
13785         (update_frame_gutters): update frame geometry if the gutters have
13786         changed.
13787         (init_frame_gutters): record current gutter geometries.
13788
13789         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
13790         var.
13791         (mswindows_widget_instantiate): ditto.
13792
13793         * frame.h (struct frame): add current_gutter_bounds.
13794
13795         * frame.c (change_frame_size_1): position window and minibuffer
13796         appropriately taking into account the frame gutters.
13797
13798         * frame-x.c: (x_initialize_frame_size): take into account the
13799         frame gutters.
13800
13801 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13802
13803         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
13804
13805 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13806
13807         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
13808
13809 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13810
13811         * file-coding.c (reset_decoding_stream): Clear previous
13812         detection state when autodetect.
13813
13814 2000-02-29  Didier Verna  <didier@xemacs.org>
13815
13816         * extents.c (set_extent_glyph_1): don't require extents to be
13817         attached.
13818
13819 2000-02-27  Andy Piper  <andy@xemacs.org>
13820
13821         * gutter.c (Fset_default_gutter_position): don't default left and
13822         right gutter visibility to t.
13823         (Fset_default_gutter_position): run
13824         default-gutter-position-changed-hook.
13825         (syms_of_gutter): add default-gutter-position-changed-hook.
13826
13827 2000-02-26  Andy Piper  <andy@xemacs.org>
13828
13829         * specifier.c (Fmake_specifier): add gutter references.
13830
13831         * gutter.h (RAW_WINDOW_GUTTER): new macro.
13832
13833         * lisp.h: declare Fvalid_plist_p.
13834
13835         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
13836         as changed.
13837         (default_gutter_visible_p_changed_in_window): invalidate gutter as
13838         well as its visibility so that it gets reconstructed.
13839         (construct_window_gutter_spec): new function. Construct a string
13840         to be displayed in the gutter from a plist of strings. Take care
13841         to only use elements that are declared as visible.
13842         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
13843         WINDOW_GUTTER.
13844         (gutter_validate): allow plists of strings in the specifier.
13845         (gutter_specs_changed): construct the real_gutter from the gutter
13846         specs using construct_window_gutter_spec.
13847         (gutter_visible_validate): gutter-visible is a new specifier type.
13848         (Fgutter_visible_specifier_p): new function for the new specifier.
13849         (syms_of_gutter): declare gutter-visible and
13850         Fgutter_visible_specifier_p.
13851         (specifier_type_create_gutter): intitalize new gutter-visible
13852         specifier.
13853         (reinit_specifier_type_create_gutter): ditto.
13854         (specifier_vars_of_gutter): use new specifier type for gutter
13855         visibility.
13856         (init_frame_gutters): construct real_gutter correctly.
13857         (Fgutter_specifier_p): beef up documentation.
13858         (Fgutter_size_specifier_p): ditto.
13859
13860         * winslots.h: add real_gutter slots.
13861
13862 2000-02-25  Andy Piper  <andy@xemacs.org>
13863
13864         * device-msw.c: Be kind to older cygwin versions. From Raymond
13865         Toy <toy@rtp.ericsson.se>.
13866
13867         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
13868         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
13869
13870 2000-02-25  Martin Buchholz  <martin@xemacs.org>
13871
13872         * elhash.c (MARK_OBJ): Practice macro hygiene.
13873
13874 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13875
13876         * miscplay.c: s/__inline__/inline/g;
13877         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
13878         (get_device_compdc): INLINE ==> static inline
13879         * *.[ch]: Change INLINE to INLINE_HEADER globally.
13880         find -name '*.h' | \
13881         xargs global-replace \
13882         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
13883
13884 2000-02-25  Andy Piper  <andy@xemacs.org>
13885
13886         * window.c (window_top_frame_gutter_height): new function.
13887         (window_top_window_gutter_height): ditto.
13888         (window_top_gutter_height): use them.
13889         (window_bottom_frame_gutter_height): new function.
13890         (window_bottom_window_gutter_height): ditto.
13891         (window_bottom_gutter_height): use them.
13892         (window_left_window_gutter_width): new function.
13893         (window_left_frame_gutter_width): ditto.
13894         (window_left_gutter_width): use them.
13895         (window_right_window_gutter_width): new function.
13896         (window_right_frame_gutter_width): ditto.
13897         (window_right_gutter_width): use them.
13898         (window_pixel_height): new function. calulate window pixel height
13899         with frame gutter involvement.
13900         (Fsplit_window): calculate new sizes taking frame gutters into
13901         account.
13902         (window_char_height_to_pixel_height): don't include frame gutters.
13903         (window_char_height): use window_pixel_height.
13904         (window_pixheight): rename from window_pixel_height.
13905         (change_window_height): use it.
13906         (window_pixel_height_to_char_height): don't include frame gutters.
13907         (window_char_width_to_pixel_width): ditto.
13908
13909 2000-02-25  Andy Piper  <andy@xemacs.org>
13910
13911         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
13912         if it is.
13913
13914 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13915
13916         * alloc.c (staticpro):
13917         (staticpro_nodump):
13918         (dumpstruct):
13919         (dumpopaque):
13920         (pdump_wire):
13921         (pdump_wire_list):
13922         (compact_string_chars):
13923         (pdump_dump_wired):
13924         Convert:  if (foo) abort();  ==>  assert (! foo);
13925
13926         * eldap.c (Fldap_search_basic):
13927         (Fldap_add):
13928         (Fldap_modify):
13929         (Fldap_delete):
13930         Fix compiler warnings, and possible crashes if (random) return
13931         value were to be used.
13932
13933 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13934
13935         * device-msw.c: Workaround ResetDC failure.
13936
13937         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
13938         applying a devmode.
13939
13940         * redisplay-msw.c (get_frame_dc): Added start_page_p.
13941         (mswindows_text_width): Do not start printer page.
13942
13943         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
13944
13945         * glyphs-msw.c: Added image methods to msprinter console and
13946         msprinter-specific image instantiation.
13947
13948 2000-02-20  Mike Alexander  <mta@arbortext.com>
13949
13950         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
13951         to avoid crashes when selection-sets-clipboard is on
13952         (mswindows_own_selection): ditto
13953
13954 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13955
13956         * glyphs-msw.c:
13957         * redisplay-msw.c (get_frame_dc):
13958         (get_frame_compdc):
13959         * console-msw.h:
13960         * device-msw.c (mswindows_init_device):
13961         (mswindows_delete_device):
13962         (msprinter_init_device):
13963         (msprinter_delete_device):
13964         * frame-msw.c (mswindows_init_frame_1):
13965         (mswindows_delete_frame):
13966         (msprinter_init_frame_3):
13967         (msprinter_delete_frame): Move compatible DC to device object from
13968         frame object, for both mswindows and msprinter. Only one at a time
13969         is needed, it is a real waste to have one per frame!
13970
13971 2000-02-23  Andy Piper  <andy@xemacs.org>
13972
13973         * glyphs.c: add dynamic width and height elements.
13974         (image_instance_equal): ditto.
13975
13976         * glyphs-widget.c (widget_query_geometry): calculate width and
13977         height dynamically if required.
13978         (initialize_widget_image_instance): initialize dynamic dimensions.
13979         (widget_instantiate): pick-up dynamic dimensions.
13980
13981         * glyphs.h (struct Lisp_Image_Instance): add width and height for
13982         dynamic determination. Add appropriate macros.
13983
13984         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
13985         dimensions safe.
13986         (WINDOW_GUTTER_SIZE): ditto.
13987         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
13988
13989         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
13990         inline.
13991         (get_frame_dc): ditto.
13992
13993         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
13994         here.
13995
13996 2000-02-23  Martin Buchholz <martin@xemacs.org>
13997
13998         * XEmacs 21.2.31 is released.
13999
14000 2000-02-22  Ben Wing <ben@xemacs.org>
14001
14002         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14003
14004 2000-02-22  Andy Piper  <andy@xemacs.org>
14005
14006         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14007
14008 2000-02-21  Mike Sperber <mike@xemacs.org>
14009
14010         * .dbxrc:
14011         * .gdbinit:
14012         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14013         variables.
14014
14015 2000-02-21  Mike Sperber <mike@xemacs.org>
14016
14017         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14018
14019 2000-02-21  Martin Buchholz <martin@xemacs.org>
14020
14021         * XEmacs 21.2.30 is released.
14022
14023 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14024
14025         Performance hacking.
14026         * *.c (syms_of_*):
14027         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14028         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14029         * emacs.c (main_1):
14030         * lisp.h (DEFUN):
14031         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14032         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14033         * symeval.h (DEFVAR_SYMVAL_FWD):
14034         * symbols.c (guts_of_unbound_marker):
14035         Make all c_readonly objects also lisp_readonly and marked for life.
14036         * lrecord.h (struct lrecord_implementation):
14037         Document flags better.
14038         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14039         * lrecord.h (DECLARE_LRECORD):
14040         * lrecord.h (XSETRECORD):
14041         * lrecord.h (RECORDP):
14042         * lrecord.h (RECORD_TYPEP):
14043         * lrecord.h (RECORD_MARKER): New.
14044         * lrecord.h (error_check_*):
14045         * lrecord.h (CONCHECK_NONRECORD):
14046         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14047         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14048         * lrecord.h (set_lheader_implementation):
14049         * lrecord.h (enum lrecord_type): New.
14050         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14051         * alloc.c (disksave_object_finalization_1):
14052         * alloc.c (mark_object):
14053         * alloc.c (lrecord_type_index):
14054         * alloc.c (tick_lcrecord_stats):
14055         * alloc.c (Fgarbage_collect):
14056         * alloc.c (init_alloc_once_early):
14057         * alloc.c (pdump_load):
14058         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14059         * alloc.c (lrecord_type_index): Delete.
14060         Make lisp object type indexes be constant.
14061           Makes (byte-compile) 5% faster.
14062         Put all marker functions into their own array.
14063           Makes (garbage-collect) 5% faster.
14064         Optimize SYMBOL_VALUE_MAGIC_P.
14065           Makes (byte-compile) 2-3% faster.
14066         * config.h.in (gc_checking_assert): New.
14067         * alloc.c: Use gc_checking_assert().
14068         * .dbxrc: Make compatible with new object type implementation.
14069         * .gdbinit: Make compatible with new object type implementation.
14070         * alloc.c: Delete all symbols defined only for debugging, such as
14071         Lisp_Type_Vector and lrecord_charset.
14072
14073 2000-02-21  Andy Piper  <andy@xemacs.org>
14074
14075         * gui-msw.c (Fmswindows_shell_execute): fix file location
14076         problems.
14077
14078         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14079         unshowing so that set_window_buffer doesn't undo
14080         kill_buffer_hook's hard work.
14081
14082         * glyphs-widget.c (tab_control_query_geometry): don't count the
14083         first item when calculating geometry.
14084
14085         * glyphs.c (map_subwindow): remove redundant code.
14086         (update_frame_subwindows): be more circumspect about when to
14087         update subwindows.
14088
14089         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14090         when items haven't changed. Update faces if faces have changed as
14091         well as just the widget face.
14092         (x_tab_control_update): Update faces if faces have changed as well
14093         as just the widget face.
14094
14095 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14096
14097         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14098         registration.
14099         (build_syscolor_string): Use mswindows_color_to_string to try to
14100         get a named color.
14101         (mswindows_device_system_metrics): Reverse the foreground and
14102         background colors so that they match the documentation.
14103
14104         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14105         they match the default Windows palette.
14106         (mswindows_color_to_string): New function.
14107
14108 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14109
14110         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14111
14112 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14113
14114         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14115         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14116
14117         * symbols.c (init_symbols_once_early): Removed obsolete
14118         DATA_SEG_BITS related kludge.
14119         (defvar_magic): Ditto.
14120
14121         * malloc.c: Removed obsolete DATA_SEG_BITS
14122         * ralloc.c: Ditto.
14123         * mem-limits.h: Ditto.
14124
14125         * Makefile.in.in: Removed obsolete HAVE_SHM
14126         * emacs.c: Ditto.
14127
14128 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14129
14130         *  device-msw.c (mswindows_delete_device): Free DDE string
14131         handles.
14132
14133 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14134
14135         * keymap.c (get_keyelt):
14136         * unexnt.c (unexec):
14137         * vm-limit.c (memory_warnings):
14138         * ntheap.c (recreate_heap):
14139         * ntheap.h (UNINIT_PTR):
14140         * select-msw.c (Fmswindows_get_clipboard):
14141         (Fmswindows_set_clipboard):
14142         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14143         * objects-msw.c:
14144         * menubar-msw.c (displayable_menu_item):
14145         * glyphs-msw.c:
14146         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14147         * sysdep.c (sys_subshell):
14148         * process-nt.c (nt_create_process):
14149         * nt.c (normalize_filename):
14150         (dostounix_filename):
14151         (unixtodos_filename):
14152         * ntproc.c (win32_executable_type):
14153         * ntplay.c (play_sound_data_1):
14154         (play_sound_file):
14155         * editfns.c (get_home_directory):
14156         * event-msw.c (struct winsock_stream):
14157         (mswindows_dde_callback):
14158         * device-msw.c (msprinter_init_device):
14159         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14160
14161         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14162         mswindows_clear_toolbar were swapped!
14163
14164         * objects-msw.c:(colormap_t):
14165         (fontmap_t):
14166         * emacs.c (struct standard_args): Fixed const jumble.
14167
14168         * glyphs-widget.c (update_widget): Fixed comparison notation.
14169
14170         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14171
14172         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14173         __declspec(noreturn) syntax.
14174
14175 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14176
14177         * eldap.c (Fldap_open):
14178         (Fldap_search_basic):
14179         (Fldap_add):
14180         (Fldap_modify):
14181         Use new coding system conversion macros.
14182
14183 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14184
14185         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14186
14187 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14188
14189         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14190         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14191
14192         * eldap.c (Qadd, Qreplace): New constant symbols
14193         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14194         interruptions by XEmacs signals
14195         Remove unnecessary calls to slow_down_interrupts and
14196         speed_up_interrupts
14197         (Fldap_search_basic): Renamed from Fldap_search_internal
14198         Added new optional parameter VERBOSE that triggers the
14199         display of progress messages
14200         Remove unnecessary calls to slow_down_interrupts and
14201         speed_up_interrupts
14202         LDAP result code analysis rewritten
14203         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14204         (syms_of_eldap): Define the new symbols and functions
14205
14206
14207 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14208
14209         * realpath.c: Determine PATH_MAX maximally portably.
14210
14211         * insdel.c (bytecount_to_charcount): Optimize.
14212         The function used to be optimized for entirely ASCII sequences.
14213         Now it is optimized for successive characters from the same
14214         charset.  This also wins big for _mostly_ ASCII sequences.
14215
14216         * fileio.c (Ffile_truename): convert return from realpath() using
14217         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14218         - Rewrite GCPROing slightly.
14219
14220         * sysdep.c (sys_open): Do filename conversion, like all other
14221         sys_* functions.  Fixes bug:
14222         (let ((file-name-coding-system 'iso-8859-2))
14223            (write-region x y latin2-name))
14224         ==> writes filename using internal encoding.
14225
14226 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14227
14228         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14229         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14230         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14231         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14232         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14233         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14234         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14235         (CONST_IF_NOT_DEBUG): Delete.
14236         * alloc.c (this_one_is_unmarkable): Delete.
14237         (mark_object): Don't check for this_one_is_unmarkable. Use the
14238         c_readonly flag instead.
14239         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14240
14241 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14242
14243         * event-msw.c (mswindows_drain_windows_queue):
14244         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14245         away redundant repaint events.
14246
14247 2000-02-17  Andy Piper  <andy@xemacs.org>
14248
14249         * redisplay.h: declare mark_redisplay_structs.
14250
14251         * redisplay.c (redisplay_window):
14252         (redisplay_frame): don't check subwindows_state_changed.
14253         (mark_redisplay): mark gutters here.
14254
14255         * glyphs.c: (instantiate_image_instantiator): always layout if we
14256         haven't done so already.
14257         (allocate_image_instance): don't mark as dirty.
14258         (update_subwindow): bind inhibit_quit.
14259
14260         * gutter.c (mark_gutters): new function.
14261
14262         * glyphs-x.c (x_update_widget): Always resize to get round a
14263         widget bug.
14264
14265         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14266         breaking absolutely everything.
14267
14268         * gutter.h: declare mark_gutters.
14269
14270 2000-02-16  Martin Buchholz <martin@xemacs.org>
14271
14272         * XEmacs 21.2.29 is released.
14273
14274 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14275
14276         * fns.c (size_bit_vector): Fix computation of the size.
14277
14278 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14279
14280         * *.[ch]: Change CONST to const globally.
14281         find -name '*.[ch]' | \
14282         xargs global-replace \
14283         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
14284         - Remove vestigial references to CONST_IS_LOSING
14285
14286 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14287
14288         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
14289         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
14290         events instead of dispatching them directly.
14291         (mswindows_handle_paint): New function to do repainting.
14292         (mswindows_wnd_proc):
14293         (emacs_mswindows_handle_magic_event): Call above function.
14294
14295 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14296
14297         * objects-msw.c (mswindows_create_font_variant): Return the new
14298         font handle.
14299         (initialize_font_instance): Get font metrics from the underlined
14300         variant of the font to cope with the case where the underlined
14301         font has a bigger descent.
14302
14303 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14304
14305         * gui.c (gui_item_accelerator): Return the first underlined
14306         character in item name.
14307
14308 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14309
14310         * lisp.h: Added Qprinter.
14311
14312         * general.c (syms_of_general): Initialized it.
14313
14314         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
14315         (get_frame_dc):
14316         (get_frame_compdc): Made inline.
14317
14318         * console.h (struct console_methods): Added eject_page method.
14319
14320         * frame.h: Added FRAME_DISPLAY_P and friends.
14321         Aligned backslahes in many macros in more readable fashion.
14322         Added page_number to struct frame, and an accessor macro
14323         for it.
14324
14325         * defice.h: Added DEVICE_DISPLAY_P and friends.
14326
14327         * device.c (Fdevice_printer_p): Used these.
14328
14329         * frame.c (allocate_frame_core): Initialize page number.
14330         (Fprint_job_page_number):
14331         (Fprint_job_eject_page): Implemented.
14332
14333         * frame-msw.c (msprinter_eject_page): Added method.
14334         (msprinter_start_page): Added.
14335
14336         * window.c (Fwindow_truncated_p): Fixed docstring.
14337         (Fwindow_last_line_visible_height): Implemented.
14338
14339 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14340
14341         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
14342
14343 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14344
14345         * syntax.c (scan_words): Always advance at least one character.
14346
14347 2000-02-13  Andy Piper  <andy@xemacs.org>
14348
14349         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
14350         to make sure the glyph is in the cachels.
14351
14352         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
14353         global image instance flag.
14354         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
14355         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
14356
14357         * glyphs.c (allocate_image_instance): set dirty bits correctly.
14358         (Fset_image_instance_property): mark layout as changed.
14359         (invalidate_glyph_geometry_maybe): mark layout as changed.
14360         (glyph_width): use new NEEDS_LAYOUT macro.
14361         (glyph_ascent): ditto.
14362         (glyph_descent): ditto.
14363         (glyph_height): ditto.
14364         (image_instance_layout): mark layout as clean after laying out.
14365         (update_subwindow): don't mark layout as clean here.
14366
14367         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
14368         should no longer be needed.
14369
14370         * glyphs-x.c (x_update_widget): sanitize asserts.
14371         (x_finalize_image_instance): sanitize assignment to widgets.
14372
14373         * glyphs-widget.c (widget_instantiate): don't need to clear the
14374         layout flag here.
14375
14376 2000-02-13  Martin Buchholz  <martin@xemacs.org>
14377
14378         * sysdep.c (getcwd): Use standard prototype.
14379         * sysdep.h (getcwd): Use standard prototype.
14380
14381         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
14382         (sequence, start, end).
14383         Remove redundant type checking.
14384         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
14385         view of `caller-protects') to avoid a crash where the real fix was
14386         found elsewhere.
14387
14388 2000-02-12  Martin Buchholz  <martin@xemacs.org>
14389
14390         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
14391
14392         * s/sol2.h: Remove feature macro initialization.
14393
14394         * alloc.c (alloc_lcrecord): Add more type checking assertions.
14395         (vector_hash): New.  Code from internal_hash.
14396         * lrecord.h:
14397         Fix up allocation subsystem comments.
14398
14399         * config.h.in: Add __EXTENSIONS__ for Solaris.
14400
14401         * systime.h (EMACS_GETTIMEOFDAY): New.
14402         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
14403         Remove Solaris-specific code.
14404         Use void* for the (ignored) second arg for gettimeofday().
14405
14406         * elhash.c (hash_table_hash): Implement it, finally.
14407         * elhash.c:  Use hashcode_t.
14408
14409         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
14410         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
14411
14412         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
14413         * fns.c (size_bit_vector):
14414         * alloc.c (size_vector):
14415         (make_vector_internal):
14416         (make_bit_vector_internal):
14417         (sweep_bit_vectors_1):
14418         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
14419
14420 2000-02-10  Martin Buchholz  <martin@xemacs.org>
14421
14422         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
14423         Include strings.h to avoid warnings for bzero and strcasecmp.
14424
14425 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14426
14427         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
14428         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
14429
14430         * fns.c (size_bit_vector): New.  Declare bit vectors as a
14431         sequence.
14432
14433 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14434
14435         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
14436         use a value field instead.
14437         (symbol_value_forward_forward): Use value field.
14438         (DEFVAR_SYMVAL_FWD): Use value field.
14439         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
14440         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
14441         (DEFVAR_CONST_INT): Ditto.
14442         (DEFVAR_BOOL): Ditto.
14443         (DEFVAR_CONST_BOOL): Ditto.
14444         (DEFVAR_INT_MAGIC): Ditto.
14445         (DEFVAR_BOOL_MAGIC): Ditto.
14446
14447         * symbols.c (guts_of_unbound_marker): Use value field.
14448         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
14449         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
14450
14451         * lisp.h: Declare dumpopaque and noninteractive1.
14452
14453         * alloc.c (dumpopaque): Added.
14454         (pdump_dump_opaquevec): Added.
14455         (pdump): Call pdump_dump_opaquevec to dump opaque data.
14456         (pdump_load): Reload opaque data.  Sync noninteractive1 with
14457         noninteractive.
14458
14459 2000-02-10  Andy Piper  <andy@xemacs.org>
14460
14461         * glyphs.c (image_instance_layout): if the size changes, mark it
14462         as such.
14463
14464         * redisplay-output.c (redisplay_output_layout): Update the
14465         subwindow here.
14466         (redisplay_output_subwindow): ditto.
14467
14468         * glyphs.c (update_subwindow): make sure we reset flags for
14469         layouts as well as everything else.
14470
14471         * glyphs-widget.c (layout_layout): don't need to set the instances
14472         dimensions here.
14473
14474 2000-02-09  Martin Buchholz  <martin@xemacs.org>
14475
14476         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
14477         not HAVE_DLOPEN, which is a lower-level thing.
14478
14479         * .cvsignore: Ignore gmon.out
14480
14481 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
14482
14483         * .cvsignore: Ignore portable dumper xemacs.dmp file
14484
14485 2000-02-09  Andy Piper  <andy@xemacs.org>
14486
14487         * redisplay-output.c (redisplay_output_layout): be more clever
14488         about when we output based on the changed flags.
14489
14490         * glyphs.h (struct image_instantiator_methods): add update_method.
14491         (struct Lisp_Image_Instance): add changed flags. Declare new
14492         macros for manipulating them.
14493
14494         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
14495         (image_instance_parent_glyph): find an image_instance's parent
14496         glyph or image_instance.
14497         (image_instance_layout): mark the size as changed.
14498         (set_image_instance_dirty_p): new function. mark an image
14499         instance, plus all of its parents, as dirty.
14500         (Fset_image_instance_property): use it.
14501         (Fglyph_animated_timeout_handler): use it.
14502         (update_subwindow): call update_widget and device methods for
14503         update_subwindow. Mark all changed flags as clean.
14504         (Fresize_subwindow): mark size as changed.
14505
14506         * glyphs-x.c (x_finalize_image_instance): try and detect gc
14507         failures.
14508         (x_update_subwindow): only resize subwindows here.
14509         (x_update_widget): new function. Update all changed properties of
14510         a widget.
14511         (x_resize_subwindow): deleted.
14512         (x_widget_set_property): deleted.
14513         (x_progress_gauge_set_property): deleted.
14514         (x_progress_gauge_update): new function. Implement recorded
14515         changes.
14516         (x_tab_control_update): ditto.
14517         (x_tab_control_set_property): deleted.
14518         (console_type_create_glyphs_x): declare new functions.
14519         (image_instantiator_format_create_glyphs_x): ditto.
14520
14521         * glyphs-widget.c (widget_set_property): mark text changed.
14522         (update_widget): new function. Update properties of a widget.
14523         (widget_instantiate): for layouts make sure we set their
14524         children's parent correctly.
14525         (tab_control_set_property): new function. Record changes that will
14526         take place under redisplay's control.
14527         (progress_gauge_set_property): ditto.
14528         (image_instantiator_progress_guage): declare new functions.
14529         (image_instantiator_tab_control): ditto.
14530
14531         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
14532         now.
14533         (mswindows_update_widget): new function. Update all properties on
14534         a widget that have changed.
14535         (mswindows_button_update): new function. Update a button's set
14536         state.
14537         (mswindows_tab_control_update): new function. Update the items in
14538         a tab.
14539         (mswindows_tab_control_set_property): deleted.
14540         (mswindows_progress_gauge_update): new function. Update the
14541         progress gauge's progress.
14542         (mswindows_widget_set_property): deleted. This is all done
14543         asynchronously now.
14544         (mswindows_progress_gauge_set_property): ditto.
14545         (console_type_create_glyphs_mswindows): declare new methods.
14546         (image_instantiator_format_create_glyphs_mswindows): ditto.
14547
14548         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
14549         (msprinter_set_frame_properties): ditto.
14550
14551         * console.h (struct console_methods): Add update_widget_method.
14552
14553 2000-02-09  Andy Piper  <andy@xemacs.org>
14554
14555         * gui-msw.c (Fmswindows_shell_execute): Make
14556         mswindows-shell-execute industrial strength.
14557
14558 2000-02-08  Martin Buchholz  <martin@xemacs.org>
14559
14560         * lrecord.h: Make macro argument `props' match member function `plist'.
14561         * fns.c (Fget):
14562         * fns.c (Fput):
14563         * fns.c (Fremprop):
14564         * fns.c (Fobject_plist):
14565         * alloc.c:
14566         * symbols.c:
14567         Object property list frobbing cleanup.
14568         - Allow any lisp object (compared with `eq'), not just symbols, as
14569           keys in object plists.
14570         - Move symbol plist frobbing into symbols.c, where it belongs.
14571         - Move string plist frobbing into alloc.c, where it belongs.
14572         - Everything's an lrecord now, so no need to test for symbolp, etc.
14573         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
14574
14575         * extents.c: Reorder code to remove declarations.
14576
14577         * frame.h (store_in_alist): Remove useless declaration.
14578
14579 2000-02-07  Martin Buchholz  <martin@xemacs.org>
14580
14581         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
14582         * config.h.in: Add HAVE_XCONVERTCASE.
14583
14584 2000-02-07  Andy Piper  <andy@xemacs.org>
14585
14586         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
14587         it breaks many things.
14588
14589 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14590
14591         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
14592         actually can start a common comment type.
14593         * src/syntax.h (SYNTAX_END_P): ditto for end.
14594
14595 2000-02-07  Martin Buchholz <martin@xemacs.org>
14596
14597         * XEmacs 21.2.28 is released.
14598
14599 2000-02-06  Martin Buchholz  <martin@xemacs.org>
14600
14601         * event-Xt.c (x_keysym_to_character): New.
14602         (maybe_define_x_key_as_self_inserting_character): New.
14603         (x_has_keysym): New.
14604         Auto-define all keys on the keyboard as self-insert-key.
14605
14606 2000-02-02  Martin Buchholz  <martin@xemacs.org>
14607
14608         * menubar.c (vars_of_menubar): A small code simplification.
14609
14610         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
14611
14612         * ExternalShell.c:
14613         * ExternalClient.c:
14614         * EmacsShell-sub.c:
14615         * EmacsManager.c:
14616         * EmacsFrame.c:
14617         Use consistent style for specifying X resources.
14618
14619         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
14620         This makes (dontusethis-set-symbol-value-handler) actually usable.
14621
14622         * lrecord.h (lrecord_decription_type):
14623         * alloc.c (pdump_register_sub):
14624         (pdump_dump_data):
14625         (pdump_reloc_one):
14626         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
14627         Comply with XEmacs coding style.
14628         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
14629         args, and XD_LISP_OBJECT_ARRAY with 3 args.
14630
14631         * keymap.c (Faccessible_keymaps):
14632         Make (accessible-keymaps map "\C-h") do the Right Thing.
14633         Make (accessible-keymaps map []) do the Right Thing.
14634         Make (accessible-keymaps map "") do the Right Thing.
14635         (check_keymap_definition_loop): New function.
14636         (keymap_store_internal): Keep luser from shooting self in foot,
14637           via (define-key ctl-x-4-map "p" global-map).
14638         Remove fullness slot from struct Lisp_Keymap, since hash tables
14639         are now reliable.
14640         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
14641
14642 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14643
14644         * redisplay.c (init_redisplay): Fix small memory leak.
14645         * elhash.h:
14646         * elhash.c (pdump_reorganize_hash_table):
14647         Rename from reorganize_hash_table. Change prototype.
14648         Reuse the original memory for hentries.  Save 100k.
14649         * alloc.c (PDUMP_READ): new macro.
14650         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
14651         * alloc.c: No need to #ifndef before #undef.
14652
14653         * print.c: Allow debug_print() to print readably by modifying
14654         debug_print_readably.  Use consistent variable names.
14655
14656         * .dbxrc: Try to get things to work even if stopped in a function
14657         without source available by explicitly specifying source files.
14658 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14659
14660         * unexnt.c (_start): Removed bogus code which caused loading heap
14661         from differrent executable file.
14662         Removed bogus assignment to _fmode, which caused inconsistencies.
14663
14664 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14665
14666         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
14667         Have spawnve encapsulation regard DONT_ENCAPSULATE.
14668         Do not preliminary `#define signal sigset'.
14669
14670         * systime.h: Do not prototype environ on windows nt and cygwin,
14671         this conflicts with system header.
14672
14673         * syssignal.h: Use correct define for WINDOWSNT
14674
14675         * sysdep.h: Do not prototype environ on windows nt, this conflicts
14676         with system header.
14677
14678         * sysdep.c (near start of file): Fixed commentary and rearranged
14679         ifdefs in readable order.
14680         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
14681         (start_of_text):
14682         (end_of_text):
14683         (end_of_data): Do not compile in if using PDUMP.
14684
14685         * symsinit.h: Prototyped vars_of_nt().
14686
14687         * ntproc.c (windows9x_p): Added, instead of os_subtype.
14688         (find_child_console): Use it.
14689         (sys_kill): Use it.
14690
14691         * ntheap.h: Do not extern os_subtype.
14692
14693         * ntheap.c (cache_system_info): Do not cache unneeded:
14694         nt_major_version, nt_minor_version and os_subtype.
14695         (recreate_heap): Do not compile in when PDUMPing.
14696
14697         * nt.c (geteuid and friends): Use the new varibale
14698         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
14699         (init_user_info): Removed the above mentioned hackery.
14700         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
14701         stat has been fixed in the C runtime.
14702         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
14703
14704         * file-coding.c (struct file_coding_dump): Do not define
14705         ucs_to_mule_table in the struct if not MULE.
14706         (struct struct lrecord_description fcd_description_1): Do not dump
14707         the above.
14708
14709         * emacs.c (main_1): Call vars_of_nt().
14710         (right before Fdump_emacs_data): Don't need lastfile if using both
14711         portabe dumper and system malloc.
14712
14713         * alloc.c (Fmemory_limit): Conditionalized out.
14714         (pdump): Use OPEN_BINARY for the portable dump file.
14715         (pdump_load): Ditto.
14716
14717 2000-02-02  Mike Alexander  <mta@arbortext.com>
14718
14719         * nt.c (convert_time): Set tm_isdst before calling mktime and
14720         avoid calling it at all if the compiler supports 64 bit integers.
14721         Also initialize utc_base_ft before using it.
14722
14723 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14724
14725         * frame.c (change_frame_size_1): Take f->internal_border_width
14726         into consideration when calculating the width of the frame.
14727
14728 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14729
14730         * window.c (frame_min_height):
14731         (frame_size_valid_p):
14732         (frame_pixsize_valid_p): Added.
14733         (check_frame_size): Generalized.
14734
14735         * window.h: Prototyped the above.
14736
14737         * lisp.h:
14738         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
14739         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
14740         Deleted Vwin32_* and Vbinary_process_* unused variables.
14741
14742         * device-msw.c (msprinter_init_device): Do not get printer font
14743         list; Added DEVMODE functions.
14744
14745         * frame-msw.c: Added lots of printer code.
14746
14747         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
14748         general.c.
14749
14750         * console-msw.h: Added more msprinter device private slots.
14751
14752 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14753
14754         * event-msw.c (key_needs_default_processing_p): Added.
14755         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
14756
14757 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14758
14759         * glyphs.c (image_instance_layout): Mark image instance as clean
14760         after layout.
14761         (glyph_dirty_p): Removed redundant function.
14762         (invalidate_glyph_geometry_maybe): Added.
14763         (update_glyph_cachel_data): Call it.
14764
14765         * glyphs.h: Prototyped it.
14766
14767         * redisplay.c (add_glyph_rune): Call it.
14768         (redisplay_window): Reset glyphs cachels when frame faces have
14769         changed, thus forcing recomputation of built-in border glyphs.
14770
14771 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14772
14773         * Makefile.in.in: Make portable dumper and purify play well together.
14774         Add imperfect, but better than nothing, support for pdump.
14775         Remove xemacs.dmp when temacs is re-generated.
14776         Don't ignore errors when dumping xemacs.
14777
14778         * symbols.c (maybe_call_magic_handler): Remove one magic number.
14779
14780 2000-01-28  Andy Piper  <andy@xemacs.org>
14781
14782         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
14783         (setup_normal_frame): ditto.
14784         (setup_frame_without_minibuffer): ditto.
14785         (setup_minibuffer_frame): ditto.
14786         (delete_frame_internal): ditto.
14787         (Fmake_frame_invisible): ditto.
14788         (Ficonify_frame): ditto.
14789
14790         * window.h: change Fset_window_buffer signature.
14791
14792         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
14793         (Fset_window_buffer): allow recording of buffer if the window is
14794         the selected window.
14795         (window_loop): Use new Fset_window signature.
14796
14797 2000-01-23  Daniel Pittman  <daniel@danann.net>
14798
14799         * config.h.in: Added template for `HAVE_ATHENA_3D'
14800
14801 2000-01-29  Andy Piper  <andy@xemacs.org>
14802
14803         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
14804
14805         * gutter.c (output_gutter): Don't output if the window isn't live.
14806
14807 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14808
14809         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
14810         of 01/12/00: Moved SetFocus back here where it belongs.
14811
14812 2000-01-23  Andy Piper  <andy@xemacs.org>
14813
14814         * s/cygwin32.h: declare printer things.
14815
14816 2000-01-26  Andy Piper  <andy@xemacs.org>
14817
14818         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
14819         Alexander.
14820
14821 2000-01-24  Andy Piper  <andy@xemacs.org>
14822
14823         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
14824         (mswindows_button_instantiate): Make sure glyph is a pixmap.
14825
14826         * glyphs-widget.c (widget_instantiate): Avoid shadows.
14827
14828         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
14829
14830         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
14831
14832         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
14833         (mswindows_output_display_block): Avoid local shadows.
14834
14835         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
14836         (mswindows_enqueue_mouse_button_event): ditto.
14837         (mswindows_handle_gui_wm_command): remove declaration.
14838
14839         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
14840         warnings.
14841
14842         * console-msw.h: Avoid shadows.
14843         (mswindows_get_toolbar_button_text):
14844         (emacs_mswindows_create_stream_pair):
14845         (emacs_mswindows_delete_stream_pair):
14846         (mswindows_handle_toolbar_wm_command): declare.
14847
14848         * device-msw.c (build_syscolor_string): Avoid shadows.
14849
14850 2000-01-23  Andy Piper  <andy@xemacs.org>
14851
14852         * glyphs-widget.c (widget_instantiate): reverse the items for
14853         layouts so that children are in the expected order.
14854
14855 2000-01-28  Martin Buchholz  <martin@xemacs.org>
14856
14857         * ralloc.c: safe_bcopy ==> memmove
14858         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
14859         * s/msdos.h: Remove BCOPY macros.
14860         * insdel.c (gap_right): Remove BCOPY conditional code.
14861         * insdel.c (gap_left): Remove BCOPY conditional code.
14862         XEmacs demands a working ANSI C compiler - hence memmove.
14863
14864         * regex.c (regex_compile): Remove accidental use of trigraphs.
14865
14866 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14867
14868         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
14869         event timestamp.
14870
14871 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14872
14873         * event-msw.c (mswindows_drain_windows_queue): Added the
14874         parameter.
14875         (mswindows_need_event): Commented the call to
14876         mswindows_drain_windows_queue().
14877         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
14878         only.
14879
14880         * console-msw.h: Moved a few function prototypes here from
14881         event-msw.c.
14882
14883         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
14884         parameter from unsigned short to unsigned long.
14885         (Fmswindows_shell_execute): Added return value.
14886
14887 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14888
14889         * sysdep.c (init_system_name):
14890           process-unix.c (unix_canonicalized_host_name):
14891         Don't call freeaddrinfo() if getaddrinfo() fails.
14892
14893         * process-unix.c (unix_open_unix_network_stream):
14894         Moved the code to get a port # into address loop.
14895
14896 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14897
14898         * buffer.c (reinit_vars_of_buffer):
14899         The right place to initialize conversion_in_dynarr and
14900         conversion_out_dynarr.
14901
14902         * alloc.c (pdump): Use the real open() till sys_open() is functional.
14903
14904         * process-unix.c (unix_canonicalize_host_name): Muleize.
14905         (unix_open_network_stream): Muleize.
14906
14907         * buffer.h: Fix up prototypes for ralloc.c functions.
14908
14909 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14910         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
14911         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
14912                 instead of gethostbyname()
14913         * process-unix.c: In unix_canonicalize_host_name() and
14914                 unix_open_network_stream(), add code to use getaddrinfo()
14915                 instead of gethostbyname().
14916
14917 2000-01-27  Daniel Pittman <daniel@danann.net>
14918
14919         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
14920         libs when built with flat Athena.
14921
14922 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14923
14924         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
14925         Use coding standards for function prototypes.
14926
14927 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14928
14929         * dialog-msw.c (push_lisp_string_as_unicode):
14930         * doc.c (unparesseuxify_doc_string):
14931         * dired.c (Fuser_name_completion_1):
14932         * dired.c (Fuser_name_all_completions):
14933         * dired.c (free_user_cache):
14934         * dired.c (user_name_completion):
14935         * console-x.c (get_display_arg_connection):
14936         * minibuf.c (clear_echo_area_internal):
14937         * minibuf.c (echo_area_append):
14938         * eldap.c (Fldap_open):
14939         * eldap.c (Fldap_search_internal):
14940         * frame-x.c (x_set_frame_text_value):
14941         * frame-x.c (x_set_frame_properties):
14942         * frame-x.c (x_create_widgets):
14943         * redisplay-tty.c (term_get_fkeys_1):
14944         * objects-x.c (x_parse_nearest_color):
14945         * objects-x.c (x_valid_color_name_p):
14946         * objects-x.c (x_initialize_font_instance):
14947         * objects-x.c (x_list_fonts):
14948         * objects-x.c (x_find_charset_font):
14949         * tooltalk.c (Fadd_tooltalk_message_arg):
14950         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
14951         * tooltalk.c (Fadd_tooltalk_pattern_arg):
14952         * process-unix.c (unix_create_process):
14953         * ntproc.c (sys_spawnve):
14954         * sound.c (Fplay_sound_file):
14955         * sound.c (Fplay_sound):
14956         * buffer.c (init_initial_directory):
14957         * buffer.c (init_buffer):
14958         * editfns.c (init_editfns):
14959         * editfns.c (Ftemp_directory):
14960         * editfns.c (Fuser_full_name):
14961         * editfns.c (uncache_home_directory):
14962         * editfns.c (get_home_directory):
14963         * editfns.c (Fuser_home_directory):
14964         * editfns.c (Fformat_time_string):
14965         * editfns.c (Fcurrent_time_string):
14966         * gui-x.c (button_item_to_widget_value):
14967         * database.c (Fopen_database):
14968         * event-Xt.c (x_to_emacs_keysym):
14969         * event-Xt.c (x_event_to_emacs_event):
14970         * event-Xt.c (describe_event_window):
14971         * event-msw.c (mswindows_wnd_proc):
14972         * glyphs-eimage.c (jpeg_instantiate):
14973         * glyphs-eimage.c (gif_instantiate):
14974         * glyphs-eimage.c (png_instantiate):
14975         * glyphs-eimage.c (tiff_instantiate):
14976         * glyphs-x.c (xbm_instantiate_1):
14977         * glyphs-x.c (x_xbm_instantiate):
14978         * glyphs-x.c (x_xface_instantiate):
14979         * glyphs-x.c (autodetect_instantiate):
14980         * glyphs-x.c (cursor_font_instantiate):
14981         * glyphs-x.c (x_widget_instantiate):
14982         * glyphs-x.c (x_widget_set_property):
14983         * glyphs-x.c (x_widget_property):
14984         * glyphs-x.c (BUILD_GLYPH_INST):
14985         * print.c (write_string_to_stdio_stream):
14986         * print.c (output_string):
14987         * print.c (Falternate_debugging_output):
14988         * print.c (Fexternal_debugging_output):
14989         * glyphs-msw.c (extract_xpm_color_names):
14990         * glyphs-msw.c (mswindows_xpm_instantiate):
14991         * glyphs-msw.c (bmp_instantiate):
14992         * glyphs-msw.c (resource_name_to_resource):
14993         * glyphs-msw.c (mswindows_resource_instantiate):
14994         * glyphs-msw.c (xbm_instantiate_1):
14995         * glyphs-msw.c (mswindows_xbm_instantiate):
14996         * glyphs-msw.c (mswindows_xface_instantiate):
14997         * glyphs-msw.c (mswindows_widget_instantiate):
14998         * glyphs-msw.c (add_tree_item):
14999         * glyphs-msw.c (add_tab_item):
15000         * glyphs-msw.c (mswindows_combo_box_instantiate):
15001         * glyphs-msw.c (mswindows_widget_property):
15002         * glyphs-msw.c (mswindows_combo_box_property):
15003         * glyphs-msw.c (mswindows_widget_set_property):
15004         * console.c (stuff_buffered_input):
15005         * objects-msw.c (mswindows_initialize_color_instance):
15006         * objects-msw.c (mswindows_valid_color_name_p):
15007         * objects-msw.c (mswindows_list_fonts):
15008         * objects-msw.c (mswindows_font_instance_truename):
15009         * bytecode.c (optimize_compiled_function):
15010         * select-x.c (symbol_to_x_atom):
15011         * select-x.c (x_atom_to_symbol):
15012         * select-x.c (hack_motif_clipboard_selection):
15013         * select-x.c (selection_data_to_lisp_data):
15014         * select-x.c (lisp_data_to_selection_data):
15015         * select-x.c (Fx_get_cutbuffer_internal):
15016         * select-x.c (Fx_store_cutbuffer_internal):
15017         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15018         * buffer.h (TO_INTERNAL_FORMAT): New function.
15019         * emacs.c (make_arg_list_1):
15020         * emacs.c (make_argc_argv):
15021         * emacs.c (main_1):
15022         * emacs.c (Fdump_emacs):
15023         * emacs.c (split_string_by_emchar_1):
15024         * file-coding.h:
15025         * lisp.h:
15026         * lstream.h:
15027         * symsinit.h:
15028         * device-x.c (x_init_device):
15029         * device-x.c (Fx_valid_keysym_name_p):
15030         * device-x.c (Fx_get_font_path):
15031         * device-x.c (Fx_set_font_path):
15032         * glyphs.c (bitmap_to_lisp_data):
15033         * glyphs.c (pixmap_to_lisp_data):
15034         * alloc.c (make_ext_string): Use coding system arguments.  Update
15035         all callers.
15036         * alloc.c (build_string):
15037         * callproc.c (child_setup):
15038         * callproc.c (init_callproc):
15039         * fileio.c (lisp_strerror):
15040         * fileio.c (directory_file_name):
15041         * fileio.c (Fexpand_file_name):
15042         * fileio.c (Ffile_truename):
15043         * fileio.c (Fsysnetunam):
15044         * fileio.c (Fdo_auto_save):
15045         * sysdep.c (sys_readdir):
15046         * tests.c: New file.  Allow adding C tests.
15047         Replace GET_* macros with a more comprehensible and flexible
15048         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15049         Modify all calls.
15050         Any coding system can be used to do format conversion.
15051         Eliminate enum external_data_format.
15052         Eliminate convert_to_external_format.
15053         Eliminate convert_to_internal_format.
15054         Make sure file-name, keyboard, terminal, and ctext are always
15055         defined as coding systems or aliases.  Make
15056         file-name-coding-system, terminal-coding-system, and
15057         keyboard-coding-system magical variables that are equivalent to
15058         defining the corresponding coding system aliases.
15059
15060         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15061         * file-coding.c (Fcoding_system_alias_p): New function.
15062         * file-coding.c (Fcoding_system_aliasee): New function.
15063         * file-coding.c (append_suffix_to_symbol): New function.
15064         * file-coding.c (dangling_coding_system_alias_p): New function.
15065         * file-coding.c (Ffind_coding_system):
15066         * file-coding.c (Fcopy_coding_system):
15067         * file-coding.c (encode_coding_no_conversion):
15068         * file-coding.c (syms_of_file_coding):
15069         * file-coding.c (vars_of_file_coding):
15070         Rewrite coding system alias code.
15071         Allow nested aliases, like symbolic links.
15072         Allow redefinition of coding system aliases.
15073         Prevent existence of dangling coding system aliases.
15074
15075         * dired.c (Fuser_name_completion_1):
15076         * dired.c (Fuser_name_all_completions):
15077         A crash would happen if user did QUIT in the middle of building
15078         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15079
15080         * lisp.h:
15081         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15082
15083         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15084         an unsigned char *.  Update all callers.
15085
15086 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15087
15088         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15089
15090 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15091
15092         * elhash.c (hentry_description): Use more portable definition.
15093         (resize_hash_table): Initialize new hentries using
15094         xnew_array_and_zero, thereby simplifying the code.
15095
15096         * mule-charset.c (make_charset): Make sure entire object is
15097         initialized, to avoid Purify warnings.
15098
15099         * alloc.c (resize_string): Fix unlikely crash with big strings.
15100
15101 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15102
15103         * realpath.c (xrealpath):
15104         Don't call getwd().
15105
15106 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15107
15108         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15109
15110 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15111
15112         * unexelfsgi.c (unexec): Change the way we decide which segment
15113         should be extended.
15114
15115         Assumption that .bss section should be outside the PT_LOADable
15116         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15117         it's present) is inside the 'data' segment. This would fail the
15118         test which was used to find a segment to grow and cover new
15119         heap. Instead of this assumption, I created another one - on IRIX
15120         the segment to grow should start below .bss and it's address
15121         should extent above the end of .bss. Once this segment is
15122         identified, it's grown to accommodate the new heap and new
15123         zero-length .bss section is added at the end of .data2.
15124
15125 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15126
15127         * eval.c (Feval): Wrong number of arguments should use original
15128         function, not the indirect_function version of it.
15129
15130 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15131
15132         * glyphs-x.c (x_button_instantiate): Don't add image if
15133         it is not a pixmap.
15134         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15135         is relative.
15136
15137 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15138
15139         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15140         declaration.
15141         (DEFVAR_INT_MAGIC): Ditto.
15142         (DEFVAR_BOOL_MAGIC): Ditto.
15143         * glyphs.h: Reindent backslash.
15144
15145 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15146
15147         * glyphs-widget.c (layout_query_geometry):
15148         (layout_layout): Use correct types for gheight, gwidth.
15149
15150 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15151
15152         * EmacsManager.c (QueryGeometry): Purified.
15153
15154 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15155
15156         * alloc.c (make_float): Make sure entire object is initialized, to
15157         avoid Purify warnings.
15158         (pdump_register_sub): Remove useless assignment.
15159         (pdump): Use xmalloc, not malloc.
15160         (pdump_load): Use xmalloc, not malloc.
15161
15162 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15163
15164         * callproc.c:
15165         * dired-msw.c:
15166         * fileio.c:
15167         * process-nt.c:
15168         * redisplay-msw.c:
15169         * sysdep.c: Removed redundant #include <windows.h>
15170
15171 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15172
15173         * frame.c (delete_frame_internal): Do not delete device when its
15174         implementation so declares.
15175         (delete_frame_internal): Set device selected frame to nil when
15176         last frame goes away.
15177
15178         * device-msw.c (msprinter_device_system_metrics): Implemented.
15179         (mswindows_device_system_metrics): Added 'device-dpi property.
15180
15181         * device.c: (Fdevice_printer_p): Added.
15182         Added 'offset-workspace device metric.
15183
15184         * console.h (device_metrics): Declared DM_offset_workspace.
15185
15186 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15187
15188         * fileio.c (Ffile_truename): Remove pointless and confusing
15189         initialization of elen.
15190
15191         * glyphs-widget.c: Compiler warning fixes.
15192
15193 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15194
15195         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15196         instead of a Lisp_Object as argument to make it consistent with
15197         the other LIVE_P macros.
15198         (CHECK_LIVE_PROCESS): New macro.
15199
15200         * process.c: Declare Qprocess_live_p.
15201         (Fprocess_live_p): New function.
15202         (create_process): Use PROCESS_LIVE_P.
15203         (read_process_output): Ditto.
15204         (set_process_filter): Ditto.
15205         (Fdelete_process): Ditto.
15206         (kill_buffer_processes): Ditto
15207         (process_send_signal): Use CHECK_LIVE_PROCESS.
15208         (Fprocess_input_coding_system): Check whether process is still
15209         alive (fix PR#1061).
15210         (Fprocess_output_coding_system): Ditto.
15211         (Fprocess_coding_system): Ditto.
15212         (Fset_process_input_coding_system): Ditto.
15213         (Fset_process_output_coding_system): Ditto.
15214
15215 2000-01-23  Andy Piper  <andy@xemacs.org>
15216
15217         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15218         layout and widget.
15219
15220         * glyphs.c (mark_image_instance): take into account changed
15221         image_instance format.
15222         (image_instance_equal): ditto.
15223         (image_instance_hash): ditto.
15224
15225         * glyphs-widget.c (widget_instantiate): Incorporate layout
15226         instantiation here. Delay layout of the layout until later.
15227         (layout_instantiate): deleted.
15228         (layout_query_geometry): new function. get the geometry of a
15229         layout.
15230         (layout_layout): layout a layout dynamically.
15231         (image_instantiator_widget): New function - splitting up
15232         image_instantiator_format_create_glyphs_widget for netwinder
15233         compilation.
15234         (image_instantiator_buttons):
15235         (image_instantiator_edit_fields):
15236         (image_instantiator_combo_box):
15237         (image_instantiator_scrollbar):
15238         (image_instantiator_progress_guage):
15239         (image_instantiator_tree_view):
15240         (image_instantiator_tab_control):
15241         (image_instantiator_labels):
15242         (image_instantiator_layout): ditto.
15243         (image_instantiator_format_create_glyphs_widget): Call preceding
15244         functions.
15245
15246 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15247
15248         * process.c (Fset_process_coding_system):
15249         * device-x.c (Fx_keysym_hash_table):
15250         Docstring fixes.
15251
15252         * lstream.c (Lstream_write): Return documented value, not 0.
15253
15254         * fileio.c (directory_file_name):
15255         (Fsubstitute_in_file_name):
15256         (Fsubstitute_insert_file_contents_internal):
15257         (Fwrite_region_internal):
15258         * emacs.c:
15259         * sysdep.c:
15260         * getloadavg.c:
15261         * systty.h:
15262         Remove vestigial APOLLO-conditional code.
15263
15264 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15265
15266         * getpagesize.h: Add guard macros.
15267         * libsst.h: Add guard macros.
15268         * libst.h: Add guard macros.
15269         * line-number.h: Add guard macros.
15270         * ndir.h: Add guard macros.
15271         * sysfloat.h: Add guard macros.
15272         * sysfile.h: Add guard macros.
15273         * sysproc.h: Add guard macros.
15274         * syswait.h: Add guard macros.
15275         * xintrinsic.h: Add guard macros.
15276         * xintrinsicp.h: Add guard macros.
15277         * xmmanager.h: Add guard macros.
15278         * xmmanagerp.h: Add guard macros.
15279         * xmprimitive.h: Add guard macros.
15280         * xmu.h: Add guard macros.
15281         * gpmevent.h: Add copyright statement. Add guard macros.
15282         * miscplay.h: Add guard macros.
15283         * *.h: Use consistent C-standards-approved guard macro names.
15284
15285         * opaque.c (make_opaque): Switch parameter order.
15286         * opaque.h (make_opaque): Switch parameter order.
15287         Update all callers.
15288         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
15289
15290         * config.h.in (type_checking_assert): Added.
15291         (bufpos_checking_assert): Added.
15292
15293 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15294
15295         * alloc.c: Harmless pdump changes.
15296         - Use countof().
15297         - spell alignment correctly.
15298         * sysdep.c: Use countof()
15299
15300 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15301
15302         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
15303         initially_selected_for_input() console method, default to 0.
15304         (semi_canonicalize_console_connection): Try to delegate to
15305         canonicalize_console_connection if no such console method.
15306         (canonicalize_console_connection): Vice versa.
15307         (print_console): Do not print nil connection.
15308
15309         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
15310         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
15311         (XDEVIMPF_FRAMELESS_OK): Added.
15312         (CONSOLE_INHERITS_METHOD): Added.
15313
15314         * console-msw.c (mswindows_canonicalize_console_connection):
15315         Added.
15316         (mswindows_canonicalize_device_connection): Added.
15317
15318         * console-msw.h (struct msprinter_device): Added this struct and
15319         accessor macros.
15320         (mswindows_device): Made fontlist a lisp object.
15321
15322         * device.c (semi_canonicalize_device_connection):  Try to delegate
15323         to canonicalize_device_connection if no such console method.
15324         (canonicalize_device_connection): Vice versa.
15325         (print_device): Do not print nil connection.
15326
15327         * device-msw.c (mswindows_init_device): Call InitCommonControls
15328         when have widgets.
15329         (mswindows_delete_device): Removed fontlist deallocation.
15330         (mswindows_mark_device): Added.
15331
15332         * events.c (event_equal): Added abort() at unreached code.
15333         (event_hash): Ditto.
15334
15335         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
15336         fallback tags of Windows devices.
15337
15338         * general.c (syms_of_general): Initialized Qmsprinter.
15339
15340         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
15341         of fallback tags of Windows devices.
15342
15343         * lisp.h: Declared Qmsprinter.
15344
15345         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
15346         of strings.
15347         (mswindows_list_fonts): Ditto.
15348         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
15349         that it can be used by both mswindows and msprinter devices.
15350         (initialize_font_instance): Added.
15351         (mswindows_initialize_font_instance): Use it.
15352         (msprinter_initialize_font_instance): Added.
15353
15354         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
15355         and implementation flags check.
15356         (redisplay_without_hooks): Changed the call to the above.
15357         (Fredraw_device): Ditto.
15358         (Fredisplay_device): Ditto.
15359
15360         * redisplay-msw.c (get_frame_dc): Implemented.
15361         (get_frame_compdc): Implemented.
15362         (many functions): Use the two functions above to get device
15363         contexts, ether for a window or a printer.
15364
15365 2000-01-21  Olivier Galibert  <galibert@pobox.com>
15366
15367         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
15368         initialization here.
15369         (init_symbols_once_early): Call it.
15370         * emacs.c (main_1): Call it.
15371         * symsinit.h: Declare it.
15372
15373 2000-01-19  Olivier Galibert  <galibert@pobox.com>
15374
15375         * alloc.c: Use a lrecord_header * in the backtrace instead of a
15376         Lisp_Object.
15377         (pdump_backtrace): Ditto.
15378         (pdump_register_object): Ditto.  Cleanup use of the pointers.
15379         (pdump_get_entry): Abort if trying to register a null pointer.
15380         (pdump_dump_data): Cleanup types when relocating.
15381         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
15382         (pdump_dump_rtables): Remove bad casts.
15383         (pdump_load): Cleanup relocation w.r.t union type.  Use a
15384         Lisp_Object instead of a EMACS_INT for the hashtable
15385         reorganization.
15386
15387 2000-01-20  Martin Buchholz  <martin@xemacs.org>
15388
15389         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
15390
15391         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
15392
15393         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
15394
15395         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
15396
15397 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15398
15399         * faces.h (FACE_STRIKETHRU_P): Added.
15400
15401         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
15402         of font variants.
15403
15404         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
15405         (mswindows_set_dc_font): New function, aware of font variants,
15406         separated from mswindows_update_dc.
15407
15408         * objects-msw.h (struct mswindows_font_instance_data): Added
15409         definition.
15410
15411         * objects-msw.c (mswindows_finalize_font_instance): Delete all
15412         cached fonts and the data structure.
15413         (mswindows_initialize_font_instance): Added creation of font data
15414         structure.
15415         (mswindows_print_font_instance): Print at least something.
15416         (mswindows_create_font_variant): Implemented.
15417         (mswindows_get_hfont): Implemented.
15418
15419 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
15420
15421         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
15422         prototyping problem with msvc.
15423
15424         * emacs.c (main_1): added syms_of_gui_mswindows() call
15425
15426         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
15427         syms_of_gui_mswindows() function
15428
15429         * symsinit.h: added the prototype for syms_of_gui_mswindows()
15430
15431 2000-01-18  Martin Buchholz <martin@xemacs.org>
15432
15433         * XEmacs 21.2.27 is released.
15434
15435 2000-01-18  Martin Buchholz  <martin@xemacs.org>
15436
15437         * glyphs-eimage.c (struct tiff_error_struct):
15438         (tiff_error_func):
15439         (tiff_warning_func):
15440         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
15441
15442         * unexmips.c:
15443         * unexhp9k3.c:
15444         * unexfreebsd.c:
15445         * unexec.c: Remove vestigial Lucid C code.
15446         * unexalpha.c:
15447         * unexaix.c:
15448         * termcap.c:
15449         * libsst.c: Ansify.
15450         Remove declarations of errno and strerror().
15451
15452         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
15453
15454         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
15455
15456 2000-01-16  Martin Buchholz  <martin@xemacs.org>
15457
15458         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
15459         Optimize.
15460
15461 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15462
15463         * md5.c:
15464         * file-coding.c:
15465         * file-coding.h:
15466         Change enum eol_type to eol_type_t.
15467
15468 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15469
15470         * gui.c (get_gui_callback): Check cons before accessing car.
15471
15472 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15473
15474         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
15475         (XSETSPECIFIER_TYPE): Ditto.
15476
15477 2000-01-17  Didier Verna  <didier@xemacs.org>
15478
15479         * redisplay.c (generate_fstring_runes): compute string size in
15480         characters, not bytes.
15481
15482 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15483
15484         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
15485
15486 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
15487
15488         * print.c (print_error_message): Call print_prepare().
15489
15490 2000-01-14  Martin Buchholz  <martin@xemacs.org>
15491
15492         * .dbxrc: Renamed from dbxrc.
15493
15494         * events.c (event_to_character):
15495         Use `assert (foo)' instead of `if (!foo) abort()'
15496
15497         * .gdbinit (xtype): Add documentation.
15498         * .gdbinit (check-temacs): New function.
15499         * .gdbinit (check-xemacs): New function.
15500         * dbxrc (check-xemacs): New function.
15501         * dbxrc (check-xemacs): New function.
15502
15503 2000-01-14  Andy Piper  <andy@xemacs.org>
15504
15505         * glyphs-widget.c (widget_query_geometry): Make sure that we
15506         calculate default dimensions correctly.
15507
15508 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15509
15510         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
15511
15512         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
15513         pdump_wire'd variable.
15514
15515         * emacs.c: (main_1): Conditionalized calls to
15516         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
15517
15518 2000-01-13  Martin Buchholz  <martin@xemacs.org>
15519
15520         * window.c (Fset_window_configuration):
15521         * sysdep.c (_start):
15522         * input-method-motif.c (res):
15523         * event-Xt.c (Xt_process_to_emacs_event):
15524         Simple compiler warning fixes.
15525
15526         * bytecode.c (funcall_compiled_function): Use the original
15527         function symbol on the backtrace list in preference to the
15528         compiled_function object in error messages.
15529
15530 2000-01-13  Andy Piper  <andy@xemacs.org>
15531
15532         * glyphs-x.c (update_widget_face): Make sure we update the widget
15533         background as well as foreground.
15534
15535 2000-01-13  Andy Piper  <andy@xemacs.org>
15536
15537         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
15538         fields to subwindow.
15539         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
15540         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
15541         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15542         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15543
15544         * glyphs-widget.c (check_valid_tab_orientation): new function.
15545         (initialize_widget_image_instance): zero orientation and
15546         justification.
15547         (widget_instantiate): pick up orientation.
15548         (tab_control_query_geometry): return appropriate values for
15549         vertical tabs.
15550
15551         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
15552         appropriate creation flags for left, right and bottom tabs.
15553
15554         * s/cygwin32.h: add tab definitions.
15555
15556 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15557
15558         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
15559         frame upon hiding a subwindow.
15560         (mswindows_button_instantiate): Changed the push button style to
15561         BS_PUSHBUTTON.
15562         (mswindows_button_instantiate): Removed button BS_NOTIFY
15563         style.
15564         (mswindows_button_instantiate): Removed redundant check for
15565         a disabled gui item.
15566         (mswindows_button_instantiate): Made use of WS_TABSTOP
15567         consistent: "operable" controls (edit, button, tree, scroll) have
15568         this style, "display-only" ones (static, progress gauge) do
15569         not. This style is currently ignored by XEmacs though. Also,
15570         removed the WS_EX_CONTROLPARENT style - it is not for children,
15571         it is for their parents!
15572         (mswindows_edit_field_instantiate): Ditto.
15573         (mswindows_progress_gauge_instantiate): Ditto.
15574         (mswindows_tree_view_instantiate): Ditto.
15575         (mswindows_tab_control_instantiate): Ditto.
15576         (mswindows_scrollbar_instantiate): Ditto.
15577         (mswindows_combo_box_instantiate): Ditto.
15578         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
15579         style to the "clip" window.
15580         (mswindows_button_instantiate): Removed compilation warning by
15581         equally typing terms of the ?: operator.
15582
15583 2000-01-12  Didier Verna  <didier@xemacs.org>
15584
15585         * redisplay.c (generate_fstring_runes): new parameter holding the
15586         last modeline-format extent.
15587         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
15588         extent, fill the glyph block with it.
15589         (generate_fstring_runes): handle these parameters.
15590         (generate_formatted_string_db): ditto.
15591
15592         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
15593         glyphs'extents in the modeline.
15594
15595 1999-01-11  Mike Woolley  <mike@bulsara.com>
15596
15597         * ntheap.c: Reduced the reserved heap space from 1Gb down to
15598         256Mb, as a workaround for the non-starting problem many people
15599         have experienced.
15600
15601 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15602
15603         * console-tty.c (Fset_console_tty_output_coding_system):
15604         Force redrawing tty frame.
15605
15606 2000-01-10  Didier Verna  <didier@xemacs.org>
15607
15608         * redisplay.c (generate_fstring_runes): fix size computation bug.
15609
15610 2000-01-09  William M. Perry <wmperry@aventail.com>
15611
15612         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
15613
15614 2000-01-09  Andy Piper  <andy@xemacs.org>
15615
15616         * glyphs-msw.c: index -> i to avoid shadows.
15617         (xbm_create_bitmap_from_data): make static.
15618         (check_valid_string_or_int): deleted.
15619         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
15620
15621         * glyphs-x.c (x_update_subwindow): remove unused args.
15622
15623         * glyphs.c (glyph_image_instance): return the thing. Don't set the
15624         back pointer - this is done in allocate_image_instance.
15625         (query_string_font): return Qnil to make the compiler happy.
15626         (unmap_subwindow): set to ~0 to make the compiler happy.
15627         (glyph_query_geometry): comment out until used.
15628         (glyph_layout): ditto.
15629
15630 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15631
15632         * insdel.c (signal_after_change): Remove extraneous unbind_to().