update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * mule.c (Vxemacs_chise_version): Renamed from
4         `Vutf_2000_version'.
5         (vars_of_mule): Add new variable `xemacs-chise-version'; define
6         `utf-2000-version' as an alias for `xemacs-chise-version'.
7
8 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
9
10         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
11         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
12         defined.
13
14         * config.h.in (CHISE): New macro.
15
16 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
17
18         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
19         of `ucs'.
20         (Qmap_ucs): New variable.
21         (syms_of_mule_charset): Add new symbol `=ucs'.
22         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
23
24         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
25         (simplify_char_spec): Likewise.
26
27         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
28
29         * char-ucs.h (Qmap_ucs): New extern variable.
30
31 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
32
33         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
34         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
35         don't define it when UTF2000 is not defined.
36         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
37         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
38         when UTF2000 is not defined.
39         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
40         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
41
42 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
43
44         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
45
46         * mule-charset.c (Vcharset_ucs_gb): Deleted.
47         (Qucs_gb): Deleted.
48         (syms_of_mule_charset): Delete `ucs-gb'.
49         (complex_vars_of_mule_charset): Likewise.
50
51 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
52
53         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
54
55         * mule-charset.c (Vcharset_ucs_cns): Deleted.
56         (Qucs_cns): Deleted.
57         (syms_of_mule_charset): Delete `ucs-cns'.
58         (complex_vars_of_mule_charset): Likewise.
59
60 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
61
62         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
63
64         * mule-charset.c (Vcharset_ucs_jis): Deleted.
65         (Qucs_jis): Deleted.
66         (syms_of_mule_charset): Delete `ucs-jis'.
67         (complex_vars_of_mule_charset): Likewise.
68
69 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
70
71         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
72
73         * mule-charset.c (Vcharset_ucs_ks): Deleted.
74         (Qucs_ks): Deleted.
75         (syms_of_mule_charset): Delete `ucs-ks'.
76         (complex_vars_of_mule_charset): Likewise.
77
78 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
79
80         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
81         (Qideograph_daikanwa_2): Deleted.
82         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
83         (complex_vars_of_mule_charset): Likewise.
84
85         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
86         (LEADING_BYTE_DAIKANWA_1): Deleted.
87         (LEADING_BYTE_DAIKANWA_2): Deleted.
88         (MIN_CHAR_DAIKANWA): Deleted.
89         (MAX_CHAR_DAIKANWA): Deleted.
90
91 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
92
93         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
94         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
95         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
96
97         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
98         (Vcharset_ideograph_daikanwa): Deleted.
99         (Qideograph_hanziku_{1..12}): Deleted.
100         (Qideograph_daikanwa): Deleted.
101         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
102         Vcharset_ideograph_daikanwa.
103         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
104         `ideograph-hanziku-{1..12}'.
105         (complex_vars_of_mule_charset): Likewise.
106
107 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
108
109         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
110
111         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
112         (Qideograph_gt_pj_{1..11}): Deleted.
113         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
114         (complex_vars_of_mule_charset): Likewise.
115
116 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
117
118         * mule-charset.c (Vcharset_ucs_big5): Deleted.
119         (Vcharset_ideograph_gt): Deleted.
120         (Qucs_big5): Deleted.
121         (Qideograph_gt): Deleted.
122         (syms_of_mule_charset): Delete symbol `ucs-big5' and
123         `ideograph-gt'.
124         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
125         and `ideograph-gt'.
126
127         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
128         (LEADING_BYTE_GT): Deleted.
129         (MIN_CHAR_GT): Deleted.
130         (MAX_CHAR_GT): Deleted.
131
132 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
133
134         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
135
136 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
137
138         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
139         (save_uint16_byte_table): Likewise.
140         (save_byte_table): Likewise; convert values by it.
141         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
142         for `ideographic-structure'.
143         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
144         as the filter for `ideographic-structure'.
145
146 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
147
148         * chartab.c (put_char_composition): New function.
149         (Fput_char_attribute): Use `put_char_composition'; use
150         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
151
152         * fns.c (simplify_char_spec): New function.
153         (char_ref_simplify_spec): New function.
154         (Fchar_refs_simplify_char_specs): New function.
155         (syms_of_fns): Add new builtin function
156         `char-refs-simplify-char-specs'.
157
158 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
159
160         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
161         (Qideograph_cbeta): Deleted.
162         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
163         (complex_vars_of_mule_charset): Likewise.
164
165         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
166         (MIN_CHAR_CBETA): Comment out.
167         (MAX_CHAR_CBETA): Likewise.
168
169 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
170
171         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
172         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
173         CHISE client feature.
174
175 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
176
177         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
178
179 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
180
181         * mule-charset.c (charset_lookup_description_1): Use
182         `NUM_LEADING_BYTES' in UTF-2000.
183
184 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
185
186         * char-ucs.h (GC_CHARSETP): Deleted.
187
188 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
189
190         * char-ucs.h (MAX_CHAR_GT): Updated.
191
192 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
193
194         * text-coding.c: Sync with XEmacs 21.4.10.
195
196 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
197
198         * mule-charset.c (Vcharset_china3_jef): Deleted.
199         (Qchina3_jef): Deleted.
200         (syms_of_mule_charset): Don't define `china3-jef'.
201         (complex_vars_of_mule_charset): Likewise.
202
203         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
204         (MIN_CHAR_CHINA3_JEF): Comment out.
205         (MAX_CHAR_CHINA3_JEF): Comment out.
206
207 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
208
209         * mule-charset.c (Vcharset_ucs_gb): New variable.
210         (Qucs_gb): New variable.
211         (syms_of_mule_charset): Add new symbol `ucs-gb'.
212         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
213
214         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
215
216 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
217
218         * mule-charset.c (charset_code_point): if a coded-charset has a
219         final-byte, don't inherit the builtin range of the mother CCS.
220
221 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
222
223         * mule-charset.c (charset_code_point): Fix problem about
224         inheritance.
225
226 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
227
228         * mule-charset.c (decode_builtin_char): Reorganized.
229
230 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
231
232         * text-coding.c (char_encode_as_entity_reference): Modify for
233         `charset_code_point'.
234         (char_encode_shift_jis): Likewise.
235         (char_encode_big5): Likewise.
236         (char_encode_utf8): Likewise.
237         (char_encode_iso2022): Likewise.
238
239         * mule-charset.c (charset_code_point): Add new argument
240         `defined_only'.
241         (Fencode_char): Add new optional argument `defined_only'.
242
243         * chartab.c (put_char_table): Modify for `charset_code_point'.
244
245         * char-ucs.h (charset_code_point): Add new argument
246         `defined_only'.
247         (encode_char_1): Modify for `charset_code_point'.
248
249 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
250
251         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
252         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
253
254 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
255
256         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
257         (Qjis_x0208): Likewise.
258         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
259         XCHARSET_FINAL(charset).
260         (charset_code_point): Modify condition for final-byte based
261         builtin-chars.
262         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
263         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
264         in UTF-2000; specify `=jis-x0208' as the mother of
265         `japanese-jisx0208-1978', `japanese-jisx0208' and
266         `japanese-jisx0208-1990' in UTF-2000.
267
268 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
269
270         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
271
272 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
273
274         * text-coding.c (decode_coding_utf16): Support UTF-16.
275         (char_encode_utf16): Fixed.
276
277 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
278
279         * text-coding.c (Qutf16): New variable in MULE.
280         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
281         (Fcoding_system_type): Add `utf-16' in MULE.
282         (struct detection_state): Add a structure for utf16 in MULE.
283         (detect_coding_type): Setup st->utf16.mask in MULE.
284         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
285         MULE.
286         (reset_encoding_stream): Use `char_encode_utf16' and
287         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
288         (detect_coding_utf16): New function [incomplete].
289         (decode_coding_utf16): New function [support only UCS-2].
290         (char_encode_utf16): New function.
291         (char_finish_utf16): New function.
292         (syms_of_file_coding): Add new symbol `utf-16'; setup
293         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
294
295         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
296         UTF-2000.
297         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
298         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
299
300 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
301
302         * chartab.c (put_char_table): When a charset is specified as a
303         range in UTF-2000, don't support builtin characters.
304
305 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
306
307         * mule-charset.c (decode_defined_char): Don't refer external
308         database if Qunbound or Qnil are found.
309         (Fsave_charset_mapping_table): Don't define it if
310         HAVE_CHISE_CLIENT is not defined.
311         (Freset_charset_mapping_table): New function.
312         (load_char_decoding_entry_maybe): Store Qnil if a character is not
313         found in external database.
314         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
315         if HAVE_CHISE_CLIENT is not defined; add new builtin function
316         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
317
318 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
319
320         * text-coding.c (decode_coding_utf8): Check CCS is specified or
321         not.
322
323 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
324
325         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
326         Q_lowercase, Q_uppercase in UTF-2000.
327
328         * chartab.c (get_char_table): Add special code for the standard
329         case table to use character attribute `->downcase' and
330         `->uppercase' for case operations in UTF-2000.
331
332         * casetab.c (Qflippedcase): New variable in UTF-2000.
333         (Q_lowercase): Likewise.
334         (Q_uppercase): Likewise.
335         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
336         and `->uppercase' in UTF-2000.
337         (complex_vars_of_casetab): Assign attribute name `downcase' to
338         downcase and CANON table of Vstandard_case_table in UTF-2000;
339         assign attribute name `flippedcase' to upcase and EQV table of
340         Vstandard_case_table in UTF-2000.
341
342 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
343
344         * text-coding.c (decode_add_er_char): Support isolated-chars.
345         (char_encode_as_entity_reference): Likewise.
346
347 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
348
349         * emacs.c (Vutf_2000_lisp_directory): New variable.
350         (Vconfigure_utf_2000_lisp_directory): Likewise.
351         (complex_vars_of_emacs): Add new variable
352         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
353
354 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
355
356         * char-ucs.h (DECODE_CHAR): Delete special code for
357         `chinese-big5-1' and `chinese-big5-2'.
358
359         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
360         (Qbig5_2): Likewise.
361         (decode_defined_char): Support CONVERSION_BIG5_1 and
362         CONVERSION_BIG5_2.
363         (decode_builtin_char): Likewise.
364         (charset_code_point): Likewise.
365         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
366         'conversion in UTF-2000.
367         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
368         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
369         `chinese-big5-2' as children of `chinese-big5'.
370
371         * char-ucs.h (CONVERSION_BIG5_1): New macro.
372         (CONVERSION_BIG5_2): New macro.
373
374 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
375
376         * text-coding.c (char_encode_big5): Support entity-reference.
377
378 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
379
380         * text-coding.c (char_encode_as_entity_reference): New function.
381         (char_encode_utf8): Use `char_encode_as_entity_reference'.
382
383 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
384
385         * text-coding.c (decode_coding_big5): Support entity-reference
386         decoding feature.
387
388 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
389
390         * text-coding.c (allocate_coding_system): Initialize initial
391         charsets for CODESYS_UTF8.
392         (Fmake_coding_system): Accept charset-g0, charset-g1 and
393         charset-g2 for CODESYS_UTF8.
394         (decode_coding_utf8): Use charset-g0.
395         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
396         to force variants to map to UCS.
397
398 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
399
400         * text-coding.c (Qutf_8_mcs): New variable.
401         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
402         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
403         instead of `utf-8' in UTF-2000.
404
405 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
406
407         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
408         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
409         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
410         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
411         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
412         CONVERSION_96x96x96x96 are introduced.
413         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
414         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
415         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
416
417         * char-ucs.h (CONVERSION_94): New macro.
418         (CONVERSION_96): New macro.
419         (CONVERSION_94x94): New macro.
420         (CONVERSION_96x96): New macro.
421         (CONVERSION_94x94x94): New macro.
422         (CONVERSION_96x96x96): New macro.
423         (CONVERSION_94x94x94x60): New macro.
424         (CONVERSION_94x94x94x94): New macro.
425         (CONVERSION_96x96x96x96): New macro.
426
427 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
428
429         * chartab.c (Vcharacter_variant_table): Deleted.
430         (Fchar_variants): Use character-attribute `->ucs-variants' instead
431         of `Vcharacter_variant_table'.
432         (Fput_char_attribute): Likewise.
433         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
434         (complex_vars_of_chartab): Likewise.
435
436 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
437
438         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
439
440         * fns.c (Qideographic_structure): New variable.
441         (Qkeyword_char): New variable.
442         (ids_format_unit): New function.
443         (Fideographic_structure_to_ids): New function.
444         (syms_of_fns): Add new symbols `ideographic-structure' and
445         `:char'; add new builtin function `ideographic-structure-to-ids'.
446
447         * data.c (Fchar_ref_p): New function.
448         (syms_of_data): Add new builtin function `char-ref-p'.
449
450         * chartab.h: Add an EXFUN for `Ffind_char'.
451
452 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
453
454         * text-coding.c (Vcharacter_composition_table): Deleted.
455         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
456         in every UTF-2000.
457
458         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
459         UTF-2000.
460         (Vcharacter_composition_table): Deleted.
461         (Fget_composite_char): Use the implementation for external-DB
462         support in every UTF-2000.
463         (Fput_char_attribute): Likewise.
464         (char_attribute_system_db_file): Don't define if external-DB
465         feature is not available.
466         (Fsave_char_attribute_table): Likewise.
467         (Fmount_char_attribute_table): Likewise.
468         (Fclose_char_attribute_table): Likewise.
469         (Freset_char_attribute_table): Likewise.
470         (Fload_char_attribute_table): Likewise.
471         (syms_of_chartab): Don't define `save-char-attribute-table',
472         `mount-char-attribute-table', `reset-char-attribute-table',
473         `close-char-attribute-table' and `load-char-attribute-table' if
474         external-DB feature is not available.
475         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
476
477 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
478
479         * text-coding.c (Qcomposition): Add extern if external-DB feature
480         is supported.
481         (Vcharacter_composition_table): Don't add extern if external-DB
482         feature is supported.
483         (COMPOSE_ADD_CHAR): Modify for new data-representation of
484         character composition rule if external-DB feature is supported.
485
486         * chartab.c (Vcharacter_composition_table): Don't define if
487         external-DB feature is supported.
488         (Qcomposition): New variable.
489         (Fget_composite_char): New implementation for external-DB support.
490         (Fput_char_attribute): Use `composition' property of each
491         character instead of `Vcharacter_composition_table' to store
492         character-composition rules if external-DB feature is supported.
493         (syms_of_chartab): Add new symbol `composition'.
494         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
495         external-DB feature is supported.
496
497 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
498
499         * chartab.c (Vchar_db_stingy_mode): New variable.
500         (load_char_attribute_maybe): Close database if
501         Vchar_db_stingy_mode is not NIL.
502         (Fload_char_attribute_table_map_function): Use
503         `get_char_id_table_0' instead of `get_char_id_table'.
504         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
505
506         * chartab.h (get_char_id_table_0): New inline function.
507         (get_char_id_table): Use `get_char_id_table_0'.
508
509 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
510
511         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
512         and `COMPOSE_ADD_CHAR'.
513         (decode_coding_iso2022): Use `decode_flush_er_chars'.
514
515 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
516
517         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
518         instead of `DECODE_ADD_UCS_CHAR'.
519         (COMPOSE_ADD_CHAR): Likewise.
520
521 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
522
523         * text-coding.c (decode_flush_er_chars): New inline function.
524         (decode_add_er_char): New function.
525         (decode_coding_utf8): Use `decode_flush_er_chars' and
526         `decode_add_er_char'.
527
528 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
529
530         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
531         done before `decode_output_utf8_partial_char'.
532
533         * mule-charset.c (complex_vars_of_mule_charset): Specify
534         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
535         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
536
537 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
538
539         * mule-charset.c (decode_defined_char): New function; search
540         mother.
541         (decode_builtin_char): Don't search mother if
542         XCHARSET_MAX_CODE(charset) == 0.
543         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
544         == 0 even if code >= XCHARSET_MAX_CODE(charset).
545         (Fdecode_char): Use `decode_defined_char' instead of
546         `DECODE_DEFINED_CHAR'.
547         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
548         mother of `Vcharset_ucs_jis'.
549
550         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
551         instead of `DECODE_DEFINED_CHAR'.
552
553         * char-ucs.h (decode_defined_char): Renamed from
554         `DECODE_DEFINED_CHAR'; changed to normal function.
555         (DECODE_CHAR): Use `decode_defined_char' instead of
556         `DECODE_DEFINED_CHAR'.
557
558         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
559
560 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
561
562         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
563
564         * text-coding.c (Vcoded_charset_entity_reference_alist): New
565         variable.
566         (Quse_entity_reference): New variable.
567         (Qd): New variable.
568         (Qx): New variable.
569         (QX): New variable.
570         (coding_system_description): Add description for
571         `ccs_priority_list'.
572         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
573         (allocate_coding_system): Initialize `ccs_priority_list' in
574         UTF-2000.
575         (Fmake_coding_system): Add description about
576         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
577         (codesys).
578         (Fcoding_system_property): Accept `disable-composition' and
579         `use-entity-reference' in UTF-2000.
580         (struct decoding_stream): Add new member `er_counter' and `er_buf'
581         in UTF-2000.
582         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
583         (decode_coding_utf8): Decode entity-reference if
584         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
585         (char_encode_utf8): Encode non-Unicode characters as
586         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
587         (str->codesys).
588         (syms_of_file_coding): Add new symbols `use-entity-reference',
589         `d', `x', `X'.
590         (vars_of_file_coding): Add new variable
591         `coded-charset-entity-reference-alist'.
592         (complex_vars_of_file_coding): Declare `disable-composition' and
593         `use-entity-reference' to be coding-system-properties in UTF-2000.
594
595         * file-coding.h (struct Lisp_Coding_System): Add new member
596         `use_entity_reference' and `ccs_priority_list'.
597         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
598         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
599         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
600
601 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
602
603         * chartab.c (save_uint8_byte_table): Don't clear the table.
604         (save_uint16_byte_table): Likewise.
605         (save_byte_table): Likewise.
606         (Fmount_char_attribute_table): New function.
607         (syms_of_chartab): Add new builtin function
608         `mount-char-attribute-table'.
609
610 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
611
612         * mule-charset.c (Fsave_charset_mapping_table): Open database as
613         "w+" mode.
614         (load_char_decoding_entry_maybe): Open database as read-only mode.
615
616         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
617         open database as "w+" mode.
618         (load_char_attribute_maybe): Open database as read-only mode.
619         (Fload_char_attribute_table): Likewise.
620
621 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
622
623         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
624         (char_table_description): Delete member `db_file'.
625         (Fmake_char_table): Don't refer `ct->db_file'.
626         (Fcopy_char_table): Likewise.
627         (Fsave_char_attribute_table): Likewise.
628         (Fclose_char_attribute_table): Likewise.
629         (Freset_char_attribute_table): Likewise.
630         (load_char_attribute_maybe): Likewise.
631         (Fload_char_attribute_table): Likewise.
632
633         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
634
635 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
636
637         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
638         (Fsave_char_attribute_table): Don't check `ct->db_file' if
639         `ct->db' is living.
640         (load_char_attribute_maybe): Likewise.
641         (Fload_char_attribute_table): Likewise.
642
643 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
644
645         * chartab.c (Fclose_char_attribute_table): Set Qnil on
646         `ct->db_file' unconditionally.
647
648 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
649
650         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
651         UTF-2000.
652         (char_table_description): Add description for `db_file' and `db'
653         in UTF-2000.
654         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
655         UTF-2000.
656         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
657         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
658         (Fclose_char_attribute_table): New function.
659         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
660         (load_char_attribute_maybe): Change interface; use `cit->db_file'
661         and `cit->db'.
662         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
663         (syms_of_chartab): Add new builtin function
664         `Fclose_char_attribute_table'.
665
666 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
667
668         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
669         `db' in UTF-2000.
670         (load_char_attribute_maybe): Change interface.
671         (get_char_id_table): Modify for `load_char_attribute_maybe'.
672
673 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
674
675         * database.h: Add an EXFUN for `Fdatabase_live_p'.
676
677 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
678
679         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
680         instead of `DECODE_CHAR' for mother; don't use special code for
681         chinese-big5 to use code space of chinese-big5-1 and
682         chinese-big5-2.
683         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
684         `MAX_CHAR_BIG5_CDP' for chinese-big5.
685
686         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
687         (MAX_CHAR_BIG5_CDP): Revival.
688
689 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
690
691         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
692         the XLFD registry-encoding name of `chinese-big5'.
693
694 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
695
696         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
697         (Qchinese_big5_cdp): Deleted.
698         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
699         (complex_vars_of_mule_charset): Delete coded-charset
700         `chinese-big5-cdp'.
701
702         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
703         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
704         `CHARSET_ID_OFFSET - n' for private CCS.
705         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
706         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
707         of `MIN_LEADING_BYTE'.
708         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
709         `(CHARSET_ID_OFFSET - 97)'.
710         (MIN_CHAR_BIG5_CDP): Deleted.
711         (MAX_CHAR_BIG5_CDP): Deleted.
712
713 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
714
715         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
716
717 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
718
719         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
720         (vars_of_mule): Add new variable `utf-2000-version' [moved from
721         chartab.c].
722
723         * chartab.c (Vutf_2000_version): Moved to mule.c.
724         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
725
726 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
727
728         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
729         when HAVE_CHISE_CLIENT is not defined.
730
731         * mule.c (vars_of_mule): Provide feature `chise' when
732         HAVE_CHISE_CLIENT is defined.
733
734 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
735
736         * config.h.in (UTF2000): Add comment.
737         (HAVE_CHISE_CLIENT): New macro.
738
739 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
740
741         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
742         CONSP.
743         (Fput_char_attribute): Likewise.
744         (char_attribute_system_db_file): Encode file-name of attribute.
745         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
746         the initial value.
747
748 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
749
750         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
751         (Fsave_charset_mapping_table): Use
752         `char_attribute_system_db_file'.
753         (load_char_decoding_entry_maybe): Likewise.
754
755         * chartab.h (Qsystem_char_id): New external variable.
756         (char_attribute_system_db_file): New prototype.
757
758         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
759         (char_attribute_system_db_file): New function.
760         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
761         (Freset_char_attribute_table): Likewise.
762         (load_char_attribute_maybe): Likewise.
763         (Fload_char_attribute_table): Likewise.
764         (syms_of_chartab): Add new symbol `system-char-id'.
765
766 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
767
768         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
769         `XCHARSET_GRAPHIC(ccs)'.
770
771 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
772
773         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
774
775 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
776
777         * chartab.c (Q_ucs_variants): New variable.
778         (syms_of_chartab): Add new symbol `->ucs-variants'.
779         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
780         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
781         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
782
783         * mule-charset.c (load_char_decoding_entry_maybe): New function.
784
785         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
786         `HAVE_DATABASE' is defined.
787         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
788         `HAVE_DATABASE' is defined.
789
790 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
791
792         * chartab.c (Fsave_char_attribute_table): Don't clear internal
793         attribute-table.
794         (Freset_char_attribute_table): New function.
795         (syms_of_chartab): Add new builtin function
796         `reset-char-attribute-table'.
797
798 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
799
800         * chartab.c (load_char_attribute_maybe): Don't make directories.
801
802 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
803
804         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
805
806         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
807         for decoding-table.
808
809 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
810
811         * mule-charset.c (Fsave_charset_mapping_table): Use
812         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
813
814         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
815         instead of `XCHARSET_CHARS'.
816
817 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
818
819         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
820         (XCHARSET_BYTE_SIZE): Likewise.
821
822         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
823         mule-charset.c].
824         (XCHARSET_BYTE_SIZE): Likewise.
825
826 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
827
828         * chartab.c (Fput_char_attribute): Use exec-directory instead of
829         data-directory to store database.
830         (Fsave_char_attribute_table): Likewise.
831         (load_char_attribute_maybe): Likewise.
832         (Fload_char_attribute_table): Likewise.
833
834 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
835
836         * mule-charset.c (Fsave_charset_mapping_table): New function.
837         (syms_of_mule_charset): Add new builtin function
838         `save-charset-mapping-table'.
839
840 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
841
842         * char-ucs.h (decoding_table_check_elements): Delete prototype.
843         (get_ccs_octet_table): New inline function.
844         (put_ccs_octet_table): Likewise.
845         (decoding_table_put_char): Use `get_ccs_octet_table' and
846         `put_ccs_octet_table'.
847         (decoding_table_remove_char): Use `decoding_table_put_char'.
848         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
849
850         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
851         into encoding_table.
852         (make_charset): Use Qunbound instead Qnil as initial value of
853         decoding_table.
854
855 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
856
857         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
858         element is Qunloaded.
859         (map_over_uint16_byte_table): Likewise.
860         (map_over_byte_table): Likewise.
861         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
862         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
863         database support, load encoding-table of the specified
864         coded-charset if it is not loaded yet.
865         (save_uint8_byte_table): New function of UTF-2000 with external
866         database support.
867         (save_uint16_byte_table): Likewise.
868         (save_byte_table): Likewise.
869         (Fput_char_attribute): Don't store value into external database
870         even if the external database feature is supported in UTF-2000;
871         set `attribute' as name of char-table if the external database
872         feature is supported.
873         (Fsave_char_attribute_table): New function in UTF-2000.
874         (syms_of_chartab): Add new builtin function
875         `save-char-attribute-table' in UTF-2000.
876
877 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
878
879         * chartab.c (char_attribute_table_to_put): New variable in
880         UTF-2000.
881         (Qput_char_table_map_function): Likewise.
882         (value_to_put): Likewise.
883         (Fput_char_table_map_function): New function in UTF-2000.
884         (put_char_table): Use `Fmap_char_attribute' for
885         CHARTAB_RANGE_CHARSET in UTF-2000.
886         (Fput_char_attribute): Store symbol instead of string in
887         `XCHAR_TABLE_NAME (table)'.
888         (load_char_attribute_maybe): Likewise.
889         (syms_of_chartab): Add new symbol/function
890         `put-char-table-map-function'.
891
892 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
893
894         * database.h: Add new EXFUN for `Fmap_database'.
895
896         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
897         (syms_of_database): Likewise.
898
899         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
900         UTF-2000.
901         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
902         (XCHAR_TABLE_UNLOADED): Likewise.
903
904         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
905         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
906         HAVE_DATABASE is defined.
907         (char_attribute_table_to_load): New variable of UTF-2000 with
908         external database support.
909         (Qload_char_attribute_table_map_function): Likewise.
910         (Fload_char_attribute_table_map_function): New function of
911         UTF-2000 with external database support.
912         (Fload_char_attribute_table): New function of UTF-2000.
913         (Fmap_char_attribute): Call Fload_char_attribute_table if
914         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
915         (syms_of_chartab): Add new symbol and function
916         `load-char-attribute-table-map-function' in UTF-2000 with external
917         database support; add new function `load-char-attribute-table' in
918         UTF-2000.
919
920 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
921
922         * chartab.h (load_char_attribute_maybe): New prototype for
923         UTF-2000 with DATABASE support.
924         (get_char_id_table): Use `load_char_attribute_maybe' if
925         HAVE_DATABASE is defined.
926
927         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
928         with DATABASE support.
929
930 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
931
932         * chartab.c (Fput_char_attribute): Use S-expression as key of
933         external database.
934
935         * chartab.h (get_char_id_table): Use S-expression as key of
936         external database.
937
938 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
939
940         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
941         if an element is not loaded, load the corresponding attributes
942         from an external database.
943         (map_over_uint16_byte_table): Likewise.
944         (map_over_byte_table): Likewise.
945         (map_char_table): Modify for `map_over_uint8_byte_table',
946         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
947         element is not loaded, load the corresponding attributes from an
948         external database.
949         (Fput_char_attribute): Change initial values to Qunloaded.
950
951         * chartab.h (get_char_id_table): If a character attribute is not
952         loaded and the attribute value is not found in an external
953         database, store Qunbound as the attribute value.
954
955 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
956
957         * chartab.c (BT_UINT8_unloaded): New macro.
958         (UINT8_VALUE_P): Accept Qunloaded.
959         (UINT8_ENCODE): Likewise.
960         (UINT8_DECODE): Likewise.
961         (BT_UINT16_unloaded): New macro.
962         (UINT16_VALUE_P): Accept Qunloaded.
963         (UINT16_ENCODE): Likewise.
964         (UINT16_DECODE): Likewise.
965         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
966         BT_UINT16_unloaded.
967         (mark_char_table): Mark `ct->name' in UTF-2000.
968         (char_table_description): Add `name' in UTF-2000.
969         (Fmake_char_table): Initialize `ct->name'.
970         (Fcopy_char_table): Copy `ct->name'.
971         (Fput_char_attribute): Store value into an external database if
972         HAVE_DATABASE is defined.
973
974         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
975         UTF-2000.
976         (CHAR_TABLE_NAME): New macro in UTF-2000.
977         (XCHAR_TABLE_NAME): New macro in UTF-2000.
978         (get_char_id_table): Try to read an external database if Qunloaded
979         is stored in a table.
980
981         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
982         Qunloaded.
983
984 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
985
986         * database.h: Add EXFUN definitions for Fopen_database,
987         Fput_database, Fget_database and Fclose_database.
988
989         * data.c (Qunloaded): New variable in UTF-2000.
990
991         * lisp.h (Qunloaded): New variable in UTF-2000.
992
993 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
994
995         * mule-charset.c (put_char_ccs_code_point): Modify for
996         `decoding_table_remove_char' and `decoding_table_put_char'.
997         (remove_char_ccs): Modify for `decoding_table_remove_char'.
998
999         * char-ucs.h (decoding_table_remove_char): Change arguments to
1000         hide decoding_table vector.
1001         (decoding_table_put_char): Likewise.
1002
1003 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1004
1005         * mule-charset.c (decoding_table_remove_char): Moved to
1006         char-ucs.h.
1007         (decoding_table_put_char): Likewise.
1008
1009         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1010         from mule-charset.c].
1011         (decoding_table_remove_char): New inline function [moved from
1012         mule-charset.c].
1013         (decoding_table_put_char): Likewise.
1014
1015 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1016
1017         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1018         extension.
1019
1020 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1021
1022         * mule-charset.c (decode_builtin_char): Support mother charsets.
1023
1024 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1025
1026         * mule-charset.c (Q94x94x60): New variable.
1027         (charset_code_point): Support conversion `94x94x60'.
1028         (Fmake_charset): Likewise.
1029         (syms_of_mule_charset): Add new symbol `94x94x60'.
1030
1031         * char-ucs.h (CONVERSION_94x94x60): New macro.
1032
1033 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1034
1035         * mule-charset.c (charset_code_point): Unify code about
1036         `code-offset'.
1037
1038 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1039
1040         * mule-charset.c (charset_code_point): Merge code about builtin
1041         characters into code about mother charsets; don't use
1042         `range_charset_code_point'.
1043         (range_charset_code_point): Deleted.
1044
1045 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1046
1047         * mule-charset.c (Qcode_offset): New variable.
1048         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1049         `max-code'; accept new property `code-offset'.
1050         (syms_of_mule_charset): Add new symbol `code-offset'.
1051
1052 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1053
1054         * mule-charset.c (range_charset_code_point): Fixed.
1055
1056 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1057
1058         * mule-charset.c (decode_builtin_char): Change semantics of
1059         code-offset of coded-charset.
1060         (charset_code_point): Likewise.
1061         (range_charset_code_point): Likewise.
1062         (complex_vars_of_mule_charset): Modify for the change.
1063
1064 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1065
1066         * mule-charset.c (Fencode_char): Reverse arguments.
1067
1068         * mule-charset.c (charset_code_point): Fixed.
1069
1070 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1071
1072         * mule-charset.c (Vcharset_mojikyo): Deleted.
1073         (Vcharset_mojikyo_2022_1): Deleted.
1074         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1075         (Qmin_code): New variable in UTF-2000.
1076         (Qmax_code): Likewise.
1077         (Qmother): Likewise.
1078         (Qconversion): Likewise.
1079         (Q94x60): Likewise.
1080         (Qmojikyo): Deleted.
1081         (Qmojikyo_2022_1): Deleted.
1082         (Qmojikyo_pj_{1..22}): Deleted.
1083         (mark_charset): Mark `cs->mother'.
1084         (charset_description): Add description for `mother'.
1085         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1086         new arguments `mother' and `conversion'; use
1087         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1088         (charset_code_point): Moved from char-ucs.h; support `mother'
1089         charset feature.
1090         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1091         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1092         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1093         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1094         allow 2 as the value of `graphic' in UTF-2000; add new properties
1095         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1096         require `final' in UTF-2000; modify for `make_charset'.
1097         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1098         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1099         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1100         (Fencode_char): New function.
1101         (syms_of_mule_charset): Add new builtin function `encode-char' in
1102         UTF-2000; add new symbols `min-code', `max-code', `mother',
1103         `conversion' and `94x60'; delete symbols `mojikyo',
1104         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1105         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1106         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1107         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1108
1109         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1110         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1111
1112         * char-ucs.h (Vcharset_mojikyo): Deleted.
1113         (Vcharset_mojikyo_2022_1): Deleted.
1114         (LEADING_BYTE_MOJIKYO): Deleted.
1115         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1116         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1117         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1118         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1119         add new member `mother'; add new member `conversion'.
1120         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1121         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1122         (CHARSET_MOTHER): New macro.
1123         (CHARSET_CONVERSION): New macro.
1124         (CONVERSION_IDENTICAL): New macro.
1125         (CONVERSION_94x60): New macro.
1126         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1127         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1128         (XCHARSET_MOTHER): New macro.
1129         (XCHARSET_CONVERSION): New macro.
1130         (MIN_CHAR_MOJIKYO): Deleted.
1131         (MAX_CHAR_MOJIKYO): Deleted.
1132         (DECODE_MOJIKYO_2022): Deleted.
1133         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1134         (charset_code_point): Changed to non-inline function.
1135         (encode_char_1): Use `charset_code_point'.
1136         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1137
1138 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1139
1140         * lread.c (read_compiled_function): Fix prototype.
1141         (read_vector): Likewise.
1142
1143 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1144
1145         * lrecord.h (struct lrecord_header): Delete `older'.
1146         (set_lheader_implementation): Delete code for `older'.
1147         (set_lheader_older_implementation): Deleted.
1148         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1149         (OLDER_RECORD_P): Deleted.
1150         (OLDER_RECORD_HEADER_P): Deleted.
1151         (alloc_older_lcrecord): Deleted.
1152         (alloc_older_lcrecord_type): Deleted.
1153
1154         * alloc.c (all_older_lcrecords): Deleted.
1155         (alloc_older_lcrecord): Deleted.
1156         (disksave_object_finalization_1): Delete code for older objects.
1157         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1158         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1159
1160 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1161
1162         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1163         instead of `make_older_vector'.
1164         (put_char_ccs_code_point): Likewise.
1165         (mark_charset): Mark `cs->decoding_table'.
1166         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1167
1168         * lisp.h (make_older_vector): Deleted.
1169         (make_vector_newer): Deleted.
1170
1171         * config.h.in (HAVE_GGC): Deleted.
1172
1173         * alloc.c (make_older_vector): Deleted.
1174         (make_vector_newer_1): Deleted.
1175         (make_vector_newer): Deleted.
1176
1177 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1178
1179         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1180         (Qideograph_daikanwa_2): New variable.
1181         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1182         (complex_vars_of_mule_charset): Add new coded-charset
1183         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1184         `LEADING_BYTE_DAIKANWA'.
1185
1186         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1187         (LEADING_BYTE_DAIKANWA_1): New macro.
1188         (LEADING_BYTE_DAIKANWA_2): New macro.
1189         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1190
1191 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1192
1193         * mule-charset.c (complex_vars_of_mule_charset): Change
1194         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1195         the second revised version.
1196
1197 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1198
1199         * mule-charset.c (Vcharset_ucs_smp): New variable.
1200         (Vcharset_ucs_sip): New variable.
1201         (Qucs_smp): New variable.
1202         (Qucs_sip): New variable.
1203         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1204         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1205         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1206         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1207         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1208         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1209
1210         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1211         (LEADING_BYTE_UCS_SIP): New macro.
1212         (MIN_CHAR_SMP): New macro.
1213         (MAX_CHAR_SMP): New macro.
1214         (MIN_CHAR_SIP): New macro.
1215         (MAX_CHAR_SIP): New macro.
1216
1217 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1218
1219         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1220         utf-2000.
1221
1222 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1223
1224         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1225         value; don't store value into `encoding_table' of `Lisp_Charset'.
1226         (mark_charset): `encoding_table' was deleted.
1227         (charset_description): Likewise.
1228         (make_charset): Likewise.
1229         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1230         `put_char_ccs_code_point'.
1231
1232         * chartab.h (Fput_char_attribute): New EXFUN.
1233
1234         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1235         is unified with normal symbol space.
1236         (Fget_char_attribute): Likewise.
1237         (Fput_char_attribute): Likewise; behavior of
1238         `put_char_ccs_code_point' is changed.
1239
1240         * char-ucs.h: Include "elhash.h".
1241         (Vchar_attribute_hash_table): New external variable.
1242         (struct Lisp_Charset): Delete `encoding_table'.
1243         (CHARSET_ENCODING_TABLE): New implementation; refer
1244         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1245         `Lisp_Charset'.
1246
1247 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1248
1249         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1250         (cs) == 0.
1251
1252 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1253
1254         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1255         `chinese-big5'.
1256
1257 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1258
1259         * chartab.c (uint8_byte_table_description): New constant.
1260         (uint8-byte-table): Use `uint8_byte_table_description'.
1261         (uint16_byte_table_description): New constant.
1262         (uint16-byte-table): Use `uint16_byte_table_description'.
1263
1264 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1265
1266         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1267         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1268
1269 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1270
1271         * mule-charset.c (Vcharset_ucs_ks): New variable.
1272         (Qucs_ks): New variable.
1273         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1274         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1275
1276         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1277
1278 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1279
1280         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1281         (Fdecode_char): Likewise.
1282
1283         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1284         chartab.h.
1285         (Fdefine_char): Modify for Fdecode_char.
1286         (Ffind_char): Likewise.
1287
1288         * mule-charset.c (Fdecode_char): Add new optional argument
1289         `defined-only'.
1290         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1291
1292 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1293
1294         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1295         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1296         (allocate_coding_system): Initialize initial-charsets of
1297         CODESYS_BIG5 in XEmacs UTF-2000.
1298         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1299         CODESYS_BIG5 in XEmacs UTF-2000.
1300         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1301         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1302
1303         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1304         variables.
1305         (Qideograph_hanziku_{1 .. 12}): Likewise.
1306         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1307         .. 12}'.
1308         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1309         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1310         `ideograph-hanziku-{1 .. 12}'.
1311
1312         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1313         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1314         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1315         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1316         (DECODE_DEFINED_CHAR): New inline function.
1317         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1318
1319 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1320
1321         * mule-charset.c (Vcharset_china3_jef): Renamed from
1322         `Vcharset_japanese_jef_china3'.
1323         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1324         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1325         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1326         (syms_of_mule_charset): Rename `china3-jef' from
1327         `japanese-jef-china3'.
1328         (complex_vars_of_mule_charset): Likewise; rename
1329         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1330
1331         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1332         `LEADING_BYTE_JEF_CHINA3'.
1333         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1334         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1335
1336 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1337
1338         * mule-charset.c (encode_builtin_char_1): Comment out special code
1339         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1340
1341         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1342         (MAX_CHAR_MOJIKYO_0): Comment out.
1343         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1344         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1345         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1346         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1347
1348 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1349
1350         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1351         (Qideograph_cbeta): New variable.
1352         (encode_builtin_char_1): Comment out special code for
1353         coded-charset `mojikyo' and `japanese-jef-china3'.
1354         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1355         (complex_vars_of_mule_charset): Add new coded-charset
1356         `ideograph-cbeta'.
1357
1358         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1359         (MIN_CHAR_CBETA): New macro.
1360         (MAX_CHAR_CBETA): New macro.
1361
1362 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1363
1364         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1365         (LEADING_BYTE_JEF_CHINA3): New macro.
1366         (MIN_CHAR_JEF_CHINA3): New macro.
1367         (MAX_CHAR_JEF_CHINA3): Likewise.
1368         (DECODE_CHAR): Fixed.
1369
1370 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1371
1372         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1373         (Qjapanese_jef_china3): New variable.
1374         (encode_builtin_char_1): Support `japanese-jef-china3'.
1375         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1376         (complex_vars_of_mule_charset): Add new coded-charset
1377         `japanese-jef-china3'.
1378
1379 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1380
1381         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1382         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1383         94^4, 96^3, 96^4, 128^n and 256^n set.
1384         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1385         (map_char_table): Likewise.
1386
1387 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1388
1389         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1390         UTF-2000.
1391
1392 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1393
1394         * chartab.h (get_char_id_table): New inline function.
1395
1396         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1397         function.
1398
1399 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1400
1401         * chartab.h (decode_char_table_range): New prototype in XEmacs
1402         UTF-2000.
1403         (put_char_id_table): New inline function in XEmacs UTF-2000.
1404
1405         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1406         function.
1407         (decode_char_table_range): Delete static declaration in XEmacs
1408         UTF-2000.
1409
1410 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1411
1412         * chartab.c (put_char_id_table): Use `put_char_table'.
1413
1414 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1415
1416         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1417         (map_over_uint16_byte_table): Likewise.
1418         (map_over_byte_table): Likewise.
1419         (map_char_table): Modify for `map_over_uint8_byte_table',
1420         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1421         UTF-2000.
1422
1423 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1424
1425         * chartab.c (struct map_char_table_for_charset_arg): New
1426         structure.
1427         (map_char_table_for_charset_fun): New function.
1428         (map_char_table): Use `map_char_table' for encoding_table of
1429         `range->charset'.
1430
1431 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1432
1433         * chartab.c (map_char_table): Check a character is found in
1434         range->charset instead of non default value is defined in
1435         char-table when range is CHARTAB_RANGE_ROW.
1436
1437 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1438
1439         * chartab.c (map_char_id_table): Deleted.
1440         (Fmap_char_attribute): Use `map_char_table' instead of
1441         `map_char_id_table'.
1442
1443 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1444
1445         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1446         UTF-2000.
1447         (update_syntax_table): Deleted in XEmacs UTF-2000.
1448
1449         * syntax.c (find_defun_start): Use `syntax_table' instead of
1450         `mirror_syntax_table' in XEmacs UTF-2000.
1451         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1452         UTF-2000.
1453         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1454         XEmacs UTF-2000.
1455         (Fmatching_paren): Likewise.
1456         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1457         in XEmacs UTF-2000.
1458         (find_start_of_comment): Likewise.
1459         (find_end_of_comment): Likewise.
1460         (Fforward_comment): Likewise.
1461         (scan_lists): Likewise.
1462         (char_quoted): Likewise.
1463         (Fbackward_prefix_chars): Likewise.
1464         (scan_sexps_forward): Likewise.
1465         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1466         (update_syntax_table): Likewise.
1467
1468         * search.c (skip_chars): Use `syntax_table' instead of
1469         `mirror_syntax_table' in XEmacs UTF-2000.
1470         (wordify): Likewise.
1471         (Freplace_match): Likewise.
1472
1473         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1474         `mirror_syntax_table' in XEmacs UTF-2000.
1475         (WORDCHAR_P_UNSAFE): Likewise.
1476         (re_match_2_internal): Likewise.
1477
1478         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1479         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1480
1481         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1482         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1483
1484         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1485         XEmacs UTF-2000.
1486
1487         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1488         UTF-2000.
1489         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1490         (char_table_description): Delete `mirror_table' in XEmacs
1491         UTF-2000.
1492         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1493         UTF-2000.
1494         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1495         (Fcopy_char_table): Likewise.
1496         (put_char_table): Don't call `update_syntax_table' in XEmacs
1497         UTF-2000.
1498
1499         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1500         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1501         (casify_region_internal): Likewise.
1502
1503         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1504
1505         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1506         `mirror_syntax_table' in XEmacs UTF-2000.
1507
1508         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1509         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1510         (Fexpand_abbrev): Likewise.
1511
1512 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1513
1514         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1515
1516 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1517
1518         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1519         (map_over_uint16_byte_table): Likewise.
1520         (map_over_byte_table): Likewise.
1521         (get_char_id_table): Refer `cit->default_value'.
1522         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1523         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1524         of character-id ranges.
1525         (mark_char_table): Mark `ct->default_value'.
1526         (char_table_description): Add `default_value'.
1527         (fill_char_table): Use `default_value'.
1528         (decode_char_table_range): Decode `nil' as
1529         `CHARTAB_RANGE_DEFAULT'.
1530         (get_char_id_table): Refer `cit->default_value'.
1531         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1532         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1533         temporary hack; check value of char-table is bound or not.
1534         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1535
1536         * chartab.h (struct Lisp_Char_Table): Add new member
1537         `default_value' in XEmacs UTF-2000.
1538         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1539         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1540         UTF-2000.
1541
1542 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1543
1544         * chartab.h (Lisp_Char_ID_Table): Deleted.
1545
1546         * chartab.c (char_table_description): Fix typo.
1547         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1548         `Lisp_Char_ID_Table'.
1549
1550 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1551
1552         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1553         `CHAR_ID_TABLE_P'.
1554
1555         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1556         `CHAR_ID_TABLE_P'.
1557
1558         * chartab.h (XCHAR_ID_TABLE): Deleted.
1559         (XSETCHAR_ID_TABLE): Deleted.
1560         (CHAR_ID_TABLE_P): Deleted.
1561
1562         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1563         `CHAR_ID_TABLE_P'.
1564         (Fget_composite_char): Likewise.
1565         (put_char_table): Likewise.
1566         (add_char_attribute_alist_mapper): Fixed.
1567         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1568         `CHAR_ID_TABLE_P'.
1569         (Fget_char_attribute): Likewise.
1570         (Fget_char_attribute): Likewise.
1571         (Fmap_char_attribute): Likewise.
1572
1573         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1574         `CHAR_ID_TABLE_P'.
1575         (encode_char_1): Likewise.
1576
1577 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1578
1579         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1580         `XCHAR_ID_TABLE'.
1581
1582         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1583         instead of `XCHAR_ID_TABLE'.
1584         (remove_char_ccs): Likewise.
1585
1586         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1587         `XCHAR_ID_TABLE'.
1588         (Fget_composite_char): Likewise.
1589         (Fchar_variants): Likewise.
1590         (put_char_table): Likewise.
1591         (add_char_attribute_alist_mapper): Likewise.
1592         (Fchar_attribute_alist): Likewise.
1593         (Fget_char_attribute): Likewise.
1594         (Fput_char_attribute): Likewise.
1595         (Fmap_char_attribute): Likewise.
1596         (Fmap_char_attribute): Likewise.
1597
1598         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1599         `XCHAR_ID_TABLE'.
1600         (encode_char_1): Likewise.
1601
1602 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1603
1604         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1605         `Lisp_Char_ID_Table'.
1606         (mark_char_id_table): Deleted.
1607         (print_char_id_table): Likewise.
1608         (char_id_table_equal): Likewise.
1609         (char_id_table_hash): Likewise.
1610         (char_id_table_description): Likewise.
1611         (char_id_table): Likewise.
1612         (make_char_id_table): Use `Fmake_char_table' and
1613         `fill_char_table'.
1614         (get_char_id_table): Use `Lisp_Char_Table' instead of
1615         `Lisp_Char_ID_Table'.
1616         (put_char_id_table): Likewise.
1617         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1618         `XCHAR_ID_TABLE'.
1619         (Fremove_char_attribute): Likewise.
1620         (syms_of_chartab): Don't define type `char-id-table'.
1621
1622         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1623         (char_id_table): Likewise.
1624         (GC_CHAR_ID_TABLE_P): Likewise.
1625         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1626         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1627         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1628         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1629         (get_char_id_table): Use `Lisp_Char_Table' instead of
1630         `Lisp_Char_ID_Table'.
1631         (put_char_id_table_0): Likewise.
1632         (put_char_id_table): Likewise.
1633
1634 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1635
1636         * chartab.h: Lisp_Byte_Table related codes are moved from
1637         chartab.h.
1638
1639         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1640
1641 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1642
1643         * chartab.h: Don't include "chartab.h".
1644         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1645         (Lisp_Char_ID_Table): Likewise.
1646         (char_id_table): Likewise.
1647         (XCHAR_ID_TABLE): Likewise.
1648         (XSETCHAR_ID_TABLE): Likewise.
1649         (CHAR_ID_TABLE_P): Likewise.
1650         (GC_CHAR_ID_TABLE_P): Likewise.
1651         (get_char_id_table): Likewise.
1652
1653         * char-ucs.h: Include "chartab.h".
1654         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1655         (Lisp_Char_ID_Table): Likewise.
1656         (char_id_table): Likewise.
1657         (XCHAR_ID_TABLE): Likewise.
1658         (XSETCHAR_ID_TABLE): Likewise.
1659         (CHAR_ID_TABLE_P): Likewise.
1660         (GC_CHAR_ID_TABLE_P): Likewise.
1661         (get_char_id_table): Likewise.
1662
1663 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1664
1665         * chartab.c (copy_uint8_byte_table): New function.
1666         (copy_uint16_byte_table): New function.
1667         (copy_byte_table): New function.
1668         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1669         characters to call.
1670         (map_over_uint16_byte_table): Likewise.
1671         (map_over_byte_table): Likewise.
1672         (get_byte_table): Move prototype to chartab.h.
1673         (put_byte_table): Likewise.
1674         (put_char_id_table_0): Moved to chartab.h.
1675         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1676         (char_table_entry_equal): Likewise.
1677         (char_table_entry_hash): Likewise.
1678         (char_table_entry_description): Likewise.
1679         (char_table_entry): Likewise.
1680         (make_char_table_entry): Likewise.
1681         (copy_char_table_entry): Likewise.
1682         (get_non_ascii_char_table_value): Likewise.
1683         (map_over_charset_ascii): Likewise.
1684         (map_over_charset_control_1): Likewise.
1685         (map_over_charset_row): Likewise.
1686         (map_over_other_charset): Likewise.
1687         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1688         (print_char_table): Likewise.
1689         (char_table_equal): Likewise.
1690         (char_table_hash): Likewise.
1691         (char_table_description): Likewise.
1692         (fill_char_table): Likewise.
1693         (Fcopy_char_table): Likewise.
1694         (get_char_table): Likewise.
1695         (Fget_range_char_table): Likewise.
1696         (put_char_table): Likewise.
1697         (map_char_table): Likewise.
1698         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1699         UTF-2000.
1700
1701 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1702
1703         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1704         `Vauto_fill_chars' in XEmacs UTF-2000.
1705
1706         * chartab.h (get_byte_table): New prototype [moved from
1707         chartab.c].
1708         (put_byte_table): Likewise [moved from chartab.c].
1709         (put_char_id_table_0): New inline function [moved from chartab.c].
1710         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1711         (Lisp_Char_Table_Entry): Likewise.
1712         (char_table_entry): Likewise.
1713         (XCHAR_TABLE_ENTRY): Likewise.
1714         (XSETCHAR_TABLE_ENTRY): Likewise.
1715         (CHAR_TABLE_ENTRYP): Likewise.
1716         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1717         (NUM_ASCII_CHARS): Likewise.
1718         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1719         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1720
1721 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1722
1723         * chartab.c (get_char_id_table): Change interface.
1724         (put_char_id_table_0): New function.
1725         (put_char_id_table): Change interface; new implementation.
1726         (Fget_composite_char): Modify for interface change of
1727         `get_char_id_table'.
1728         (Fchar_variants): Likewise.
1729         (add_char_attribute_alist_mapper): Likewise.
1730         (Fchar_attribute_alist): Likewise.
1731         (Fget_char_attribute): Likewise.
1732         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1733         as same as character as the first argument like `put-char-table';
1734         modify for interface change of `put_char_id_table'.
1735         (Fremove_char_attribute): Modify for interface change of
1736         `put_char_id_table'.
1737
1738 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1739
1740         * text-coding.c: Sync up with XEmacs 21.2.41.
1741         (COMPOSE_ADD_CHAR): Modify for interface change of
1742         `get_char_id_table'.
1743
1744         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1745         change of `put_char_id_table'.
1746         (remove_char_ccs): Likewise.
1747
1748         * chartab.h (put_char_id_table): Change interface.
1749
1750         * char-ucs.h (get_char_id_table): Change interface.
1751         (charset_code_point): Modify for interface change of
1752         `get_char_id_table'.
1753         (encode_char_1): Likewise.
1754
1755 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1756
1757         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1758         argument `ccs'.
1759         (map_over_uint16_byte_table): Likewise.
1760         (map_over_byte_table): Likewise.
1761         (map_char_id_table): Add new argument `range' like
1762         `map_char_table'.
1763         (Fmap_char_attribute): Add new argument `range' like
1764         `Fmap_char_table'.
1765
1766 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1767
1768         * chartab.c (map_over_uint8_byte_table): Change interface of
1769         mapping function to use struct chartab_range instead of Emchar.
1770         (map_over_uint16_byte_table): Likewise.
1771         (map_over_byte_table): Likewise.
1772         (map_char_id_table): Likewise.
1773         (struct slow_map_char_id_table_arg): Deleted.
1774         (slow_map_char_id_table_fun): Deleted.
1775         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1776         function `slow_map_char_table_fun' instead of struct
1777         `slow_map_char_id_table_arg' and function
1778         `slow_map_char_id_table_fun'.
1779
1780 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1781
1782         * mule-charset.c: Move char-it-table related codes to chartab.c.
1783         (Vutf_2000_version): Moved to chartab.c.
1784         (Fdefine_char): Likewise.
1785         (Ffind_char): Likewise.
1786         (syms_of_mule_charset): Move types `uint8-byte-table',
1787         `uint16-byte-table', `byte-table' and `char-id-table' to
1788         chartab.c; move functions `char_attribute_list,
1789         `find_char_attribute_table, `char_attribute_alist,
1790         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1791         `map_char_attribute, `define_char, `find_char, `char_variants and
1792         `get_composite_char to chartab.c; move symbols `=>ucs',
1793         `->decomposition', `compat', `isolated', `initial', `medial',
1794         `final', `vertical', `noBreak', `fraction', `super', `sub',
1795         `circle', `square', `wide', `narrow', `small' and `font' to
1796         chartab.c.
1797         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1798         setting codes for `Vcharacter_composition_table' and
1799         `Vcharacter_variant_table' to chartab.c.
1800         (complex_vars_of_mule_charset): Move setting code for
1801         `Vchar_attribute_hash_table' to chartab.c.
1802
1803         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1804         (make_char_id_table): New prototype.
1805         (put_char_id_table): Likewise.
1806         (Fget_char_attribute): Likewise.
1807
1808         * chartab.c: Move char-id-table related code from mule-charset.c.
1809         (Vutf_2000_version): Moved from mule-charset.c.
1810
1811         * char-ucs.h (Qucs): New external variable.
1812         (put_char_ccs_code_point): New prototype.
1813         (remove_char_ccs): Likewise.
1814
1815 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1816
1817         * mule-charset.c (Vcharset_ucs_jis): New variable.
1818         (Qucs_jis): Likewise.
1819         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1820         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1821
1822         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1823
1824 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1825
1826         * mule-charset.c (map_over_uint8_byte_table): New function.
1827         (map_over_uint16_byte_table): Likewise.
1828         (map_over_byte_table): Likewise.
1829         (map_char_id_table): Likewise.
1830         (slow_map_char_id_table_fun): Likewise.
1831         (Fmap_char_attribute): Likewise.
1832         (syms_of_mule_charset): Add new function `map-char-attribute'.
1833
1834 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1835
1836         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1837         (syms_of_mule_charset): Add new function `find-char'.
1838
1839 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1840
1841         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1842         XEmacs UTF-2000.
1843         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1844         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1845         XEmacs UTF-2000.
1846         (complex_vars_of_mule_charset): Add new coded-charset
1847         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1848         `ideograph-gt-pj-*'.
1849
1850         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1851
1852 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1853
1854         * mule-charset.c (encode_builtin_char_1): Purge codes about
1855         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1856         {MIN|MAX}_CHAR_HEBREW.
1857         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1858         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1859
1860         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1861         (MAX_CHAR_GREEK): Purged.
1862         (MIN_CHAR_CYRILLIC): Purged.
1863         (MAX_CHAR_CYRILLIC): Purged.
1864         (MIN_CHAR_HEBREW): Commented out.
1865         (MAX_CHAR_HEBREW): Likewise.
1866
1867 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1868
1869         * mule-charset.c (Qto_ucs): New variable.
1870         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1871         (Fdefine_char): Likewise.
1872         (syms_of_mule_charset): Add new symbol `=>ucs'.
1873
1874 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1875
1876         * mule-charset.c (Fdecode_char): Fixed.
1877
1878 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1879
1880         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1881         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1882         "tcvn5712-1".
1883
1884 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1885
1886         * mule-charset.c (Vcharset_ucs_big5): New variable.
1887         (Qucs_big5): Likewise.
1888         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1889         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1890
1891         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1892
1893 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1894
1895         * mule-charset.c (decode_builtin_char): Check Big5 code range
1896         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1897
1898 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1899
1900         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1901         (Qchinese_gb12345): Likewise.
1902         (Fdecode_builtin_char): Fixed.
1903         (syms_of_mule_charset): Add `chinese-gb12345'.
1904         (complex_vars_of_mule_charset): Add coded-charset
1905         `chinese-gb12345'.
1906
1907         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1908         (LEADING_BYTE_CHINESE_GB12345): New macro.
1909
1910 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1911
1912         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1913         and `latin-viscii-upper' for `latin-viscii'.
1914
1915 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1916
1917         * mule-charset.c (Fdecode_builtin_char): Comment out
1918         regularization code for ISO-IR GR representation.
1919
1920 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1921
1922         * mule-charset.c (decode_builtin_char): New function; renamed from
1923         `make_builtin_char'; return -1 instead of signal.
1924         (Fdecode_builtin_char): Use `decode_builtin_char'.
1925
1926         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1927         `make_builtin_char'.
1928         (DECODE_CHAR): Use `decode_builtin_char' instead of
1929         `make_builtin_char'; use mapping table of `chinese-big5' for
1930         `chinese-big5-{1,2}'.
1931
1932 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1933
1934         * text-coding.c (char_encode_big5): New function.
1935         (char_finish_big5): Likewise.
1936         (reset_encoding_stream): Use `char_encode_big5' and
1937         `char_finish_big5' for CODESYS_BIG5.
1938         (mule_encode): Don't use `encode_coding_big5'.
1939         (encode_coding_big5): Deleted.
1940
1941 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1942
1943         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1944         0x81- in XEmacs UTF-2000.
1945         (detect_coding_big5): Likewise.
1946
1947 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1948
1949         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1950         generate character-id if the CCS property does not have
1951         corresponding predefined character.
1952         (make_builtin_char): Return -1 if corresponding predefined
1953         character is not found.
1954         (Fdecode_char): Return nil if corresponding character is not
1955         found.
1956         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1957         don't map to builtin ucs space.
1958
1959 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1960
1961         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1962         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1963
1964 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1965
1966         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1967         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1968         (Qideograph_gt): Likewise.
1969         (Qideograph_gt_pj_{1..11}): Likewise.
1970         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1971         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1972         `ideograph-gt-pj-11'.
1973         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1974         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1975         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1976
1977         * char-ucs.h (LEADING_BYTE_GT): New macro.
1978         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1979         (MIN_CHAR_GT): Likewise.
1980         (MAX_CHAR_GT): Likewise.
1981
1982 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1983
1984         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1985         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1986
1987         * doprnt.c (unsigned_int_converters): Add `c'.
1988         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1989
1990         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1991         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1992         `MIN_CHAR_MOJIKYO'.
1993         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1994         (MAX_CHAR_MOJIKYO_0): New macro.
1995         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1996
1997 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1998
1999         * mule-charset.c (Fdefine_char): Delete cemented out code.
2000         (encode_builtin_char_1): Modify for new allocation of builtin
2001         Mojikyo characters.
2002
2003         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2004
2005 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2006
2007         * mule-charset.c (Vcharset_ucs_cns): New variable.
2008         (Qucs_cns): New variable.
2009         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2010         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2011
2012 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2013
2014         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2015
2016 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2017
2018         * search.c (search_buffer): Make `charset_base_code' as
2019         character-id >> 6 to eliminate the corresponding last byte in
2020         UTF-8 representation [I'm not sure it is right thing].
2021         (boyer_moore): Likewise.
2022
2023 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2024
2025         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2026         representation in MULE.
2027
2028 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2029
2030         * text-coding.c (Fmake_coding_system): Use
2031         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2032         `EXTERNAL_PROPERTY_LIST_LOOP'.
2033
2034 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2035
2036         * text-coding.c (decode_output_utf8_partial_char): New function.
2037         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2038
2039 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2040
2041         * text-coding.c (decode_coding_utf8): Output original byte
2042         sequence if it is broken; change order of conditions.
2043
2044         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2045         of conditions.
2046
2047         * mb-multibyte.h (BYTE_ASCII_P):
2048         Use bit ops for char-signedness safety.
2049         (BYTE_C0_P): Use bit ops for char-signedness safety.
2050         (BYTE_C1_P): Use bit ops for char-signedness safety.
2051
2052         * character.h: (XCHAR_OR_CHAR_INT):
2053         Always use inline function.
2054         Remove redundant type checking assert() - XINT will abort quite
2055         nicely.
2056
2057 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2058
2059         * text-coding.c: (Fencode_shift_jis_char):
2060         (Fencode_big5_char):
2061         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2062         Replace 0 with '\0' when working with bytes.
2063         Replace initial "(" with "\(" in docstrings.
2064
2065         (Fmake_coding_system):
2066         When type is ccl and value is vector, register it with a proper
2067         symbol.  And checks whether the given ccl program is valid.
2068         (mule_decode): When calling ccl_driver, if src indicates
2069         NULL pointer, set an empty string instead.
2070         (mule_encode): Likewise.
2071
2072         (detect_eol_type):
2073         (detect_coding_sjis):
2074         (decode_coding_sjis):
2075         (detect_coding_big5):
2076         (decode_coding_big5):
2077         (detect_coding_ucs4):
2078         (decode_coding_ucs4):
2079         (detect_coding_utf8):
2080         (decode_coding_utf8):
2081         (detect_coding_iso2022):
2082         (decode_coding_iso2022):
2083         (decode_coding_no_conversion):
2084         (mule_decode):
2085         Make all detecting and decoding functions take an Extbyte * arg.
2086         (text_encode_generic):
2087         (encode_coding_big5):
2088         (encode_coding_no_conversion):
2089         (mule_encode):
2090         Make all encoding functions take a Bufbyte * arg.
2091         Use size_t instead of unsigned int for memory sizes.
2092         Only cast to unsigned char whenever dereferencing Extbyte *.
2093
2094         (struct lrecord_description fcd_description_1): Use countof.
2095         (complex_vars_of_file_coding):
2096         Use countof instead of sizeof.
2097         Use CHECK_NATNUM instead of CHECK_INT.
2098
2099 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2100
2101         * mule-charset.c (Fget_char_attribute): Add new optional argument
2102         `default-value'.
2103         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2104         (remove_char_ccs): Likewise.
2105
2106 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2107
2108         * text-coding.c (char_encode_shift_jis): New implementation in
2109         UTF-2000.
2110         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2111         ...)'.
2112
2113         * mule-charset.c (Vcharset_chinese_big5): New variable in
2114         UTF-2000.
2115         (Qchinese_big5): New variable in UTF-2000.
2116         (BIG5_SAME_ROW): New macro in UTF-2000.
2117         (make_builtin_char): Use builtin characters of
2118         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2119         characters of `Vcharset_chinese_big5'.
2120         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2121         (complex_vars_of_mule_charset): Add new coded-charset
2122         `chinese-big5' in UTF-2000.
2123
2124         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2125         (Vcharset_chinese_big5): New external variable declaration.
2126         (Vcharset_japanese_jisx0208_1990): Likewise.
2127
2128 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2129
2130         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2131         function.
2132         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2133
2134 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2135
2136         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2137         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2138         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2139         `mojikyo-pj-*'.
2140
2141 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2142
2143         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2144
2145 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2146
2147         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2148         to 0.17.
2149
2150 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2151
2152         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2153         for `CHARSET_BY_ATTRIBUTES'.
2154         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2155         `CHARSET_BY_ATTRIBUTES'.
2156
2157         * text-coding.c (struct decoding_stream): Rename member `CH' to
2158         `CPOS'.
2159         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2160         (decode_coding_sjis): Likewise.
2161         (decode_coding_big5): Likewise.
2162         (decode_coding_ucs4): Likewise.
2163         (decode_coding_utf8): Likewise.
2164         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2165         `CHARSET_BY_ATTRIBUTES'.
2166         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2167         `str->counter'; decode 3, 4 bytes sets.
2168         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2169         sets.
2170         (decode_coding_no_conversion): Use `str->cpos' instead of
2171         `str->ch'.
2172
2173         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2174         (Qmojikyo_2022_1): New variable.
2175         (make_charset): Don't use `CHARSET_TYPE_*'.
2176         (range_charset_code_point): Support coded-charset
2177         `mojikyo-2022-1'.
2178         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2179         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2180         `CHARSET_BY_ATTRIBUTES'.
2181         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2182         `CHARSET_BY_ATTRIBUTES'.
2183         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2184         (complex_vars_of_mule_charset): Add new coded-charset
2185         `mojikyo-2022-1'.
2186
2187         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2188         interface; changed to inline function.
2189
2190         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2191         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2192         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2193         (CHARSET_TYPE_94): Deleted.
2194         (CHARSET_TYPE_94X94): Deleted.
2195         (CHARSET_TYPE_96): Deleted.
2196         (CHARSET_TYPE_96X96): Deleted.
2197         (CHARSET_TYPE_128): Deleted.
2198         (CHARSET_TYPE_128X128): Deleted.
2199         (CHARSET_TYPE_256): Deleted.
2200         (CHARSET_TYPE_256X256): Deleted.
2201         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2202         to inline function.
2203         (DECODE_MOJIKYO_2022): New inline function.
2204         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2205         `Vcharset_mojikyo_2022_1'.
2206
2207 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2208
2209         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2210         instead of `EQ'.
2211         (put_byte_table): Likewise.
2212         (char_id_table_equal): Use `get_byte_table' [new implementation].
2213
2214 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2215
2216         * mule-charset.c: Include <limits.h> in UTF-2000.
2217         (BT_UINT8_MIN): New macro in UTF-2000.
2218         (BT_UINT8_MAX): New macro in UTF-2000.
2219         (BT_UINT8_t): New macro in UTF-2000.
2220         (BT_UINT8_nil): New macro in UTF-2000.
2221         (BT_UINT8_unbound): New macro in UTF-2000.
2222         (INT_UINT8_P): New inline function in UTF-2000.
2223         (UINT8_VALUE_P): New inline function in UTF-2000.
2224         (UINT8_ENCODE): New inline function in UTF-2000.
2225         (UINT8_DECODE): New inline function in UTF-2000.
2226         (mark_uint8_byte_table): New function in UTF-2000.
2227         (print_uint8_byte_table): New function in UTF-2000.
2228         (uint8_byte_table_equal): New function in UTF-2000.
2229         (uint8_byte_table_hash): New function in UTF-2000.
2230         (make_uint8_byte_table): New function in UTF-2000.
2231         (uint8_byte_table_same_value_p): New function in UTF-2000.
2232         (BT_UINT16_MIN): New macro in UTF-2000.
2233         (BT_UINT16_MAX): New macro in UTF-2000.
2234         (BT_UINT16_t): New macro in UTF-2000.
2235         (BT_UINT16_nil): New macro in UTF-2000.
2236         (BT_UINT16_unbound): New macro in UTF-2000.
2237         (INT_UINT16_P): New inline function in UTF-2000.
2238         (UINT16_VALUE_P): New inline function in UTF-2000.
2239         (UINT16_ENCODE): New inline function in UTF-2000.
2240         (UINT16_DECODE): New inline function in UTF-2000.
2241         (UINT8_TO_UINT16): New inline function in UTF-2000.
2242         (mark_uint16_byte_table): New function in UTF-2000.
2243         (print_uint16_byte_table): New function in UTF-2000.
2244         (uint16_byte_table_equal): New function in UTF-2000.
2245         (uint16_byte_table_hash): New function in UTF-2000.
2246         (make_uint16_byte_table): New function in UTF-2000.
2247         (uint16_byte_table_same_value_p): New function in UTF-2000.
2248         (print_byte_table): New function in UTF-2000.
2249         (byte-table): Use `print_byte_table' as printer.
2250         (make_byte_table): Delete second argument `older'.
2251         (byte_table_same_value_p): New function in UTF-2000.
2252         (copy_byte_table): Deleted.
2253         (get_byte_table): New function in UTF-2000.
2254         (put_byte_table): New function in UTF-2000.
2255         (print_char_id_table): New function in UTF-2000.
2256         (char-id-table): Use `print_char_id_table' as printer.
2257         (make_char_id_table): Delete second argument `older'.
2258         (get_char_id_table): Use `get_byte_table [new implementation].
2259         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2260         implementation].
2261         (Ffind_char_attribute_table): New function in UTF-2000.
2262         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2263         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2264         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2265         (syms_of_mule_charset): Add new function
2266         `find-char-attribute-table' in UTF-2000.
2267
2268         * lrecord.h (enum lrecord_type): Add
2269         `lrecord_type_uint16_byte_table' and
2270         `lrecord_type_uint8_byte_table'.
2271
2272         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2273         (Lisp_Uint8_Byte_Table): New type.
2274         (XUINT8_BYTE_TABLE): New macro.
2275         (XSETUINT8_BYTE_TABLE): New macro.
2276         (UINT8_BYTE_TABLE_P): New macro.
2277         (GC_UINT8_BYTE_TABLE_P): New macro.
2278         (struct Lisp_Uint16_Byte_Table): New structure.
2279         (Lisp_Uint16_Byte_Table): New type.
2280         (XUINT16_BYTE_TABLE): New macro.
2281         (XSETUINT16_BYTE_TABLE): New macro.
2282         (UINT16_BYTE_TABLE_P): New macro.
2283         (GC_UINT16_BYTE_TABLE_P): New macro.
2284
2285 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2286
2287         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2288         (Vcharacter_ideographic_strokes_table): Deleted.
2289         (Vcharacter_total_strokes_table): Deleted.
2290         (Vcharacter_morohashi_daikanwa_table): Deleted.
2291         (Vcharacter_decomposition_table): Deleted.
2292         (Qname): Deleted because it is duplicated.
2293         (Qideographic_radical): Deleted.
2294         (Qideographic_strokes): Deleted.
2295         (Qtotal_strokes): Deleted.
2296         (Qmorohashi_daikanwa): Deleted.
2297         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2298         `ideographic-radical', `ideographic-strokes', `total-strokes',
2299         `morohashi-daikanwa' and `->decomposition'.
2300         (Fget_char_attribute): Likewise.
2301         (Fput_char_attribute): Likewise; use `make-vector' instead of
2302         `make_older_vector' for `->decomposition' value.
2303         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2304         `ideograph-daikanwa'.
2305         (syms_of_mule_charset): Delete builtin symbols `name',
2306         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2307         `morohashi-daikanwa'.
2308         (vars_of_mule_charset): Don't setup
2309         `Vcharacter_ideographic_radical_table',
2310         `Vcharacter_ideographic_strokes_table',
2311         `Vcharacter_total_strokes_table',
2312         `Vcharacter_morohashi_daikanwa_table' and
2313         `Vcharacter_decomposition_table'.
2314
2315 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2316
2317         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2318         `make_older_vector', `make_vector_newer_1' and
2319         `make_vector_newer'.
2320
2321         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2322         `make_older_vector' and `make_vector_newer'.
2323
2324         * config.h.in (HAVE_GGC): New macro.
2325
2326 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2327
2328         * mule-charset.c (struct char_attribute_list_closure): New
2329         structure in UTF-2000.
2330         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2331         (Fchar_attribute_list): Likewise.
2332         (Fset_charset_mapping_table): Use `make_vector_newer'.
2333         (Fdecode_builtin_char): New function in UTF-2000.
2334         (syms_of_mule_charset): Add new function `char-attribute-list' and
2335         `decode-builtin-char' in UTF-2000.
2336
2337         * lisp.h (make_vector_newer): New prototype.
2338
2339         * alloc.c (make_vector_newer_1): New function.
2340         (make_vector_newer): New function.
2341
2342 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2343
2344         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2345         50100)'.
2346
2347 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2348
2349         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2350         (Vcharacter_attribute_table): Deleted.
2351         (Vcharacter_name_table): Deleted.
2352         (put_char_attribute): Deleted.
2353         (remove_char_attribute): Deleted.
2354         (struct char_attribute_alist_closure): New structure.
2355         (add_char_attribute_alist_mapper): New function.
2356         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2357         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2358         (Fget_char_attribute): Likewise.
2359         (Fput_char_attribute): Likewise.
2360         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2361         of `remove_char_attribute'.
2362         (Fdefine_char): Return character.
2363         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2364         and `Vcharacter_name_table'.
2365         (complex_vars_of_mule_charset): Likewise
2366         `Vchar_attribute_hash_table'.
2367
2368 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2369
2370         * character.h (CHARC_CHARSET): New macro.
2371         (CHARC_CHARSET_ID): New macro.
2372         (CHARC_CODE_POINT): New macro.
2373         (CHARC_COLUMNS): New macro.
2374         (CHARC_TO_CHAR): New inline function.
2375         (CHARC_EQ): New inline function.
2376         (CHARC_ASCII_EQ): New inline function.
2377         (CHARC_IS_SPACE): New inline function.
2378         (ASCII_TO_CHARC): New inline function.
2379
2380         * char-ucs.h (encode_char_2): Deleted.
2381         (ENCODE_CHAR): Use `encode_char_1' again.
2382         (breakup_char_1): Likewise.
2383         (CHAR_TO_CHARC): New inline function.
2384
2385         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2386
2387 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2388
2389         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2390         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2391         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2392         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2393         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2394         `CHARC_IS_SPACE'.
2395         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2396
2397         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2398         `CHARC_CODE_POINT'.
2399         (x_output_display_block): Use `CHARC_CHARSET' and
2400         `CHARC_ASCII_EQ'.
2401
2402         * redisplay-tty.c (tty_output_display_block): Use
2403         `CHARC_ASCII_EQ'.
2404         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2405
2406         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2407
2408         * insdel.c (find_charsets_in_charc_string): Use
2409         `CHARC_CHARSET_ID'.
2410         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2411         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2412         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2413         (convert_charc_string_into_malloced_string): Likewise.
2414
2415 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2416
2417         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2418         instead of <Emchar_dynarr *> for buf; use
2419         `convert_bufbyte_string_into_charc_dynarr' instead of
2420         `convert_bufbyte_string_into_emchar_dynarr'; use
2421         `find_charsets_in_charc_string' instead of
2422         `find_charsets_in_emchar_string'.
2423
2424         * redisplay.h:
2425         - Include "character.h".
2426         (struct rune): New member `cglyph'; delete member `chr'.
2427
2428         * redisplay.c (redisplay_text_width_charc_string): New function;
2429         delete `redisplay_text_width_emchar_string'.
2430         (rtw_charc_dynarr): New variable; renamed from
2431         `rtw_emchar_dynarr'.
2432         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2433         `rtw_emchar_dynarr'; use
2434         `convert_bufbyte_string_into_charc_dynarr' instead of
2435         `convert_bufbyte_string_into_emchar_dynarr'; use
2436         `redisplay_text_width_charc_string' instead of
2437         `redisplay_text_width_emchar_string'.
2438         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2439         instead of `rtw_emchar_dynarr'; use
2440         `convert_bufbyte_string_into_charc_dynarr' instead of
2441         `convert_bufbyte_string_into_emchar_dynarr'.
2442         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2443         `redisplay_text_width_charc_string' instead of
2444         `redisplay_text_width_emchar_string'.
2445         (create_text_block): Modify for <struct rune> change.
2446         (generate_formatted_string_db): Likewise.
2447         (create_string_text_block): Likewise.
2448         (pixel_to_glyph_translation): Likewise.
2449
2450         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2451         instead of <const Emchar *>.
2452         (x_text_width): Likewise.
2453         (x_output_display_block): Use <Charc_dynarr *> instead
2454         <Emchar_dynarr *>; modify for <structure rune> change.
2455         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2456         *>.
2457
2458         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2459         <const Emchar *>; use `charc_string_displayed_columns' instead of
2460         `emchar_string_displayed_columns'.
2461         (tty_output_display_block): Use <Charc_dynarr *> instead of
2462         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2463         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2464         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2465         `tty_output_emchar_dynarr_dynarr'.
2466         (tty_output_charc_dynarr): New function; delete
2467         `tty_output_charc_dynarr'.
2468
2469         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2470         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2471         <Emchar_dynarr *> for buf; use
2472         `convert_bufbyte_string_into_charc_dynarr' instead of
2473         `convert_bufbyte_string_into_emchar_dynarr'.
2474
2475         * frame.c (title_string_charc_dynarr): New variable; renamed from
2476         `title_string_emchar_dynarr'.
2477         (generate_title_string): Use `title_string_charc_dynarr' instead
2478         of `title_string_emchar_dynarr'; use
2479         `convert_charc_string_into_malloced_string' instead of
2480         `convert_emchar_string_into_malloced_string'.
2481         (init_frame): Use `title_string_charc_dynarr' instead of
2482         `title_string_emchar_dynarr'.
2483
2484         * console.h:
2485         - Include "character.h".
2486         (struct console_methods): Use <const Charc *> instead of <const
2487         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2488         <Emchar_dynarr *> in output_string_method.
2489
2490         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2491         <Emchar_dynarr *>.
2492
2493         * console-stream.c (stream_text_width): Use <const Charc *>
2494         instead of <const Emchar *>.
2495
2496         * character.h (Charc_dynarr): New type.
2497
2498         * char-ucs.h (structure Charc): New structure; define new type
2499         `Charc'.
2500
2501         * char-lb.h (DECODE_CHAR): New inline function.
2502         (encode_char_1): New inline function.
2503         (ENCODE_CHAR): New macro.
2504         (structure Charc): New structure; define new type `Charc'.
2505
2506         * char-1byte.h (Vcharset_control_1): New macro.
2507         (Vcharset_latin_iso8859_1): New macro.
2508         (DECODE_CHAR): New inline function.
2509         (encode_char_1): New inline function.
2510         (ENCODE_CHAR): New macro.
2511         (structure Charc): New structure; define new type `Charc'.
2512
2513         * insdel.c (find_charsets_in_charc_string): New function; delete
2514         `find_charsets_in_emchar_string'.
2515         (charc_string_displayed_columns): New function; delete
2516         `emchar_string_displayed_columns'.
2517         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2518         `convert_bufbyte_string_into_emchar_dynarr'.
2519         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2520         `convert_charc_string_into_bufbyte_dynarr'.
2521         (convert_charc_string_into_malloced_string): New function; delete
2522         `convert_charc_string_into_malloced_string'.
2523
2524         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2525         `find_charsets_in_emchar_string'.
2526         (charc_string_displayed_columns): New prototype; delete
2527         `emchar_string_displayed_columns'.
2528         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2529         `convert_charc_string_into_bufbyte_dynarr'.
2530         (convert_charc_string_into_malloced_string): New prototype; delete
2531         `convert_charc_string_into_malloced_string'.
2532
2533 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2534
2535         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2536
2537 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2538
2539         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2540
2541         * char-ucs.h: Use <short> for <Charset_ID>.
2542
2543         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2544         <Charset_ID>.
2545
2546 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2547
2548         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2549         to 0.16.
2550
2551 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2552
2553         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2554         variable.
2555         (Qmorohashi_daikanwa): New variable.
2556         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2557         for `morohashi-daikanwa' attribute.
2558         (Fget_char_attribute): Likewise.
2559         (Fput_char_attribute): Likewise.
2560         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2561         has the same value of `ideograph-daikanwa'.
2562         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2563         (vars_of_mule_charset): Setup
2564         `Vcharacter_morohashi_daikanwa_table'.
2565
2566 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2567
2568         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2569         attributes.
2570         (add_charset_to_list_mapper): Add `key' instead of
2571         `XCHARSET_NAME (value)' to return aliases.
2572
2573 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2574
2575         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2576         variable.
2577         (Vcharacter_ideographic_strokes_table): New variable.
2578         (Qideographic_radical): New variable.
2579         (Qideographic_strokes): New variable.
2580         (Fchar_attribute_alist): Use
2581         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2582         attribute; use `Vcharacter_ideographic_strokes_table' for
2583         `ideographic-strokes' attribute.
2584         (Fget_char_attribute): Likewise.
2585         (Fput_char_attribute): Likewise.
2586         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2587         `ideographic-strokes'.
2588         (vars_of_mule_charset): Setup
2589         `Vcharacter_ideographic_radical_table' and
2590         `Vcharacter_ideographic_strokes_table'.
2591
2592 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2593
2594         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2595         (Qtotal_strokes): New variable.
2596         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2597         `total-strokes' attribute.
2598         (Fget_char_attribute): Likewise.
2599         (Fput_char_attribute): Likewise.
2600         (syms_of_mule_charset): Add new symbol `total-strokes'.
2601         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2602
2603 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2604
2605         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2606         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2607         are found.
2608         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2609         `->decomposition' attribute.
2610         (Fput_char_attribute): Likewise.
2611         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2612
2613 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2614
2615         * mule-charset.c (decoding_table_check_elements): New function.
2616         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2617
2618 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2619
2620         * mule-charset.c (Fset_charset_mapping_table): Use
2621         `put_char_ccs_code_point'.
2622
2623 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2624
2625         * mule-charset.c (decoding_table_put_char): New inline function.
2626         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2627
2628 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2629
2630         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2631         (XCHARSET_BYTE_SIZE): New macro.
2632         (decoding_table_remove_char): New inline function.
2633         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2634         `decoding_table_remove_char'.
2635         (remove_char_ccs): Use `decoding_table_remove_char'.
2636         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2637
2638 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2639
2640         * mule-charset.c (Vcharacter_name_table): New variable.
2641         (Qname): New variable.
2642         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2643         attribute.
2644         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2645         `Vcharacter_name_table' for `name' attribute.
2646         (Fremove_char_attribute): Use function `remove_char_ccs'.
2647         (put_char_ccs_code_point): New function.
2648         (remove_char_ccs): New function.
2649         (syms_of_mule_charset): Add new symbol `name'.
2650         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2651
2652 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2653
2654         * mule-charset.c (make_byte_table): Add new argument `older'.
2655         (make_char_id_table): Likewise.
2656         (copy_char_id_table): Comment out because it is not used.
2657         (put_char_id_table): Modify for `make_byte_table'.
2658         (Fput_char_attribute): Make encoding_table as older object;
2659         inherit older bit of `Vcharacter_composition_table'.
2660         (mark_charset): Don't mark `cs->encoding_table'.
2661         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2662         normal object; make `Vcharacter_composition_table' as an older
2663         object; delete staticpro for `Vcharacter_composition_table'; make
2664         `Vcharacter_variant_table' as a normal object.
2665
2666         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2667         (mark_object): Don't check older object in UTF-2000.
2668
2669         * lrecord.h (struct lrecord_header): Add new member `older' in
2670         UTF-2000.
2671         (set_lheader_implementation): Setup `SLI_header->older' in
2672         UTF-2000.
2673         (set_lheader_older_implementation): New macro in UTF-2000.
2674         (OLDER_RECORD_P): New macro in UTF-2000.
2675         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2676         (alloc_older_lcrecord): New prototype in UTF-2000.
2677         (alloc_older_lcrecord_type): New macro in UTF-2000.
2678
2679 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2680
2681         * mule-charset.c (byte_table_description): Use
2682         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2683         (char_id_table_description): Delete bogus `, 1'.
2684         (Fget_char_attribute): Refer encoding_table of each coded-charset
2685         to get value of coded-charset attribute of a character.
2686         (Fput_char_attribute): Use `make_older_vector' instead of
2687         `make_vector'; use encoding_table of each coded-charset to store
2688         value of coded-charset attribute of a character.
2689         (Fremove_char_attribute): Use encoding_table of each coded-charset
2690         to store value of coded-charset attribute of a character.
2691         (mark_charset): Mark `cs->encoding_table'; don't mark
2692         `cs->decoding_table'.
2693         (charset_description): Add description of new member
2694         `encoding_table'.
2695         (make_charset): Initialize `encoding_table'.
2696
2697         * char-ucs.h (struct Lisp_Charset): Add new member
2698         `encoding_table'.
2699         (CHARSET_ENCODING_TABLE): New macro.
2700         (XCHARSET_ENCODING_TABLE): New macro.
2701         (charset_code_point): New implementation.
2702         (encode_char_1): Likewise.
2703
2704         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2705         (disksave_object_finalization_1): Call finalizers of
2706         `all_older_lcrecords' in UTF-2000.
2707         (make_older_vector): New function in UTF-2000.
2708         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2709         UTF-2000.
2710
2711         * lisp.h (make_older_vector): New prototype in UTF-2000.
2712
2713 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2714
2715         * lrecord.h (enum lrecord_type): Rename
2716         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2717
2718         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2719         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2720         `get_char_code_table'.
2721
2722         * mule-charset.c (mark_char_id_table): Renamed from
2723         `mark_char_code_table'.
2724         (char_id_table_equal): Renamed from `char_code_table_equal'.
2725         (char_id_table_hash): Renamed from `char_code_table_hash'.
2726         (make_char_id_table): Renamed from `make_char_code_table'.
2727         (copy_char_id_table): Renamed from `copy_char_code_table'.
2728         (get_char_id_table): Renamed from `get_char_code_table'.
2729         (put_char_id_table): Renamed from `put_char_code_table'.
2730         (to_char_id): Renamed from `to_char_code'.
2731
2732         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2733         `Lisp_Char_Code_Table'.
2734         (char_id_table): Renamed from `char_code_table'.
2735         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2736         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2737         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2738         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2739         (get_char_id_table): Renamed from `get_char_code_table'.
2740
2741 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2742
2743         * lrecord.h (enum lrecord_type): Rename
2744         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2745
2746         * mule-charset.c (mark_byte_table): Renamed from
2747         `mark_char_byte_table'.
2748         (byte_table_equal): Renamed from `char_byte_table_equal'.
2749         (byte_table_hash): Renamed from `byte_table_hash'.
2750         (make_byte_table): Renamed from `make_byte_table'.
2751         (copy_byte_table): Renamed from `copy_char_byte_table'.
2752
2753         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2754         `Lisp_Char_Byte_Table'.
2755         (byte_table): Renamed from `char_byte_table'.
2756         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2757         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2758         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2759         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2760
2761 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2762
2763         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2764         (dfc_convert_to_internal_format): Likewise.
2765         
2766         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2767         * text-coding.c (Fcoding_system_alias_p): New function.
2768         * text-coding.c (Fcoding_system_aliasee): New function.
2769         * text-coding.c (append_suffix_to_symbol): New function.
2770         * text-coding.c (dangling_coding_system_alias_p): New function.
2771         * text-coding.c (Ffind_coding_system):
2772         * text-coding.c (Fcopy_coding_system):
2773         * text-coding.c (encode_coding_no_conversion):
2774         * text-coding.c (syms_of_file_coding):
2775         * text-coding.c (vars_of_file_coding):
2776         Rewrite coding system alias code.
2777         Allow nested aliases, like symbolic links.
2778         Allow redefinition of coding system aliases.
2779         Prevent existence of dangling coding system aliases.
2780         Eliminate convert_to_external_format.
2781         Eliminate convert_to_internal_format.
2782         
2783         * text-coding.c: Change enum eol_type to eol_type_t.
2784
2785 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2786
2787         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2788         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2789
2790         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2791         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2792
2793 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2794
2795         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2796         `ideograph-daikanwa'.
2797
2798         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2799         (Vcharset_ucs_bmp): Likewise.
2800         (Vcharset_mojikyo): Add new extern variable definition.
2801         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2802         (Vcharset_latin_iso8859_3): Likewise.
2803         (Vcharset_latin_iso8859_4): Likewise.
2804         (Vcharset_latin_iso8859_9): Likewise.
2805         (Vcharset_latin_viscii_lower): Likewise.
2806         (Vcharset_latin_viscii_upper): Likewise.
2807         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2808         `mojikyo' code-point is used to decode.
2809         (encode_char_2): New function [to convert `mojikyo' code-point to
2810         Mojikyo font encoding].
2811         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2812         (breakup_char_1): Likewise.
2813         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2814
2815 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2816
2817         * text-coding.c (Fmake_coding_system): Add document about
2818         `disable-composition' property.
2819
2820 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2821
2822         * text-coding.c (Qdisable_composition): New variable; delete
2823         `Qcomposite'.
2824         (Fmake_coding_system): Add new property `disable-composite';
2825         delete property `composite'.
2826         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2827         instead of `!CODING_SYSTEM_COMPOSITE'.
2828         (syms_of_file_coding): Add new symbol `disable-composition';
2829         delete symbol `composite'.
2830
2831         * file-coding.h (struct Lisp_Coding_System): Add
2832         `disable_composition'; delete `enable_composition'.
2833         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2834         `CODING_SYSTEM_COMPOSITE'.
2835         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2836         `XCODING_SYSTEM_COMPOSITE'.
2837
2838 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2839
2840         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2841         to 0.15.
2842
2843 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2844
2845         * text-coding.c (Qcomposite): New variable.
2846         (Fmake_coding_system): Add new property `composite'.
2847         (struct decoding_stream): Add `combined_char_count',
2848         `combined_chars' and `combining_table' in UTF-2000.
2849         (COMPOSE_FLUSH_CHARS): New macro.
2850         (COMPOSE_ADD_CHAR): New macro.
2851         (reset_decoding_stream): Reset `str->combined_char_count' and
2852         `str->combining_table' in UTF-2000.
2853         (decode_coding_iso2022): Modify for character-decomposition.
2854         (syms_of_file_coding): Add new symbol `composite'.
2855
2856 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2857
2858         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2859         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2860         of `Vcharacter_composition_table' if `->decomposition' property
2861         has only 1 element.
2862         (Qlatin_tcvn5712): New variable.
2863         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2864         (complex_vars_of_mule_charset): Add new coded-charset
2865         `latin-tcvn5712'.
2866
2867         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2868
2869 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2870
2871         * file-coding.h (struct Lisp_Coding_System): Add
2872         `enable_composition'.
2873         (CODING_SYSTEM_COMPOSITE): New macro.
2874         (XCODING_SYSTEM_COMPOSITE): New macro.
2875
2876 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2877
2878         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2879
2880 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2881
2882         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2883         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2884
2885 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2886
2887         * mule-charset.c (Vcharset_mojikyo): New variable.
2888         (Fdefine_char): Don't use coded-charset which does not have
2889         non-builtin character range to allocate character-id.
2890         (Qmojikyo): New variable.
2891         (syms_of_mule_charset): Add new symbol `mojikyo'.
2892         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2893
2894         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2895         (LEADING_BYTE_MOJIKYO): New macro.
2896         (MIN_CHAR_MOJIKYO): New macro.
2897         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2898         (MAX_CHAR_MOJIKYO): New macro.
2899
2900 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2901
2902         * mule-charset.c (remove_char_attribute): Fixed.
2903
2904 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2905
2906         * mule-charset.c (remove_char_attribute): New function.
2907         (Fremove_char_attribute): New function.
2908         (encode_builtin_char_1): Comment out builtin-support for
2909         greek-iso8859-7 and cyrillic-iso8859-5.
2910         (Fdecode_char): Check `code' is an integer.
2911         (syms_of_mule_charset): Add `remove-char-attribute'.
2912         (MIN_CHAR_GREEK): Deleted.
2913         (MAX_CHAR_GREEK): Likewise.
2914         (MIN_CHAR_CYRILLIC): Likewise.
2915         (MAX_CHAR_CYRILLIC): Likewise.
2916         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2917         MAX_CHAR_GREEK for `greek-iso8859-7'.
2918
2919         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2920         (MAX_CHAR_GREEK): Likewise.
2921         (MIN_CHAR_CYRILLIC): Likewise.
2922         (MAX_CHAR_CYRILLIC): Likewise.
2923
2924 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2925
2926         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2927         format is used without `ucs' property.
2928         (Fdecode_char): Fix problem with GR representation.
2929         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2930         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2931
2932 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2933
2934         * mule-charset.c (make_builtin_char): New function.
2935         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2936         (Fset_charset_mapping_table): Modify for new representation of
2937         code-point.
2938         (Fdecode_char): New function.
2939         (syms_of_mule_charset): Add new builtin function `decode-char' in
2940         UTF-2000.
2941
2942         * char-ucs.h (make_builtin_char): New prototype.
2943         (DECODE_CHAR): New inline function.
2944         (MAKE_CHAR): Use `DECODE_CHAR'.
2945
2946 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2947
2948         * text-coding.c (parse_charset_conversion_specs): Use
2949         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2950         `XCHARSET_TYPE'.
2951         (iso2022_designate): Likewise.
2952
2953         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2954         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2955
2956         * mule-charset.c (Vcharset_ucs): New variable.
2957         (print_charset): Change design; use `CHARSET_CHARS' and
2958         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2959         (make_charset): Change signature to specify `chars' and
2960         `dimension' instead of `type'.
2961         (range_charset_code_point): Modify for 256^n-set.
2962         (encode_builtin_char_1): Encode as `ucs' in default.
2963         (Fmake_charset): Modify for `make_charset'.
2964         (Fmake_reverse_direction_charset): Likewise.
2965         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2966         UTF-2000.
2967         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2968         for `make_charset'.
2969
2970         * char-ucs.h (Vcharset_ucs): New variable.
2971         (LEADING_BYTE_UCS): New macro.
2972         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2973         and `chars' to `unsigned short' from `unsigned int'.
2974         (CHARSET_TYPE): Deleted.
2975         (XCHARSET_TYPE): Deleted.
2976
2977 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2978
2979         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2980
2981         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2982         (ENCODE_CHAR): New macro.
2983
2984 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2985
2986         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2987         to 0.14 (Kawachi-Katakami).
2988
2989 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2990
2991         * text-coding.c (char_encode_shift_jis): Modify for
2992         `charset_code_point'.
2993         (char_encode_iso2022): Likewise.
2994
2995         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2996         (integer) instead of list of <Lisp_Object>s (integers) as the
2997         format of code-point of a coded-charset.
2998         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2999         (encode_builtin_char_1): New function; delete
3000         `split_builtin_char'.
3001         (charset_code_point): Return <int> instead of <Lisp_Object>.
3002         (Fsplit_char): Don't use `SPLIT_CHAR'.
3003
3004         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3005         prototype for `split_builtin_char'.
3006         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3007         (charset_code_point): Likewise.
3008         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3009         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3010
3011 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3012
3013         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3014         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3015
3016 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3017
3018         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3019
3020         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3021         (MAX_CHAR_OBS_94x94): Deleted.
3022
3023 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3024
3025         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3026
3027         * char-ucs.h (MAX_CHAR_BMP): New macro.
3028
3029 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3030
3031         * text-coding.c: Sync with r21-2-24.
3032
3033 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3034
3035         * file-coding.c: Modify for UTF-2000.
3036
3037 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3038
3039         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3040         to 0.13 (Takaida).
3041
3042 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3043
3044         * mule-charset.c (split_builtin_char): Delete builtin support for
3045         `katakana-jisx0201'.
3046         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3047         BMP area in builtin representation.
3048
3049         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3050         `Vcharset_katakana_jisx0201'.
3051
3052 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3053
3054         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3055         (Qisolated): New variable.
3056         (Qinitial): New variable.
3057         (Qmedial): New variable.
3058         (Qfinal): New variable.
3059         (Qvertical): New variable.
3060         (Qsmall): New variable.
3061         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3062         `Qvertical' and `Qsmall'.
3063         (Qmojikyo_pj_[1 .. 21]): New variable.
3064         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3065         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3066         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3067         .. 21]'.
3068
3069 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3070
3071         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3072         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3073         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3074
3075 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3076
3077         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3078         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3079         BMP.
3080         (Qjapanese_jisx0208_1990): New variable.
3081         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3082         (complex_vars_of_mule_charset): Add new coded-charset
3083         `japanese-jisx0208-1990'.
3084
3085         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3086         (MIN_CHAR_JIS_X0208_1990): New macro.
3087         (MAX_CHAR_JIS_X0208_1990): New macro.
3088
3089 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3090
3091         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3092         coded-charset is not found.
3093
3094 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3095
3096         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3097         (Fdefine_char): Use `Fmake_char'.
3098
3099 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3100
3101         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3102         (Vcharset_hiragana_jisx0208): Deleted.
3103         (Vcharset_katakana_jisx0208): Deleted.
3104         (Qideograph_daikanwa): New variable.
3105         (Qhiragana_jisx0208): Deleted.
3106         (Qkatakana_jisx0208): Deleted.
3107         (split_builtin_char): Split `ideograph-daikanwa'.
3108         (Fsplit_char): New implementation for UTF-2000.
3109         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3110         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3111         (complex_vars_of_mule_charset): Add new coded-charset
3112         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3113         `katakana-jisx0208'.
3114
3115         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3116         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3117         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3118         (MIN_CHAR_DAIKANWA): New macro.
3119         (MAX_CHAR_DAIKANWA): New macro.
3120
3121 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3122
3123         * data.c (Fstring_to_number): Don't recognize floating point if
3124         base is not 10.
3125
3126 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3127
3128         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3129
3130 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3131
3132         * mule-charset.c (Qsquare): New variable.
3133         (to_char_code): Add `Qsquare'.
3134         (syms_of_mule_charset): Add new symbol `square'.
3135
3136 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3137
3138         * mule-charset.c (Qcircle): New variable.
3139         (to_char_code): Add `Qcircle'.
3140         (syms_of_mule_charset): Add new symbol `circle'.
3141
3142 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3143
3144         * mule-charset.c (Qfont): New variable.
3145         (to_char_code): Add `Qfont'.
3146         (syms_of_mule_charset): Add new symbol `font'.
3147
3148 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3149
3150         * mule-charset.c (Qsub): New variable.
3151         (to_char_code): Add `Qsub'.
3152         (syms_of_mule_charset): Add new symbol `sub'.
3153
3154 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3155
3156         * mule-charset.c (Fput_char_attribute): Convert each element of
3157         VALUE to GL position if ATTRIBUTE is a GR-set,
3158
3159 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3160
3161         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3162         coded-charset is a GR-set.
3163
3164 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3165
3166         * mule-charset.c (Fput_char_attribute): Check each element of
3167         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3168
3169 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3170
3171         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3172         UTF-2000.
3173         (Qethiopic_ucs): New variable in UTF-2000.
3174         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3175         (complex_vars_of_mule_charset): Add new coded-charset
3176         `ethiopic-ucs' in UTF-2000.
3177
3178         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3179         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3180         9)'.
3181         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3182         10)'.
3183         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3184
3185 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3186
3187         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3188         `ascii'.
3189
3190 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3191
3192         * mule-charset.c (Vcharacter_variant_table): New variable.
3193         (Q_ucs): New variable.
3194         (Fchar_variants): New function.
3195         (Fput_char_attribute): Register `->ucs' value to
3196         `Vcharacter_variant_table'.
3197         (syms_of_mule_charset): Add new function `char-variants' and new
3198         symbol `->ucs'.
3199         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3200
3201 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3202
3203         * mule-charset.c (get_char_code_table): Allow negative character
3204         code.
3205         (put_char_code_table): Likewise.
3206         (Vcharacter_composition_table): New variable.
3207         (Q_decomposition): New variable.
3208         (Qwide): New variable.
3209         (Qnarrow): New variable.
3210         (Qcompat): New variable.
3211         (QnoBreak): New variable.
3212         (Qsuper): New variable.
3213         (Qfraction): New variable.
3214         (to_char_code): New function.
3215         (Fget_composite_char): New function.
3216         (Fput_char_attribute): Register `->decomposition' value to
3217         `Vcharacter_composition_table'.
3218         (syms_of_mule_charset): Add new function `get-composite-char', new
3219         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3220         `super' and `fraction'.
3221         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3222
3223 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3224
3225         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3226         character; copy the return value.
3227
3228 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3229
3230         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3231
3232         * mule-charset.c (range_charset_code_point): Must use make_int.
3233         (split_builtin_char): New function.
3234
3235 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3236
3237         * mule-charset.c (char_byte_table): Change name from
3238         "char-code-table" to "char-byte-table".
3239         (mark_char_code_table): New function.
3240         (char_code_table_equal): New function.
3241         (char_code_table_hash): New function.
3242         (char_code_table_description): New constant.
3243         (char_code_table): New type.
3244         (make_char_code_table): New function.
3245         (copy_char_code_table): New function.
3246         (get_char_code_table): Modify for `char_code_table' type.
3247         (put_char_code_table): Likewise.
3248         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3249         (Kashiwara).
3250
3251         * char-ucs.h (char_code_table): New type.
3252         (XCHAR_CODE_TABLE): New macro.
3253         (XSETCHAR_CODE_TABLE): New macro.
3254         (CHAR_CODE_TABLE_P): New macro.
3255         (GC_CHAR_CODE_TABLE_P): New macro.
3256         (struct Lisp_Char_Code_Table): New structure.
3257
3258 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3259
3260         * mule-charset.c (Fmake_charset): Setup byte_offset for
3261         {94|96}^n-set.
3262
3263 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3264
3265         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3266         character.
3267
3268 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3269
3270         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3271         is found.
3272
3273 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3274
3275         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3276         charset, it is regarded as a charset.
3277         (put_char_attribute): New function in UTF-2000.
3278         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3279         charset, mapping-table of the charset is modified.
3280         (Fdefine_char): New function in UTF-2000.
3281         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3282         `Fput_char_attribute'.
3283         (syms_of_mule_charset): Add new function `define-char' and new
3284         symbol `ucs' in UTF-2000.
3285         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3286
3287 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3288
3289         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3290         non-UTF-2000 configuration.
3291
3292 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3293
3294         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3295         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3296
3297         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3298         deleted.
3299         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3300         (Fset_charset_mapping_table): Likewise.
3301
3302         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3303         (CHARSET_ENCODING_TABLE): Delete.
3304         (XCHARSET_ENCODING_TABLE): Delete.
3305         (charset_code_point): New interface.
3306
3307 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3308
3309         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3310         instead of `charset_get_byte1' and `charset_get_byte2'.
3311
3312         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3313         (charset_get_byte2): Deleted.
3314
3315 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3316
3317         * char-ucs.h (SPLIT_CHAR): New inline function.
3318         (breakup_char_1): Use `SPLIT_CHAR'.
3319
3320         * mule-charset.c (range_charset_code_point): New function.
3321         (charset_code_point): New function.
3322
3323         * char-ucs.h (range_charset_code_point): New interface.
3324         (breakup_char_1): Use `range_charset_code_point'.
3325
3326 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3327
3328         * mule-charset.c (Fmake_charset): Delete unused local variable
3329         `code_offset'.
3330
3331         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3332         (breakup_char_1): Find a charset and code-point in
3333         `Vcharacter_attribute_table'.
3334
3335 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3336
3337         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3338         to 0.10 (Yao).
3339
3340 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3341
3342         * mule-charset.c (Vcharacter_attribute_table): New variable.
3343         (Fchar_attribute_alist): New function.
3344         (Fget_char_attribute): New function.
3345         (Fput_char_attribute): New function.
3346         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3347         too.
3348         (syms_of_mule_charset): Add new function `char-attribute-alist',
3349         `get-char-attribute' and `put-char-attribute'.
3350         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3351
3352 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3353
3354         * mule-charset.c (Fmake_charset): Just use
3355         `get_unallocated_leading_byte'.
3356
3357         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3358         sets; don't use final-byte based number for private sets.
3359
3360 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3361
3362         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3363         integer.
3364
3365 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3366
3367         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3368         to 0.9.
3369
3370 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3371
3372         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3373         of `CHAR_LEADING_BYTE' in UTF-2000.
3374
3375         * insdel.c (find_charsets_in_bufbyte_string): Use
3376         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3377         (find_charsets_in_emchar_string): Likewise.
3378
3379         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3380         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3381
3382         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3383         (CHAR_CHARSET_ID): New macro.
3384
3385 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3386
3387         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3388         charset-id - MIN_LEADING_BYTE.
3389         (put_char_table): Likewise.
3390
3391 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3392
3393         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3394         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3395         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3396         (CHARSET_ID_OFFSET): New macro.
3397         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3398         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3399         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3400         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3401         4).
3402         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3403         5).
3404         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3405         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3406         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3407         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3408         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3409
3410 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3411
3412         * mule-charset.c (next_allocated_leading_byte): New variable in
3413         UTF-2000.
3414         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3415         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3416         (get_unallocated_leading_byte): Simply use
3417         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3418         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3419         UTF-2000.
3420
3421         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3422         (MAX_LEADING_BYTE_PRIVATE): New macro.
3423         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3424         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3425
3426 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3427
3428         * mule-charset.c (Fmake_charset): Allocate final-byte based
3429         charset-id for 94-set, 96-set and 94x94-set.
3430
3431 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3432
3433         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3434         ambiguous `else'.
3435         (Fmake_charset): Likewise.
3436         (complex_vars_of_mule_charset): Modify the font registry of
3437         `ucs-bmp' not to match `Ethiopic-Unicode'.
3438
3439 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3440
3441         * mule-charset.c (complex_vars_of_mule_charset): Add font
3442         registory of `ucs-bmp'.
3443
3444 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3445
3446         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3447         coded-charsets in `default-coded-charset-priority-list' when
3448         breaking up a character.
3449
3450         * mule-charset.c (Vcharset_latin_viscii): New variable.
3451         (Qlatin_viscii): New variable.
3452         (make_charset): Don't use `decoding_table'.
3453         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3454         byte_offset.
3455         (Fset_charset_mapping_table): New implementation.
3456         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3457         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3458         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3459         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3460         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3461         charset `latin_viscii'.
3462
3463         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3464         (CHARSET_TYPE_94X94): Change to 1 from 2.
3465         (CHARSET_TYPE_96): Change to 2 from 1.
3466         (CHARSET_TYPE_128): New macro.
3467         (CHARSET_TYPE_128X128): Change to 5 from 4.
3468         (CHARSET_TYPE_256): New macro.
3469         (CHARSET_TYPE_256X256): Change to 7 from 5.
3470         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3471
3472 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3473
3474         * text-coding.c (char_encode_shift_jis): Refer
3475         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3476         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3477
3478         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3479         (char_byte_table_equal): New function in UTF-2000.
3480         (char_byte_table_hash): New function in UTF-2000.
3481         (char_byte_table_description): New constant in UTF-2000.
3482         (char_byte_table): New type in UTF-2000.
3483         (make_char_byte_table): New function in UTF-2000.
3484         (copy_char_byte_table): New function in UTF-2000.
3485         (make_char_code_table): New macro in UTF-2000.
3486         (get_char_code_table): New function in UTF-2000.
3487         (put_char_code_table): New function in UTF-2000.
3488         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3489         (charset_description): Add setting in UTF-2000.
3490         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3491         `CHARSET_TO_BYTE1_TABLE(cs)'.
3492         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3493         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3494         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3495         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3496         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3497         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3498         `CHARSET_TO_BYTE2_TABLE(cs)'.
3499
3500         * char-ucs.h (char_byte_table): New type.
3501         (XCHAR_BYTE_TABLE): New macro.
3502         (XSETCHAR_BYTE_TABLE): New macro.
3503         (CHAR_BYTE_TABLE_P): New macro.
3504         (GC_CHAR_BYTE_TABLE_P): New macro.
3505         (struct Lisp_Char_Byte_Table): New structure.
3506         (get_char_code_table): New interface.
3507         (Emchar_to_byte_table): Deleted.
3508         (get_byte_from_character_table): Deleted.
3509         (struct Lisp_Charset): Add `encoding_table'; delete
3510         `to_byte1_table' and `to_byte2_table'.
3511         (CHARSET_ENCODING_TABLE): New macro.
3512         (CHARSET_TO_BYTE1_TABLE): Deleted.
3513         (CHARSET_TO_BYTE2_TABLE): Deleted.
3514         (XCHARSET_ENCODING_TABLE): New macro.
3515         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3516         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3517
3518 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3519
3520         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3521         `vietnamese-viscii-*'.
3522
3523 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3524
3525         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3526         (Qvietnamese_viscii_upper): New variable.
3527         (Fdefine_charset_alias): New function.
3528         (syms_of_mule_charset): Add new function `define-charset-alias'.
3529         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3530         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3531         `latin-viscii-*'.
3532
3533 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3534
3535         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3536         (MAX_CHAR_OBS_94x94): New macro.
3537         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3538         for 94x94 sets.
3539
3540         * mule-charset.c (put_byte_from_character_table): Change unit size
3541         from 128 to 256.
3542         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3543         not defined.
3544         (Fmake_reverse_direction_charset): Modify dummy argument of
3545         `make_charset' for non-UTF-2000 environment.
3546
3547 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3548
3549         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3550
3551         * mule-charset.c (destroy_byte_from_character_table): New macro.
3552         (latin_jisx0201_to_ucs): Deleted.
3553         (latin_iso8859_2_to_ucs): Deleted.
3554         (latin_iso8859_3_to_ucs): Deleted.
3555         (latin_iso8859_4_to_ucs): Deleted.
3556         (latin_iso8859_9_to_ucs): Deleted.
3557         (latin_viscii_lower_to_ucs): Deleted.
3558         (latin_viscii_upper_to_ucs): Deleted.
3559         (mark_charset): Mark `cs->decoding_table'.
3560         (Fcharset_mapping_table): Fix DOC-string.
3561         (Fset_charset_mapping_table): New function.
3562         (syms_of_mule_charset): Add nwe function
3563         `set-charset-mapping-table'.
3564         (complex_vars_of_mule_charset): Don't setup and use
3565         `latin_*_to_ucs'.
3566
3567 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3568
3569         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3570         charset.
3571
3572 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3573
3574         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3575         (Vcharset_katakana_jisx0208): New variable.
3576         (Qhiragana_jisx0208): New variable.
3577         (Qkatakana_jisx0208): New variable.
3578         (make_charset): Add new argument `byte_offset'.
3579         (charset_get_byte1): Modify for new coded-charset definition; use
3580         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3581         `XCHARSET_BYTE_OFFSET'.
3582         (Fmake_charset): Modify for `make_charset'.
3583         (Fmake_reverse_direction_charset): Likewise.
3584         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3585         `katakana-jisx0208'.
3586         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3587         `.'  in font registry of charset `katakana-jisx0201',
3588         `latin-jisx0201', `vietnamese-viscii-lower' and
3589         `vietnamese-viscii-upper'; modify DOC-string of charset
3590         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3591         registry of charset `japanese-jisx0208' not to use font for JIS
3592         X0208:1990; add new charset `hiragana-jisx0208' and
3593         `katakana-jisx0208'.
3594
3595         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3596         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3597         (struct Lisp_Charset): Add `byte_offset'.
3598         (CHARSET_BYTE_OFFSET): New macro.
3599         (XCHARSET_UCS_MIN): New macro.
3600         (XCHARSET_UCS_MAX): New macro.
3601         (XCHARSET_CODE_OFFSET): New macro.
3602         (XCHARSET_BYTE_OFFSET): New macro.
3603         (MIN_CHAR_HIRAGANA): New macro.
3604         (MAX_CHAR_HIRAGANA): New macro.
3605         (MIN_CHAR_KATAKANA): New macro.
3606         (MAX_CHAR_KATAKANA): New macro.
3607         (MAKE_CHAR): Modify for new coded-charset definition; use
3608         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3609         `XCHARSET_BYTE_OFFSET'.
3610
3611 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3612
3613         * mule-charset.c (CHAR96): Deleted.
3614         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3615         <Lisp_Object>.
3616         (latin_iso8859_2_to_ucs): Likewise.
3617         (latin_iso8859_3_to_ucs): Likewise.
3618         (latin_iso8859_4_to_ucs): Likewise.
3619         (latin_iso8859_9_to_ucs): Likewise.
3620         (latin_viscii_lower_to_ucs): Likewise.
3621         (latin_viscii_upper_to_ucs): Likewise.
3622         (latin_tcvn5712_to_ucs): Commented out.
3623         (make_charset): Change type of argument `decoding_table' from
3624         <Emchar*> to <Lisp_Object> [vector of characters].
3625         (Fmake_charset): Modify for `make_charset'.
3626         (Fmake_reverse_direction_charset): Likewise.
3627         (Fcharset_mapping_table): New function in UTF-2000.
3628         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3629         UTF-2000.
3630         (complex_vars_of_mule_charset): Modify for type change of
3631         `*_to_ucs'; modify for `make_charset'.
3632
3633         * char-ucs.h (struct Lisp_Charset): Change type of
3634         `decoding_table' from <Emchar*> to <Lisp_Object>.
3635         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3636
3637 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3638
3639         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3640         error with non-UTF-2000-Mule.
3641
3642 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3643
3644         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3645         in lisp again].
3646         (Vcharset_chinese_cns11643_4): Likewise.
3647         (Vcharset_chinese_cns11643_5): Likewise.
3648         (Vcharset_chinese_cns11643_6): Likewise.
3649         (Vcharset_chinese_cns11643_7): Likewise.
3650         (Qchinese_cns11643_3): Likewise.
3651         (Qchinese_cns11643_4): Likewise.
3652         (Qchinese_cns11643_5): Likewise.
3653         (Qchinese_cns11643_6): Likewise.
3654         (Qchinese_cns11643_7): Likewise.
3655         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3656         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3657         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3658         (complex_vars_of_mule_charset): Likewise.
3659
3660 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3661
3662         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3663         96-set.
3664         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3665         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3666
3667 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3668
3669         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3670         0xFF60.
3671         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3672         (breakup_char_1): Likewise.
3673
3674         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3675         one of them includes the specified character.
3676
3677 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3678
3679         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3680
3681 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3682
3683         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3684
3685 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3686
3687         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3688         definition for non-UTF-2000 Mule.
3689         (latin_iso8859_3_to_ucs): Likewise.
3690         (latin_iso8859_4_to_ucs): Likewise.
3691         (latin_iso8859_9_to_ucs): Likewise.
3692         (latin_jisx0201_to_ucs): Likewise.
3693         (MIN_CHAR_THAI): Likewise.
3694         (MAX_CHAR_THAI): Likewise.
3695         (MIN_CHAR_GREEK): Likewise.
3696         (MAX_CHAR_GREEK): Likewise.
3697         (MIN_CHAR_HEBREW): Likewise.
3698         (MAX_CHAR_HEBREW): Likewise.
3699         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3700         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3701         (MIN_CHAR_CYRILLIC): Likewise.
3702         (MAX_CHAR_CYRILLIC): Likewise.
3703
3704 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3705
3706         * char-ucs.h (breakup_char_1): Use
3707         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3708         thai-tis620 and katakana-jisx0201 area.
3709
3710 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3711
3712         * char-ucs.h (breakup_char_1): Use
3713         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3714         area.
3715
3716         * text-coding.c (reset_encoding_stream): Fixed.
3717         (char_encode_ucs4): Delete `& 255'.
3718
3719         * char-ucs.h (breakup_char_1): Use
3720         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3721
3722 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3723
3724         * file-coding.c (Fmake_coding_system): Don't set up
3725         `codesys->fixed.size'.
3726         (encode_coding_no_conversion): Don't refer
3727         `str->codesys->fixed.size'.
3728
3729 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3730
3731         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3732         (latin_a_char_to_byte1): Deleted.
3733         (latin_a_char_to_byte2): Deleted.
3734
3735 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3736
3737         * mule-charset.c (make_charset): Add new argument `ucs_min',
3738         `ucs_max' and `code_offset'.
3739         (charset_get_byte1): New implementation [delete specific charset
3740         depended implementations].
3741         (Fmake_charset): Modify for `make_charset'.
3742         (Fmake_reverse_direction_charset): Likewise.
3743         (complex_vars_of_mule_charset): Likewise.
3744
3745         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3746         `code_offset'.
3747         (CHARSET_UCS_MIN): New macro.
3748         (CHARSET_UCS_MAX): New macro.
3749         (CHARSET_CODE_OFFSET): New macro.
3750         (MAKE_CHAR): Delete charset depended definitions [except
3751         katakana-jisx0201].
3752
3753 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3754
3755         * char-ucs.h (breakup_char_1): Use
3756         `Vdefault_coded_charset_priority_list' for C0-Controls,
3757         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3758
3759 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3760
3761         * char-ucs.h (charset_get_byte1): New function.
3762         (XCHARSET_GET_BYTE1): Deleted.
3763         (charset_get_byte2): New function.
3764         (XCHARSET_GET_BYTE2): Deleted.
3765         (Vdefault_coded_charset_priority_list): New external variable.
3766         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3767         `Vdefault_preferred_coded_charset_list'.
3768
3769         * mule-charset.c (charset_get_byte1): New function.
3770         (charset_get_byte2): New function.
3771         (Vdefault_coded_charset_priority_list): New variable.
3772         (vars_of_mule_charset): Add new variable
3773         `default-coded-charset-priority-list'.
3774
3775 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3776
3777         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3778         (XCHARSET_GET_BYTE2): New inline function.
3779         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3780         `XCHARSET_GET_BYTE2'.
3781
3782 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3783
3784         * mule-charset.c (make_charset): Initialize
3785         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3786         NULL if table is not defined.
3787
3788 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3789
3790         * text-coding.c (char_encode_shift_jis): Use
3791         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3792         `ucs_to_latin_jisx0201'.
3793
3794         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3795         (ucs_to_latin_iso8859_2): Deleted.
3796         (ucs_to_latin_iso8859_3): Deleted.
3797         (ucs_to_latin_iso8859_4): Deleted.
3798         (ucs_to_latin_iso8859_9): Deleted.
3799         (ucs_to_latin_viscii_lower): Deleted.
3800         (ucs_to_latin_viscii_upper): Deleted.
3801         (ucs_to_latin_tcvn5712): Deleted.
3802         (make_charset): Add new argument `decoding_table'; set up
3803         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3804         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3805         `decoding_table' is defined in UTF-2000.
3806         (Fmake_charset): Modify for `make_charset'.
3807         (Fmake_reverse_direction_charset): Likewise.
3808         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3809         and `GENERATE_96_SET'.
3810
3811         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3812         (ucs_to_latin_jisx0201): Deleted.
3813         (latin_iso8859_2_to_ucs): Deleted.
3814         (ucs_to_latin_iso8859_2): Deleted.
3815         (latin_iso8859_3_to_ucs): Deleted.
3816         (ucs_to_latin_iso8859_3): Deleted.
3817         (latin_iso8859_4_to_ucs): Deleted.
3818         (ucs_to_latin_iso8859_4): Deleted.
3819         (latin_iso8859_9_to_ucs): Deleted.
3820         (ucs_to_latin_iso8859_9): Deleted.
3821         (latin_viscii_lower_to_ucs): Deleted.
3822         (ucs_to_latin_viscii_lower): Deleted.
3823         (latin_viscii_upper_to_ucs): Deleted.
3824         (ucs_to_latin_viscii_upper): Deleted.
3825         (struct Lisp_Charset): Renamed `encoding_table' to
3826         `to_byte1_table'; add `to_byte2_table'.
3827         (CHARSET_DECODING_TABLE): New macro.
3828         (CHARSET_TO_BYTE1_TABLE): New macro.
3829         (CHARSET_TO_BYTE2_TABLE): New macro.
3830         (XCHARSET_DECODING_TABLE): New macro.
3831         (XCHARSET_TO_BYTE1_TABLE): New macro.
3832         (XCHARSET_TO_BYTE2_TABLE): New macro.
3833         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3834         tables.
3835         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3836         don't use `ucs_to_*' tables.
3837
3838 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3839
3840         * text-coding.c (Fmake_coding_system): Don't set up
3841         `codesys->fixed.size'.
3842         (encode_coding_no_conversion): Use `if' instead of `switch'.
3843
3844         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3845
3846 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3847
3848         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3849         (Fmake_charset): Modify for `make_charset'.
3850         (Fmake_reverse_direction_charset): Likewise.
3851         (complex_vars_of_mule_charset): Likewise.
3852
3853 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3854
3855         * text-coding.c (char_encode_shift_jis): Use table
3856         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3857
3858 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3859
3860         * text-coding.c (text_encode_generic): Use `if' instead of
3861         `switch'.
3862         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3863         decode JIS-Latin.
3864
3865 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3866
3867         * text-coding.c (encode_coding_sjis): Deleted.
3868         (char_encode_shift_jis): New function.
3869         (char_finish_shift_jis): New function.
3870         (reset_encoding_stream): Set up `encode_char' and `finish' for
3871         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3872         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3873         (char_encode_utf8): Treat `eol_type'.
3874
3875 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3876
3877         * file-coding.c (decode_coding_iso2022): Use
3878         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3879
3880 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3881
3882         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3883         to 0.7 (Hirano).
3884
3885 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3886
3887         * char-lb.h (CHAR_COLUMNS): New macro.
3888
3889 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3890
3891         * text-coding.c (char_encode_ucs4): New function.
3892         (char_finish_ucs4): New function.
3893         (encode_coding_ucs4): Deleted.
3894         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3895         (text_encode_generic): Delete local variable `charset' and `half'.
3896         (ucs_to_mule_table): Deleted.
3897         (mule_to_ucs_table): Deleted.
3898         (Fset_ucs_char): Deleted.
3899         (ucs_to_char): Deleted.
3900         (Fucs_char): Deleted.
3901         (Fset_char_ucs): Deleted.
3902         (Fchar_ucs): Deleted.
3903         (decode_ucs4): Deleted.
3904         (mule_char_to_ucs4): Deleted.
3905         (encode_ucs4): Deleted.
3906         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3907         (decode_coding_utf8): Likewise.
3908         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3909         (char_encode_iso2022): Fixed.
3910         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3911         `Fset_char_ucs' and `Fchar_ucs'.
3912         (complex_vars_of_file_coding): Don't initialize
3913         `ucs_to_mule_table'.
3914
3915         * objects-tty.c (tty_initialize_font_instance): Don't use
3916         `XCHARSET_COLUMNS'.
3917
3918         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3919         UTF-2000.
3920
3921         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3922         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3923
3924         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3925         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3926         (emchar_string_displayed_columns): Likewise.
3927
3928         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3929         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3930         (string_column_at_point): Likewise.
3931         (Fmove_to_column): Likewise.
3932
3933         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3934         `encoding_table' and `decoding_table'.
3935         (CHARSET_REP_BYTES): Deleted.
3936         (XCHARSET_REP_BYTES): Deleted.
3937         (XCHARSET_COLUMNS): Deleted.
3938         (CHAR_COLUMNS): New macro.
3939         (lookup_composite_char): Deleted unconditionally.
3940         (composite_char_string): Likewise.
3941
3942 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3943
3944         * char-ucs.h (Emchar_to_byte_table): New type.
3945         (get_byte_from_character_table): New function interface.
3946         (Vcharset_latin_jisx0201): New variable.
3947         (latin_jisx0201_to_ucs): New variable.
3948         (ucs_to_latin_jisx0201): New variable.
3949         (Vcharset_latin_iso8859_2): New variable.
3950         (latin_iso8859_2_to_ucs): New variable.
3951         (ucs_to_latin_iso8859_2): New variable.
3952         (Vcharset_latin_iso8859_3): New variable.
3953         (latin_iso8859_3_to_ucs): New variable.
3954         (ucs_to_latin_iso8859_3): New variable.
3955         (Vcharset_latin_iso8859_4): New variable.
3956         (latin_iso8859_4_to_ucs): New variable.
3957         (ucs_to_latin_iso8859_4): New variable.
3958         (Vcharset_latin_iso8859_9): New variable.
3959         (latin_iso8859_9_to_ucs): New variable.
3960         (ucs_to_latin_iso8859_9): New variable.
3961         (Vcharset_latin_viscii_lower): New variable.
3962         (latin_viscii_lower_to_ucs): New variable.
3963         (ucs_to_latin_viscii_lower): New variable.
3964         (Vcharset_latin_viscii_upper): New variable.
3965         (latin_viscii_upper_to_ucs): New variable.
3966         (ucs_to_latin_viscii_upper): New variable.
3967         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3968         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3969         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3970         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3971         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3972         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3973         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3974         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3975         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3976         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3977
3978         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3979         (Vcharset_latin_viscii_upper): New variable.
3980         (make_byte_from_character_table): New function.
3981         (put_byte_from_character_table): New function.
3982         (get_byte_from_character_table): New function.
3983         (CHAR96): New macro.
3984         (ucs_to_latin_jisx0201): New variable.
3985         (latin_jisx0201_to_ucs): New variable.
3986         (ucs_to_latin_iso8859_2): New variable.
3987         (latin_iso8859_2_to_ucs): New variable.
3988         (ucs_to_latin_iso8859_3): New variable.
3989         (latin_iso8859_3_to_ucs): New variable.
3990         (ucs_to_latin_iso8859_4): New variable.
3991         (latin_iso8859_4_to_ucs): New variable.
3992         (ucs_to_latin_iso8859_9): New variable.
3993         (latin_iso8859_9_to_ucs): New variable.
3994         (ucs_to_latin_viscii_lower): New variable.
3995         (latin_viscii_lower_to_ucs): New variable.
3996         (ucs_to_latin_viscii_upper): New variable.
3997         (latin_viscii_upper_to_ucs): New variable.
3998         (ucs_to_latin_tcvn5712): New variable.
3999         (latin_tcvn5712_to_ucs): New variable.
4000         (Qlatin_viscii_lower): New variable.
4001         (Qlatin_viscii_upper): New variable.
4002         (syms_of_mule_charset): Set up new symbol
4003         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4004         (complex_vars_of_mule_charset): Set up new charset
4005         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4006         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4007         `ucs_to_<CHARSET>' tables.
4008
4009 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4010
4011         * text-coding.c: New file.
4012
4013 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4014
4015         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4016
4017         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4018         (MAKE_CHAR): Modify for `ucs-bmp'.
4019         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4020         non-MULE characters of BMP.
4021
4022 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4023
4024         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4025         to 0.6.
4026
4027 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4028
4029         * lstream.h:
4030         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4031         - Include character.h for `CHAR_ASCII_P'.
4032
4033         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4034
4035         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4036         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4037
4038         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4039         (BYTE_C0_P): Likewise.
4040         (BYTE_C1_P): Likewise.
4041         (Lstream_get_emchar_1): Likewise.
4042         (Lstream_fput_emchar): Likewise.
4043         (Lstream_funget_emchar): Likewise.
4044         (copy_internal_to_external): Likewise.
4045         (copy_external_to_internal): Likewise.
4046
4047         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4048         (BYTE_C0_P): Likewise.
4049         (BYTE_C1_P): Likewise.
4050         (Lstream_get_emchar_1): Likewise.
4051         (Lstream_fput_emchar): Likewise.
4052         (Lstream_funget_emchar): Likewise.
4053         (copy_internal_to_external): Likewise.
4054         (copy_external_to_internal): Likewise.
4055
4056         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4057         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4058
4059         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4060         (BYTE_ASCII_P): Moved to mb-1byte.h.
4061
4062 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4063
4064         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4065
4066         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4067         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4068         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4069         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4070         (VALIDATE_CHARPTR_FORWARD): Likewise.
4071         (simple_charptr_emchar): Moved to mb-multibyte.h.
4072         (simple_set_charptr_emchar): Likewise.
4073         (simple_charptr_copy_char): Likewise.
4074         (non_ascii_charptr_emchar): Likewise.
4075         (non_ascii_set_charptr_emchar): Likewise.
4076         (non_ascii_charptr_copy_char): Likewise.
4077         (charptr_emchar): Moved to mb-*byte.h.
4078         (set_charptr_emchar): Likewise.
4079         (charptr_copy_char): Likewise.
4080
4081         * mb-1byte.h, mb-multibyte.h: New files.
4082
4083 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4084
4085         * mb-utf-8.h (MULTIBYTE): New macro.
4086         (MAX_EMCHAR_LEN): Moved from buffer.h.
4087         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4088
4089         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4090
4091         * mb-lb.h, multibyte.h: New files.
4092
4093         * char-1byte.h (Charset_ID): Moved from buffer.h.
4094         (MIN_LEADING_BYTE): Likewise.
4095         (LEADING_BYTE_ASCII): Likewise.
4096         (NUM_LEADING_BYTES): Likewise.
4097         (CHARSETP): Likewise.
4098         (CHARSET_BY_LEADING_BYTE): Likewise.
4099         (XCHARSET_LEADING_BYTE): Likewise.
4100         (XCHARSET_GRAPHIC): Likewise.
4101         (XCHARSET_COLUMNS): Likewise.
4102         (XCHARSET_DIMENSION): Likewise.
4103         (CHAR_CHARSET): Likewise.
4104         (CHAR_LEADING_BYTE): Likewise.
4105         (BREAKUP_CHAR): Likewise.
4106         (Vcharset_ascii): Likewise.
4107
4108         * buffer.h: Include multibyte.h unconditionally.
4109         (VALID_CHARPTR_P): Moved to multibyte.h.
4110         (ASSERT_VALID_CHARPTR): Likewise.
4111         (REAL_INC_CHARPTR): Likewise.
4112         (REAL_INC_CHARBYTIND): Likewise.
4113         (REAL_DEC_CHARPTR): Likewise.
4114         (INC_CHARPTR): Likewise.
4115         (INC_CHARBYTIND): Likewise.
4116         (DEC_CHARPTR): Likewise.
4117         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4118         (VALIDATE_CHARPTR_FORWARD): Likewise.
4119         (charptr_n_addr): Likewise.
4120         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4121         (simple_charptr_emchar): Moved to multibyte.h.
4122         (simple_set_charptr_emchar): Likewise.
4123         (simple_charptr_copy_char): Likewise.
4124         (non_ascii_charptr_emchar): Likewise.
4125         (non_ascii_set_charptr_emchar): Likewise.
4126         (non_ascii_charptr_copy_char): Likewise.
4127         (charptr_emchar): Likewise.
4128         (set_charptr_emchar): Likewise.
4129         (charptr_copy_char): Likewise.
4130         (charptr_emchar_n): Likewise.
4131         (Charset_ID): Moved to char-1byte.h.
4132         (Vcharset_ascii): Likewise.
4133         (CHAR_CHARSET): Likewise.
4134         (CHAR_LEADING_BYTE): Likewise.
4135         (LEADING_BYTE_ASCII): Likewise.
4136         (NUM_LEADING_BYTES): Likewise.
4137         (MIN_LEADING_BYTE): Likewise.
4138         (CHARSETP): Likewise.
4139         (CHARSET_BY_LEADING_BYTE): Likewise.
4140         (XCHARSET_LEADING_BYTE): Likewise.
4141         (XCHARSET_GRAPHIC): Likewise.
4142         (XCHARSET_COLUMNS): Likewise.
4143         (XCHARSET_DIMENSION): Likewise.
4144         (BREAKUP_CHAR): Likewise.
4145
4146 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4147
4148         * character.h: Add document about interface for characters.
4149
4150         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4151         (MAKE_CHAR): Delete comment about
4152         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4153         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4154         (BREAKUP_CHAR): Modify name of arguments.
4155         (CHAR_CHARSET): Modify name of argument.
4156
4157         * buffer.h: Delete document about Emchar accessors.
4158
4159 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4160
4161         * character.h (CHAR_INTP): Moved from buffer.h
4162         (CHAR_OR_CHAR_INTP): Likewise.
4163         (XCHAR_OR_CHAR_INT): Likewise.
4164         (CHECK_CHAR_COERCE_INT): Likewise.
4165
4166         * buffer.h (CHAR_INTP): Moved to character.h
4167         (CHAR_OR_CHAR_INTP): Likewise.
4168         (XCHAR_OR_CHAR_INT): Likewise.
4169         (CHECK_CHAR_COERCE_INT): Likewise.
4170
4171 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4172
4173         * character.h:
4174         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4175         - Include char-1byte.h, char-lb.h or char-ucs.h.
4176
4177         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4178
4179         * buffer.h: Include character unconditionally.
4180         (valid_char_p): Moved to char-*.h.
4181         (non_ascii_valid_char_p): Moved to char-lb.h.
4182
4183         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4184
4185 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4186
4187         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4188         in UTF-2000 because it is not ported yet and not to use
4189         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4190         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4191         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4192
4193         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4194         (CHAR_ASCII_P): Moved from character.h.
4195
4196         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4197         (CHAR_ASCII_P): Likewise.
4198         (CHAR_FIELD1_MASK): Deleted.
4199         (CHAR_FIELD2_MASK): Deleted.
4200         (CHAR_FIELD3_MASK): Deleted.
4201         (MAX_CHAR_BASIC_LATIN): New macro.
4202         (CHAR_FIELD1): Deleted.
4203         (CHAR_FIELD2_INTERNAL): Deleted.
4204         (CHAR_FIELD3_INTERNAL): Deleted.
4205         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4206         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4207         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4208         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4209         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4210         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4211         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4212         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4213         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4214         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4215         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4216         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4217         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4218         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4219         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4220         (MIN_CHAR_COMPOSITION): Deleted.
4221         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4222         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4223
4224 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4225
4226         * buffer.h: Include mb-utf-8.h in UTF-2000.
4227
4228         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4229
4230         * mb-utf-8.h: New file.
4231
4232 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4233
4234         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4235         instead of `int'.
4236
4237         * mule-charset.h, buffer.h (Charset_ID): New type.
4238
4239 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4240
4241         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4242         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4243         instead of `MULE_CHAR_PRIVATE_OFFSET',
4244         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4245         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4246         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4247
4248         * character.h (Vcharset_japanese_jisx0212): New variable
4249         definition.
4250
4251 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4252
4253         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4254         (charset_by_attributes): Delete array about direction.
4255         (latin_a_char_to_charset): New variable in UTF-2000.
4256         (latin_a_char_to_byte1): New variable in UTF-2000.
4257         (latin_a_char_to_byte2): New variable in UTF-2000.
4258         (Qucs_bmp): New variable.
4259         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4260         `Bufbyte'.
4261         (next_allocated_2_byte_leading_byte): Likewise.
4262         (non_ascii_set_charptr_emchar): Likewise.
4263         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4264         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4265         `charset_by_attributes'.
4266         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4267         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4268         and `CHARSET_BY_LEADING_BYTE'.
4269         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4270         `utf-2000-version' to `vars_of_mule_charset'.
4271         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4272         define `leading-code-private-11' in UTF-2000; move setting of
4273         `utf-2000-version' from `syms_of_mule_charset'.
4274         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4275         UTF-2000.
4276
4277         * character.h (Charset_ID): New type.
4278         (LEADING_BYTE_UCS_BMP): New macro.
4279         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4280         (CHARSET_ID_OFFSET_94): New macro.
4281         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4282         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4283         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4284         final-byte.
4285         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4286         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4287         (CHARSET_ID_OFFSET_96): New macro.
4288         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4289         CHARSET_ID_OFFSET_96 and final-byte.
4290         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4291         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4292         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4293         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4294         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4295         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4296         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4297         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4298         (LEADING_BYTE_THAI_TIS620): Likewise.
4299         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4300         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4301         (CHARSET_ID_OFFSET_94x94): New macro.
4302         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4303         CHARSET_ID_OFFSET_94x94 and final-byte.
4304         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4305         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4306         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4307         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4308         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4309         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4310         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4311         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4312         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4313         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4314         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4315         (CHARSET_TYPE_128X128): New macro.
4316         (CHARSET_TYPE_256X256): New macro.
4317         (XCHARSET_PRIVATE_P): Delete unconditionally.
4318         (charset_by_attributes): Delete array about direction.
4319         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4320         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4321         (MIN_CHAR_94): New macro.
4322         (MAX_CHAR_94): New macro.
4323         (MIN_CHAR_96): New macro.
4324         (MAX_CHAR_96): New macro.
4325         (MIN_CHAR_94x94): New macro.
4326         (MAX_CHAR_94x94): New macro.
4327         (MIN_CHAR_96x96): New macro.
4328         (MAX_CHAR_96x96): New macro.
4329         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4330         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4331         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4332         - 32)'.
4333         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4334         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4335         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4336         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4337         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4338         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4339         `XCHARSET_LEADING_BYTE' to make code-point.
4340         (latin_a_char_to_charset): New variable.
4341         (latin_a_char_to_byte1): New variable.
4342         (latin_a_char_to_byte2): New variable.
4343         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4344         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4345         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4346
4347         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4348         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4349         (find_charsets_in_emchar_string): Likewise.
4350         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4351
4352         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4353         `int'.
4354         (decode_coding_iso2022): Likewise.
4355
4356         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4357         of `unsigned char'.
4358
4359         * redisplay.c (redisplay_text_width_emchar_string): Use
4360         `Charset_ID' instead of `unsigned char'.
4361         (redisplay_frame_text_width_string): Likewise.
4362
4363         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4364         `unsigned char'.
4365
4366         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4367         instead of `unsigned char'.
4368         (face_cachel_charset_font_metric_info): Likewise.
4369
4370         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4371         (get_non_ascii_char_table_value): Likewise.
4372         (get_char_table): Likewise.
4373         (put_char_table): Likewise.
4374         (map_over_other_charset): Likewise.
4375         (map_char_table): Likewise.
4376
4377         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4378         instead of `unsigned char'.
4379
4380 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4381
4382         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4383         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4384
4385         * mule-charset.c (leading_code_private_11): Don't define in
4386         UTF-2000.
4387
4388         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4389         in UTF-2000 because it is not ported yet and not to use
4390         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4391
4392 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4393
4394         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4395
4396 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4397
4398         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4399         in UTF-2000.
4400
4401         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4402         of unsigned char to store leading-byte.
4403
4404         * chartab.c (get_non_ascii_char_table_value): Don't use
4405         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4406
4407         * file-coding.c (encode_coding_big5): Delete bogus implementation
4408         in UTF2000.
4409
4410         * character.h (LEADING_BYTE_*): Delete definition for
4411         non-UTF-2000.
4412         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4413         (LEADING_BYTE_PREFIX_P): Deleted.
4414         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4415         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4416         (BUFBYTE_LEADING_BYTE_P): Deleted.
4417         (CHARSET_PRIVATE_P): Deleted unconditionally.
4418         (rep_bytes_by_first_byte): Deleted unconditionally.
4419         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4420         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4421         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4422         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4423         (CHAR_FIELD2): Deleted.
4424         (CHAR_FIELD3): Deleted.
4425         (MAKE_CHAR): Delete definition for non-UTF-2000.
4426         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4427         (breakup_char_1): New implementation.
4428         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4429         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4430
4431 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4432
4433         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4434         condition.
4435
4436 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4437
4438         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4439         (CHARSET_PRIVATE_P): Likewise.
4440         (XCHARSET_PRIVATE_P): Likewise.
4441         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4442
4443         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4444         UTF2000.
4445         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4446
4447 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4448
4449         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4450         (NUM_LEADING_BYTES): Changed from 128 to 256.
4451         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4452         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4453         UTF2000.
4454         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4455
4456         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4457         UTF2000.
4458         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4459         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4460         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4461         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4462         (Qchinese_cns11643_3): New variable in UTF2000.
4463         (Qchinese_cns11643_4): New variable in UTF2000.
4464         (Qchinese_cns11643_5): New variable in UTF2000.
4465         (Qchinese_cns11643_6): New variable in UTF2000.
4466         (Qchinese_cns11643_7): New variable in UTF2000.
4467         (syms_of_mule_charset): Define `chinese-cns11643-3',
4468         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4469         and `chinese-cns11643-7' in UTF2000.
4470         (vars_of_mule_charset): Initialize
4471         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4472         + 1 in UTF2000.
4473         (complex_vars_of_mule_charset): Setup charset
4474         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4475         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4476
4477 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4478
4479         * mule-charset.c: Move setting for `leading-code-private-11' from
4480         `syms_of_mule_charset' to `vars_of_mule_charset'.
4481
4482 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4483
4484         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4485         and `NUM_LEADING_BYTES' in assert.
4486
4487 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4488
4489         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4490         instead of 128.
4491         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4492         `NUM_LEADING_BYTES' instead of 128.
4493
4494 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4495
4496         * mule-charset.h (charset_by_leading_byte): Use
4497         `NUM_LEADING_BYTES' instead of 128.
4498         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4499
4500         * mule-charset.c (charset_by_leading_byte): Use
4501         `NUM_LEADING_BYTES' instead of 128.
4502         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4503
4504         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4505         128.
4506
4507 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4508
4509         * mule-charset.c (syms_of_mule_charset): Update to
4510         0.4 (Shin-Imamiya).
4511
4512 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4513
4514         * file-coding.c (encode_coding_sjis): New implementation for
4515         UTF2000.  (decode_coding_sjis): Ditto.
4516
4517 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4518
4519         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4520         Don't define in UTF2000.
4521
4522         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4523         defined.
4524
4525         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4526         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4527         MULE.
4528
4529 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4530
4531         * config.h.in (CHAR_IS_UCS4): New macro.
4532
4533         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4534         conventional MULE representation.
4535         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4536
4537         * mule-charset.h: Reverted to original.
4538
4539         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4540         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4541         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4542
4543         * character.h: New file.
4544
4545         * file-coding.c (Fmake_coding_system): Set 1 to
4546         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4547         defined.
4548         (encode_coding_no_conversion): New implementation for UTF2000.
4549
4550         * file-coding.h (struct Lisp_Coding_System): Add new member
4551         `fixed.size'.
4552
4553 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4554
4555         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4556         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4557         (encode_coding_iso2022): New implementation for UTF2000.
4558
4559 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4560
4561         * mule-canna.c (c2mu): New implementation for UTF2000.
4562         (m2c): Likewise.
4563
4564 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4565
4566         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4567
4568 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4569
4570         * file-coding.c (reset_encoding_stream): Set 0 to
4571         `str->iso2022.current_char_boundary' in UTF2000.
4572         (encode_utf8): Don't define in UTF2000.
4573         (encode_coding_utf8): New implementation for UTF-8 representation
4574         of UTF2000.
4575         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4576
4577 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4578
4579         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4580
4581         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4582         UTF2000.
4583         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4584
4585         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4586
4587         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4588         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4589         as UTF-8 in UTF2000.
4590         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4591         (non_ascii_valid_char_p): Don't define in UTF2000.
4592         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4593         (Lstream_get_emchar_1): Likewise.
4594         (utf-2000-version): New variable in UTF2000.
4595
4596         * lread.c (read_escape): Add new reader `u'.
4597
4598         * insdel.c (three_to_one_table): Don't define in UTF2000.
4599         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4600         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4601         UTF2000.
4602         (bytind_to_bufpos_func): Likewise.
4603         (buffer_mule_signal_inserted_region): Likewise.
4604         (vars_of_insdel): Don't initialize `three_to_one_table'.
4605         (init_buffer_text): Use `buf->text->mule_size' instead of
4606         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4607         UTF2000.
4608
4609         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4610         UTF-8 representation in UTF2000.
4611         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4612         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4613         (decode_coding_iso2022): Don't define local variable `lb' in
4614         UTF2000; don't use LEADING_BYTE in UTF2000; use
4615         `DECODE_ADD_UCS_CHAR' in UTF2000.
4616         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4617
4618         * config.h.in (UTF2000): New macro.
4619
4620         * buffer.h (struct buffer_text): Add new member `mule_size' and
4621         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4622         (valid_char_p): Return always 1 in UTF2000.
4623         (MAX_EMCHAR_LEN): 6 in UTF2000.
4624         (three_to_one_table): Don't define in UTF2000.
4625         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4626         UTF2000.
4627         (real_bytind_to_bufpos): Likewise.
4628
4629         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4630
4631 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4632
4633         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4634         representation change.
4635         (Vutf_2000_version): New variable.
4636         (leading_code_private_11): New variable.
4637         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4638         `leading-code-private-11'.
4639
4640         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4641         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4642         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4643         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4644         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4645         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4646         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4647         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4648         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4649         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4650         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4651         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4652         (MIN_CHAR_GREEK): New macro.
4653         (MAX_CHAR_GREEK): New macro.
4654         (MIN_CHAR_CYRILLIC): New macro.
4655         (MAX_CHAR_CYRILLIC): New macro.
4656         (MIN_CHAR_HEBREW): New macro.
4657         (MAX_CHAR_HEBREW): New macro.
4658         (MIN_CHAR_THAI): New macro.
4659         (MAX_CHAR_THAI): New macro.
4660         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4661         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4662         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4663         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4664         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4665         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4666         (CHAR_FIELD2): New inline function.
4667         (CHAR_FIELD3): New inline function.
4668         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4669         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4670         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4671         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4672         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4673         (MIN_CHAR_COMPOSITION): Likewise.
4674         (CHAR_LEADING_BYTE): Modified for character representation change.
4675         (MAKE_CHAR): Likewise.
4676
4677         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4678         (Vcharset_greek_iso8859_7): Likewise.
4679         (Vcharset_cyrillic_iso8859_5): Likewise.
4680         (Vcharset_hebrew_iso8859_8): Likewise.
4681         (Vcharset_thai_tis620): Likewise.
4682         (Vcharset_katakana_jisx0201): Likewise.
4683
4684 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
4685
4686         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
4687
4688 2002-12-14  Ben Wing  <ben@xemacs.org>
4689
4690         * callint.c: Declaration error.
4691         * dumper.c (pdump):
4692         * dumper.c (pdump_load): Warning fix.
4693         * process.c: GCPRO error.
4694         * glyphs.c (unmap_subwindow):
4695         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
4696         * event-stream.c (maybe_kbd_translate): Wrong argument to
4697         character_to_event().
4698
4699         * alloc.c (garbage_collect_1):
4700         * emacs.c:
4701         * emacs.c (debug_can_access_memory):
4702         * emacs.c (fatal_error_signal):
4703         * emacs.c (mswindows_handle_hardware_exceptions):
4704         * emacs.c (main_1):
4705         * emacs.c (main):
4706         * emacs.c (assert_failed):
4707         * emacs.c (syms_of_emacs):
4708         * lisp.h:
4709         * print.c:
4710         * print.c (std_handle_out_va):
4711         * print.c (write_string_to_stdio_stream):
4712         * print.c (write_fmt_string):
4713         * print.c (printing_badness):
4714         * print.c (printing_major_badness):
4715         * print.c (print_internal):
4716         * print.c (debug_print_no_newline):
4717         * print.c (debug_backtrace):
4718         Be more defensive in handling bad values when printing.  Add code
4719         from trunk involving inhibit_non_essential_printing_operations.
4720         When going down or in debug_print(), don't do external conversion
4721         and such and try really, really hard when printing to avoid core
4722         dumping.  Add force-debugging-signal, debug_break().
4723
4724 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
4725
4726         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
4727         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
4728
4729 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
4730
4731         * database.c: Fix open_database. Berkeley DB API has changed in
4732         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
4733
4734 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
4735
4736         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
4737
4738 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
4739
4740         * event-Xt.c (Xt_timeout):
4741         (Xt_timeout_callback):
4742         (emacs_Xt_add_timeout):
4743         (emacs_Xt_remove_timeout):
4744         (Xt_timeout_to_emacs_event):
4745         Turn completed_timeouts from a stack into a queue.  Fixes
4746         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
4747
4748 2002-11-07  Wolfram Gloger  <wg@malloc.de>
4749
4750         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
4751         * emacs.c (main): Assert that mmap'd allocation is disabled.
4752
4753 2002-10-14  Andy Piper  <andy@xemacs.org>
4754
4755         * glyphs-widget.c (layout_query_geometry): add in fiddle
4756         factor. Include border text in width layout calculation.
4757         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
4758
4759 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
4760
4761         * XEmacs 21.4.10 "Military Intelligence" is released.
4762
4763 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
4764
4765         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
4766         using the NAS private array SoundFileInfo that no longer exists in
4767         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
4768         and earlier.  This is broken for some versions between 1.5a and
4769         1.5f.
4770
4771 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
4772
4773         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
4774
4775         * emacs.c (shut_down_emacs): Improve crash message.
4776
4777 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
4778
4779         * file-coding.c (determine_real_coding_system): Check for coding
4780         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
4781         shebangs and Python PEP 263.
4782
4783 2002-10-08  Andy Piper  <andy@xemacs.org>
4784
4785         * glyphs-widget.c (layout_query_geometry): only resize dynamically
4786         if static sizes haven't been set.
4787
4788 2002-08-30  Mike Alexander  <mta@arbortext.com>
4789
4790         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
4791         to close a socket.
4792
4793 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
4794
4795         * callproc.c (child_setup): 21.4 doesn't have retry_close.
4796
4797 2002-09-20  Mike Sperber <mike@xemacs.org>
4798
4799         (This partially gets back my patch from 2002-07-20 without the
4800         bug.)
4801         * callproc.c (child_setup): Remove Ben's comment noting confusion
4802         over the file descriptors >= 3: close_process_descs() doesn't
4803         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
4804         * process-unix.c (unix_create_process): Call
4805         begin_dont_check_for_quit to inhibit unwanted interaction (and
4806         thus breaking of X event synchronicity) in the child.
4807
4808 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
4809
4810         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
4811         widget.
4812
4813 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
4814
4815         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
4816         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
4817         the xemacs process did not exit, but looped infinitely here.  This
4818         fixes that problem.
4819
4820 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4821
4822         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
4823         (find_context): Improve comments.
4824
4825         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
4826         (re_match_2): An XCHAR_TABLE operation was missing.
4827
4828         Many of the following changes were inspired by Andy Piper's (now
4829         obsolete) patch to make syntax-table text property lookup optional.
4830
4831         [Documentation]
4832
4833         * syntax.h (top level): Document semantics of syntax flags.
4834         * syntax.c (comstr_start, Fforward_comment): Improve comments.
4835         * syntax.c, syntax.h (top level): Document syntax cache better in
4836         comments.
4837
4838         [Instrument syntax caching (temporary change)]
4839
4840         * syntax.h (enum syntax_cache_statistics_functions, struct
4841         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
4842         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
4843         * syntax.c (scan_words, Fforward_comment, scan_lists,
4844         Fbackward_prefix_characters):
4845         * font-lock.c (find_context):
4846         Use them to instrument syntax caching. 
4847         * syntax.c (struct syntax_cache_statistics, scs_statistics,
4848         syntax_cache_statistics_function_names): New type and variables.
4849         * syntax.c (update_syntax_cache): Update and report statistics.
4850
4851         [Major syntax cache optimizations]
4852
4853         syntax.c (lookup_syntax_properties): Default off.
4854
4855         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
4856         * syntax.c (update_syntax_cache):
4857         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
4858
4859         [Minor syntax cache optimizations and code clarifications]
4860
4861         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
4862         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
4863         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
4864         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
4865         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
4866         (Code clarification.)
4867
4868         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
4869         scan_lists): Compute code from syncode, use Boolean macros instead
4870         of redundant masking operations.  (Code clarification; any decent
4871         compiler can do this optimization.)
4872
4873         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
4874         for clarity.
4875
4876         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
4877         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
4878         use F*_single_property_change instead of F*_extent_change.
4879         Currently F*_single_property_change is _much_ less efficient.
4880
4881         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
4882         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
4883         syntax_cache.object properly, don't leave Qt or Qnil.
4884         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
4885         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
4886         tests for Qt or Qnil.
4887
4888 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
4889
4890         * redisplay.c (point_in_line_start_cache): 
4891         * extents.c (print_extent_1):
4892         Fix warnings.
4893
4894         * extents.c (Fset_extent_property): Document `syntax-table' property.
4895
4896         * extents.h (Fnext_single_property_change): EXFUN it.
4897
4898 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
4899
4900         * search.c (clear_unused_search_regs): New static function.
4901         (search_buffer): 
4902         (simple_search): 
4903         (boyer_moore):
4904         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
4905         Minor clarifications in comments.
4906
4907         * regex.c (re_match_2_internal): Ensure no stale submatches.
4908
4909 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
4910
4911         * event-Xt.c (enqueue_focus_event): Add missing prototype.
4912
4913 2002-08-29  Jerry James  <james@xemacs.org>
4914
4915         * lisp.h: structrures -> structures.
4916
4917 2002-06-03  Andy Piper  <andy@xemacs.org>
4918
4919         * frame.c (frame_conversion_internal): add conversion appropriate
4920         for setting frame dimensions in pixels.
4921
4922         * console.h (struct console_methods): add device-specific widget
4923         layout functions.
4924
4925         * emacs.c (main_1): initialize glyph vars.
4926
4927         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
4928         (handle_focus_event_2): new function. Allow focus to
4929         be set to a particular window and widget.
4930         (enqueue_focus_event): new function. Create a
4931         synthetic focus event.
4932         (emacs_Xt_handle_magic_event): call
4933         handle_focus_event_2.
4934
4935         * frame.c (Fset_frame_pixel_height): new function. Allow
4936         pixel-based sizing. Does the right thing on character-oriented
4937         displays.
4938         (Fset_frame_pixel_width): ditto.
4939         (Fset_frame_pixel_size): ditto.
4940         (syms_of_frame): declare.
4941
4942         * general-slots.h: add :vertically-justify and
4943         :horizontally-justify.
4944
4945         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
4946         (mswindows_widget_border_width): new function.
4947         (mswindows_combo_box_instantiate): set border widths.
4948         (console_type_create_glyphs_mswindows): declare.
4949
4950         * glyphs-widget.c:
4951         (check_valid_justification): allow vertical and horizontal
4952         justification.
4953         (widget_border_width): new function. Call device methods.
4954         (widget_instance_border_width): ditto.
4955         (logical_unit_height): new function. Determine the height of a
4956         logical-unit. Logical units are intended to provide grid-like
4957         layout for subcontrols in a layout. If the layout is
4958         :vertically-justify top then subcontrols will be positioned on
4959         logical-unit boundaries, thus allowing adjacent subcontrols to
4960         line up.
4961         (widget_logical_unit_height): ditto for widgets.
4962         (redisplay_widget): misc cleanup.
4963         (widget_spacing): new function. Call device specific
4964         methods. Intended to be the default gap between adjacent widgets.
4965         (widget_query_geometry): use new spacing functions to determine
4966         appropriate geometry.
4967         (initialize_widget_image_instance): initialize horizontal and
4968         vertical justification.
4969         (widget_instantiate): use logica-units where appropriate for
4970         sizing large widgets.
4971         (button_query_geometry): use widget_instance_border_width.
4972         (tree_view_query_geometry): ditto.
4973         (tab_control_query_geometry): ditto.
4974         (edit_field_query_geometry): new function.
4975         (layout_update): pick up :justify, :horizontally-justify and
4976         :vertically-justify none of which worked previously. :justify is
4977         used as a fallback for both horizontal and vertical justification.
4978         (layout_query_geometry): use logical units to size appropriately.
4979         (layout_layout): ditto.
4980         (Fwidget_logical_to_character_width): new function. Allow users to
4981         convert from logical units to characters so that frame sizes can
4982         be set appropriately.
4983         (Fwidget_logical_to_character_height): ditto.
4984         (syms_of_glyphs_widget): declare.
4985         (image_instantiator_edit_fields): add edit_field_query_geometry.
4986         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
4987         :horizontally-justify.
4988         (specifier_vars_of_glyphs_widget): new function. Declare
4989         Vwidget_border_width which is not yet used.
4990
4991         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
4992         (x_widget_border_width): new function.
4993         (x_widget_instantiate): create a sensible name for widgets.
4994         (console_type_create_glyphs_x): declare x_widget_border_width.
4995
4996         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
4997         (struct Lisp_Image_Instance): add :vertically-justify and
4998         :horizontally-justify.
4999         (LAYOUT_JUSTIFY_TOP): new.
5000         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5001         (ROUND_UP): new macro. Round argument up to next integral
5002         interval.
5003
5004         * redisplay-output.c (redisplay_output_layout): misc formatting.
5005
5006         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5007
5008 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5009
5010         * XEmacs 21.4.9 "Informed Management" is released.
5011
5012 2002-08-19  Andy Piper  <andy@xemacs.org>
5013
5014         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5015         win32 format.
5016
5017         * realpath.c (xrealpath): normalize drive spec also so that dir
5018         sep chars are not mixed on cygwin.
5019
5020 2002-08-06  Jerry James  <james@xemacs.org>
5021
5022         * window.c (Fsplit_window): Count only half of the divider width
5023         against the left window when splitting horizontally. 
5024
5025 2002-06-24  Andy Piper  <andy@xemacs.org>
5026
5027         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5028         toolbar was cleared.
5029
5030         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5031         function. Split out from mswindows_output_frame_toolbars.
5032         (mswindows_output_frame_toolbars): move clear pieces to
5033         mswindows_output_frame_toolbars.
5034
5035         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5036         out from gtk_output_frame_toolbars.
5037         (gtk_output_frame_toolbars): move clear pieces to
5038         gtk_clear_frame_toolbars.
5039
5040         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5041         the frame is cleared. How this ever worked before is a mystery.
5042         (x_output_frame_toolbars): Only output toolbars.
5043         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5044
5045         * gutter.c (update_gutter_geometry):
5046         Mark frame layout changed.
5047         (update_frame_gutter_geometry, update_frame_gutters):
5048         Respect frame_layout_changed.
5049
5050         * console.h (struct console_methods): add
5051         clear_frame_toolbars_method.
5052
5053         * redisplay.c (redisplay_frame): call
5054         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5055
5056         * toolbar.h: declare update_frame_toolbars_geometry.
5057
5058         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5059         out from update_frame_toolbars.  Call clear_frame_toolbars.
5060         (update_frame_toolbars): only output, do not change geometry.
5061
5062         * redisplay.c: add frame_layout_changed.
5063
5064         * redisplay.h: add frame_layout_changed.
5065         (CLASS_RESET_CHANGED_FLAGS): set it.
5066         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5067         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5068         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5069
5070         * device.h (struct device): add frame_layout_changed.
5071         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5072
5073         * frame.h (struct frame): add frame_layout_changed.
5074         (MARK_FRAME_LAYOUT_CHANGED): new.
5075
5076 2002-06-30  Mike Alexander  <mta@arbortext.com>
5077
5078         * event-msw.c (mswindows_need_event): Don't wait for a new message
5079         if the queue is not empty.  Suggested by Paul Moore.
5080
5081 2002-06-12  Andy Piper  <andy@xemacs.org>
5082
5083         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5084         for printing on accurately.
5085
5086 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5087
5088         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5089         WM_ACTIVATE message. Make sure that the frame is visible if the
5090         window is visible. This seemss to fix the problem where XEmacs
5091         appears to freeze after switching desktops with certain virtual
5092         window managers.
5093         (debug_output_mswin_message): Added code to output message
5094         parameters for WM_WINDOWPOSCHANGED, 
5095         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5096
5097 2002-05-25  Andy Piper  <andy@xemacs.org>
5098
5099         * select-x.c (vars_of_select_x): Fix docstring of
5100         x-selection-strict-motif-ownership
5101
5102 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5103
5104         * keymap.c (get_keymap):
5105         Add comment about do_autoload GCPROs own args.
5106
5107 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5108
5109         * bytecode.c (execute_optimized_program): check_opcode ifdef
5110         ERROR_CHECK_BYTE_CODE.
5111
5112 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5113
5114         Thanks to Ben Wing and Michael Sperber.
5115
5116         * eval.c (Fcommand_execute):
5117         (Feval):
5118         (Ffuncall):
5119         (Fmacroexpand_internal):
5120         (function_argcount):
5121         callint.c (Fcall_interactively):
5122         Add comment about do_autoload GCPROs own args.
5123
5124         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5125
5126         * eval.c (Ffuncall): Extra braces to placate GCC.
5127
5128 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5129
5130         * backtrace.h (grow_specpdl):
5131         (SPECPDL_RESERVE):
5132         * EmacsFrame.c (EmacsFrameSetValues):
5133         * eval.c (grow_specpdl):
5134         * ExternalShell.c (hack_event_masks_1):
5135         * glyphs-x.c (convert_EImage_to_XImage): 
5136         (x_finalize_image_instance):
5137         * ralloc.c (page_size):
5138         (r_alloc_sbrk):
5139         * xgccache.c (gc_cache_hash):
5140         Fix unsigned comparison warnings.
5141
5142 2002-07-29  Jerry James  <james@xemacs.org>
5143
5144         * lread.c (locate_file): Any nonnegative return value indicates
5145         success if MODE is nonnegative.
5146
5147 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5148
5149         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5150         argument. 
5151
5152 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5153
5154         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5155
5156         * dumper.c (pdump_get_indirect_count):
5157         (pdump_scan_by_alignment):
5158         (pdump_dump_root_struct_ptrs):
5159         (pdump_dump_rtables):
5160         (pdump_dump_root_objects):
5161         (pdump):
5162         * nas.c (WaveOpenDataForReading):
5163         * fns.c (print_bit_vector):
5164         * font-lock.c (SINGLE_SYNTAX_STYLE):
5165         * glyphs.c (check_for_ignored_expose):
5166         (find_matching_subwindow):
5167         * glyphs-eimage.c:
5168         * imgproc.c (get_histogram):
5169         * redisplay.c (point_in_line_start_cache):
5170         * redisplay-output.c (redisplay_unmap_subwindows):
5171         * symbols.c (defsymbol_massage_name_1):
5172         (defkeyword_massage_name):
5173         (deferror_massage_name_and_message):
5174         * redisplay-x.c (x_output_string): 
5175         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5176         * frame.h (struct frame):
5177         * filelock.c (current_lock_owner):
5178         * doprnt.c (emacs_doprnt_1):
5179         * lisp.h (struct Lisp_Bit_Vector):
5180         (DO_REALLOC):
5181         Fix warnings.
5182
5183 2002-02-13  Ben Wing  <ben@xemacs.org>
5184
5185         * event-stream.c (reset_key_echo):
5186         * event-stream.c (reset_this_command_keys):
5187         * event-stream.c (execute_command_event):
5188         If console is dead as a result of C-x 5 0, then post-command stuff
5189         needs to be careful and do only non-console-specific stuff.
5190
5191 2002-07-01  Mike Sperber <mike@xemacs.org>
5192
5193         * process-unix.c (unix_send_process): Mark coding_outstream as
5194         non-open upon SIGPIPE.
5195
5196         * event-stream.c (Fnext_event): Reorder switch cases to something
5197         that makes sense.
5198
5199 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5200
5201         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
5202         Don't bogusly reinitialize ascii_character property.
5203
5204 2002-07-08  Mike Sperber <mike@xemacs.org>
5205
5206         * process.c (Fstart_process_internal): Do error checking before we
5207         fork off the child, so the child can't muck with the state of the
5208         parent.
5209
5210 2002-07-08  Mike Sperber <mike@xemacs.org>
5211
5212         * ralloc.c (init_ralloc): Allocate properly for pdump.
5213
5214 2002-06-12  Andy Piper  <andy@xemacs.org>
5215
5216         * glyphs.c (query_string_geometry): check the string.
5217
5218         * glyphs-widget.c (widget_logical_unit_height): cope with nil
5219         widget names.
5220
5221 2002-06-17  Jerry James  <james@xemacs.org>
5222
5223         * sysdll.c: Remove RTLD_GLOBAL initialization.
5224         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
5225
5226 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
5227
5228         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
5229
5230 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
5231
5232         * sysdep.c (sys_rename): Make sys_rename work for the case where
5233         Windows rename sets errno to EACCES if target file exists.
5234
5235 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
5236
5237         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5238         Fix detection of metric units to work on Win95
5239
5240 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
5241
5242         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
5243
5244 2002-04-25  Andy Piper  <andy@xemacs.org>
5245
5246         * redisplay.c (create_text_block): Remove extra comment trailer.
5247
5248 2002-04-24  Andy Piper  <andy@xemacs.org>
5249
5250         * redisplay.c (create_text_block): Don't actually add propagation
5251         data if the line ends after we have added a glyph.
5252
5253 2002-04-22  Andy Piper  <andy@xemacs.org>
5254
5255         * extents.c (extent_fragment_update): check for glyphs we have
5256         previously displayed.
5257         * extents.c (print_extent_1): warning removal.
5258         * extents.h: change prototype.
5259         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
5260         widths correctly for wide glyphs.
5261         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
5262         * redisplay.c (prop_type): add PROP_GLYPH.
5263         * redisplay.c (struct prop_block): add glyph type
5264         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
5265         to the propagation data.
5266         * redisplay.c (create_text_block): if there is a glyph in the
5267         propagation data use it to salt extent_fragment_update.
5268         * redisplay.c (create_string_text_block): ditto.
5269
5270 2002-04-13  Nix  <nix@esperi.demon.co.uk>
5271
5272         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
5273         * redisplay-output.c (compare_runes): Compare them.
5274         * redisplay.c: Update copyright date.
5275         * redisplay.c (pos_data): Add need_baseline_computation field.
5276         * redisplay.c (add_glyph_rune): Update ascent, descent, and
5277         need_baseline_computation; zero yoffset. Set max_pixmap_height
5278         for all pixmaps, not just automatically positioned ones.
5279         * redisplay.c (calculate_yoffset): New, compute yoffset values.
5280         * redisplay.c (calculate_baseline): New, compute textual baseline.
5281         * redisplay.c (add_glyph_rune): Call them.
5282         * redisplay.c (create_text_block): Likewise.
5283         * redisplay.c (create_overlay_glyph_block): Likewise.
5284         * redisplay.c (add_margin_runes): Likewise.
5285         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
5286
5287         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
5288         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
5289         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
5290         * redisplay-msw.c (mswindows_output_string): Likewise.
5291         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
5292         * redisplay-gtk.c (gtk_output_display_block): Likewise.
5293         * redisplay-x.c (x_output_display_block): Likewise.
5294
5295 2002-03-28  Ben Wing  <ben@xemacs.org>
5296
5297         * redisplay.c: Fixed bug in redisplay
5298         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
5299         and down of the lines, since they're bigger than the line
5300         size. (It was seen most obviously when there's a horizontal scroll
5301         bar, e.g. do C-h a glyph or something like that.) The problem was
5302         that the glyph-contrib-p setting on glyphs was ignored even if it
5303         was set properly, which it wasn't until now.
5304
5305 2002-04-24  Andy Piper  <andy@xemacs.org>
5306
5307         * lisp.h (Dynarr_end): Fix definition.
5308
5309 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
5310
5311         * redisplay.c (mark_redisplay): Remove call to
5312         update_frame_window_mirror.
5313
5314 2001-11-15  Andy Piper  <andy@xemacs.org>
5315
5316         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
5317         cygwin (again).
5318
5319 2002-02-13  Andy Piper  <andy@xemacs.org>
5320
5321         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
5322         we did in fact enqueue the XM_MAPFRAME event.
5323
5324 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
5325
5326         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
5327         to fix problem switching between virtual desktops under virtuawin
5328         virtual window manager.
5329
5330 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
5331
5332         * event-msw.c: Typo fix.
5333         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
5334         magic XM_MAPFRAME event has been sent.
5335
5336 2001-11-23  Andy Piper  <andy@xemacs.org>
5337
5338         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
5339
5340 2001-11-21  Andy Piper  <andy@xemacs.org>
5341
5342         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
5343         mouse events outside the frame.
5344
5345 2002-03-20  Andy Piper  <andy@xemacs.org>
5346
5347         * menubar-msw.c (mswindows_popup_menu): warning removal.
5348         * dialog-msw.c (dialog_popped_down): ditto.
5349
5350 2001-12-11  Andy Piper  <andy@xemacs.org>
5351
5352         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
5353         * dialog-msw.c (mswindows_make_dialog_box_internal): set
5354         popup_up_p.
5355         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
5356         * menubar-msw.c (mswindows_handle_wm_command): ditto.
5357         * menubar-msw.c (mswindows_popup_menu): ditto.
5358
5359 2001-10-29  Andy Piper  <andy@xemacs.org>
5360
5361         * dialog-msw.c (handle_directory_dialog_box): quit if the user
5362         cancels.
5363
5364 2002-01-03  Andy Piper  <andy@xemacs.org>
5365
5366         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
5367         letters.
5368         (xrealpath): ditto.
5369
5370 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
5371
5372         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
5373         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
5374         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5375         Detect and handle case where machine is set up for metric units
5376
5377 2002-04-02  Andy Piper  <andy@xemacs.org>
5378
5379         * dired-msw.c (mswindows_get_files): 
5380         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
5381         completely handled by XEmacs. Suggested by Thomas Vogler
5382         <mail@thomas-vogler.de>.
5383
5384 2001-11-14  Andy Piper  <andy@xemacs.org>
5385
5386         * nt.c (REG_ROOT): change registry key to XEmacs.
5387
5388 2002-04-27  Andy Piper  <andy@xemacs.org>
5389
5390         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
5391
5392 2002-04-26  Andy Piper  <andy@xemacs.org>
5393
5394         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
5395         behavior.
5396
5397 2002-03-14  Mike Alexander  <mta@arbortext.com>
5398
5399         * event-msw.c (mswindows_unwait_process): New, remove process from
5400         wait list
5401         * process-nt.c (nt_finalize_process_data): Call
5402         mswindows_unwait_process
5403         * console-msw.h: Declare mswindows_unwait_process
5404
5405 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
5406
5407         * editfns.c (Fdecode_time):
5408         (Fformat_time_string):
5409         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
5410         (make_time): Warning elimination (change arg name).
5411
5412 2001-11-24  Andy Piper  <andy@xemacs.org>
5413
5414         * window.c (Fsplit_window): Doc return type.
5415
5416 2002-04-01  Andy Piper  <andy@xemacs.org>
5417
5418         * emacs.c (Fkill_emacs): Only output message box in interactive
5419         mode.
5420
5421 2002-04-26  Andy Piper  <andy@xemacs.org>
5422  
5423         * config.h.in: pull in 21.5.x change to stop alloca warnings under
5424         cygwin.
5425
5426 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
5427
5428         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
5429         bit platform.
5430
5431 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
5432
5433         * XEmacs 21.4.8 "Honest Recruiter" is released.
5434
5435 2002-05-07  Nix  <nix@esperi.demon.co.uk>
5436
5437         Supersedes 2002-04-17 patch.
5438
5439         * process.h (PROCESS_LIVE_P): Use the process status as
5440         evidence of health, not the state of the input stream.
5441         (PROCESS_READABLE_P): Say if the process is readable
5442         from. (It may be dead nonetheless.)
5443         (CHECK_READABLE_PROCESS): Test for that condition.
5444
5445         * process.c (create_process): Use PROCESS_READABLE_P.
5446         (read_process_output, set_process_filter): Likewise.
5447
5448         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
5449         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
5450
5451         This code is #if 0'd, this is not the time to add new functions:
5452
5453         * process.c (Fprocess_readable_p): Report readability status.
5454         * process.c (Qprocess_readable_p): New, associated symbol...
5455         * process.c (syms_of_process): ... initialize it.
5456
5457 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
5458
5459         * XEmacs 21.4.7 "Economic Science" is released.
5460
5461 2002-04-17  Nix  <nix@esperi.demon.co.uk>
5462
5463         * process.h (PROCESS_LIVE_P): Use the process status as
5464         evidence of health, not the state of the input stream.
5465
5466 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
5467
5468         * sysdep.c (sys_siglist): change "signum" to "signal"
5469
5470 2001-04-21  Martin Buchholz  <martin@xemacs.org>
5471
5472         * s/darwin.h: New file.
5473         Thanks to Greg Parker <gparker@cs.stanford.edu>.
5474         
5475 2002-04-23  Andreas Jaeger  <aj@suse.de>
5476
5477         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
5478         which use lib64 for 64-bit libs.
5479         (START_FILES): Likewise.
5480
5481 2002-02-11  Mike Sperber  <mike@xemacs.org>
5482
5483         * device-x.c: 
5484         (x_IO_error_handler):
5485         (x_init_device): Temporarily keep device in static variable
5486         `device_being_initialized' so we can recover gracefully from
5487         internal XOpenDevice failure.  (XOpenDevice is documented to
5488         return NULL on failure, but sometimes calls the IO error handler
5489         instead.)
5490
5491 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
5492
5493         * dired.c (Ffile_name_all_completions): Change documentation --
5494         remove reference to completion-ignored-extensions.
5495         * dired.c (vars_of_dired): Change documentation for
5496         completion-ignored-extensions -- remove reference to
5497         file-name-all-completions.
5498
5499 2002-03-06  Jerry James  <james@xemacs.org>
5500
5501         * emodules.c (emodules_load): Fix multiple loading of same module.
5502
5503 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
5504         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
5505         RTLD_LAZY to avoid incorrect symbol binding when using nested
5506         shared libraries on Solaris.
5507
5508 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
5509
5510         * fileio.c (Ffind_file_name_handler): Improve docstring.
5511
5512 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
5513
5514         * fns.c (Fmapconcat): Improve docstring.
5515
5516 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
5517
5518         * device-gtk.c: Add prototype for
5519         emacs_gtk_selection_clear_event_handle.
5520         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
5521         selection.  Setup signal handler for "selection_clear_event"
5522         (emacs_gtk_selection_clear_event_handle).
5523
5524         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
5525         other applications owning the clipboard (based on
5526         x_handle_selection_clear).
5527
5528 2001-12-23  William M. Perry  <wmperry@gnu.org>
5529
5530         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
5531         
5532 2002-01-04  Martin Buchholz  <martin@xemacs.org>
5533
5534         * keymap.c (define_key_alternate_name): Parenthesize EQ.
5535
5536 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
5537
5538         * XEmacs 21.4.6 "Common Lisp" is released.
5539
5540 2001-12-16  Torsten Duwe  <duwe@caldera.de>
5541
5542         * search.c (Freplace_match): Add missing sub-expression functionality.
5543
5544         * buffer.c (decode_buffer): Add a check for pointer type to
5545         decode_buffer, before gcc's CSE optimization reorders a
5546         dereference in front of the allow_string test.
5547
5548 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
5549
5550         * window.c (window_loop): Fix bug that sometimes prevented
5551         window_loop() from iterating across multiple devices.  Also, at
5552         Ben's request, changed infloop-detecting code to abort() instead
5553         of silently terminating window_loop().
5554
5555 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
5556
5557         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
5558         * editfns.c (make_time): New function.
5559         (Fencode_time): Use it instead of wasteful_word_to_lisp.
5560         * lisp.h (make_time): Prototype and comment it.
5561         * dired.c (wasteful_word_to_lisp): Deprecate.
5562         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
5563
5564 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
5565
5566         * fileio.c (auto_save_1): Use current coding system, not
5567         escape-quoted.
5568
5569 2001-11-13  Ben Wing  <ben@xemacs.org>
5570
5571         * window.c:
5572         * window.c (window_truncation_on):
5573         * window.c (syms_of_window):
5574         truncate-partial-width-windows should respect the buffer being
5575         displayed, like other redisplay vars.
5576
5577 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
5578
5579         * event-stream.c (Fread_key_sequence): save current buffer.
5580
5581 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5582
5583         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
5584
5585 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5586
5587         * alloc.c (lcrecord_stats): Add space for types defined in modules.
5588
5589 2001-10-26  Mike Alexander  <mta@arbortext.com>
5590
5591         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
5592
5593 2001-10-25  Andy Piper  <andy@xemacs.org>
5594
5595         * ChangeLog:
5596         * dialog-msw.c (handle_directory_proc): new function.
5597          (handle_directory_dialog_box): new fucntion.
5598          (handle_file_dialog_box): use new directory dialog support.
5599          (mswindows_make_dialog_box_internal): ditto.
5600         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
5601         handling.
5602         (mswindows_find_frame): make global.
5603         * fileio.c (Fexpand_file_name): build fix.
5604         * general-slots.h: add Qdirectory.
5605         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
5606         handling.
5607         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
5608         cygwin not leaving win32 paths unchanged.
5609         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
5610         cygwin runtime to do path conversion.
5611         (Fmswindows_shell_execute): fix cygwin handling of URLs.
5612         (syms_of_win32): add new function.
5613         * window.c (window_loop): build fix.
5614
5615 2001-10-15  Andy Piper  <andy@xemacs.org>
5616
5617         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
5618
5619 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
5620
5621         * XEmacs 21.4.5 "Civil Service" is released.
5622
5623 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
5624
5625         * glyphs-x.c: Force buffer-tab highlight update when moving the
5626         buffer, avoiding an ugly black border, used for keyboard focus
5627         indication, on a widget that can never have keyboard focus, the
5628         buffer tab.
5629
5630 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
5631
5632         * process-unix.c (unix_open_multicast_group): Remove too much
5633         conversion between host and network byte order.
5634
5635 2001-09-10  Nix  <nix@esperi.demon.co.uk>
5636
5637         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
5638         before replacing them.
5639
5640         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
5641         operation.
5642
5643         * src/window.c (undedicate_windows): Use it.
5644         * src/window.h: Add prototype.
5645
5646 2001-09-17  Ben Wing  <ben@xemacs.org>
5647
5648         * fileio.c (normalize_filename):
5649         * fileio.c (Fexpand_file_name):
5650         Fix various C++ compile errors in Andy's recent code.
5651         
5652         * callint.c (Fcall_interactively):
5653         * editfns.c (Ftemp_directory):
5654         * editfns.c (Fuser_full_name):
5655         * emacs.c (argmatch):
5656         * lread.c (locate_file_map_suffixes):
5657         * redisplay-x.c (x_ring_bell):
5658         Fix sign-compare warnings.
5659         
5660 2001-09-08  Andy Piper  <andy@xemacs.org>
5661
5662         * fileio.c (normalize_filename): copied from nt.c
5663         * (Ffile_name_directory): enable win32 paths under cygwin.
5664         * (Ffile_name_nondirectory): ditto.
5665         * (directory_file_name): ditto.
5666         * (Fexpand_file_name): ditto.
5667         * (Ffile_truename): ditto.
5668         * (Fsubstitute_in_file_name): ditto.
5669         * (Ffile_name_absolute_p): ditto.
5670         * (Ffile_readable_p): ditto.
5671
5672 2001-09-08  Andy Piper  <andy@xemacs.org>
5673
5674         * device-msw.c (mswindows_finish_init_device): remove dde
5675         initialization.
5676         * device-msw.c (mswindows_init_dde): factor out from
5677         mswindows_finish_init_device()
5678         * device-msw.c (init_mswindows_very_early): new function
5679         initialize but don't enable dde.
5680         * emacs.c (main_1): call init_mswindows_very_early.
5681         * event-msw.c:
5682         * event-msw.c (mswindows_dde_callback): only execute when we are
5683         ready.
5684         * symsinit.h: declare init_mswindows_very_early.
5685
5686 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5687
5688         [sjt: This has been in 21.5 for months with no complaints.]
5689
5690         * console.h (struct console_methods): Added flags member.
5691         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
5692         (CONMETH_IMPL_FLAG):
5693         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
5694         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5695
5696         * device.c (window_system_pixelated_geometry): Use the above macros.
5697
5698         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
5699         implememntation flag.
5700         * device.h (DEVICE_DISPLAY_P): Use it.
5701
5702         * frame.c (delete_frame_internal): Use the above macro.
5703
5704         * redisplay.c (redisplay_device): Use it.
5705         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5706         (redisplay_frame): Ditto.
5707
5708         * device-msw.c (mswindows_device_implementation_flags): Removed.
5709         (msprinter_device_implementation_flags): Removed.
5710         (console_type_create_device_mswindows): Removed references to
5711         implementation_flags methods, set implementation flags here.
5712         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
5713
5714         * device-gtk.c (gtk_device_implementation_flags): Removed method.
5715         (console_type_create_device_gtk): Removed method declaration.
5716         Added commented out statement which semantically matches the
5717         commented out statement in the above removed method.
5718
5719 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
5720
5721         The attached patch fixes a few warnings. 
5722
5723         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
5724         * src/frame-gtk.c: guard against GNOME calls in GTK only
5725         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
5726         * src/select-gtk.c: prototype lisp_to_time
5727
5728 2001-06-08  Ben Wing  <ben@xemacs.org>
5729
5730         ------ gc-in-window-procedure fixes ------
5731         
5732         * alloc.c:
5733         * alloc.c (struct post_gc_action):
5734         * alloc.c (register_post_gc_action):
5735         * alloc.c (run_post_gc_actions):
5736         * alloc.c (garbage_collect_1):
5737         Create "post-gc actions", to avoid those dreaded "GC during window
5738         procedure" problems.
5739
5740         * event-msw.c:
5741         Abort, clean and simple, when GC in window procedure.  We want
5742         to flush these puppies out.
5743
5744         * glyphs-msw.c:
5745         * glyphs-msw.c (finalize_destroy_window):
5746         * glyphs-msw.c (mswindows_finalize_image_instance):
5747         Use a post-gc action when destroying subwindows.
5748
5749         * lisp.h:
5750         Declare register_post_gc_action().
5751
5752         * scrollbar-msw.c:
5753         * scrollbar-msw.c (unshow_that_mofo):
5754         Use a post-gc action when unshowing scrollbar windows, if in gc.
5755
5756         * redisplay.c (mark_redisplay):
5757         Add comment about the utter evilness of what's going down here.
5758
5759         ------ cygwin setitimer fixes ------
5760         
5761         * Makefile.in.in (sheap_objs):
5762         * Makefile.in.in (profile_objs):
5763         * Makefile.in.in (objs):
5764         Compile profile.c only when HAVE_SETITIMER.
5765         
5766         * nt.c (mswindows_sigset):
5767         * nt.c (mswindows_sighold):
5768         * nt.c (mswindows_sigrelse):
5769         * nt.c (mswindows_sigpause):
5770         * nt.c (mswindows_raise):
5771         * nt.c (close_file_data):
5772         Style fixes.
5773         
5774         * nt.c:
5775         Move setitimer() emulation to win32.c, because Cygwin needs it too.
5776         
5777         * profile.c:
5778         * profile.c (Fstart_profiling):
5779         * profile.c (Fstop_profiling):
5780         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
5781         instead of just plain setitimer().
5782         
5783         * signal.c:
5784         * signal.c (set_one_shot_timer):
5785         * signal.c (alarm):
5786         Define qxe_setitimer() as an encapsulation around setitimer() --
5787         call setitimer() directly unless Cygwin or MS Win, in which case
5788         we use our simulated version in win32.c.
5789         
5790         * systime.h:
5791         * systime.h (struct itimerval):
5792         * systime.h (ITIMER_REAL):
5793         Prototype mswindows_setitimer() and qxe_setitimer().  Long
5794         comment about "qxe" and the policy regarding encapsulation.
5795
5796         * win32.c:
5797         * win32.c (setitimer_helper_proc):
5798         * win32.c (setitimer_helper_period):
5799         * win32.c (setitimer_helper):
5800         * win32.c (mswindows_setitimer):
5801         Move setitimer() emulation here, so Cygwin can use it.
5802         Rename a couple of functions and variables to be longer and more
5803         descriptive.  In setitimer_helper_proc(), send the signal
5804         using either mswindows_raise() or (on Cygwin) kill().  If for
5805         some reason we are still getting lockups, we'll change the kill()
5806         to directly invoke the signal handlers.
5807
5808         ------ windows shell fixes ------
5809         
5810         * callproc.c:
5811         * ntproc.c:
5812         Comments about how these two files must die.
5813
5814         * callproc.c (init_callproc):
5815         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
5816         not just COMSPEC. (more correct and closer to FSF.) Don't
5817         force a value for SHELL into the environment. (Comments added
5818         to explain why not.)
5819         
5820         * nt.c (init_user_info):
5821         Don't shove a fabricated SHELL into the environment.  See above.
5822
5823 2001-06-01  Ben Wing  <ben@xemacs.org>
5824
5825         * Makefile.in.in (ldflags):
5826         eliminate that pesky "defaulting to 00401000" warning.
5827         * nt.h:
5828         eliminate warnings.
5829
5830 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
5831
5832         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
5833         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
5834
5835 2001-04-24  Jerry James <james@xemacs.org>
5836
5837         * faces.h: pass parameters to Fadd_spec_to_specifier in the
5838         correct order.
5839
5840 2001-06-01  Ben Wing  <ben@xemacs.org>
5841
5842         * event-msw.c (debug_mswin_messages):
5843         conditionalize the messages that were causing compile errors.
5844         (if only macros could generate #ifdef statements ...)
5845
5846 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
5847
5848         * XEmacs 21.4.4 "Artificial Intelligence" is released.
5849
5850 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5851
5852         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
5853
5854 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5855
5856         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
5857         * process-unix.c (unix_canonicalize_host_name):
5858         sysdep.c (init_system_name):
5859         Use it to conditionally support IPv6 canonicalization.
5860
5861 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
5862
5863         * event-msw.c:
5864         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
5865
5866 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
5867
5868         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
5869         attempt is made to scroll when no scroll bar is available.
5870
5871 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5872
5873         * input-method-motif.c (XIM_delete_frame): New callback.
5874         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
5875         got deleted from 21.4.3.)
5876
5877 2001-06-01  Ben Wing  <ben@xemacs.org>
5878
5879         * nt.c (mswindows_utime):
5880         * nt.c (close_file_data):
5881         fix off-by-one-indirection error.
5882
5883 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
5884
5885         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
5886         because set_file_times() now takes Lisp_Object path, instead of
5887         char*.
5888         * nt.c: Include buffer.h.
5889         * nt.c (convert_from_time_t): New.
5890         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
5891         not set mtime correctly.
5892         * nt.h: Declare mswindows_utime().
5893         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
5894         path, instead of char*.
5895         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
5896
5897 2001-05-30  Ben Wing  <ben@xemacs.org>
5898
5899         For 21.4:
5900
5901         (Stephen, just take all event-msw.c patches.  This includes
5902         the "iconify" fix below.)
5903
5904         * event-msw.c:
5905         * event-msw.c (mswindows_dequeue_dispatch_event):
5906         * event-msw.c (assert):
5907         * event-msw.c (emacs_mswindows_quit_p):
5908         * event-msw.c (debug_mswin_messages):
5909         * event-msw.c (debug_output_mswin_message):
5910         * event-msw.c (vars_of_event_mswindows):
5911         Fix yet more problems with C-g handling.
5912         Implement debug-mswindows-events.
5913         
5914 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5915
5916         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
5917         
5918 2001-05-23  Ben Wing  <ben@xemacs.org>
5919
5920         * event-msw.c (winsock_writer):
5921         * event-msw.c (winsock_closer):
5922         prior kludgy code was clobbering the buffer, thinking it was
5923         "unused" space to store an unneeded return value; instead, use
5924         the variable we've already got staring us in the face.
5925
5926 2001-05-17  Andy Piper  <andy@xemacs.org>
5927
5928         * sysfile.h: don't assume that file attributes are boolean
5929
5930 2001-05-23  Ben Wing  <ben@xemacs.org>
5931
5932         * device-msw.c (msprinter_init_device):
5933         signal an error rather than crash with an unavailable network
5934         printer (from Mike Alexander).
5935         
5936         * event-msw.c:
5937         * event-msw.c (struct winsock_stream):
5938         * event-msw.c (winsock_writer):
5939         * event-msw.c (winsock_closer):
5940         * event-msw.c (make_winsock_stream_1):
5941         cleanup headers.  fix (hopefully) an error with data corruption
5942         when sending to a network connection.
5943
5944         * fileio.c (Fexpand_file_name): Fix evil code that attempts
5945         to handle the ~user prefix by (a) always assuming we're referencing
5946         ourselves and not even verifying the user -- hence any file with
5947         a tilde as its first char is invalid! (b) if there wasn't a slash
5948         following the filename, the pointer was set *past* the end of
5949         file and we started reading from uninitialized memory.  Now we
5950         simply treat these as files, always.
5951
5952         * buffer.c (common_init_complex_vars_of_buffer): comment change.
5953         
5954 2001-05-19  Ben Wing  <ben@xemacs.org>
5955
5956         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
5957
5958         * process-nt.c:
5959         * process-nt.c (vars_of_process_nt):
5960         remove unused mswindows-quote-process-args.  rec for 21.4.
5961         
5962 2001-05-12  Ben Wing  <ben@xemacs.org>
5963
5964         * event-msw.c (mswindows_dde_callback):
5965         * event-msw.c (mswindows_wnd_proc):
5966         eliminate cygwin warnings.
5967
5968 2001-05-06  Ben Wing  <ben@xemacs.org>
5969
5970         * console-msw.h:
5971         * device-msw.c:
5972         * device-msw.c (print_dialog_worker):
5973         * device-msw.c (mswindows_handle_print_dialog_box):
5974         * device-msw.c (syms_of_device_mswindows):
5975         * dialog-msw.c (mswindows_make_dialog_box_internal):
5976         * general-slots.h:
5977         implement printing the selection when it's selected.
5978
5979 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
5980
5981         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
5982
5983 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
5984
5985         * lisp.h (EMACS_INT_MAX): This should be one bit less since
5986         EMACS_INT is signed.
5987
5988 2001-04-15  Michael Lausch  <mla@1012surf.net>
5989
5990         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
5991         gtk_widget_request_size() to give scrollbar >0 width for
5992         GTK >1.2.8.
5993
5994 2001-05-30  William M. Perry  <wmperry@gnu.org>
5995
5996         * event-gtk.c: Check for buttons as modifier keys.
5997
5998 2001-05-25  Craig Lanning  <CraigL@Knology.net>
5999
6000         * s\mingw32.h:
6001         Properly find MinGW's <process.h> inside Cygwin's restructured
6002         include directories.  Don't try to include <cygwin/version.h>
6003         since we are dropping support for MinGW in versions of Cygwin
6004         earlier than b21.
6005         * nt.c:
6006         Drop support for MinGW in versions of Cygwin before b21.
6007         * sysdep.c:
6008         Properly find MinGW's <process.h> inside Cygwin's restructured
6009         include directories.
6010         * syswindows.h:
6011         Drop support for MinGW in versions of Cygwin before b21.
6012         * unexcw.c:
6013         Even though a.out.h is no longer detected by configure, allow
6014         MinGW to use it until we figure out how to do the job with Win32.
6015
6016 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6017
6018         * syntax.c (find_start_of_comment):
6019         Fix `unbalanced parentheses' bug when dealing with mixed comment
6020         styles in c++/java/etc. mode
6021
6022 2001-05-29  Mike Alexander  <mta@arbortext.com>
6023
6024         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6025         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6026
6027 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6028
6029         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6030
6031 2001-03-31  Mike Sperber <mike@xemacs.org>
6032
6033         * search.c (Freplace_match): Support FSF-style specification of
6034         match subexpression when applied to a buffer.
6035
6036 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6037
6038         * event-stream.c (is_scrollbar_event): add missing semicolon
6039
6040 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6041
6042         * Makefile.in.in: Use TAR macro instead of hardcoding
6043           tar.  Allows use of GNU tar instead of system tar
6044
6045 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6046
6047         * event-stream.c (is_scrollbar_event): add missing semicolon
6048
6049 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6050
6051         * XEmacs 21.4.3 "Academic Rigor" is released.
6052
6053 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6054
6055         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6056
6057 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6058
6059         * buffer.c (Vcase_fold_search): Remove obsolete
6060           comment about non ASCII case-fold-search.  This
6061           bug has been fixed by case-table changes.
6062
6063 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6064
6065         * event-msw.c: Restore include of events-mod.h.
6066
6067 2001-04-22   zhaoway  <zw@debian.org>
6068
6069         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6070         !HAVE_SCROLLBARS.
6071
6072 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6073
6074         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6075
6076 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6077
6078         * mule-charset.c (Fmake_charset): Add missing else.
6079
6080 2001-04-23  Ben Wing  <ben@xemacs.org>
6081
6082         * event-msw.c (FAKE_MOD_QUIT):
6083         * event-msw.c (mswindows_dequeue_dispatch_event):
6084         * event-msw.c (mswindows_wnd_proc):
6085         * event-msw.c (emacs_mswindows_quit_p):
6086         Get critical quit working.
6087
6088 2001-05-05  Ben Wing  <ben@xemacs.org>
6089
6090         * console-msw.h:
6091         * device-msw.c:
6092         * device-msw.c (mswindows_get_default_margin):
6093         * frame-msw.c (mswindows_size_frame_internal):
6094         * frame-msw.c (msprinter_init_frame_1):
6095         * frame-msw.c (vars_of_frame_mswindows):
6096         Change top/bottom margin defaults to 0.5 inches.
6097
6098 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6099
6100         Fix link error with gcc 3.0 on Linux.
6101         * terminfo.c (UP): Remove.
6102         * terminfo.c (BC): Remove.
6103         * terminfo.c (PC): Remove.
6104         They weren't used, and in any case, these symbols should be
6105         defined in the *library*.
6106
6107 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6108
6109         * s/aix4.h: Fix crash with xlc -O3.
6110         Improve comment explaining how -O3 works.
6111
6112 2001-04-15  Ben Wing  <ben@xemacs.org>
6113
6114         * event-stream.c:
6115         * event-stream.c (Fnext_event):
6116         * event-stream.c (is_scrollbar_event):
6117         * event-stream.c (execute_command_event):
6118         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6119         crash' problem.  His fix introduces other problems.  We filter
6120         out scrollbar events specifically, making them somewhat invisible
6121         to command-building, and not appearing in `this-command-keys'.
6122         More work is still needed (see comments in event-stream.c), but
6123         this fixes all the major problems.
6124
6125 2001-04-20  Ben Wing  <ben@xemacs.org>
6126
6127         * .cvsignore: Added stuff for Windows.
6128
6129 2001-04-28  Ben Wing  <ben@xemacs.org>
6130
6131         * buffer.c (Ferase_buffer):
6132         * editfns.c (buffer_insert1):
6133         * editfns.c (Finsert_before_markers):
6134         * editfns.c (Finsert_string):
6135         * editfns.c (Finsert_char):
6136         * editfns.c (Fdelete_region):
6137         * editfns.c (Fwiden):
6138         * editfns.c (Fnarrow_to_region):
6139         remove bogus lines setting zmacs_region_stays to 0.
6140         
6141 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6142
6143         * process-unix.c (unix_open_network_stream): If connect() fails
6144         invalidate file descriptor after closing it.
6145
6146 2001-03-08  Mike Alexander  <mta@arbortext.com>
6147
6148         * event-msw.c (mswindows_need_event_in_modal_loop):
6149         Don't dispatch a message if we didn't get one.
6150         (mswindows_need_event):
6151         Terminate the correct process when one exits instead of the first
6152         one on Vprocess_list and look for process termination when in
6153         mswindows_protect_modal_loop.
6154
6155 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6156
6157         * XEmacs 21.4.1 "Copyleft" is released.
6158
6159 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6160
6161         * input-method-motif.c (XIM_delete_frame): New callback.
6162         (XIM_init_frame): Register it.
6163
6164 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6165
6166         * XEmacs 21.4.0 "Solid Vapor" is released.
6167
6168 2001-04-15  Ben Wing  <ben@xemacs.org>
6169
6170         * cmdloop.c (call_command_loop):
6171         Fix braino in bit-rotting code.
6172         
6173 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6174
6175         * extents.c (Fset_extent_endpoints): Force creation of extent info
6176         in buffer_or_string.
6177
6178         * extents.c (process_extents_for_insertion_mapper): Correctly
6179         check for open-open zero-length extents.
6180
6181 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6182
6183         * lisp.h: New typedefs Memory_count, Element_count.
6184         * regex.c:
6185         * regex.h:
6186         Sign-compare warning elimination: several unsigned -> signed.
6187         Based on work by Ben Wing <ben@xemacs.org>.
6188
6189 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6190
6191         * XEmacs 21.2.47 "Zephir" is released.
6192
6193 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6194
6195         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6196
6197 2001-04-03  Mike Sperber <mike@xemacs.org>
6198
6199         * search.c: Revert previous patch due because of release.
6200
6201 2001-03-30  Ben Wing  <ben@xemacs.org>
6202
6203         * s\cygwin32.h:
6204         Add missing killpg prototype.
6205
6206         * elhash.c:
6207         Add a comment about fixing problems when a new entry is added
6208         while mapping.
6209
6210         * frame-msw.c (mswindows_init_frame_1):
6211         Fix compile warnings.
6212
6213         * menubar.c (vars_of_menubar):
6214         Provide `menu-accelerator-support' to indicate that we properly
6215         support %_ in menu specifications, so that package code can
6216         conditionalize on this (and remove %_ from menu specifications
6217         on older versions).
6218
6219         * event-msw.c:
6220         * scrollbar-msw.c:
6221         * scrollbar-msw.c (can_scroll):
6222         * scrollbar-msw.h:
6223         Fix handling of mouse wheel under Windows to follow standards --
6224         now scrolls window under pointer, not selected window.
6225
6226 2001-03-31  Mike Sperber <mike@xemacs.org>
6227
6228         * search.c (Freplace_match): Support FSF-style specification of
6229         match subexpression when applied to a buffer.
6230
6231 2001-03-15  Martin Buchholz  <martin@xemacs.org>
6232
6233         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
6234         function to modify KEYMAP, so map over a copy of the hash table.
6235
6236 2001-03-21  Martin Buchholz <martin@xemacs.org>
6237
6238         * XEmacs 21.2.46 "Urania" is released.
6239
6240 2001-03-20  Dan Holmsand  <dan@eyebee.com>
6241
6242         * realpath.c (xrealpath): Make file-truename work with symlinks to
6243         /cygdrive paths on cygwin. Always lowercase drive-letters on
6244         native windows.
6245         (cygwin_readlink): Don't try to find canonical filename unless
6246         file exists.
6247
6248 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
6249
6250         * ChangeLog: Log GTK merge.
6251
6252         * dumper.c:
6253         * select-x.c:
6254         * specifier.c:
6255         * symeval.h:
6256         Revert gratuitous whitespace changes from GTK merge.
6257
6258         * emacs.c: Document end of complex #ifdef @ l. 1495.
6259
6260
6261 2001-03-12  Andy Piper  <andy@xemacs.org>
6262
6263         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
6264         have to do likewise.
6265
6266 2001-03-12  Andy Piper  <andy@xemacs.org>
6267
6268         * sysdep.c: we only support mingw now.
6269
6270 2001-03-09  Andy Piper  <andy@xemacs.org>
6271
6272         * unexcw.c (copy_executable_and_dump_data_section): making approx
6273         overrun a warning only.
6274
6275 2001-03-10  William M. Perry  <wmperry@aventail.com>
6276
6277         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
6278         satisfy Stephen's identical-after-cpp plea.
6279
6280 2001-03-02  Ben Wing  <ben@xemacs.org>
6281
6282         * cmds.c:
6283         * cmds.c (Fforward_char):
6284         * syntax.c:
6285         * window.c:
6286
6287         Augment documentation of the most common motion commands to make
6288         note of the shifted-motion support.
6289         
6290 2001-03-02  Ben Wing  <ben@xemacs.org>
6291
6292         * nt.c (mswindows_fstat):
6293         * nt.c (mswindows_stat):
6294         * search.c (boyer_moore):
6295         Fix compile warnings under Windows.
6296         
6297         * sysdep.c (sys_readdir):
6298         Fix buggy filename-conversion code under Mule.
6299
6300 2001-03-09  William M. Perry  <wmperry@aventail.com>
6301
6302         * Makefile.in.in:
6303         * config.h.in:
6304         * console.c:
6305         * console.h:
6306         * device.c:
6307         * device.h:
6308         * dragdrop.c:
6309         * emacs.c:
6310         * event-stream.c:
6311         * events.c:
6312         * events.h:
6313         * faces.c:
6314         * frame.h:
6315         * general-slots.h:
6316         * glyphs.c:
6317         * gutter.c:
6318         * inline.c:
6319         * lisp.h:
6320         * lrecord.h:
6321         * make-src-depend:
6322         * redisplay-output.c:
6323         * redisplay.c:
6324         * symsinit.h:
6325         * sysfile.h:
6326         * toolbar.c:
6327         * window.c:
6328         The Great GTK Merge.
6329
6330         * ChangeLog.GTK:
6331         * console-gtk.c:
6332         * console-gtk.h:
6333         * device-gtk.c:
6334         * emacs-marshals.c:
6335         * emacs-widget-accessors.c:
6336         * event-gtk.c:
6337         * frame-gtk.c:
6338         * gccache-gtk.c:
6339         * gccache-gtk.h:
6340         * glade.c:
6341         * glyphs-gtk.c:
6342         * glyphs-gtk.h:
6343         * gtk-glue.c:
6344         * gtk-xemacs.c:
6345         * gtk-xemacs.h:
6346         * gui-gtk.c:
6347         * gui-gtk.h:
6348         * menubar-gtk.c:
6349         * native-gtk-toolbar.c:
6350         * objects-gtk.c:
6351         * objects-gtk.h:
6352         * redisplay-gtk.c:
6353         * scrollbar-gtk.c:
6354         * scrollbar-gtk.h:
6355         * select-gtk.c:
6356         * toolbar-gtk.c:
6357         * ui-byhand.c:
6358         * ui-gtk.c:
6359         * ui-gtk.h:
6360         The Great GTK Merge: new files.
6361
6362 2001-02-26  Ben Wing  <ben@xemacs.org>
6363
6364         Reapplied Lstream change.
6365
6366 2001-02-26  Ben Wing  <ben@xemacs.org>
6367
6368         Undid the last change, since it is more controversial than I
6369         thought.  It should be back in at some point soon.
6370         
6371 2001-02-25  Ben Wing  <ben@xemacs.org>
6372
6373         * buffer.c:
6374         * callproc.c (Fold_call_process_internal):
6375         * event-msw.c (ntpipe_slurp_reader):
6376         * event-msw.c (ntpipe_shove_writer):
6377         * event-msw.c (winsock_reader):
6378         * event-msw.c (winsock_writer):
6379         * file-coding.c:
6380         * file-coding.c (detect_eol_type):
6381         * file-coding.c (detect_coding_type):
6382         * file-coding.c (determine_real_coding_system):
6383         * file-coding.c (Fdetect_coding_region):
6384         * file-coding.c (decoding_reader):
6385         * file-coding.c (decoding_writer):
6386         * file-coding.c (mule_decode):
6387         * file-coding.c (Fdecode_coding_region):
6388         * file-coding.c (encoding_reader):
6389         * file-coding.c (encoding_writer):
6390         * file-coding.c (mule_encode):
6391         * file-coding.c (Fencode_coding_region):
6392         * file-coding.c (detect_coding_sjis):
6393         * file-coding.c (decode_coding_sjis):
6394         * file-coding.c (encode_coding_sjis):
6395         * file-coding.c (detect_coding_big5):
6396         * file-coding.c (decode_coding_big5):
6397         * file-coding.c (encode_coding_big5):
6398         * file-coding.c (detect_coding_ucs4):
6399         * file-coding.c (decode_coding_ucs4):
6400         * file-coding.c (encode_coding_ucs4):
6401         * file-coding.c (detect_coding_utf8):
6402         * file-coding.c (decode_coding_utf8):
6403         * file-coding.c (encode_coding_utf8):
6404         * file-coding.c (detect_coding_iso2022):
6405         * file-coding.c (decode_coding_iso2022):
6406         * file-coding.c (encode_coding_iso2022):
6407         * file-coding.c (decode_coding_no_conversion):
6408         * file-coding.c (encode_coding_no_conversion):
6409         * glyphs-x.c (write_lisp_string_to_temp_file):
6410         * gpmevent.c (tty_get_foreign_selection):
6411         * lisp.h:
6412         * lstream.c:
6413         * lstream.c (Lstream_flush_out):
6414         * lstream.c (Lstream_adding):
6415         * lstream.c (Lstream_write_1):
6416         * lstream.c (Lstream_write):
6417         * lstream.c (Lstream_raw_read):
6418         * lstream.c (Lstream_read_more):
6419         * lstream.c (Lstream_read):
6420         * lstream.c (Lstream_unread):
6421         * lstream.c (Lstream_fputc):
6422         * lstream.c (stdio_reader):
6423         * lstream.c (stdio_writer):
6424         * lstream.c (filedesc_reader):
6425         * lstream.c (filedesc_writer):
6426         * lstream.c (lisp_string_reader):
6427         * lstream.c (struct fixed_buffer_stream):
6428         * lstream.c (make_fixed_buffer_input_stream):
6429         * lstream.c (make_fixed_buffer_output_stream):
6430         * lstream.c (fixed_buffer_reader):
6431         * lstream.c (fixed_buffer_writer):
6432         * lstream.c (struct resizing_buffer_stream):
6433         * lstream.c (resizing_buffer_writer):
6434         * lstream.c (dynarr_writer):
6435         * lstream.c (lisp_buffer_reader):
6436         * lstream.c (lisp_buffer_writer):
6437         * lstream.h:
6438         * lstream.h (lstream_implementation):
6439         * lstream.h (struct lstream):
6440         * md5.c (Fmd5):
6441         * process-nt.c (nt_send_process):
6442         * process-unix.c (unix_send_process):
6443         
6444         Correct Lstream lossage due to mixing of signed and unsigned
6445         quantities.  All Lstream uses of size_t and ssize_t are now a
6446         single signed data type Lstream_data_count.  This fixes problems
6447         under Windows with sending large quantities of data to a process,
6448         and may well fix other subtle bugs.
6449
6450 2001-02-23  Martin Buchholz <martin@xemacs.org>
6451
6452         * XEmacs 21.2.45 "Thelxepeia" is released.
6453
6454 2001-02-21  Martin Buchholz  <martin@xemacs.org>
6455
6456         * lisp-union.h (XSETINT): 
6457         (XSETCHAR):
6458         (XSETOBJ): 
6459         Reverse previous change of 2001-02-06.
6460
6461 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
6462
6463         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
6464         buffers.
6465         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6466         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
6467         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
6468         * regex.c (POS_AS_IN_BUFFER): removed
6469         * regex.c (re_search_2):
6470         * regex.c (re_match_2):
6471         Don't use an offset of 1 when calculating buffer positions, since
6472         `BI_BUF_BEGV' does it already.
6473
6474 2001-02-18  Wim Dumon  <wim@easics.be>
6475
6476         * insdel.c (prepare_to_modify_buffer): Also check for
6477         supersession when clash-detection is enabled. 
6478
6479 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
6480
6481         * regex.c (re_match_2_internal):
6482         Convert temp characters from 'const unsigned char' to 're_char'.
6483         Fix crashing bug with extended characters under mule.
6484         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
6485         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
6486         font-lock, pdump, and new syntax-table code.
6487         * syntax.c (find_start_of_comment):
6488         (find_end_of_comment):
6489         (forward-comment):
6490         Fix crashing bugs involving moving beyond end of buffer.
6491         * syntax.c (find_start_of_comment):
6492         Fixed logic to allow proper detection of cases where the same
6493         character is used to end both a two-char comment start and a
6494         two-char comment end sequence. Fixes `(forward-comment -1)'.
6495         * syntax.c (find_start_of_comment):
6496         Return position just past last comment-end character for all cases
6497         (previously was only done for two-char comment-end sequences).
6498         * syntax.c (forward-comment):
6499         Take value returned from `find_end_of_comment', rather than
6500         incrementing it.
6501         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6502         Properly deal with BUFFERP (syntax_cache.object)
6503
6504 2001-02-17  Martin Buchholz  <martin@xemacs.org>
6505
6506         * alloc.c (Fgarbage_collect): 
6507         * alloc.c (make_bit_vector_from_byte_vector):
6508         -Wsign-compare-correctness.
6509
6510 2001-02-16  Martin Buchholz  <martin@xemacs.org>
6511
6512         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
6513         (XSETCHAR): Likewise.
6514         (XSETOBJ): Likewise.
6515
6516 2001-02-15  Martin Buchholz  <martin@xemacs.org>
6517
6518         * mule-canna.c (canna-func-delete_previous): 
6519         Rename to canna-func-delete-previous.
6520
6521 2001-02-14  Martin Buchholz  <martin@xemacs.org>
6522
6523         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
6524
6525 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
6526
6527         * font-lock.c (find_context): Fix C++ compile errors introduced by
6528         recent patch
6529
6530 2001-02-13  Martin Buchholz  <martin@xemacs.org>
6531
6532         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
6533         pragma, but earlier ones barf on the same pragma.
6534
6535 2001-02-06  Mike Sperber <mike@xemacs.org>
6536
6537         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
6538         `configure-mule-lisp-directory'.
6539
6540 2001-02-12  Martin Buchholz  <martin@xemacs.org>
6541
6542         Make sure dump-id.c is compiled in the same way as other .c's.
6543         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
6544         * dump-id.h: Remove.
6545         * emacs.c: Move dump-id.h into dumper.h.
6546         * dumper.h: Move dump-id.h into dumper.h.
6547         * Makefile.in.in:
6548         Use standard .c.o rule for building dump-id.o.
6549         Remove preprocessor flags from link command.
6550         Add dump-id.o to ${otherobjs} if PDUMP.
6551
6552 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
6553
6554         Port FSF 20.7 syntax table improvements.
6555         * syntax.c.
6556         * syntax.h.
6557
6558         Fixups for new syntax table stuff.
6559         * dired.c: Include syntax.c.
6560         (Fdirectory_files): Initialize regex_match_object and
6561         regex_emacs_buffer.
6562         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
6563         and Fget_char_property.
6564
6565         Use ported FSF 20.7 syntax table improvements.
6566         * font-lock.c.
6567         * regex.c.
6568         * search.c.
6569         
6570 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6571
6572         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
6573         Unixware's enum boolean from sys/types.h.
6574
6575 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6576
6577         Fix support for building with latest Purify.
6578         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
6579         (PURIFY_FLAGS): Likewise.
6580
6581 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6582
6583         * fileio.c (lisp_string_set_file_times): New.
6584         * fileio.c (Fcopy_file): Use it.
6585         Fixes bug:
6586         (copy-file filename non-ascii-filename t t)
6587         ==> No such file or directory, non-ascii-filename
6588
6589 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6590
6591         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
6592         USHRT_MAX seems clearer than ~0 anyways.
6593
6594 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6595
6596         dumper improvements.  Inspired by Olivier.
6597         * dumper.c (pdump_max_align): New.
6598         * dumper.c (pdump_add_entry): Use pdump_max_align.
6599         * dumper.c (pdump_get_entry_list): Likewise.
6600         * dumper.c (pdump_scan_by_alignment): Likewise.
6601         Don't iterate through unnecessary alignments.
6602         * dumper.c (pdump_file_get): No need to align result of malloc().
6603         * dumper.c (pdump_mallocadr): Remove.  
6604         The result of malloc() is guaranteed to be maximally aligned.
6605         * dumper.c: s/elmt/elt/g;
6606         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
6607         * dumper.c (pdump_alert_undump_object): Likewise.
6608         * dumper.c (pdump_align_table): 
6609         Don't support alignments > 64.
6610         Store ALIGNOF's, not shift counts, in table.
6611
6612 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6613
6614         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
6615         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
6616         * systime.h: Use HAVE_UTIME.
6617         * sysdep.c (struct utimbuf): Remove.
6618         * sysdep.c (set_file_times): Prefer utime() to utimes().
6619         * config.h.in (HAVE_UTIME): New.
6620         * config.h.in (HAVE_UTIME_H): Remove.
6621         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
6622
6623 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6624
6625         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
6626
6627 2001-02-08  Martin Buchholz  <martin@xemacs.org>
6628
6629         * s/irix6-0.h: Use the standard system memmove, not bcopy.
6630
6631 2001-02-08  Martin Buchholz <martin@xemacs.org>
6632
6633         * XEmacs 21.2.44 "Thalia" is released.
6634
6635 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6636
6637         Fixes crashes in kill-emacs on some systems.
6638         * process-unix.c (unix_kill_child_process):
6639         It's OK for kill() to fail with ESRCH.
6640
6641 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6642
6643         Contortions to make .gdbinit tricks work on most systems.
6644         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
6645         * alloc.c (dbg_valmask): Make non-const.
6646         * alloc.c (dbg_typemask): Make non-const.
6647         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
6648         * alloc.c (dbg_valbits): Make non-const.
6649         * alloc.c (dbg_gctypebits): Make non-const.
6650         * .gdbinit (decode_object): Make it work with AIX cc.
6651
6652 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6653
6654         * elhash.c (make_general_lisp_hash_table):
6655         Use simpler and more efficient calloc to clear entries.
6656
6657 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6658
6659         * window.c (window_scroll): Work around an AIX C compiler bug.
6660         Fixes 'scroll-up' does nothing problem with xlC.
6661
6662 2001-02-05  Martin Buchholz  <martin@xemacs.org>
6663
6664         * .gdbinit: Remove obsolete comment.
6665
6666 2001-01-31  Mike Alexander  <mta@arbortext.com>
6667
6668         * select.c (Fown_selection_internal): Set owned_p for device
6669         method correctly.
6670
6671 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6672
6673         Port to g++ 2.97.
6674         "not" cannot be used as a macro name as it is an operator in C++
6675         * config.h.in: Stop #defining `not'.
6676         * chartab.c (check_category_char): not ==> not_p
6677         * chartab.h: Likewise.
6678         * regex.c (re_match_2_internal): Likewise.
6679
6680 2001-02-02  Martin Buchholz  <martin@xemacs.org>
6681
6682         * lisp-disunion.h: Fix up comments.
6683
6684 2001-01-31  Martin Buchholz  <martin@xemacs.org>
6685
6686         * keymap.c (define_key_check_and_coerce_keysym):
6687         (syms_of_keymap):
6688         Support mouse-6 and mouse-7 bindings in the obvious way.
6689
6690 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6691
6692         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
6693
6694 2001-01-30  Martin Buchholz  <martin@xemacs.org>
6695
6696         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
6697         Previous patch missed DEFVAR_INT_MAGIC.
6698         Make sure future DEFVAR_foo use correct types.
6699         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
6700         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
6701         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
6702         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
6703         * (DEFVAR_INT): Likewise.
6704         * redisplay.c (vertical_clip): Should be of type Fixnum.
6705         * redisplay.c (horizontal_clip): Likewise.
6706         * lisp.h (dump_add_opaque_int): New.
6707         (dump_add_opaque_fixnum): New.
6708
6709 2001-01-29  Andy Piper  <andy@xemacs.org>
6710
6711         * glyphs-widget.c (check_valid_int_or_function): allow symbols
6712         since they can be eval'ed
6713
6714 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6715
6716         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
6717         Oops, XEmacs redefines `class'.  Use `typename' instead.
6718
6719 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6720
6721         * dumper.c: Fix C++ compile errors.
6722
6723 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6724
6725         * tparam.c: Use correct prototypes.
6726
6727 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6728
6729         * sysproc.h: #include util.h for NetBSD's openpty.
6730
6731 2001-01-27  Martin Buchholz  <martin@xemacs.org>
6732
6733         More 64-bit correctness.
6734         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
6735         Use a typedef `fixnum' for the type used for DEFVAR_INT.
6736         Fix up comments.
6737         This finally finishes the 64-bit SGI port.
6738         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
6739         * symbols.c: Fix up comments and type casts.
6740         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
6741         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
6742         * symeval.h (Fixnum): New type.
6743         * symeval.h (symbol_value_type): Fix up comment.
6744
6745         * commands.h:
6746         * nt.c:
6747         * emacs.c:
6748         * data.c:
6749         * redisplay.c:
6750         * abbrev.c:
6751         * dired-msw.c:
6752         * event-Xt.c:
6753         * eldap.c:
6754         * window.c:
6755         * sound.c:
6756         * event-stream.c:
6757         * eval.c:
6758         * buffer.c:
6759         * mule-canna.c: A million DEFVAR_INTs here...
6760         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
6761         * extents.c:
6762         * cmdloop.c:
6763         * lisp.h:
6764         * select-x.c:
6765         * console-x.h:
6766         * event-msw.c:
6767         * mule-wnnfns.c:
6768         * hpplay.c:
6769         * ralloc.c:
6770         * alloc.c:
6771         * keymap.c:
6772         * profile.c:
6773         s/int/Fixnum/g in DEFVAR_INT declarations.
6774
6775 2001-01-26  Martin Buchholz  <martin@xemacs.org>
6776
6777         Port pdump to SGI alignment-sensitive environment.
6778         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
6779         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
6780         properly aligned.
6781         Define and use aligned reading and writing macros.
6782         Use buffered stdio instead of posix i/o for faster dumping.
6783         Eliminate kludgy 256 byte space for header.
6784         Read and write from dump file using structs for alignment safety.
6785         * dumper.c (pdump_align_stream): New.
6786         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
6787         * dumper.c (PDUMP_READ_ALIGNED): New.
6788         * dumper.c (PDUMP_WRITE_ALIGNED): New.
6789         * dumper.c (pdump_static_Lisp_Object): New struct.
6790         * dumper.c (pdump_static_pointer): New struct.
6791         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
6792         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
6793         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
6794         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
6795
6796         * dumper.c (pdump_backtrace):
6797         * dumper.c (pdump_get_indirect_count):
6798         * dumper.c (pdump_register_object):
6799         * dumper.c (pdump_register_struct):
6800         * dumper.c (pdump_reloc_one):
6801         * dumper.c (pdump_scan_by_alignment):
6802         * dumper.c (pdump_dump_from_root_struct_ptrs):
6803         * dumper.c (pdump_dump_opaques):
6804         * dumper.c (pdump_dump_rtables):
6805         * dumper.c (pdump_dump_from_root_objects):
6806         * dumper.c (pdump):
6807         * dumper.c (pdump_load_finish):
6808         Use aligned reading and writing.
6809
6810         * dumper.c (pdump_free): Make static.
6811         * dumper.c (pdump_hFile): Likewise.
6812         * dumper.c (pdump_hMap): Likewise.
6813
6814 2001-01-26  Martin Buchholz <martin@xemacs.org>
6815
6816         * XEmacs 21.2.43 "Terspichore" is released.
6817
6818 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6819
6820         Type fiddling for window_config.saved_windows_count
6821         * window.c (struct window_config): 
6822         Make saved_windows_count member unsigned.
6823         * window.c (sizeof_window_config_for_n_windows): 
6824         Make parameter unsigned.
6825         * window.c (mark_window_config):
6826         * window.c (window_config_equal):
6827         * window.c (free_window_configuration):
6828         * window.c (Fset_window_configuration):
6829         * window.c (count_windows):
6830         * window.c (Fcurrent_window_configuration):
6831         * window.c (reinit_vars_of_window):
6832         Update all callers and users.
6833
6834 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6835
6836         Alignment correctness for flexible arrays.
6837         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
6838         Make alignment-correct. Add interesting comments.
6839         * alloc.c (size_vector):
6840         * alloc.c (make_vector_internal):
6841         * alloc.c (make_bit_vector_internal):
6842         * alloc.c (sweep_bit_vectors_1):
6843         * fns.c (size_bit_vector):
6844         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
6845         * window.c (sizeof_window_config_for_n_windows): 
6846         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
6847
6848 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6849
6850         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
6851
6852 2001-01-23  Andy Piper  <andy@xemacs.org>
6853
6854         * select.c (Fown_selection_internal): pass owned_p
6855
6856         * select-msw.c (mswindows_own_selection): New Signature.
6857
6858         * console.h (struct console_methods): add owned_p to
6859         _own_selection.
6860
6861         * select-x.c (x_own_selection): pass owned_p
6862         (hack_motif_clipboard_selection): use owned_p
6863         (vars_of_select_x): new variable -
6864         x_selection_strict_motif_ownership.
6865
6866 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6867
6868         * specifier.h (specifier_data_offset): Remove pointless parens.
6869         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
6870
6871 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6872
6873         Make Lisp_Object sizeof methods be alignment-correct.
6874         pdump must restore objects to the same alignment as the C compiler
6875         assumes.  It really matters on SGIs.
6876         * lstream.c (aligned_sizeof_lstream): New.
6877         (sizeof_lstream): Use aligned_sizeof_lstream.
6878         (Lstream_new): Likewise.
6879         * opaque.c (aligned_sizeof_opaque): New.
6880         (sizeof_opaque): Use aligned_sizeof_opaque.
6881         (make_opaque): Likewise.
6882         * specifier.c (aligned_sizeof_specifier): New.
6883         (sizeof_specifier): Use aligned_sizeof_specifier.
6884         (make_specifier_internal): Likewise.
6885
6886 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6887
6888         * lstream.h (struct lstream): Use max_align_t for trailing data.
6889         * specifier.h (struct Lisp_Specifier): Likewise.
6890
6891 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6892
6893         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
6894         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
6895         (CCL_SUSPEND): Likewise.
6896         (CCL_INVALID_CMD): Likewise.
6897         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
6898         (ccl_driver): Likewise.
6899         (CCL_WRITE_CHAR): Macro hygiene.
6900         (CCL_WRITE_STRING): Macro hygiene.
6901
6902 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6903
6904         Port "portable" dumper to SunOS 4 and HP-UX.
6905         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
6906         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
6907         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
6908
6909 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6910
6911         * lisp.h (ALIGNOF): A better definition for C++.
6912
6913 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6914
6915         Macro hygiene.
6916         Fix printf warnings: int format, long int arg.
6917         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
6918         (PUSH_FAILURE_POINT): Use correct printf formats.
6919         (POP_FAILURE_POINT): Use correct printf formats.  
6920         Use do {...} while (0)
6921
6922 2001-01-20  Martin Buchholz <martin@xemacs.org>
6923
6924         * XEmacs 21.2.42 "Poseidon" is released.
6925
6926 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6927
6928         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
6929
6930 2001-01-19  Martin Buchholz  <martin@xemacs.org>
6931
6932         De-kludgify FIXED_TYPE free list frobbing.
6933         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
6934         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
6935         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
6936         * alloc.c (Lisp_Free): New pseudo lisp object definition.
6937         * alloc.c (LRECORD_FREE_P): New.
6938         * alloc.c (MARK_LRECORD_AS_FREE): New.
6939         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
6940         * alloc.c (STRUCT_FREE_P): Deleted.
6941         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
6942         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
6943         * alloc.c (STRING_CHARS_FREE_P): New.
6944         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
6945         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
6946         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
6947         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
6948         * alloc.c (resize_string): Use new definitions.
6949         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
6950         * alloc.c (verify_string_chars_integrity): Use new definitions.
6951         * alloc.c (compact_string_chars): Use new definitions.
6952         * alloc.c: Update monster comments.
6953         * lrecord.h (lrecord_type): Add some new lrecord types for
6954         alloc.c's use.
6955
6956 2001-01-18  Martin Buchholz  <martin@xemacs.org>
6957
6958         Improve alignment hackery.
6959         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
6960         (max_align_t): Moved from opaque.h - general purpose.
6961         (ALIGN_PTR): Use size_t, not long.
6962         * opaque.h (max_align_t): Move to lisp.h.
6963
6964 2001-01-18  Norbert Koch  <nk@LF.net>
6965
6966         * gui.h: Fix and add prototypes to fix build problems.
6967
6968 2001-01-18  Martin Buchholz  <martin@xemacs.org>
6969
6970         temacs is going away, so `dump-temacs' is now a bad name.
6971         * .dbxrc (dump-temacs): Rename to `dmp'.
6972         * .gdbinit (dump-temacs): Rename to `dmp'.
6973
6974 2001-01-17  Andy Piper  <andy@xemacs.org>
6975
6976         * glyphs.c (print_image_instance): comment to make martin happy.
6977
6978         * glyphs-x.c (x_redisplay_widget): update faces after a frame
6979         change.
6980
6981         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
6982         activation.
6983         (mswindows_tab_control_redisplay): warning suppression.
6984
6985         * glyphs-widget.c (widget_update): re-write to cope with updated
6986         items.
6987         (widget_instantiate): use new gui_item functions.
6988         (tab_control_update): deleted.
6989         (progress_gauge_update): deleted.
6990         (image_instantiator_progress_guage): take out update reference.
6991         (image_instantiator_tree_view): ditto.
6992         (image_instantiator_tab_control): ditto.
6993
6994         * gui.c (widget_gui_parse_item_keywords): new function. Do things
6995         Right the new way.
6996         (gui_item_add_keyval_pair): re-write to cope with descriptors and
6997         return whether anything was changed.
6998         (update_gui_item_keywords): as it sounds.
6999
7000         * gui.h: declare widget_gui_parse_item_keywords.
7001
7002         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7003         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7004
7005 2001-01-17  Martin Buchholz <martin@xemacs.org>
7006
7007         * XEmacs 21.2.41 "Polyhymnia" is released.
7008
7009 2001-01-16  Didier Verna  <didier@xemacs.org>
7010
7011         * glyphs.c (image_instantiate): don't use fallbacks when
7012         instantiating a face's background pixmap by inheritance.
7013
7014 2001-01-14  Mike Sperber <mike@xemacs.org>
7015
7016         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7017         Conditionalize accordingly.
7018
7019 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7020
7021         * dumper.c (pdump_file_get): Fix a compiler warning.
7022
7023 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7024
7025         Make Purify happy when pdumping.
7026         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7027         iniitalizing all bits of new lisp object memory.
7028         * symbols.c (Fmake_local_variable): Likewise.
7029         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7030         * symbols.c (Fdefvaralias): Likewise.
7031         * mule-charset.c (vars_of_mule_charset): Likewise.
7032
7033 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7034         Add the `-nd' flag when running pre-dump operations under the debugger.
7035         * .dbxrc (run-temacs): Add `-nd'.
7036         * .dbxrc (update-elc): Likewise.
7037         * .dbxrc (dump-temacs): Likewise.
7038         * .gdbinit (run-temacs): Likewise.
7039         * .gdbinit (check-temacs): Likewise.
7040         * .gdbinit (update-elc): Likewise.
7041         * .gdbinit (dump-temacs): Likewise.
7042
7043 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7044
7045         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7046         export OBJECT_MODE=64
7047         configure --pdump --use-union-type=no
7048         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7049         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7050
7051         * miscplay.c (sndcnv8U_2mono):
7052         Avoid two uses of `++' in the same expression.
7053         Suppresses a GCC warning.
7054
7055 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7056
7057         Make sure future compilers don't miscompile alloc.c.
7058         * alloc.c:
7059         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7060         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7061
7062 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7063
7064         * dumper.c: A little post-pdump-rename comment fixup.
7065
7066 2001-01-09  Jerry James  <james@eecs.ku.edu>
7067
7068         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7069
7070 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7071
7072         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7073         script:
7074         #!/bin/sh
7075         replace_symbol () {
7076           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7077         }
7078
7079         replace_symbol pdump_wire_lists pdump_weak_object_chains
7080         replace_symbol pdump_wire_list dump_add_weak_object_chain
7081
7082         replace_symbol pdump_wires pdump_root_objects
7083         replace_symbol pdump_wire dump_add_root_object
7084
7085         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7086         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7087
7088         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7089         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7090         replace_symbol dumpstructinfo pdump_root_struct_ptr
7091         replace_symbol dumpstruct dump_add_root_struct_ptr
7092
7093         replace_symbol dumpopaque dump_add_opaque
7094         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7095         replace_symbol dumpopaqueinfos pdump_opaques
7096         replace_symbol dumpopaqueinfo pdump_opaque
7097
7098         replace_symbol nb_structdump nb_root_struct_ptrs
7099         replace_symbol nb_opaquedump nb_opaques
7100
7101         replace_symbol align_table pdump_align_table
7102         replace_symbol dump_header pdump_header
7103
7104         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7105         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7106
7107
7108 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7109
7110         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7111         optimizing bytecount_to_charcount().
7112
7113 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7114
7115         * config.h.in:
7116         (HAVE_DLFCN_H): Removed.
7117         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7118
7119 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7120
7121         Portable dumper maintainability improvements.
7122         * alloc.c (staticpro):
7123         * alloc.c (staticpro_nodump):
7124         * alloc.c (garbage_collect_1):
7125         * alloc.c (reinit_alloc_once_early):
7126         * alloc.c (init_alloc_once_early):
7127         * alloc.c: Move dumper functions to alloc.c.
7128         * dumper.c (pdump_backtrace):
7129         * dumper.c (pdump_dump_structs):
7130         * dumper.c (pdump_dump_opaques):
7131         * dumper.c (pdump_dump_rtables):
7132         * dumper.c (pdump_dump_wired):
7133         * dumper.c (pdump):
7134         * dumper.c (pdump_load_check):
7135         * dumper.c (pdump_load_finish):
7136         * dumper.c (pdump_file_unmap):
7137         * dumper.c (pdump_file_get):
7138         * dumper.c (pdump_resource_free):
7139         * dumper.c (pdump_resource_get):
7140         * dumper.c (pdump_file_free):
7141         * dumper.c (pdump_file_try):
7142         * dumper.c (pdump_load):
7143         Remove fixed size limits on staticpro(), staticpro_nodump(),
7144         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7145         Remove custom code for dumping lrecord_implementations_table - use
7146         dumpopaque instead.
7147         Remove (most of the) custom code for dumping staticpros - dump it
7148         like any other dynarr.
7149
7150         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7151         * dumper.c: Moved functions from alloc.c.
7152         * alloc.c (dumpstruct): Moved to dumper.c.
7153         * alloc.c (dumpopaque): Likewise.
7154         * alloc.c (pdump_wire): Likewise.
7155         * alloc.c (pdump_wire_list): Likewise.
7156
7157         * lisp.h (Dynarr_sizeof): New.
7158         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7159         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7160         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7161
7162         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7163         * lisp.h (dumpopaque): ditto.
7164         * lisp.h (pdump_wire): ditto.
7165         * lisp.h (pdump_wire_list): ditto.
7166
7167 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7168
7169         * make-src-depend (PrintPatternDeps):
7170         Use `sort' to make output independent of perl version.
7171
7172 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7173
7174         Port to Netbsd 1.5.
7175         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7176         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7177
7178 2001-01-03  Didier Verna  <didier@xemacs.org>
7179
7180         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7181         that `focus_frame' is alive before thinking of calling
7182         `redisplay_redraw_cursor' on it.
7183
7184 2001-01-08  Martin Buchholz <martin@xemacs.org>
7185
7186         * XEmacs 21.2.40 is released.
7187
7188 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7189
7190         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7191
7192 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7193
7194         * alloc.c (dbg_valmask): Make const.
7195         * alloc.c (dbg_typemask): Make const.
7196         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7197         * alloc.c (dbg_valbits): Make const.
7198         * alloc.c (dbg_gctypebits): Make const.
7199
7200 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
7201
7202         * redisplay-x.c (x_bevel_area):
7203         redisplay.h (struct rune):
7204         Typo fixes in comments.
7205
7206 2001-01-05  Andy Piper  <andy@xemacs.org>
7207
7208         * glyphs-x.c (x_redisplay_widget): use size changed for offset
7209         adjustment.
7210
7211         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
7212
7213 2001-01-05  Martin Buchholz  <martin@xemacs.org>
7214
7215         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
7216
7217         * mule-ccl.c (stack_idx_of_map_multiple):
7218         Non const global data must not be initialized!
7219         Found by MIYASHITA Hisashi.
7220
7221 2001-01-02  Andy Piper  <andy@xemacs.org>
7222
7223         * frame.c (change_frame_size): make sure frame size is always
7224         marked as changed.
7225
7226         * glyphs.c (image_instance_layout): minor code reuse.
7227
7228         * window.c (Fcurrent_window_configuration): revert previous
7229         change.
7230
7231 2001-01-02  Martin Buchholz  <martin@xemacs.org>
7232
7233         * glyphs.h:
7234         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
7235
7236 2000-12-31  Andy Piper  <andy@xemacs.org>
7237
7238         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
7239         when widget gets unmapped.
7240
7241         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
7242         function. Make sure widgets losing focus don't just drop it.
7243         (handle_focus_event_1): record the widget with focus.
7244
7245 2000-12-31  Andy Piper  <andy@xemacs.org>
7246
7247         * window.c (allocate_window): use
7248         make_image_instance_cache_hash_table.
7249         (make_dummy_parent): ditto.
7250         (Fset_window_configuration): ditto.
7251
7252         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
7253
7254         * glyphs.c (process_image_string_instantiator): use
7255         INSTANTIATOR_TYPE.
7256         (get_image_instantiator_governing_domain): ditto.
7257         (normalize_image_instantiator): ditto.
7258         (instantiate_image_instantiator): ditto.
7259         (make_image_instance_1): ditto.
7260         (image_instantiate): ditto. Key on glyph *and* instantiator type.
7261         (instantiator_eq_equal): new function for use with instance hash
7262         tables.
7263         (instantiator_eq_hash): ditto.
7264         (make_image_instance_cache_hash_table): create a suitable hash
7265         table for storing image instances.
7266
7267         * elhash.h (hash_table_weakness): new internal weakness type
7268         HASH_TABLE_KEY_CAR_VALUE_WEAK.
7269         declare new functions.
7270
7271         * elhash.c (finish_marking_weak_hash_tables): introduce yet
7272         another weakness type for glyphs.
7273         (make_standard_lisp_hash_table): new function split out from
7274         make_general_lisp_hash_table.
7275         (make_lisp_hash_table): call make_standard_lisp_hash_table.
7276         (hash_table_instantiate): ditto.
7277         (Fmake_hash_table): ditto.
7278
7279 2000-12-31  Martin Buchholz <martin@xemacs.org>
7280
7281         * XEmacs 21.2.39 is released.
7282
7283 2000-12-29  Andy Piper  <andy@xemacs.org>
7284
7285         * menubar.c (menubar_visible_p_changed): signal the frame changed.
7286
7287         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
7288         the frame has changed so that we pick up geometry changes such as
7289         menubar visibility.
7290
7291 2000-12-28  Andy Piper  <andy@xemacs.org>
7292
7293         * lastfile.c (my_ebss): make a char array so we can pad the
7294         bss. Fixes cygwin unexec.
7295
7296         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
7297
7298 2000-12-26  Andy Piper  <andy@xemacs.org>
7299
7300         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
7301         comments and try and be more precise about a non-/SIGIO world.
7302         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
7303         SIGIO.
7304
7305         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
7306         we don't normalize to zero width or height.
7307
7308 2000-12-24  Andy Piper  <andy@xemacs.org>
7309
7310         * Makefile.in.in (ldflags): add -mwindows when appropriate.
7311
7312 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
7313
7314         * s/sco5.h: SCO 5 has pty support.
7315
7316 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
7317
7318         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
7319         input-method-xlib.c contains whole contents of input-method-xfs.c,
7320         so we can use input-method-xlib.c's code for USE_XFONTSET
7321         using #ifdefs.
7322         * input-method-xfs.c: removed.
7323
7324 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
7325
7326         * file-coding.h (enum coding_category_type): reorder enumerators to
7327         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
7328         (now one greater than largest real coding_category_type enumerator).
7329         * file-coding.c (coding_category_symbol, coding_category_by_priority,
7330         coding_category_system, fcd_descriptihon_1, decode_coding_category,
7331         Fcoding_category_list, Fset_coding_priority_list,
7332         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
7333         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
7334
7335 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7336
7337         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
7338         * redisplay-output.c (redisplay_output_window): Clear top of window
7339         when face is changed.
7340         * redisplay-x.c (x_redraw_exposed_window): Call
7341         redisplay_clear_top_of_window.
7342         * redisplay.h: Publish redisplay_clear_top_of_window.
7343
7344 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7345
7346         * buffer.c (Fkill_buffer): Map over all devices.
7347         * window.c (window_loop): Remove UNSHOW_BUFFER code.
7348         (list_windows): New function.
7349         (list_all_windows): Ditto.
7350         (Freplace_buffer_in_windows): Use them.
7351
7352 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
7353
7354         * database.c (berkdb_subtype): Recognize new subtype `queue'.
7355         (Fopen_database): Use `db_create' instead of `db_open'.
7356         (syms_of_database): Initialize Qqueue.
7357
7358 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7359
7360         * buffer.c (common_init_complex_vars_of_buffer): Initialize
7361         buffer_local_face_property.
7362         * buffer.h (struct buffer): New member buffer_local_face_property.
7363         * window.c (Fset_window_buffer):  Mark window's face as changed
7364         when buffer has buffer local face.
7365         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
7366         * objects.c (color_after_change): Set buffer_local_face_property
7367         when locale of face specifier is buffer.
7368         * objects.c (font_after_change): Ditto.
7369         * objects.c (face_boolean_after_change): Ditto.
7370         * glyphs.c (image_after_change): Ditto.
7371
7372 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7373
7374         * nt.c (mswindows_fstat): Report file permissions, volume serial
7375         number, etc. Code adapted from FSF Emacs 20.7.
7376
7377 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7378
7379         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
7380         of stat when we don't have symbolic links, to make sure
7381         mswindows_stat is called on mswindows.
7382
7383 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7384
7385         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
7386
7387 2000-12-12  Martin Buchholz  <martin@xemacs.org>
7388
7389         * doprnt.c (emacs_doprnt_1): More printing fixes.
7390         Make printing of numbers compatible with libc and FSF Emacs.
7391         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
7392         Use the system printf to do most of the hard work of formatting,
7393         instead of doprnt_1().
7394         Calculate memory to allocate for format string.
7395         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
7396         (doprnt_1): Cleaner code and documentation.
7397
7398 2000-12-01  Jerry James  <james@eecs.ukans.edu>
7399
7400         * Makefile.in.in: Use the loop variable to install headers.
7401
7402 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7403
7404         * window.c (Fsplit_window): Don't invalidate face cache.
7405
7406 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7407
7408         * minibuf.c (Fall_completions): Undo the previous change
7409         which removed checking elements start with space.
7410
7411 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7412
7413         * mule-canna.c: Didier suppression.
7414
7415 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7416
7417         * mule-canna.c: rename static unsigned char buf[] to key_buffer
7418         (warning suppression).  Add English comment translations.
7419
7420 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7421
7422         * unexelfsgi.c (unexec): Better test for mmap failure.
7423
7424 2000-12-05  Martin Buchholz <martin@xemacs.org>
7425
7426         * XEmacs 21.2.38 is released.
7427
7428 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7429
7430         * redisplay.c (bar-cursor): Make a user variable.
7431
7432         * symsinit.h: Add init_postgresql_from_environment.
7433
7434 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7435
7436         * regex.c: Convert to clean C.
7437
7438 2000-12-05  Dan Holmsand  <dan@eyebee.com>
7439
7440         * realpath.c:
7441         Don't #include sysfile.h. Revert to duplicating PATH_MAX
7442         initialization.
7443         (sys_readlink): renamed to system_readlink to avoid conflict with
7444         the other sys_readlink.
7445
7446 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
7447
7448         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
7449
7450 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
7451
7452         * postgresql.c (init_postgresql_from_environment): new function.
7453         (vars_of_postgresql): Move code initializing Lisp variables out and
7454         into init_postgresql_from_environment.
7455         emacs.c (main_1): Call init_postgresql_from_environment if and only
7456         if running a dumped XEmacs.
7457
7458 2000-08-31  Dan Holmsand  <dan@eyebee.com>
7459
7460         * buffer.c: Make find-file-compare-truenames default to true on
7461         windows.
7462
7463         * realpath.c (win32_abs_start):
7464         (cygwin_readlink):
7465         (win32_readlink): New functions.
7466         (xrealpath): Return really real filenames on windows.
7467
7468         * fileio.c (Ffile_truename): Make file-truename work on windows.
7469
7470 2000-11-29  Didier Verna  <didier@xemacs.org>
7471
7472         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
7473         * faces.c (update_face_cachel_data): use it.
7474         * faces.c (add_face_cachel): use it. Complete background pixmap
7475         frobbing in face cache if `update_face_cachel_data' has not done so.
7476
7477 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
7478
7479         * search.c (string_match_1): Don't set last_thing_searched
7480         when search failed.
7481
7482 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
7483
7484         * buffer.c: Include casetab.h
7485         (common_init_complex_vars_of_buffer): Use new case-table object.
7486         * buffer.h: Include casetab.h
7487         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
7488         (DOWNCASE_TABLE_OF): Ditto.
7489         * bufslots.h: Remove char-tables and add case-table.
7490         * casetab.c: Include casetab.h
7491         (CASE_TABLE_P): Removed.
7492         (mark_case_table): New function.
7493         (allocate_case_table): New function.
7494         (Fcase_table_p): Use new case-table.
7495         (case_table_char): New function.
7496         (Fget_case_table): Ditto.
7497         (Fput_case_table): Ditto.
7498         (Fput_case_table_pair): Ditto.
7499         (Fcopy_case_table): Ditto.
7500         (Fcurrent_case_table): Return case-table.
7501         (Fstandard_case_table): Return case-table.
7502         (Fset_case_table): Fix doc-string.
7503         (set_case_table): Use case-table
7504         (syms_of_casetab): DEFSUBR new functions.
7505         (complex_vars_of_casetab): Set up standard case-table.
7506         * casetab.h: New file.
7507         * editfns.c: Include casetab.h
7508         (Fcompare_buffer_substrings): Use case-table.
7509         * inline.c: Include casetab.h
7510         * lisp.h: Remove bogus extern.
7511         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
7512         * search.c: Include casetab.h
7513         (TRANSLATE_ASCII): Removed.
7514         (TRANSLATE): Unconditionally translate character.
7515         (looking_at_1): Use case-table.
7516         (string_match_1): Ditto.
7517         (fast_string_match): Ditto.
7518         (search_command): Ditto.
7519         (search_buffer): Separate boyer_moore.  Check whether
7520         boyer_moore is possible.
7521         (simple_search): New function.
7522         (boyer_moore): Separated from search_buffer. Translate char.
7523
7524 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7525
7526         * regex.c (RE_TR_ASCII): Removed.
7527         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
7528         (PATFETCH): Call PATFETCH_RAW.
7529         (PATFETCH_RAW): Fetch Emchar.
7530         (PATUNFETCH): Decrement charptr.
7531         (GET_BUFFER_SPACE): Rename b to buf_end.
7532         (BUF_PUSH): Ditto.
7533         (BUF_PUSH_2): Ditto.
7534         (BUF_PUSH_3): Ditto.
7535         (EXTEND_BUFFER): Ditto.
7536         (SET_LIST_BIT): Ditto.
7537         (regex_compile): Ditto.  Translate non ASCII char.
7538         (compile_range): Ditto.
7539         (re_search_2): Ditto.
7540         (re_match_2_internal): Compare Emchar.
7541         (bcmp_translate): Ditto.
7542
7543 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
7544
7545         * lisp.h (basic char/int typedefs):  comment improvement.
7546
7547 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
7548
7549         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
7550         unstomp inhibit_site_lisp.  Improve comments.
7551
7552 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
7553
7554         * mule-charset.c (Fcharset_property):  improve type checking, comments.
7555
7556 2000-11-28  Andy Piper  <andy@xemacs.org>
7557
7558         * redisplay-output.c (redisplay_output_subwindow): make sure we do
7559         clipped display for windows in the gutter also.
7560         (redisplay_display_boxes_in_window_p): change semantics of return
7561         codes to be more intuitive.
7562
7563         * gutter.h: declare display_boxes_in_gutter_p.
7564
7565         * gutter.c (display_boxes_in_gutter_p): new function for
7566         redisplay.
7567
7568 2000-11-22  Andy Piper  <andy@xemacs.org>
7569
7570         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
7571         autodetect domain.
7572
7573 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
7574
7575         * callproc.c (Fold_call_process_internal):
7576         * gpm.c (Freceive_gpm_event):
7577         (tty_get_foreign_selection): Might be just warning supression.
7578         * fileio.c (Fwrite_region_internal):
7579         (Fset_visited_file_modtime):
7580         * keymap.c (event_matches_key_specifier_p):
7581         Initialize GCPROed variable.
7582
7583         * menubar-x.c (command_builder_find_menu_accelerator):
7584         Initialize before use.
7585
7586 2000-11-23  Andy Piper  <andy@xemacs.org>
7587
7588         * unexcw.c (unexec): make the resulting executable executable.
7589
7590 2000-11-21  Martin Buchholz  <martin@xemacs.org>
7591
7592         * doc.c (get_doc_string):
7593         Use size_t, not int, for result of XSTRING_LENGTH.
7594
7595         * cmds.c (Fdelete_char):
7596         * cmds.c (Fpoint_at_eol):
7597         * cmds.c (Fself_insert_command):
7598         Use EMACS_INT, not int, for result of XINT.
7599         Someday, someone will want to insert more than 2**31 identical characters.
7600
7601         * cmds.c (Fdelete_char):
7602         * cmds.c (Fdelete_backward_char):
7603         * syntax.c (Fforward_word):
7604         * syntax.c (Fforward_comment):
7605         Make COUNT argument optional, for consistency with forward-char et al.
7606
7607 2000-11-22  Martin Buchholz  <martin@xemacs.org>
7608
7609         * lisp.h:
7610         * print.c (long_to_string):
7611         Return a useful value: the pointer at end of data written.
7612
7613         * doprnt.c:
7614         Use `static const char * const' for constant strings.
7615         (union printf_arg): Delete `i', `ui' members.
7616         (get_doprnt_args):
7617         (emacs_doprnt_1):
7618         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
7619         Do all printf-ing via the `l' specifier.
7620         Use EMACS_INT instead of int.
7621         Optimize.
7622
7623 2000-11-20  Didier Verna  <didier@xemacs.org>
7624
7625         * faces.c (update_face_cachel_data): don't frob the background
7626         pixmap when the window is being created. The face is needed but
7627         does not exist yet.
7628
7629 2000-11-20  Andy Piper  <andy@xemacs.org>
7630
7631         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
7632         messing with a debug environment.
7633
7634 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7635
7636         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
7637
7638 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7639
7640         * casetab.c (Fcase_table_p): Fix compile error and crash.
7641
7642 2000-11-18  Philip Aston  <philipa@mail.com>
7643
7644         * s/cygwin32.h: Cygwin has SVR4-like pty support.
7645
7646 2000-11-18  Martin Buchholz  <martin@xemacs.org>
7647
7648         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
7649         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
7650
7651 2000-11-17  Martin Buchholz  <martin@xemacs.org>
7652
7653         * config.h.in: Define HAVE_ELF_H if elf.h exists.
7654         * unexelf.c: Use HAVE_ELF_H.
7655         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
7656         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
7657         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
7658         Greg Harrington <greg_harrington@hotmail.com> provided a machine
7659         for testing.
7660         So this is an unexelfsgi.c from a different line of development.
7661
7662 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7663
7664         * regex.c (RE_TR_ASCII): New function.
7665         (RE_TRANSLATE): Call it.
7666
7667 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7668
7669         * buffer.h (TRT_TABLE_OF): Remove assert.
7670         (IN_TRT_TABLE_DOMAIN): Removed.
7671
7672 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7673
7674         * free-hook.c (log_gcpro):
7675         (show_gcprohist): Add support for GCPRO5.
7676
7677 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
7678
7679         * emacs.c (main_1): Improve -sd error message when --pdump=no.
7680
7681 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
7682
7683         * symeval.h: Declare flush_all_buffer_local_cache.
7684
7685         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
7686         (flush_buffer_local_cache): Added.
7687         (flush_all_buffer_local_cache): Added.
7688
7689         * lrecord.h: Remove unused XD_LO_RESET_NIL.
7690
7691         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
7692         (pdump_dump_data): Ditto.
7693         (pdump_reloc_one): Ditto.
7694         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
7695         before dumping.
7696
7697
7698 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7699
7700         * buffer.c: Remove if 0'ed entry.
7701         * buffer.h: Rewrite TRT to use char-table.
7702         * bufslots.h: Remove mirror tables.
7703         * casetab.c: Remove mirror tables.
7704         (CASE_TABLE_P): New macro.
7705         (Fcase_table_p): Element of a case table is string or char-table.
7706         (make_mirror_trt_table): Removed.
7707         (set_case_table): Setup char-table from strings for backward
7708         compatibility.
7709         * dired.c (Fdirectory_files):
7710         * dired-msw.c: (mswindows_get_files):
7711         * lisp.h: Change prototype of re_pattern_buffer.
7712         * regex.c: (RE_TRANSLATE): New macro.
7713         (TRANSLATE_P): Ditto.
7714         Change translate to type RE_TRANSLATE_TYPE.
7715         * regex.h: Define RE_TRANSLATE_TYPE
7716         * search.c (TRANSLATE): New macro.
7717         (TRANSLATE_ASCII): New macro.
7718         Translate table is changed to Lisp_Object.
7719         (signal_failure): Inhibit return.
7720
7721 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7722
7723         * device-msw.c:
7724         * eldap.c:
7725         * event-Xt.c:
7726         * event-stream.c:
7727         * print.c:
7728         Do UNGCPRO before return.
7729
7730 2000-11-14  Martin Buchholz <martin@xemacs.org>
7731
7732         * XEmacs 21.2.37 is released.
7733
7734 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7735
7736         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
7737         Add comments about discarded return value.
7738
7739 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
7740
7741         * callint.c:
7742         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
7743
7744 2000-10-27  Andy Piper  <andy@xemacs.org>
7745
7746         * gutter.c (Fset_default_gutter_position): default left and right
7747         gutters to visible.
7748         (calculate_gutter_size): calculate resonable heuristic for left
7749         and right gutter sizes.
7750         (specifier_vars_of_gutter): change left and right gutter sizes to
7751         autodetect.
7752         (calculate_gutter_size_from_display_lines): new function.
7753         (output_gutter): check for resizing on left and right gutters.
7754         (clear_gutter): don't special case top and left gutters.
7755         (specifier_vars_of_gutter): use new signature for
7756         set_specifier_caching.
7757
7758         * glyphs-x.c (x_redisplay_widget): spelling fix.
7759         * glyphs.c (specifier_vars_of_glyphs):
7760         * menubar.c (specifier_vars_of_menubar):
7761         * redisplay.c (specifier_vars_of_redisplay):
7762         * toolbar.c (specifier_vars_of_toolbar):
7763         * window.c (specifier_vars_of_window):
7764         * scrollbar.c (specifier_vars_of_scrollbar):
7765         (complex_vars_of_scrollbar): use new signature for
7766         set_specifier_caching.
7767
7768         * specifier.c (set_specifier_caching): include recompute flag.
7769         (recompute_one_cached_specifier_in_window): always recompute if
7770         flag set.
7771         (recompute_one_cached_specifier_in_frame): ditto.
7772
7773         * specifier.h (struct specifier_caching): add recompute flag.
7774
7775 2000-10-24  Andy Piper  <andy@xemacs.org>
7776
7777         * unexcw.c (copy_executable_and_dump_data_section): add new
7778         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
7779         5.0 happy.
7780
7781 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7782
7783         * console-x.h (x_device): New member modifier_release_time.
7784         * event-Xt.c (x_handle_sticky_modifiers):
7785         Bound interval modifier keys are sticky.
7786         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
7787         * events.h: extern it.
7788
7789 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7790
7791         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
7792
7793 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7794
7795         * event-stream.c (execute_command_event): Preserve current_events
7796         and the like when event is misc-user-event.
7797         Inhibit quit during the call to maybe_echo_keys.
7798
7799 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
7800
7801         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
7802         symlink when buffer is killed.
7803         (inhibit_clash_detection): New variable.
7804
7805 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7806
7807         * console.c (Fset_input_method): Trigger redisplay on tty.
7808
7809 2000-11-07  Martin Buchholz  <martin@xemacs.org>
7810
7811         * process.c (Fprocess_status): Revert to previous behavior:
7812         (process-status "nosuchprocess") ==> nil
7813
7814 2000-11-06  Martin Buchholz  <martin@xemacs.org>
7815
7816         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
7817         Work around another GCC 2.95.2 optimizer bug.
7818
7819 2000-11-02  Martin Buchholz  <martin@xemacs.org>
7820
7821         * process.c (Fget_process): Use LIST_LOOP_2.
7822         (kill_buffer_processes): Use LIST_LOOP_2.
7823
7824         * minibuf.c (Fall_completions):
7825         Delete old non-functional code for FSF fourth argument.
7826
7827         * frame.c (frame_matches_frame_spec):
7828         Renamed from `frame_matches_frametype'.  Update all callers.
7829         (device_matches_device_spec):
7830         Renamed from 'device_matches_console_spec'.  Update all callers.
7831
7832         * doc.c (Fsubstitute_command_keys):
7833         Remove buffer overflow crash.  Small code cleanups.
7834
7835         * casetab.c (check_case_table): Simpler code.
7836
7837         * window.c (Freplace_buffer_in_windows):
7838         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
7839         (and similar implementation) as Fdelete_windows_on.
7840         Update all callers.
7841
7842         * alloc.c (Fmake_list):
7843         * alloc.c (make_vector):
7844         * alloc.c (Fmake_vector):
7845         * alloc.c (make_bit_vector):
7846         * alloc.c (Fmake_bit_vector):
7847         * alloc.c (Fbit_vector):
7848         * alloc.c (Fmake_string):
7849         * alloc.c (Fpurecopy):
7850         * alloc.c (Fmemory_limit):
7851         * buffer.c:
7852         * buffer.c (Fget_buffer):
7853         * buffer.c (Fkill_buffer):
7854         * buffer.c (complex_vars_of_buffer):
7855         * bytecode.c (Fcompiled_function_stack_depth):
7856         * callint.c (Fprefix_numeric_value):
7857         * event-stream.c:
7858         * event-stream.c (Fread_key_sequence):
7859         * casetab.c:
7860         * casetab.c (Fcase_table_p):
7861         * casetab.c (check_case_table):
7862         * casetab.c (Fset_case_table):
7863         * casetab.c (Fset_standard_case_table):
7864         * chartab.c:
7865         * chartab.c (Fchar_table_type):
7866         * chartab.c (Freset_char_table):
7867         * chartab.c (Fget_char_table):
7868         * chartab.c (Fget_range_char_table):
7869         * chartab.c (Fput_char_table):
7870         * chartab.c (Fmap_char_table):
7871         * chartab.c (Fcategory_table_p):
7872         * chartab.c (Fcheck_category_at):
7873         * chartab.c (Fchar_in_category_p):
7874         * chartab.c (Fcategory_table):
7875         * chartab.c (Fcopy_category_table):
7876         * chartab.c (Fset_category_table):
7877         * chartab.c (Fcategory_designator_p):
7878         * chartab.c (Fcategory_table_value_p):
7879         * cmds.c (Fdelete_char):
7880         * cmds.c (Fdelete_backward_char):
7881         * cmds.c (Fself_insert_command):
7882         * cmds.c (Fself_insert_internal):
7883         * console.c (Fvalid_console_type_p):
7884         * console.c (Fcdfw_console):
7885         * console.c (Fconsole_type):
7886         * console.c (Fconsole_name):
7887         * console.c (Fconsole_device_list):
7888         * console.c (Fconsole_on_window_system_p):
7889         * data.c:
7890         * data.c (Feq):
7891         * data.c (Fold_eq):
7892         * data.c (Fsubr_interactive):
7893         * data.c (Fchar_to_int):
7894         * data.c (Fint_to_char):
7895         * data.c (Fsetcar):
7896         * data.c (Fsetcdr):
7897         * data.c (Fnumber_to_string):
7898         * data.c (Fstring_to_number):
7899         * data.c (Frem):
7900         * database.c (mark_database):
7901         * database.c (finalize_database):
7902         * database.c (Fdatabase_live_p):
7903         * database.c (Fdatabasep):
7904         * device-x.c (Fx_get_resource):
7905         * device.c (Fdfw_device):
7906         * dired.c:
7907         * dired.c (Ffile_name_completion):
7908         * dired.c (Ffile_name_all_completions):
7909         * dired.c (Fuser_name_completion):
7910         * dired.c (Fuser_name_completion_1):
7911         * dired.c (Fuser_name_all_completions):
7912         * doc.c (Fdocumentation):
7913         * doc.c (Fdocumentation_property):
7914         * doc.c (Fsubstitute_command_keys):
7915         * editfns.c:
7916         * editfns.c (Fchar_to_string):
7917         * editfns.c (Fstring_to_char):
7918         * editfns.c (Ftemp_directory):
7919         * editfns.c (Finsert_char):
7920         * editfns.c (Fbuffer_substring_no_properties):
7921         * editfns.c (Fnarrow_to_region):
7922         * editfns.c (Fchar_equal):
7923         * editfns.c (Fchar_Equal):
7924         * editfns.c (Ftranspose_regions):
7925         * emacs.c (Fdump_emacs):
7926         * eval.c (Fthrow):
7927         * eval.c (Fcommand_execute):
7928         * eval.c (Fautoload):
7929         * eval.c (Fbacktrace):
7930         * eval.c (Fbacktrace_frame):
7931         * events.c:
7932         * events.c (Fcopy_event):
7933         * events.c (Fcharacter_to_event):
7934         * events.c (Fevent_button):
7935         * events.c (Fevent_process):
7936         * extents.c:
7937         * extents.c (Fnext_extent_change):
7938         * extents.c (Fextent_property):
7939         * faces.c (Ffacep):
7940         * faces.c (Fmake_face):
7941         * file-coding.c:
7942         * file-coding.c (Fencode_shift_jis_char):
7943         * file-coding.c (Fencode_big5_char):
7944         * fileio.c (Ffile_name_directory):
7945         * fileio.c (Ffile_name_nondirectory):
7946         * fileio.c (Ffile_name_as_directory):
7947         * fileio.c (Fdirectory_file_name):
7948         * fileio.c (Ffile_truename):
7949         * fileio.c (Fsubstitute_in_file_name):
7950         * fileio.c (Ffile_modes):
7951         * fileio.c (Fset_file_modes):
7952         * fileio.c (Fset_default_file_modes):
7953         * fileio.c (Fverify_visited_file_modtime):
7954         * floatfns.c (Facos):
7955         * floatfns.c (Fasin):
7956         * floatfns.c (Fatan):
7957         * floatfns.c (Fcos):
7958         * floatfns.c (Fsin):
7959         * floatfns.c (Ftan):
7960         * floatfns.c (Fbessel_j0):
7961         * floatfns.c (Fbessel_j1):
7962         * floatfns.c (Fbessel_jn):
7963         * floatfns.c (Fbessel_y0):
7964         * floatfns.c (Fbessel_y1):
7965         * floatfns.c (Fbessel_yn):
7966         * floatfns.c (Ferf):
7967         * floatfns.c (Ferfc):
7968         * floatfns.c (Flog_gamma):
7969         * floatfns.c (Fexp):
7970         * floatfns.c (Fexpt):
7971         * floatfns.c (Flog):
7972         * floatfns.c (Flog10):
7973         * floatfns.c (Fsqrt):
7974         * floatfns.c (Fcube_root):
7975         * floatfns.c (Facosh):
7976         * floatfns.c (Fasinh):
7977         * floatfns.c (Fatanh):
7978         * floatfns.c (Fcosh):
7979         * floatfns.c (Fsinh):
7980         * floatfns.c (Ftanh):
7981         * floatfns.c (Fabs):
7982         * floatfns.c (Ffloat):
7983         * floatfns.c (Flogb):
7984         * floatfns.c (Fceiling):
7985         * floatfns.c (Ffloor):
7986         * floatfns.c (Fround):
7987         * floatfns.c (Ftruncate):
7988         * floatfns.c (Ffceiling):
7989         * floatfns.c (Fffloor):
7990         * floatfns.c (Ffround):
7991         * floatfns.c (Fftruncate):
7992         * fns.c (Fstring_equal):
7993         * fns.c (Fstring_lessp):
7994         * fns.c (concat2):
7995         * fns.c (concat3):
7996         * fns.c (vconcat2):
7997         * fns.c (vconcat3):
7998         * fns.c (Fsubstring):
7999         * fns.c (Fassoc):
8000         * fns.c (Fold_assoc):
8001         * fns.c (assoc_no_quit):
8002         * fns.c (Fassq):
8003         * fns.c (Fold_assq):
8004         * fns.c (assq_no_quit):
8005         * fns.c (Frassoc):
8006         * fns.c (Fold_rassoc):
8007         * fns.c (Frassq):
8008         * fns.c (Fold_rassq):
8009         * fns.c (rassq_no_quit):
8010         * fns.c (Fremassoc):
8011         * fns.c (remassoc_no_quit):
8012         * fns.c (Fremassq):
8013         * fns.c (remassq_no_quit):
8014         * fns.c (Fremrassoc):
8015         * fns.c (Fremrassq):
8016         * fns.c (remrassq_no_quit):
8017         * fns.c (Fsort):
8018         * fns.c (Fplist_get):
8019         * fns.c (Fplist_put):
8020         * fns.c (Fplist_remprop):
8021         * fns.c (Fplist_member):
8022         * fns.c (Flax_plist_get):
8023         * fns.c (Flax_plist_put):
8024         * fns.c (Flax_plist_remprop):
8025         * fns.c (Flax_plist_member):
8026         * fns.c (Fequal):
8027         * fns.c (Fold_equal):
8028         * fns.c (Frequire):
8029         * fns.c (Fbase64_encode_region):
8030         * fns.c (Fbase64_encode_string):
8031         * fns.c (Fbase64_decode_region):
8032         * frame.c:
8033         * frame.c (frame_matches_frame_spec):
8034         * frame.c (device_matches_device_spec):
8035         * frame.c (next_frame):
8036         * frame.c (previous_frame):
8037         * frame.c (Fnext_frame):
8038         * frame.c (Fprevious_frame):
8039         * frame.c (Fframe_property):
8040         * frame.c (Fset_frame_height):
8041         * frame.c (Fset_frame_size):
8042         * frame.h:
8043         * glyphs.c:
8044         * glyphs.c (if):
8045         * glyphs.c (decode_error_behavior_flag):
8046         * glyphs.c (Fmake_image_instance):
8047         * indent.c (Findent_to):
8048         * intl.c (Fignore_defer_gettext):
8049         * keymap.c (Fkeymapp):
8050         * keymap.c (Flookup_key):
8051         * lread.c:
8052         * lread.c (Fload_internal):
8053         * lread.c (Feval_buffer):
8054         * lread.c (Feval_region):
8055         * macros.c (Fexecute_kbd_macro):
8056         * marker.c (set_marker_internal):
8057         * marker.c (Fset_marker):
8058         * marker.c (set_marker_restricted):
8059         * marker.c (Fcopy_marker):
8060         * marker.c (noseeum_copy_marker):
8061         * menubar.c:
8062         * menubar.c (Fpopup_menu):
8063         * minibuf.c:
8064         * mule-charset.c (Fcharset_name):
8065         * mule-charset.c (Fchar_charset):
8066         * mule-charset.c (Fchar_octet):
8067         * mule-charset.c (Fsplit_char):
8068         * mule-wnnfns.c (Fwnn_open):
8069         * mule-wnnfns.c (Fwnn_dict_comment):
8070         * mule-wnnfns.c (Fwnn_quit_henkan):
8071         * mule-wnnfns.c (Fwnn_word_toroku):
8072         * mule-wnnfns.c (Fwnn_word_sakujo):
8073         * mule-wnnfns.c (Fwnn_word_use):
8074         * mule-wnnfns.c (Fwnn_hindo_set):
8075         * objects.c:
8076         * objects.c (Fmake_color_instance):
8077         * objects.c (Fmake_font_instance):
8078         * print.c (Fwrite_char):
8079         * process.c:
8080         * process.c (mark_process):
8081         * process.c (print_process):
8082         * process.c (get_process_from_usid):
8083         * process.c (Fprocessp):
8084         * process.c (Fprocess_live_p):
8085         * process.c (Fget_process):
8086         * process.c (Fget_buffer_process):
8087         * process.c (get_process):
8088         * process.c (Fprocess_id):
8089         * process.c (Fprocess_name):
8090         * process.c (Fprocess_command):
8091         * process.c (init_process_io_handles):
8092         * process.c (start_process_unwind):
8093         * process.c (Fstart_process_internal):
8094         * process.c (Fopen_multicast_group_internal):
8095         * process.c (Fset_process_window_size):
8096         * process.c (read_process_output):
8097         * process.c (send_process):
8098         * process.c (Fprocess_tty_name):
8099         * process.c (Fset_process_buffer):
8100         * process.c (Fprocess_buffer):
8101         * process.c (Fprocess_mark):
8102         * process.c (set_process_filter):
8103         * process.c (Fset_process_filter):
8104         * process.c (Fprocess_filter):
8105         * process.c (Fprocess_send_region):
8106         * process.c (Fprocess_send_string):
8107         * process.c (exec_sentinel):
8108         * process.c (Fset_process_sentinel):
8109         * process.c (Fprocess_sentinel):
8110         * process.c (status_notify):
8111         * process.c (Fprocess_status):
8112         * process.c (Fprocess_exit_status):
8113         * process.c (process_send_signal):
8114         * process.c (Fprocess_send_eof):
8115         * process.c (deactivate_process):
8116         * process.c (remove_process):
8117         * process.c (Fdelete_process):
8118         * process.c (kill_buffer_processes):
8119         * process.c (Fprocess_kill_without_query):
8120         * process.c (Fprocess_kill_without_query_p):
8121         * rangetab.c:
8122         * rangetab.c (Fget_range_table):
8123         * rangetab.c (Fput_range_table):
8124         * rangetab.c (Fremove_range_table):
8125         * rangetab.c (Fclear_range_table):
8126         * search.c:
8127         * search.c (Fskip_chars_forward):
8128         * search.c (Fskip_chars_backward):
8129         * search.c (Fskip_syntax_forward):
8130         * search.c (Fskip_syntax_backward):
8131         * search.c (search_command):
8132         * search.c (Freplace_match):
8133         * search.c (Fregexp_quote):
8134         * select.c (Fown_selection_internal):
8135         * select.c (Fselection_owner_p):
8136         * select.c (Fselection_exists_p):
8137         * select.c (Fget_selection_internal):
8138         * specifier.c:
8139         * symbols.c:
8140         * symbols.c (Fintern):
8141         * symbols.c (Fintern_soft):
8142         * symbols.c (Funintern):
8143         * symbols.c (Fapropos_internal):
8144         * symbols.c (Fset_default):
8145         * syntax.c:
8146         * syntax.c (Fsyntax_table_p):
8147         * syntax.c (Fcopy_syntax_table):
8148         * syntax.c (Fset_syntax_table):
8149         * syntax.c (Fchar_syntax):
8150         * syntax.c (syntax_match):
8151         * syntax.c (Fmatching_paren):
8152         * syntax.c (Fforward_word):
8153         * syntax.c (scan_lists):
8154         * syntax.c (Fscan_lists):
8155         * syntax.c (Fscan_sexps):
8156         * syntax.c (Fparse_partial_sexp):
8157         * toolbar.c (Fcheck_toolbar_button_syntax):
8158         * tooltalk.doc:
8159         * window.c:
8160         * window.c (Fwindowp):
8161         * window.c (Fwindow_live_p):
8162         * window.c (Fwindow_point):
8163         * window.c (Fdelete_window):
8164         * window.c (Fnext_window):
8165         * window.c (Fprevious_window):
8166         * window.c (Fother_window):
8167         * window.c (window_loop):
8168         * window.c (Fget_lru_window):
8169         * window.c (Fsplit_window):
8170         * window.c (Fenlarge_window):
8171         * window.c (Fenlarge_window_pixels):
8172         * window.c (Fshrink_window):
8173         * window.c (Fshrink_window_pixels):
8174         * window.c (change_window_height):
8175         * window.c (Fwindow_configuration_p):
8176         * window.c (Fcurrent_window_configuration):
8177         * window.h:
8178         * casefiddle.c (casify_object):
8179         * casefiddle.c (Fupcase):
8180         * casefiddle.c (Fdowncase):
8181         * casefiddle.c (Fcapitalize):
8182         * casefiddle.c (Fupcase_initials):
8183         * casefiddle.c (casify_region_internal):
8184         * casefiddle.c (casify_region):
8185         * casefiddle.c (Fupcase_region):
8186         * casefiddle.c (Fdowncase_region):
8187         * casefiddle.c (Fcapitalize_region):
8188         * casefiddle.c (Fupcase_initials_region):
8189         * casefiddle.c (Fupcase_word):
8190         * casefiddle.c (Fdowncase_word):
8191         * casefiddle.c (Fcapitalize_word):
8192         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8193         Replace 0 with '\0' when working with bytes.
8194         Replace initial "(" with "\(" in docstrings.
8195
8196 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8197
8198         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8199
8200         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
8201
8202 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8203
8204         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
8205
8206 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8207
8208         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
8209         correctly.
8210
8211 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8212
8213         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
8214         (inhibit_auto_save_session): New variable.
8215         (vars_of_fileio): Declare and initialize them.
8216         * fileio.c (Fdo_auto_save): Don't create session file if
8217         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
8218
8219 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8220
8221         * sgiplay.c (play_internal): C++ compilability.
8222         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
8223         * callproc.c (Fold_call_process_internal):
8224         Remove unused vars `env', `first'.
8225         * scrollbar.c (update_scrollbar_instance):
8226         #### unused var `current_window'.
8227         * redisplay-tty.c: Put currently unused vars insert_mode_on,
8228         etc. within #ifdef NOT_YET.
8229         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
8230         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
8231         * specifier.c (specifier_instance):
8232         #### unused var `tag'.
8233         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
8234
8235 2000-10-27  Martin Buchholz  <martin@xemacs.org>
8236
8237         * fns.c (Fbutlast):
8238         * fns.c (list_sort):
8239         * fns.c (Ffillarray):
8240         * fns.c (bytecode_nconc2):
8241         * fns.c (Fnconc):
8242         * fns.c (mapcar1):
8243         * fns.c (Fmapconcat):
8244         Be pedantically 64-bit correct.  For the time when someone will
8245         want to have a list with length > 2**32.
8246
8247         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8248         Work around MIPSpro compiler bug.
8249
8250         * process-unix.c (unix_kill_child_process): Add snarky comment.
8251         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
8252
8253         * config.h.in: Oops, _getpt ==> _getpty
8254
8255 2000-10-26  Martin Buchholz  <martin@xemacs.org>
8256
8257         * config.h.in:
8258         * regex.c:
8259         Use void*, not char*, as return type of alloca().
8260
8261         * alloc.c (free_marker): Side effect inside assert expression!
8262
8263 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
8264
8265         * mule-charset.c (Fset_charset_ccl_program): To check
8266         if the given ccl program is valid, use setup_ccl_program()
8267         instead of CHECK_VECTOR().
8268         (Fmake_charset): Likewise.
8269
8270 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
8271
8272         * faces.c (get_extent_fragment_face_cache_index):
8273         Fix cachel.merged_faces memory leak.
8274
8275 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
8276
8277         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
8278         Reset MSB of octets obtained by DECODE_SJIS
8279         because of the incompatibility with Emacs.
8280         (ccl_driver)<CCL_ENCODE_SJIS>:
8281         Set MSB of octets before passing them to
8282         ENCODE_SJIS because of the incompatibility
8283         with Emacs.
8284
8285 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
8286
8287         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
8288         (DECLARE_LRECORD): Undo the last change.
8289         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
8290
8291 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
8292
8293         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
8294         the implementation to lrecord_implementations_table.
8295
8296 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
8297
8298         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
8299         initial value of `lrecord_type_##c_name' and
8300         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
8301         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
8302         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
8303         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
8304         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
8305
8306 2000-10-17  Martin Buchholz  <martin@xemacs.org>
8307
8308         * miscplay.c (sndcnv8S_2mono):
8309         (sndcnv2monounsigned):
8310         (sndcnvULaw_2linear):
8311         (sndcnv16swap):
8312         Remove implementation-defined behavior.
8313
8314 2000-10-12  Martin Buchholz  <martin@xemacs.org>
8315
8316         * input-method-xlib.c: Warning suppression.
8317
8318 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
8319
8320         * mule-ccl.c: Sync up with Emacs 21.0.90.
8321         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
8322         Do nothing.
8323         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
8324         Likewise.
8325         (ccl_driver[WriteMultibyteChar2]): Bug fix.
8326         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
8327         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
8328         leading char belongs to official 2-dimensional charset.
8329         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
8330         write the given character as is.  Otherwise,
8331         if it is a multibyte char, convert it by
8332         non_ascii_set_charptr_emchar, then write it.
8333         (CCL_WRITE_STRING): Likewise.
8334         (ccl_get_compiled_code): New function.
8335         (setup_ccl_program): When ccl_prog is invalid,
8336         return -1.
8337         (Fregister_code_conversion_map): New function.
8338         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
8339
8340         * mule-ccl.h: Sync up with Emacs 21.0.90.
8341         (Fregister_ccl_program): export it.
8342
8343         * redisplay-msw.c (separate_textual_runs):
8344         If ccl program is not valid, don't do ccl conversion.
8345
8346         * redisplay-x.c (separate_textual_runs): Ditto.
8347
8348         * file-coding.c (Fmake_coding_system):
8349         When type is ccl and value is vector, register it
8350         with a proper symbol.  And checks whether the
8351         given ccl program is valid.
8352         (mule_decode): When calling ccl_driver, if src indicates
8353         NULL pointer, set an empty string instead.
8354         (mule_encode): Likewise.
8355
8356 2000-10-11  Martin Buchholz  <martin@xemacs.org>
8357
8358         The following large batch of changes gets us back to a state of
8359         C++ compilability.  Extbyte is now a char, which means that
8360         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
8361
8362         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
8363
8364         * sound.c (Fplay_sound): Type correctness.
8365
8366         * select-x.c (hack_motif_clipboard_selection): Type correctness.
8367         (x_get_window_property): Type correctness.
8368         (receive_incremental_selection): unsigned char ==> Extbyte
8369         (selection_data_to_lisp_data): unsigned char ==> Extbyte
8370         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
8371         (Fx_store_cutbuffer_internal): Type correctness.
8372
8373         * process-unix.c (try_to_initialize_subtty): Type correctness.
8374
8375         * objects-x.c (x_print_color_instance): Type correctness.
8376         (x_print_font_instance): Type correctness.
8377         (x_list_fonts): SExtbyte ==> Extbyte.
8378         (valid_x_font_name_p): SExtbyte ==> Extbyte.
8379         (x_find_charset_font): SExtbyte ==> Extbyte.
8380         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
8381         (truename_via_XListFonts): SExtbyte ==> Extbyte.
8382         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
8383         Use bufbyte_strcmp.
8384
8385         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
8386         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
8387         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
8388         (BYTE_C0_P): Use bit ops for char-signedness safety.
8389         (BYTE_C1_P): Use bit ops for char-signedness safety.
8390         (CHARSET_BY_LEADING_BYTE):
8391         (CHARSET_BY_ATTRIBUTES):
8392         Always use inline function.
8393         Use type_checking_assert.
8394         Hide chlook.
8395
8396         * mule-charset.c (non_ascii_charptr_copy_char):
8397         Modify to work with both ASCII and non-ASCII characters.
8398         Improve docs and variable names.
8399         Replace over-clever fall-through switch with a simple loop.
8400         (Lstream_get_emchar_1):
8401         Replace over-clever fall-through switch with a simple loop.
8402
8403         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8404         Warning suppression.
8405
8406         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
8407         the return value of Lstream_getc, which could be EOF as well.
8408
8409         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
8410
8411         * lisp.h: Make Extbyte a char, not unsigned char, so that external
8412         APIs can be used on Extbytes without casts.  Risky!
8413         (SExtbyte): Remove.
8414         (UExtbyte): Remove.
8415
8416         * input-method-xlib.c (XIM_init_device):
8417         Use Xlib.h instead of IntrinsicP.h.
8418         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
8419         which will break in X11R7.
8420         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
8421         to call XRegisterIMInstantiateCallback with correct types.
8422
8423         * gui-x.c (button_item_to_widget_value): Type correctness.
8424
8425         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
8426
8427         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
8428         (xbm_instantiate_1): Type correctness.
8429         (BUILD_GLYPH_INST):  Type correctness.
8430
8431         * fileio.c (Fsubstitute_in_file_name): Type correctness.
8432
8433         * file-coding.c:
8434         (decode_coding_sjis):
8435         (decode_coding_big5):
8436         (decode_coding_ucs4):
8437         (decode_coding_utf8):
8438         (decode_coding_iso2022):
8439         (decode_coding_no_conversion):
8440         Make all decoding functions take an Extbyte * arg.
8441         (encode_coding_sjis):
8442         (encode_coding_big5):
8443         (encode_coding_ucs4):
8444         (encode_coding_utf8):
8445         (encode_coding_iso2022):
8446         (encode_coding_no_conversion):
8447         Make all encoding functions take a Bufbyte * arg.
8448         Use size_t instead of unsigned int for memory sizes.
8449         Only cast to unsigned char whenever dereferencing Extbyte *.
8450
8451         * doc.c (unparesseuxify_doc_string): Type correctness.
8452
8453         * console-x.c (split_up_display_spec):
8454         Rewrite without using details of internal string representation.
8455         (x_semi_canonicalize_device_connection): Type correctness.
8456
8457         * config.h.in:
8458         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
8459         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
8460         (HAVE_XFREE386): Removed.
8461
8462         * buffer.h (DEC_CHARPTR): `const' correctness.
8463         (bufbyte_strcmp): New.
8464         (bufbyte_memcmp): New.
8465
8466         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
8467
8468         * buffer.h (XCHAR_OR_CHAR_INT):
8469         Always use inline function.
8470         Remove redundant type checking assert() - XINT will abort quite nicely.
8471
8472 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8473
8474         * search.c (Freplace_match): Set newtext to an empty string.
8475
8476 2000-10-10  Martin Buchholz  <martin@xemacs.org>
8477
8478         * s/decosf1-3.h: Remove #include of stropts.h
8479         * s/ptx.h: Remove #include of stropts.h
8480         * s/usg5-4.h: Remove #include of stropts.h
8481         * sysproc.h:
8482         * config.h.in:
8483         Use stropts.h, not sys/stropts.h.
8484         Use strtio.h, not sys/strtio.h.
8485
8486 2000-10-04  Martin Buchholz <martin@xemacs.org>
8487
8488         * XEmacs 21.2.36 is released.
8489
8490 2000-09-21  Andy Piper  <andy@xemacs.org>
8491
8492         * glyphs-x.c (x_redisplay_widget): make sure non-structural
8493         changes still involve copying the widget tree.
8494         (update_widget_face): make sure a change is register in the widget
8495         tree. Call update_tab_widget_face appropriately.
8496         (update_tab_widget_face): ditto.
8497         (x_tab_control_redisplay): make sure non-structural changes still
8498         involve copying the widget tree.
8499
8500 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
8501
8502         * lread.c (locate_file): Check the path element is non-nil.
8503
8504 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8505
8506         * lisp.h: Warning suppression for SCO compilers.
8507
8508         * redisplay-tty.c (reset_tty_modes): Fix crash.
8509         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
8510
8511 2000-09-27  Martin Buchholz  <martin@xemacs.org>
8512
8513         Big signal/process handling overhaul.  Bugs fixed:
8514         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
8515         M-x comint-kill-subjob should work for both values nil and t of
8516         process-connection-type. It was broken on most platforms.
8517         Testing on Irix and Cygwin still needed.  Other plaforms tested.
8518         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
8519         * process-unix.c: Signal/Process handling overhaul.
8520         (pty_name): make 64 bytes, as `expect' does, for paranoia.
8521         (allocate_pty): Use all available modern methods of allocating
8522         ptys, falling back to old style BSD allocation as a last resort.
8523         Use allegedly more secure Unix98 pty allocation by default.
8524         (allocate_pty_the_old_fashioned_way): New. the last resort.
8525         (unix_create_process): Push ptem, ldterm, ttcompat where
8526         available.  Autoconfiscate.
8527         (try_to_initialize_subtty): New.
8528         (unix_kill_child_process): Proper signal handling for ptys on most
8529         platforms, using special knowledge of AIX, BSD, etc...
8530         (unix_create_process): Always disconnect_controlling_terminal() for
8531         subprocesses, whether using ptys or not.
8532         * process.h: Remove old getpt-dependent PTY code.
8533         * process.c (Fprocess_send_signal): New, obvious generic function.
8534         (decode_signal): New.
8535         (Finterrupt_process):
8536         (Fkill_process):
8537         (Fquit_process):
8538         (Fstop_process):
8539         (Fcontinue_process):
8540         (Fsignal_process): Use decode_signal.
8541         (process_send_signal):
8542         Many docstring corrections.
8543         Allow any signal to be sent to a process object.
8544         * config.h.in: Add symbols for big signal/process overhaul.
8545         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
8546         * sysproc.h: Include process-related headers, where available:
8547         sys/stropts.h sys/strtio.h pty.h libutil.h
8548         * s/irix4-0.h:
8549         * s/irix5-0.h:
8550         * s/cygwin32.h:
8551         * s/gnu.h:
8552         * s/linux.h:
8553         * s/hpux.h:
8554         * s/aix3-1.h:
8555         Remove old S&M pty stuff.
8556         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
8557         * systty.h: Simplify cpp hackery, improve comments.
8558         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
8559
8560         * editfns.c (Fformat_time_string):
8561         Be a little more paranoid with the return value of ctime.
8562
8563         * fileio.c (check_executable):
8564         (check_writable):
8565         Use symbolic constants X_OK, W_OK.
8566
8567         * console-x.c (split_up_display_spec): Fix a warning.
8568
8569 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8570
8571         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
8572         * ntproc.c (sys_spawnve): make_string ==> build_string
8573         Small clarity improvements.
8574
8575 2000-09-30  Martin Buchholz  <martin@xemacs.org>
8576
8577         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
8578
8579         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
8580
8581         * config.h.in (HAVE_STRCASECMP): Remove.
8582
8583 2000-09-29  Martin Buchholz  <martin@xemacs.org>
8584
8585         * redisplay-output.c (redisplay_output_pixmap):
8586         Cleaner and possibly more 64-bit correct code.
8587
8588 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
8589
8590         * dumper.c (pdump_load_finish): move restoration of
8591         `noninteractive1' to emacs.c (main_1).
8592         * emacs.c (main_1): protect LISP-visible command-line flags
8593         from pdump_load().
8594
8595 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
8596
8597         * Makefile.in.in (versionclean):  Use EXE_TARGET and
8598         DUMP_TARGET instead of literal program names.
8599
8600 2000-09-20  Martin Buchholz  <martin@xemacs.org>
8601
8602         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
8603
8604 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8605
8606         * *: Spelling mega-patch
8607
8608 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8609
8610         * fns.c (bad_bad_turtle):
8611         Delete "Eek!" comment, since we fixed the bug to which it refers.
8612
8613 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8614
8615         * alloca.c: Replace REGISTER with register.
8616
8617 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
8618
8619         * file-coding.c (ucs_to_char): Use countof.
8620
8621 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8622
8623         * file-coding.c: (ucs_to_char):
8624         (complex_vars_of_file_coding):
8625         Use countof instead of sizeof.
8626         Use CHECK_NATNUM instead of CHECK_INT.
8627
8628         * sysdep.c (strcasecmp): Remove.
8629         * device-x.c (ascii_strcasecmp): New.
8630         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
8631         Avoid using non-standard non-portable strcasecmp.
8632
8633 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8634
8635         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
8636         * font-lock.c: remove reference to emacsfns.h.
8637         * search.c: small doc improvement.
8638         * event-Xt.c: correct file names in comments.
8639         * console-x.h Correct file names in comments.
8640         * frame.c: Correct file names in comments.
8641         * event-stream.c: remove Energize from comments.
8642
8643 2000-09-15  Martin Buchholz  <martin@xemacs.org>
8644
8645         * symeval.h (DEFERROR_STANDARD):
8646         (DEFERROR):
8647         (DEFSYMBOL):
8648         (DEFSYMBOL_NO_DUMP):
8649         (DEFSYMBOL_MULTIWORD_PREDICATE):
8650         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
8651         (DEFKEYWORD):
8652         The construct &##name is not sensible C.
8653         Fixes compilation errors with Unixware native compiler.
8654
8655 2000-09-14  Martin Buchholz  <martin@xemacs.org>
8656
8657         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
8658         (next_frame_internal): Removed.  We now just have next_frame.
8659         (next_frame):
8660         Write a simpler and cleaner one-pass algorithm.
8661         Remove called_from_delete_device arg and #ifdefed-out code.
8662         (previous_frame):
8663         Renamed from prev_frame.  Update callers.
8664         Cleaned up to have an analogous implementation to next_frame.
8665         (other_visible_frames_internal): Remove the
8666         called_from_delete_device bogus arg, and hence, remove this
8667         function.  Just use other_visible_frames().
8668
8669         * window.c (Fnext_window):
8670         Prettify docstring.
8671         Since next_frame() is guaranteed to return a frame, remove check
8672         for nil inserted in previous patch.
8673         (Fprevious_window):
8674         Prettify docstring.
8675         Make code look more like Fnext_window.
8676         (window_loop):
8677         Respect the `console' arg when iterating through windows.
8678         Fixes bug: (get-buffer-window buffer t device) not respecting
8679         the `device' arg.
8680         This function needs more work, as others have pointed out.
8681
8682         * frame.h: Rename prev_frame to previous_frame.
8683         device_matches_console_spec no longer takes a `frame' arg.
8684
8685         * s/gnu.h:
8686         * s/linux.h:
8687         * s/hpux.h:
8688         Use EMACS_BLOCK_SIGNAL instead of sigblock.
8689         From "Golubev I. N." <gin@mo.msk.ru>.
8690
8691         * make-src-depend: Fix typo.
8692
8693 2000-09-13  Martin Buchholz  <martin@xemacs.org>
8694
8695         * window.c (Fnext_window):
8696         next_frame() might return nil, not a frame.
8697         Fixes this crash:
8698         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8699
8700         * frame.c (next_frame_internal):
8701         We've passed a frame if we've passed its device.
8702         Fixes this crash:
8703         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8704 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
8705
8706 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8707
8708         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8709         Allow option to suppress accelerators in menu/dialog items.
8710         (populate_or_checksum_helper): Pass dialog title through above.
8711
8712 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8713
8714         * event-msw.c (mswindows_key_to_emacs_keysym):
8715         Add "pause" key, fix "menu" key.
8716
8717 2000-09-09  Martin Buchholz  <martin@xemacs.org>
8718
8719         * eval.c (reinit_vars_of_eval):
8720         Increase max_lisp_eval_depth to 1000,
8721         required for thai-xtis.el to byte-compile under some circumstances.
8722
8723 2000-09-04  Martin Buchholz  <martin@xemacs.org>
8724
8725         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
8726         From Kenichi Handa.
8727
8728 2000-09-01  Martin Buchholz  <martin@xemacs.org>
8729
8730         * make-src-depend: Make the generated Makefiles smaller.
8731
8732         * s/hpux.h (SETUP_SLAVE_PTY):
8733         Provide a %d in the format string for the errno argument.
8734
8735         * editfns.c (Ftemp_directory):
8736         Warning fix.
8737         Avoid buffer overrun on very long file name.
8738
8739         * input-method-xlib.c (XIM_init_device):
8740         6th parameter of XRegisterIMInstantiateCallback has different
8741         pointer types on different OSes, so simply cast to (void *).
8742
8743         * unexhp9k800.c: Warning fixes.  Fiddly changes.
8744
8745         * sysdll.c (dll_open):
8746         shl_load will hang hard if passed a NULL filename.
8747         Simply return NULL for compatibility with dlopen.
8748         * sysdll.c: Conform to XEmacs coding standards.
8749
8750         * sysdep.c (get_pty_max_bytes):
8751         Support pty input lines longer than 512 bytes on HP-UX 10.20.
8752
8753 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8754
8755         * tooltalk.c: Add #include <syssignal.h>
8756
8757 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
8758
8759         * s/hpux.h: Don't use undefined function sigunblock().
8760
8761 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8762
8763         * config.h.in: Add HAVE_BALLOON_HELP.
8764         * emacs.c: Use HAVE_BALLOON_HELP.
8765         * Makefile.in.in (x_objs):
8766         Make Balloon Help conditional on finding shape.h.
8767
8768 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
8769
8770         * syntax.c (regex_emacs_buffer_p): New variable.
8771         * syntax.h (regex_emacs_buffer_p): extern.
8772         * search.c (looking_at_1):
8773         (string_match_1):
8774         (fast_string_match):
8775         (search_buffer): Set regex_emacs_buffer_p.
8776         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
8777         when before_dot, at_dot, after_dot.
8778
8779 2000-08-23  Andy Piper  <andy@xemacs.org>
8780
8781         * gui-x.c (popup_selection_callback): Only set action_occurred
8782         when we really have an image instance.
8783         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8784
8785 2000-08-23  Andy Piper  <andy@xemacs.org>
8786
8787         * gui-msw.c (mswindows_handle_gui_wm_command): set
8788         action_occurred.
8789         * gui-x.c (popup_selection_callback): ditto.
8790
8791         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
8792         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
8793         (struct Lisp_Image_Instance): add action_occurred flag.
8794
8795         * glyphs.c (redisplay_subwindow): use action_occurred flag.
8796         (image_instance_changed): ditto.
8797         (reset_frame_subwindow_instance_cache): only unmap windows - do
8798         not remove them from the cache also.
8799
8800         * glyphs-widget.c (tab_control_update): better debug.
8801         (progress_gauge_update): ditto.
8802         (layout_update): ditto.
8803         (layout_instantiate): ditto.
8804         (tab_control_order_only_changed): cope with null pending items.
8805
8806         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
8807         debug. Force selection of an item when an action occurred. Cope
8808         with null pending_items.
8809         (mswindows_progress_gauge_redisplay): better debug.
8810         * glyphs-x.c (x_tab_control_redisplay): ditto.
8811
8812         * redisplay.c (redisplay_frame): reset the frame cache if the
8813         frame is garbaged.
8814
8815         * window.c (Fset_window_configuration): potentially re-enable
8816         frame cache reset.
8817         (window_unmap_subwindows): need to finalize instances here since
8818         it is only used in mark_window_as_deleted.
8819
8820 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
8821
8822         * nas.c (SndOpenDataForReading):
8823         nas.c (WaveOpenDataForReading):
8824         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
8825         Somehow escaped from the 2000-08-14 patch.
8826
8827 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
8828
8829         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
8830         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
8831
8832 2000-08-21  Andy Piper  <andy@xemacs.org>
8833
8834         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
8835         window if it is not already displayed.
8836
8837         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
8838         it is not already displayed.
8839
8840         * window.c (Fset_window_configuration): don't reset the frame
8841         cache.
8842
8843         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
8844         instances from the frame cache if we are actually finalizing them.
8845         (reset_frame_subwindow_instance_cache): reset frame cache only
8846         after unmapping everything.
8847         (map_subwindow): set displayed flag after mapping.
8848
8849 2000-08-21  Martin Buchholz  <martin@xemacs.org>
8850
8851         * data.c (indirect_function):
8852         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
8853
8854         * eval.c (function_argcount):
8855         Use original function when signaling errors.
8856
8857 2000-08-18  Andy Piper  <andy@xemacs.org>
8858
8859         * frame.c (delete_frame_internal): use new
8860         free_frame_subwindow_instances name.
8861
8862         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
8863         (add_tab_item): make return type correct.
8864         (mswindows_tab_control_instantiate): assert index of tab.
8865         (mswindows_tab_control_redisplay): Re-code to use
8866         gui_item_equal_sans_selected and gui_item_list_find_selected.
8867
8868         * glyphs-widget.c (tab_control_update): Correct comment.
8869
8870         * window.c (window_unmap_subwindows): use new
8871         unmap_subwindow_instance_cache_mapper.
8872         (window_unmap_subwindows_cache_mapper): deleted.
8873         (Fset_window_configuration): comparisons should now be with
8874         EQ. Preserve the subwindow instance cache across configuration
8875         changes.
8876         (allocate_window): ditto.
8877         (make_dummy_parent): ditto.
8878
8879         * glyphs.c (free_frame_subwindow_instances): rename from
8880         free_frame_subwindow_instance_cache. finalize all instances rather
8881         than just those in the display cache.
8882         (finalize_all_subwindow_instances): walk windows unmapping and
8883         finalizing subwindows.
8884         (unmap_subwindow_instance_cache_mapper): moved from
8885         window.c. Allow finalization as well as unmapping.
8886
8887         * gui.c (gui_item_list_find_selected): new function.
8888
8889         * gui.h (gui_item_list_find_selected): declare.
8890
8891         * glyphs-x.c (x_tab_control_redisplay): pick tab
8892         explicitly. Re-code to use gui_item_equal_sans_selected and
8893         gui_item_list_find_selected.
8894
8895         * glyphs-x.h: add lwlib-utils.h
8896
8897         * buffer.c (Frecord_buffer): undo previous change.
8898
8899 2000-08-09  Vin Shelton  <acs@xemacs.org>
8900
8901         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
8902         possible.  Create temporary files more securely.  The patch was
8903         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
8904         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
8905         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
8906         for details.
8907
8908 2000-08-07  Ben Wing  <ben@xemacs.org>
8909
8910         * getloadavg.c: remove duplicate (and windows-breaking)
8911         includes of fcntl.h and sys/file.h.
8912
8913         * nt.c: remove duplicate getloadavg() definition.
8914
8915         * sysdll.h (Qdll_filename_encoding): add missing stand-in
8916         encodings.
8917
8918 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8919
8920         * eval.c (function_argcount): If function needs to be autoloaded
8921         actually use the loaded definition.
8922         GCPRO function.
8923
8924 2000-08-05  Ben Wing  <ben@xemacs.org>
8925
8926         * getloadavg.c: add prototype for getloadavg().  remove
8927         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
8928         of the code).  remove duplicate header includes.
8929
8930         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
8931
8932         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
8933         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
8934         useful load average.
8935
8936         * alloc.c (reinit_alloc_once_early): removed references to
8937         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
8938         the lisp vars are the only things referencing the malloc_sbrk_*
8939         vars, and they were already if 0'd out.  these vars only exist
8940         in the older malloc.c, which is basically unused, and they're
8941         only for informational purposes.
8942
8943         * m\*.h: removed useless VIRT_ADDR_VARIES.
8944
8945         * m\powerpc.h: removed stray NO_ARG_ARRAY.
8946
8947 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8948
8949         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
8950         color if the image is a mono pixmap.
8951
8952 2000-07-30  Ben Wing  <ben@xemacs.org>
8953
8954         * Makefile.in.in (release):
8955         Remove stray @.
8956
8957         * buffer.c (directory_is_current_directory):
8958         * dired-msw.c (mswindows_get_files):
8959         * dired.c:
8960         * dired.c (Fdirectory_files):
8961         * dired.c (file_name_completion_stat):
8962         * dired.c (Ffile_attributes):
8963         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
8964         preprocessor tricks, to avoid problems on some machines
8965         (e.g. SCO).
8966
8967         * callproc.c (egetenv): GC docs.
8968
8969         * console-msw.h:
8970         * console-msw.h (struct mswindows_dialog_id):
8971         * lrecord.h (lrecord_type):
8972         New object for use with MSW dialogs.
8973
8974         * console.h (struct console_methods):
8975         New enable/disable frame methods, for proper modal dialogs.
8976
8977         * device-msw.c (msprinter_default_printer): Fix to follow
8978         proper Mule conventions.
8979
8980         * device-msw.c:
8981         * device-msw.c (signal_open_printer_error):
8982         * device-msw.c (msprinter_init_device):
8983         * device-msw.c (ensure_not_printing):
8984         * device-msw.c (plist_get_margin):
8985         * device-msw.c (Fmsprinter_select_settings):
8986         * device-msw.c (finalize_devmode):
8987         * device-msw.c (Fmsprinter_settings_despecialize):
8988         * device-msw.c (signal_enum_priner_error):
8989         * extents.c (decode_extent):
8990         * extents.c (decode_map_extents_flags):
8991         * extents.c (decode_extent_at_flag):
8992         * extents.c (Fextent_at):
8993         * extents.c (Fextents_at):
8994         * extents.c (symbol_to_glyph_layout):
8995         [[[[2]]]] Use structured errors.
8996
8997         * dialog-msw.c:
8998         * dialog-msw.c (mswindows_is_dialog_msg):
8999         * dialog-msw.c (mark_mswindows_dialog_id):
9000         * dialog-msw.c (dialog_proc):
9001         * dialog-msw.c (handle_question_dialog_box):
9002         * dialog-msw.c (syms_of_dialog_mswindows):
9003         Define new object to clean up marking; use it as a dialog identifier.
9004         Call new delete-dialog-box-hook.
9005
9006         * dialog-x.c (dbox_selection_callback):
9007         * dialog-x.c (dbox_descriptor_to_widget_value):
9008         * dialog-x.c (x_make_dialog_box_internal):
9009         Call new delete-dialog-box-hook.
9010         Return an id.
9011
9012         * dialog.c:
9013         * dialog.c (syms_of_dialog):
9014         * dialog.c (vars_of_dialog):
9015         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9016
9017         * eval.c:
9018         * eval.c (signal_call_debugger):
9019         when noninteractive, output stack traces on the console instead
9020         of in a (never-seen) buffer.
9021
9022         * eval.c (signal_type_error):
9023         * eval.c (invalid_argument_2):
9024         * lisp.h:
9025         new funs for use w/structured errors.
9026
9027         * event-Xt.c:
9028         * event-Xt.c (x_to_emacs_keysym):
9029         * event-Xt.c (describe_event):
9030         * event-Xt.c (emacs_Xt_event_handler):
9031         * event-Xt.c (vars_of_event_Xt):
9032         * event-msw.c:
9033         * event-msw.c (mswindows_wnd_proc):
9034         * event-msw.c (vars_of_event_mswindows):
9035         rename {x,mswindows}-debug-events to debug-{}-events for
9036         consistency with other debug-foo variables.
9037
9038         * event-stream.c:
9039         document next-event more clearly.
9040
9041         * fileio.c (Ffile_name_directory):
9042         * fileio.c (Ffile_name_nondirectory):
9043         * fileio.c (Funhandled_file_name_directory):
9044         * fileio.c (file_name_as_directory):
9045         * fileio.c (Ffile_name_as_directory):
9046         * fileio.c (directory_file_name):
9047         * fileio.c (Fdirectory_file_name):
9048         * fileio.c (Fmake_temp_name):
9049         * fileio.c (Ffile_truename):
9050         * fileio.c (Fsubstitute_in_file_name):
9051         * fileio.c (expand_and_dir_to_file):
9052         * fileio.c (barf_or_query_if_file_exists):
9053         * fileio.c (check_executable):
9054         * fileio.c (Ffile_exists_p):
9055         * fileio.c (Ffile_writable_p):
9056         * fileio.c (Ffile_directory_p):
9057         * fileio.c (Ffile_regular_p):
9058         * fileio.c (Ffile_modes):
9059         * fileio.c (Ffile_newer_than_file_p):
9060         * fileio.c (Fverify_visited_file_modtime):
9061         * fileio.c (Fset_visited_file_modtime):
9062         * fileio.c (auto_save_1):
9063         (1). (2).
9064         fix up gcpro's.
9065
9066         * frame-msw.c:
9067         * frame-msw.c (mswindows_init_frame_1):
9068         * frame-msw.c (mswindows_enable_frame):
9069         * frame-msw.c (error_frame_unsizable):
9070         * frame-msw.c (msprinter_init_frame_1):
9071         * frame-msw.c (msprinter_init_frame_3):
9072         * frame-msw.c (console_type_create_frame_mswindows):
9073         (2).
9074         implement new enable/disable frame methods.
9075
9076         * frame-x.c:
9077         * frame-x.c (x_enable_frame):
9078         * frame-x.c (console_type_create_frame_x):
9079         implement new enable/disable frame methods.
9080
9081         * frame.c:
9082         * frame.c (Fdisable_frame):
9083         * frame.c (syms_of_frame):
9084         * frame.h (struct frame):
9085         implement new enable/disable frame methods/functions.
9086
9087         * general-slots.h:
9088         add initial-focus.
9089
9090         * glyphs-msw.c (mswindows_widget_instantiate):
9091         comment that initial-focus should be implemented.
9092
9093         * glyphs-widget.c:
9094         * glyphs-widget.c (check_valid_instantiator):
9095         * glyphs-widget.c (check_valid_orientation):
9096         * glyphs-widget.c (check_valid_tab_orientation):
9097         * glyphs-widget.c (check_valid_justification):
9098         * glyphs-widget.c (check_valid_border):
9099         * glyphs-widget.c (check_valid_callback):
9100         * glyphs-widget.c (check_valid_int_or_function):
9101         * glyphs-widget.c (check_valid_string_or_vector):
9102         * glyphs-widget.c (check_valid_item_list_1):
9103         * glyphs-widget.c (widget_validate):
9104         * glyphs-widget.c (combo_box_validate):
9105         * glyphs-widget.c (widget_instantiate):
9106         * glyphs-widget.c (syms_of_glyphs_widget):
9107         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9108         * glyphs-widget.c (image_instantiator_combo_box):
9109         * glyphs-widget.c (image_instantiator_scrollbar):
9110         * glyphs-widget.c (image_instantiator_tab_control):
9111         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9112         (2).
9113         support (unimplemented) keyword initial-focus.
9114         reindent long macros.
9115
9116         * glyphs-x.c (x_redisplay_widget):
9117         * glyphs-x.c (x_button_instantiate):
9118         * glyphs-x.c (x_button_redisplay):
9119         * glyphs-x.c (x_progress_gauge_instantiate):
9120         * glyphs-x.c (x_edit_field_instantiate):
9121         * glyphs-x.c (x_combo_box_instantiate):
9122         * glyphs-x.c (x_tab_control_instantiate):
9123         * glyphs-x.c (x_label_instantiate):
9124         * gui-x.c:
9125         * gui-x.c (button_item_to_widget_value):
9126         * gui-x.c (gui_items_to_widget_values_1):
9127         * gui-x.c (gui_item_children_to_widget_values):
9128         * gui-x.c (gui_items_to_widget_values):
9129         * gui-x.h:
9130         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9131         add new flag to gui-parsing routines to indicate whether
9132         accelerator specs should be supported.
9133
9134         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9135
9136         * glyphs.h (struct Lisp_Image_Instance):
9137         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9138         add initial-focus flag.
9139
9140         * gui.c:
9141         * gui.c (syms_of_gui):
9142         * gui.c (vars_of_gui):
9143         clean up menu-no-selection-hook.
9144
9145         * gui.h:
9146         support delete-dialog-box-hook.
9147
9148         * lread.c (Fload_internal):
9149         * lread.c (locate_file_in_directory_mapper):
9150         (1).
9151
9152         * lrecord.h:
9153         * lrecord.h (struct toolbar_button):
9154         * lrecord.h (syms_of_toolbar):
9155         document how to create a new object.
9156
9157         * menubar-msw.c (mswindows_char_is_accelerator):
9158         may be called on frames w/o menus.
9159
9160         * menubar.c (vars_of_menubar):
9161         clean up :filter docs.
9162
9163         * nt.c (readdir):
9164         * ntproc.c:
9165         (1).
9166
9167         * process-nt.c:
9168         * process-nt.c (validate_signal_number):
9169         * process-nt.c (signal_cannot_launch):
9170         * process-nt.c (nt_create_process):
9171         * process-nt.c (nt_send_process):
9172         * process-nt.c (nt_kill_child_process):
9173         * process-nt.c (nt_open_network_stream):
9174         * process-nt.c (syms_of_process_nt):
9175         (2).
9176         delete quote-handling.  call new lisp code that does it better.
9177
9178         * process-unix.c (connect_to_file_descriptor):
9179         * process-unix.c (allocate_pty):
9180         * process-unix.c (unix_send_process):
9181         * process-unix.c (unix_kill_child_process):
9182         * process-unix.c (unix_open_network_stream):
9183         * process-unix.c (unix_open_multicast_group):
9184         (1). (2).
9185
9186         * process.c:
9187         * process.c (Fstart_process_internal):
9188         (2).  need to canonicalize process path even if absolute.
9189
9190         * select-msw.c (symbol_to_ms_cf):
9191         * select-msw.c (ms_cf_to_symbol):
9192         * select-msw.c (cf_is_autofreed):
9193         * select-msw.c (mswindows_destroy_selection):
9194         * select.c:
9195         * select.c (syms_of_select):
9196         * select.h:
9197         support dibv5, fix bugs. (from Mike Alexander)
9198
9199         * select.c (Fget_selection_internal):
9200         * select.c (select_convert_out):
9201
9202         * sysdep.c:
9203         * sysdep.c (xemacs_stat):
9204         renamed.
9205
9206         * sysdep.c (mkdir):
9207         * sysdep.c (rmdir):
9208         but keep original stat() here because we provide encapsulation
9209         around these funs.
9210
9211         * sysfile.h:
9212         * sysfile.h (fstat):
9213         remove stat garbage.
9214
9215         * syswindows.h:
9216         fix X/MSW conflict.
9217         don't include tchar.h.  it's inappropriate because it makes
9218         compile-time distinctions when we want runtime distinctions.
9219         (we provide our own tchar replacements)
9220
9221         * toolbar.c:
9222         use default object printer for toolbar-button.
9223
9224         * unexcw.c:
9225         make sure we don't encapsulate.
9226
9227         * window.c (vars_of_window):
9228         emphasize that temp-buffer-show-hook is obsolete.
9229
9230 2000-08-05  Martin Buchholz  <martin@xemacs.org>
9231
9232         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
9233         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
9234
9235         * events.c (Fevent_timestamp_lessp):
9236         Not 64-bit clean.  Use EMACS_INT, not int.
9237
9238 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
9239
9240         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
9241         unsigned int and changed the last enum to
9242         lrecord_type_last_built_in_type.
9243         (lrecord_implementations_table): changed prototype to know how
9244         long the array is supposed to be.
9245         (lrecord_type_count): new unsigned int to keep track of the
9246         current number of lisp lrecord types.
9247         (DEFINE_EXTERNAL_LRECORD):
9248         (DECLARE_EXTERNAL_LRECORD): Added these two for external
9249         dynamic-modules to declare new lisp types. They are the same
9250         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
9251         int for each new type, and increment lrecord_type_count by 1.
9252
9253         * alloc.c (lrecord_implementations_table): Changed to reference
9254         lrecord_type_last_built_in_type for the size of the array.
9255         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
9256
9257 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9258
9259         * glyphs.h (check_valid_item_list): Renamed from
9260         check_valid_item_list_1.
9261
9262 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
9263
9264         * select.c (Qselect_coerce): New.
9265         * select.c (Vselection_coercion_alist): New.
9266         * select.c (syms_of_select): Declare.
9267         * select.c (get-selection-internal): Use it.
9268         Use the new select-coerce functionality.
9269
9270         * select.c (select_coerce): New.
9271         * select.h (select_coerce): Declare.
9272         New function to coerce one type of data into another.
9273
9274 2000-08-03  Martin Buchholz  <martin@xemacs.org>
9275
9276         * callproc.c (Fcall_process_internal):
9277         (Fcall_process_internal):
9278         * process-unix.c (unix_create_process):
9279         Save and restore the value of errno, so that error messages are accurate.
9280
9281 2000-08-01  Martin Buchholz  <martin@xemacs.org>
9282
9283         * elhash.c (print_hash_table):
9284         Fix printing of hash tables to also use `key-and-value' instead of `t'.
9285         Prettify docstrings and indentation.
9286
9287 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9288
9289         * window.c (Fwindow_pixel_edges): Subtract frame border and
9290         gutter size.
9291
9292 2000-07-31  Andy Piper  <andy@xemacs.org>
9293
9294         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
9295         will acknowledge the change.
9296
9297         * glyphs.h: declare tab_control_order_only_changed.
9298
9299         * glyphs-x.c (x_tab_control_redisplay): use
9300         tab_control_order_only_changed.
9301
9302         * glyphs-widget.c (tab_control_order_only_changed): new function.
9303
9304         * glyphs-msw.c (mswindows_tab_control_redisplay): use
9305         tab_control_order_only_changed.
9306
9307         * gui.c (gui_item_equal_sans_selected): new function.
9308         (gui_item_equal): use it.
9309
9310         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
9311         :properties in favor of :items..
9312
9313         * glyphs-widget.c (check_valid_item_list): rename from
9314         check_valid_item_list_1.
9315         (check_valid_item_list_1): renamed.
9316         (combo_box_validate): deprecate :properties in favor of :items.
9317         (widget_instantiate): ditto.
9318         (tab_control_update): ditto.
9319         (image_instantiator_combo_box): ditto.
9320         (image_instantiator_tree_view): ditto.
9321         (image_instantiator_tab_control): ditto.
9322         (layout_post_instantiate): remove dead code.
9323
9324         * print.c (debug_print_no_newline): only write to debugger if in
9325         WIN32_NATIVE.
9326
9327         * elhash.c (Fmake_hash_table): update doc string.
9328
9329         * event-msw.c (mswindows_wnd_proc): don't allow processing of
9330         messages whilst in GC. This at least stops XEmacs crashing but has
9331         the potential for wierd behaviour.
9332
9333 2000-07-31  Martin Buchholz  <martin@xemacs.org>
9334
9335         * config.h.in:
9336         Make existence of s&m files optional.
9337
9338         * s/bsd386.h: Remove HAVE_GETLOADAVG.
9339         * s/freebsd.h: Remove HAVE_GETLOADAVG.
9340         * s/gnu.h: Remove HAVE_GETLOADAVG.
9341         * s/netbsd.h: Remove HAVE_GETLOADAVG.
9342         * s/sol2.h: Remove HAVE_GETLOADAVG.
9343         * lisp.h: Remove getloadavg() declaration.
9344         * fns.c:
9345         Include <sys/loadavg.h> if available.
9346         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
9347         * config.h.in:  Group together getloadavg()-related macros.
9348         Use only configure-time tests to detect getloadavg().
9349
9350 2000-07-30  Martin Buchholz  <martin@xemacs.org>
9351
9352         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
9353
9354 2000-07-25  Andy Piper  <andy@xemacs.org>
9355
9356         * syswindows.h: add tchar.h for native builds.
9357
9358         * frame.c (syms_of_frame): remove set-glyph-image.
9359
9360         * general-slots.h: add Qset_glyph_image.
9361
9362         * glyphs-widget.c (layout_update): add domain arg to
9363         set-glyph-image.
9364         (syms_of_glyphs_widget): remove set-glyph-image.
9365
9366 2000-07-23  Ben Wing  <ben@xemacs.org>
9367
9368         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
9369         Vpopup_frame_list.
9370
9371 2000-07-22  Andy Piper  <andy@xemacs.org>
9372
9373         * symsinit.h: add syms_of_win32().
9374
9375         * gui-msw.c (syms_of_gui_mswindows): remove
9376         Fmswindows_shell_execute.
9377         (Fmswindows_shell_execute): moved to win32.c.
9378
9379         * emacs.c (main_1): add syms_of_win32 ().
9380
9381         * win32.c (init_potentially_nonexistent_functions): rewrite in
9382         compiler-friendly terms.
9383         (Fmswindows_shell_execute): move here from gui-msw.c.
9384         (syms_of_win32): new.
9385
9386         * device-msw.c (Fmswindows_printer_list): clean up args to
9387         EnumPrinters.
9388         Don't include tchar under cygwin or mingw.
9389         (msprinter_default_printer): make cygwin-friendly.
9390
9391 2000-07-21  Andy Piper  <andy@xemacs.org>
9392
9393         * glyphs-widget.c (image_instantiator_tree_view): use tab
9394         control's update function.
9395         (layout_property): new function. Retrieve items.
9396
9397         * glyphs-msw.c (mswindows_tree_view_redisplay): new
9398         function. Re-populate the tree view from the pending items.
9399
9400         * glyphs.c (instantiate_image_instantiator): Make sure the domain
9401         is designated the parent if the domain is an image instance. This
9402         is needed so that dirtiness can be cascade up the hierarchy and
9403         thus for layout children to be redisplayed correctly.
9404         (allocate_image_instance): rename glyph -> parent.
9405
9406         * redisplay.h: change redisplay_output_layout signature.
9407
9408         * redisplay-msw.c (mswindows_output_display_block): use domain
9409         arg.
9410
9411         * redisplay-x.c (x_output_display_block): use domain arg.
9412
9413 2000-07-10  Andy Piper  <andy@xemacs.org>
9414
9415         * window.c (Fset_window_configuration): add comment.
9416
9417         * redisplay-output.c (compare_runes):
9418         (redisplay_output_subwindow): redisplay rather than update subwindow.
9419         (redisplay_output_layout): ditto.
9420
9421         * redisplay-msw.c (mswindows_frame_output_end):
9422         (mswindows_frame_output_end): make defer window pos optional.
9423
9424         * lisp.h: add Flast.
9425
9426         * glyphs.h (struct image_instantiator_methods): add dest_mask top
9427         normalize method. Change update method to be for changed
9428         instantiators. Add redisplay method. Change signature of layout
9429         method.
9430         (struct Lisp_Image_Instance): add instantiator.
9431         (IMAGE_INSTANCE_INSTANTIATOR): new.
9432         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
9433         (XIMAGE_INSTANCE_INSTANTIATOR): new.
9434         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
9435
9436         * glyphs.c:
9437         (find_instantiator_differences): new function.
9438         (Fset_instantiator_property): new convenience function.
9439         (check_image_instance_structure): strictly check for vector
9440         instantiators.
9441         (normalize_image_instantiator): make non-static.
9442         (instantiate_image_instantiator): pass on dest_mask and use new
9443         signatures for image_instance_layout and friends.
9444         (mark_image_instance): mark the instantiator. Mark the subwindow
9445         face not the widget face.
9446         (image_instance_equal): add instantiator.
9447         (image_instance_hash): ditto.
9448         (allocate_image_instance): ditto.
9449         (Fset_image_instance_property): removed.
9450         (Fimage_instance_file_name): ditto.
9451         (Fcolorize_image_instance): ditto.
9452         (image_instance_layout): add offsets to be set.
9453         (update_image_instance): new function. update an image instance
9454         from its changed instantiator.
9455         (inherit_normalize): add dest_mask.
9456         (xbm_normalize): ditto.
9457         (xface_normalize): ditto.
9458         (xpm_normalize): ditto.
9459         (text_update): set_property -> update.
9460         (image_instantiate): use the glyph identity as a hash key, not the
9461         instantiator.
9462         (glyph_width): use new image_instance_layout signature.
9463         (glyph_ascent): ditto.
9464         (glyph_descent): ditto.
9465         (glyph_height): ditto.
9466         (glyph_query_geometry): ressurrect.
9467         (glyph_layout): ditto.
9468         (redisplay_subwindow): update -> redisplay.
9469         (syms_of_glyphs): add Fset_instantiator_property.
9470         (image_instantiator_format_create): set_property -> update.
9471
9472         * glyphs-x.c:
9473         (autodetect_normalize): add dest_maks to signature.
9474         (x_redisplay_subwindow): update -> redisplay.
9475         (x_redisplay_widget): ditto.
9476         (x_button_redisplay): ditto.
9477         (x_progress_gauge_redisplay): ditto.
9478         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
9479         stacking order.
9480         (console_type_create_glyphs_x): update -> redisplay.
9481         (image_instantiator_format_create_glyphs_x): ditto.
9482
9483         * glyphs-widget.c:
9484         (check_valid_instantiator): disallow glyphs in the instantiator,
9485         they must now be vectors.
9486         (check_valid_instantiator_list): ditto.
9487         (glyph_instantiator_to_glyph): use internal symbol rather than
9488         intern.
9489         (widget_update): renamed from widget_set_property. Call cascaded
9490         update methods.
9491         (redisplay_widget): renamed from update_widget.
9492         (widget_layout): image_instance_layout now takes position as well
9493         as size.
9494         (widget_normalize): ditto.
9495         (widget_instantiate): ditto.
9496         (tab_control_query_geometry) ditto.:
9497         (tab_control_update): renamed from tab_control_set_property.
9498         (progress_gauge_update): set_property -> update.
9499         (layout_normalize): rewrite so that child instantiators are
9500         normalized also.
9501         (layout_update): new function. Create glyphs from the normalized
9502         children and cope with any other layout keywords. We do not
9503         instantiate children here that will be take care of by
9504         redisplay_output_layout.
9505         (layout_instantiate): call layout_update and not much else.
9506         (layout_post_instantiate): not sure whether this is needed
9507         anymore.
9508         (layout_query_geometry): query glyph geometry rather than
9509         image_instance geometry.
9510         (layout_layout): set offsets from pass in parameters. Use glyph
9511         geometry and layout functions rather than image instance ones.
9512         (native_layout_layout): ditto.
9513         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
9514         (image_instantiator_widget): set_property -> update.
9515         (image_instantiator_buttons): ditto.
9516         (image_instantiator_progress_guage): ditto.
9517         (image_instantiator_tab_control): ditto.
9518         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
9519         (image_instantiator_layout): add update method.
9520
9521         * glyphs-msw.c (bmp_normalize):
9522         (mswindows_resource_normalize): add dest_mask so that it can be
9523         proprogated by layout_normalize.
9524         (begin_defer_window_pos): make optional because it may not be the
9525         right thing to do and it introduces differences with X.
9526         (mswindows_unmap_subwindow): ditto.
9527         (mswindows_map_subwindow): ditto.
9528         (mswindows_redisplay_subwindow): renamed from
9529         mswindows_update_subwindow.
9530         (mswindows_redisplay_widget): ditto.
9531         (mswindows_button_redisplay): renamed from
9532         mswindows_button_update. Update is now what the instantiation
9533         function does for a changed instantiator.
9534         (mswindows_progress_gauge_instantiate): set the progress value
9535         here if appropriate.
9536         (mswindows_tab_control_redisplay): cope with re-ordering of the
9537         members of the tab widget by simply selecting the new top
9538         widget. This makes things appear ok if you click on a tab.
9539         (mswindows_combo_box_instantiate): image_instance_layout now takes
9540         position as well as size.
9541         (mswindows_progress_gauge_redisplay): renamed from
9542         mswindows_progress_gauge_update.
9543         (console_type_create_glyphs_mswindows): fix update -> redisplay.
9544         (image_instantiator_format_create_glyphs_mswindows): ditto.
9545
9546         * glyphs-eimage.c (jpeg_normalize):
9547         (gif_normalize):
9548         (png_normalize):
9549         (tiff_normalize): add dest_mask so that it can be proprogated by
9550         layout_normalize.
9551
9552         * elhash.c:
9553         (print_hash_table):
9554         (hash_table_weakness_validate):
9555         (decode_hash_table_weakness):
9556         (Fhash_table_weakness):
9557         (Fhash_table_type):
9558         (syms_of_elhash): use Ben's naming scheme for hashtable types..
9559
9560         * console.h (struct console_methods): move update_* to
9561         redisplay_*.
9562
9563 2000-07-20  Ben Wing  <ben@xemacs.org>
9564
9565         * *.[ch] (XSETOBJ): remove unused middle argument.
9566         lisp-disunion.h: correct wrap_object() to one argument.
9567
9568 2000-07-15  Ben Wing  <ben@xemacs.org>
9569
9570         * s/cygwin32.h:
9571         * s/cygwin32.h (CYGWIN_CONV_PATH):
9572         Add missing logb prototype for v1.1.
9573         Use post-b20 names and alias to pre-b20 names when pre-b20.
9574
9575         * s/windowsnt.h: [5].
9576
9577 2000-07-15  Ben Wing  <ben@xemacs.org>
9578
9579         * Makefile.in.in (x_objs):
9580         * Makefile.in.in (sheap_objs):
9581         * Makefile.in.in (objs):
9582         added win32.o, cosmetic cleanups.
9583
9584         * alloc.c (Fmake_byte_code):
9585         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
9586         etc. macros which declare their own args now.
9587
9588         * alloc.c (syms_of_alloc):
9589         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
9590
9591         * buffer.c:
9592         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
9593
9594         * buffer.c (Fget_file_buffer):
9595         Fixed GCPRO problem.
9596
9597         * buffer.c (get_truename_buffer):
9598         Fixed comment about GC checking.
9599
9600         * buffer.c (syms_of_buffer):
9601         Undeclared those dedicated frame funs.
9602         [2].
9603
9604         * buffer.h:
9605         Define convenience macros for internal/external conversions.
9606         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
9607         and Qenvironment_variable_encoding for cleaner code.
9608
9609         * bufslots.h:
9610         Remove dedicated-frame; in lisp.
9611
9612         * bytecode.c (funcall_compiled_function):
9613         [1].
9614
9615         * bytecode.c (syms_of_bytecode):
9616         [2].
9617
9618         * console-msw.c:
9619         * console-msw.c (mswindows_show_console): Rewrote.
9620
9621         * console-msw.c (Fmswindows_debugging_output): New.
9622         Sends to OutputDebugString (special MSWin debugger interface).
9623
9624         * console-msw.c (Fmswindows_message_box):
9625         Fixed stupid bugs so it works when called from kill-emacs.
9626
9627         * console-msw.c (syms_of_console_mswindows):
9628         Declare Fmswindows_debugging_output.
9629
9630         * console-msw.h:
9631         New MSWin prototypes.
9632
9633         * console-msw.h (struct mswindows_frame):
9634         New entry last-click-mods for improved button-modifier support.
9635
9636         * console-msw.h (FRAME_MSWINDOWS_POPUP):
9637         New struct entry `popup' with corresponding accessor.
9638
9639         * console-x.c:
9640         * console-x.c (split_up_display_spec):
9641         * console-x.c (get_display_arg_connection):
9642         * console-x.c (x_semi_canonicalize_console_connection):
9643         * console-x.c (x_canonicalize_device_connection):
9644         [[[6]]]: Change char to more specific type.
9645         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
9646
9647         * console-x.c (x_semi_canonicalize_console_connection):
9648         * console-x.c (x_canonicalize_device_connection):
9649         [[[9]]]: Fix up error signalling to use new structured error system.
9650
9651         * console-x.h:
9652         [[[4]]]: Define codesys aliases:
9653         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
9654         Qx_color_name_encoding, Qx_display_name_encoding.
9655
9656         * console.h (struct console_methods):
9657         New method make_dialog_box_internal supersedes older
9658         popup_dialog_box method.
9659
9660         * data.c:
9661         Define many new errors, part of new structured errors.
9662
9663         * data.c (init_errors_once_early):
9664         * data.c (syms_of_data):
9665         [2].
9666
9667         * device-msw.c (mswindows_init_device):
9668         [[[5]]]: Cleanup to support NT 3.51.
9669
9670         * device-msw.c (decode_devmode): Cleanup.
9671
9672         * device-msw.c (mswindows_handle_print_setup_dialog_box):
9673         * device-msw.c (mswindows_handle_print_dialog_box):
9674         * device-msw.c (mswindows_handle_page_setup_dialog_box):
9675         * device-msw.c (syms_of_device_mswindows):
9676         Delete the dialog box primitives recently introduced by Kirill and
9677         instead interface to general dialog box interface.
9678
9679         * device-x.c:
9680         * device-x.c (compute_x_app_name):
9681         * device-x.c (x_init_device):
9682         * device-x.c (Fx_valid_keysym_name_p):
9683         * device-x.c (Fx_set_font_path):
9684         [6].
9685         [7].
9686
9687         * device.h (wrap_device): New.
9688         First of its kind; meant to replace XSETDEVICE.
9689
9690         * dialog-msw.c: Many file-dialog symbols.
9691
9692         * dialog-msw.c (mswindows_register_popup_frame): New.
9693         * dialog-msw.c (mswindows_is_dialog_msg): New.
9694         For supporting kbd traversal in dialog boxes.
9695
9696         * dialog-msw.c (dialog_proc):
9697         Support hitting ESC in dialogs.
9698
9699         * dialog-msw.c (struct):
9700         Common dialog box errors.
9701
9702         * dialog-msw.c (handle_file_dialog_box): New.
9703         Add file dialog code.
9704
9705         * dialog-msw.c (handle_question_dialog_box):
9706         Redo existing code to support new question dialog syntax.
9707
9708         * dialog-msw.c (console_type_create_dialog_mswindows):
9709         We support new dialog console method.
9710
9711         * dialog-msw.c (syms_of_dialog_mswindows):
9712         * dialog-msw.c (vars_of_dialog_mswindows):
9713         New file dialog symbols, vars.
9714
9715         * dialog-x.c:
9716         * dialog-x.c (maybe_run_dbox_text_callback):
9717         * dialog-x.c (dbox_descriptor_to_widget_value):
9718         * dialog-x.c (x_make_dialog_box_internal):
9719         * dialog-x.c (console_type_create_dialog_x):
9720         Mule-ize entire file.
9721         Redo to support question dialog syntax.
9722         [6].
9723
9724         * dialog.c:
9725         * dialog.c (Fmake_dialog_box_internal):
9726         * dialog.c (syms_of_dialog):
9727         Kill old popup-dialog-box, replace with new primitive.
9728         Just call device method or signal error.
9729
9730         * eldap.c (Fldap_open):
9731         * eldap.c (Fldap_search_basic):
9732         * eldap.c (Fldap_add):
9733         * eldap.c (Fldap_modify):
9734         [1].
9735         [7].
9736
9737         * emacs.c:
9738         * emacs.c (make_arg_list_1):
9739         * emacs.c (make_arg_list):
9740         Mule-ize call to dll_init().
9741         [6].
9742         [8].
9743
9744         * emacs.c (make_argc_argv):
9745         * emacs.c (free_argc_argv):
9746         * emacs.c (init_cmdargs):
9747         * emacs.c (main_1):
9748         * emacs.c (Fkill_emacs):
9749         * emacs.c (Fdump_emacs):
9750         Update comments about what can be used in syms_* etc.
9751         Call init_win32() when necessary.
9752         Fix up MS Win dialog box in kill-buffer to actually work right.
9753         [7].
9754
9755         * eval.c:
9756         * eval.c (For):
9757         * eval.c (Fand):
9758         * eval.c (Fprogn):
9759         * eval.c (Fprog1):
9760         * eval.c (Fprog2):
9761         * eval.c (FletX):
9762         * eval.c (Flet):
9763         * eval.c (condition_case_3):
9764         * eval.c (Feval):
9765         * eval.c (function_argcount):
9766         * eval.c (funcall_lambda):
9767         [1].
9768
9769         * eval.c (type_error): New.
9770         * eval.c (maybe_type_error): New.
9771         * eval.c (continuable_type_error): New.
9772         * eval.c (maybe_continuable_type_error): New.
9773         * eval.c (type_error_with_frob): New.
9774         * eval.c (maybe_type_error_with_frob): New.
9775         * eval.c (continuable_type_error_with_frob): New.
9776         * eval.c (maybe_continuable_type_error_with_frob): New.
9777         New functions for use with structured errors.
9778
9779         * event-Xt.c:
9780         * event-Xt.c (x_event_to_emacs_event):
9781         Buttons are now modifiers too.
9782
9783         * event-Xt.c (emacs_Xt_current_event_timestamp):
9784         Implement new event method.
9785         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
9786
9787         * event-msw.c:
9788         * event-msw.c (ntpipe_shove_writer): [5].
9789         * event-msw.c (mswindows_enqueue_mouse_button_event):
9790         * event-msw.c (mswindows_drain_windows_queue):
9791         * event-msw.c (mswindows_wnd_proc): [7].
9792         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
9793         * event-msw.c (mswindows_modifier_state):
9794         Throughout: support new button modifiers.
9795
9796         * event-msw.c (emacs_mswindows_current_event_timestamp):
9797         Implement new event method.
9798         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
9799
9800         * event-stream.c:
9801         * event-stream.c (event_stream_current_event_timestamp): New.
9802         * event-stream.c (maybe_kbd_translate): New functionality.
9803         * event-stream.c (vars_of_event_stream):
9804         Document new kbd-translate-table functionality.
9805
9806         * event-stream.c (Fcurrent_event_timestamp): New.
9807         New primitive for use in fabricated events.
9808         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
9809
9810         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
9811
9812         * events.c:
9813         * events.c (Fmake_event):
9814         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
9815         [1].
9816         [9].
9817
9818         * events.c (format_event_object): fix gcc warnings.
9819
9820         * events.c (Fevent_timestamp): Document new primitives.
9821
9822         * events.c (TIMESTAMP_HALFSPACE): New.
9823
9824         * events.c (Fevent_timestamp_lessp): New.  New primitive for
9825         comparing timestamps correctly (half-space algorithm).
9826
9827         * events.c (Fevent_modifier_bits): Doc fix.
9828
9829         * events.c (Fevent_modifiers): Major doc addition.
9830         * events.c (event_x_y_pixel_internal): Typo fix.
9831         * events.c (syms_of_events): Declare new primitives.
9832
9833         * events.h:
9834         Update long comment for button modifiers, timestamps.
9835
9836         * events.h (struct event_stream):
9837         New current_event_timestamp method.
9838
9839         * extents.c:
9840         * extents.c (extent_in_region_p):
9841         * extents.c (decode_extent):
9842         * extents.c (Fset_extent_parent):
9843         * extents.c (decode_map_extents_flags):
9844         Fix gcc warnings.
9845         [9].
9846
9847         * extents.c (struct extent_at_arg):
9848         * extents.c (decode_extent_at_flag):
9849         * extents.c (extent_at_mapper):
9850         * extents.c (extent_at_bytind):
9851         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
9852         * extents.c (Fextents_at): New primitive. [9].
9853         * extents.c (symbol_to_glyph_layout): [9].
9854         Support new primitive `extents-at'.
9855
9856
9857         * extents.c (get_text_property_bytind):
9858         extent_at_bytind has another arg.
9859         [9].
9860
9861         * extents.c (syms_of_extents): New primitive.
9862
9863         * file-coding.c (Fmake_coding_system): [1].
9864         * file-coding.c (subsidiary_coding_system): fix gcc warning
9865         * file-coding.c (syms_of_file_coding): [2].
9866
9867         * fileio.c (Fexpand_file_name):
9868         * fileio.c (Fsysnetunam):
9869         * fileio.c (Ffile_exists_p):
9870         * fileio.c (Ffile_executable_p):
9871         * fileio.c (Fverify_visited_file_modtime):
9872         Clean up GCPROing.
9873
9874         * fileio.c (syms_of_fileio): [2].
9875
9876         * filelock.c (lock_file_1):
9877         * filelock.c (current_lock_owner):
9878         * filelock.c (lock_if_free):
9879         * filelock.c (lock_file):
9880         * filelock.c (unlock_file):
9881         Clean up GCPROing.
9882
9883         * fns.c (concat): Fix gcc warning.
9884
9885         * fns.c (Fmember):
9886         * fns.c (Fold_member):
9887         * fns.c (Fmemq):
9888         * fns.c (Fold_memq):
9889         * fns.c (memq_no_quit):
9890         * fns.c (Fassoc):
9891         * fns.c (Fold_assoc):
9892         * fns.c (Fassq):
9893         * fns.c (Fold_assq):
9894         * fns.c (assq_no_quit):
9895         * fns.c (Frassoc):
9896         * fns.c (Fold_rassoc):
9897         * fns.c (Frassq):
9898         * fns.c (Fold_rassq):
9899         * fns.c (rassq_no_quit):
9900         * fns.c (Fdelete):
9901         * fns.c (Fold_delete):
9902         * fns.c (Fdelq):
9903         * fns.c (Fold_delq):
9904         * fns.c (delq_no_quit):
9905         * fns.c (Fremassoc):
9906         * fns.c (Fremassq):
9907         * fns.c (remassq_no_quit):
9908         * fns.c (Fremrassoc):
9909         * fns.c (Fremrassq):
9910         * fns.c (remrassq_no_quit):
9911         * fns.c (Freverse):
9912         * fns.c (mapcar1):
9913         [1].
9914
9915         * frame-msw.c (mswindows_init_frame_1):
9916         * frame-msw.c (mswindows_delete_frame):
9917         Register popups with dialog code so keyboard traversing works.
9918
9919         * frame-tty.c (tty_raise_frame_no_select): [1].
9920
9921         * frame-x.c:
9922         * frame-x.c (x_set_frame_text_value):
9923         * frame-x.c (x_set_frame_properties):
9924         * frame-x.c (x_create_widgets):
9925         [7].
9926
9927         * frame.c:
9928         * frame.c (Fmouse_pixel_position): Minor doc fixes.
9929
9930         * frame.h (wrap_frame): New.
9931         Macro like wrap_device.
9932
9933         * general.c:
9934         * general.c (SYMBOL):
9935         * general.c (syms_of_general):
9936         Major reorg.  This is now just a wrapper and symbols themselves
9937         are listed in general-slots.h.
9938
9939         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
9940         * glyphs-msw.c (mswindows_resource_instantiate): [5].
9941
9942         * glyphs-msw.c (mswindows_native_layout_instantiate):
9943         Add DS_CONTROL so keyboard traversal will work.
9944
9945         * glyphs-widget.c:
9946         * glyphs-widget.c (syms_of_glyphs_widget):
9947         Move some symbols to general-slots.h.
9948
9949         * glyphs-x.c:
9950         * glyphs-x.c (xbm_instantiate_1):
9951         * glyphs-x.c (x_xbm_instantiate):
9952         * glyphs-x.c (x_xface_instantiate):
9953         * glyphs-x.c (autodetect_instantiate):
9954         * glyphs-x.c (cursor_font_instantiate):
9955         * glyphs-x.c (x_update_widget):
9956         * glyphs-x.c (x_widget_instantiate):
9957         * glyphs.c (bitmap_to_lisp_data):
9958         * glyphs.c (pixmap_to_lisp_data):
9959         [7].
9960
9961         * glyphs.c (syms_of_glyphs):
9962         [2].
9963
9964         * gui-x.c:
9965         * gui-x.c (print_widget_value):
9966         * gui-x.c (menu_separator_style_and_to_external):
9967         * gui-x.c (add_accel_and_to_external):
9968         * gui-x.c (button_item_to_widget_value):
9969         * gui-x.c (gui_items_to_widget_values_1):
9970         * gui-x.c (gui_items_to_widget_values):
9971         * gui-x.c (syms_of_gui_x):
9972         * gui-x.c (vars_of_gui_x):
9973         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
9974         [9].
9975
9976         * gui-x.h:
9977         Muleize, prototype changes matching gui-x.c.
9978
9979         * gui.c:
9980         * gui.c (separator_string_p):
9981         * gui.c (gui_item_add_keyval_pair):
9982         * gui.c (make_gui_item_from_keywords_internal):
9983         * gui.c (signal_too_long_error):
9984         * gui.c (parse_gui_item_tree_item):
9985         * gui.c (syms_of_gui):
9986         * gui.c (vars_of_gui):
9987         * gui.h:
9988         menu-no-selection-hook moved here (used by MSWin).
9989         Move some symbols to general-slots.h.
9990         [6].
9991         [9].
9992
9993         * insdel.c (get_buffer_pos_char):
9994         * insdel.c (get_buffer_range_char):
9995         Add GC comments.
9996
9997         * keymap.c (keymap_lookup_directly):
9998         * keymap.c (keymap_store):
9999         * keymap.c (ensure_meta_prefix_char_keymapp):
10000         * keymap.c (describe_map):
10001         * keymap.h:
10002         Support new button modifiers.
10003
10004         * lisp-disunion.h (wrap_object):
10005         * lisp-disunion.h (XSETOBJ):
10006         Rename make_obj to wrap_object.
10007
10008         * lisp-union.h:
10009         * lisp-union.h (make_int):
10010         * lisp-union.h (make_char):
10011         Support wrap_object.
10012
10013         * lisp.h:
10014         * lisp.h (LIST_LOOP):
10015         * lisp.h (EXTERNAL_LIST_LOOP):
10016         * lisp.h (LIST_LOOP_2):
10017         * lisp.h (EXTERNAL_LIST_LOOP_1):
10018         * lisp.h (EXTERNAL_LIST_LOOP_2):
10019         * lisp.h (EXTERNAL_LIST_LOOP_3):
10020         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10021         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10022         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10023         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10024         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10025         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10026         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10027         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10028         * lisp.h (struct Lisp_Symbol):
10029         * lisp.h (maybe_continuable_error_with_frob):
10030         Fix up section comments.
10031         Add new types for char to indicate usage.
10032         Delete symbols auto-generated from general-slots.h.
10033         Add prototypes for structured error functions.
10034         Add long comments describing looping macros and change interface
10035         so that lvalues are automatically declared.
10036         Add NO_DECLARE macro in case callers want to declare lvalues
10037         themselves.
10038
10039         * lread.c (read_syntax_error):
10040         * lread.c (continuable_read_syntax_error):
10041         * lread.c (read_structure):
10042         * lread.c (sequence_reader):
10043         * lread.c (read_list_conser):
10044         * lread.c (read_compiled_function):
10045         Rename syntax_error and continuable_syntax_error to avoid clash
10046         with same-named structured error functions.
10047
10048         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10049         * menubar-msw.c (populate_menu_add_item):
10050         * menubar-msw.c (populate_or_checksum_helper):
10051         [5].
10052         [9].
10053
10054         * menubar-x.c:
10055         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10056         Mule-ize whole file.
10057
10058         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10059
10060         * mule-charset.c (Fmake_charset):
10061         * mule-wnnfns.c (Fwnn_set_param):
10062         [1].
10063
10064         * ntproc.c (create_child):
10065         * ntproc.c (Fwin32_set_current_locale):
10066         Add comments portending doom.
10067
10068         * objects-msw.c:
10069         * objects-msw.c (old_font_enum_callback_2):
10070         * objects-msw.c (font_enum_callback_1):
10071         * objects-msw.c (mswindows_enumerate_fonts):
10072         [5].
10073
10074         * objects-x.c:
10075         * objects-x.c (allocate_nearest_color):
10076         * objects-x.c (x_parse_nearest_color):
10077         * objects-x.c (x_initialize_color_instance):
10078         * objects-x.c (x_print_color_instance):
10079         * objects-x.c (x_finalize_color_instance):
10080         * objects-x.c (x_valid_color_name_p):
10081         * objects-x.c (x_initialize_font_instance):
10082         * objects-x.c (x_print_font_instance):
10083         * objects-x.c (valid_x_font_name_p):
10084         * objects-x.c (truename_via_FONT_prop):
10085         * objects-x.c (truename_via_random_props):
10086         * objects-x.c (truename_via_XListFonts):
10087         * objects-x.c (x_font_truename):
10088         * objects-x.c (x_font_instance_truename):
10089         * objects-x.c (x_font_instance_properties):
10090         * objects-x.c (x_list_fonts):
10091         * objects-x.c (x_find_charset_font):
10092         Mule-ize entire file.
10093         [7].
10094
10095         * objects-x.h:
10096         Mule-verify.
10097
10098         * print.c:
10099         * print.c (std_handle_out_external):
10100         * print.c (debug_print_no_newline):
10101         * print.c (syms_of_print):
10102         Output to all debugger kinds in debug-print.
10103         Fix console-output code under MSWin to actually work.
10104
10105         * process-nt.c (send_signal):
10106         * process-nt.c (nt_create_process):
10107         Use newer Unicode macros.
10108
10109         * process-unix.c (unix_create_process):
10110         * process-unix.c (unix_canonicalize_host_name):
10111         * process-unix.c (unix_open_network_stream):
10112         [7].
10113
10114         * scrollbar-x.c:
10115         Mule-verify.
10116
10117         * search.c (syms_of_search):
10118         [2].
10119
10120         * select-msw.c (mswindows_destroy_selection):
10121         Use LIST_LOOP_2.
10122
10123         * select-x.c (symbol_to_x_atom):
10124         [7].
10125
10126         * select.c (syms_of_select):
10127         [2].
10128
10129         * sound.c (Fplay_sound_file):
10130         [7].
10131
10132         * specifier.c:
10133         * specifier.c (decode_specifier_type):
10134         * specifier.c (Fvalid_specifier_locale_type_p):
10135         * specifier.c (check_valid_locale_or_locale_type):
10136         * specifier.c (decode_locale):
10137         * specifier.c (decode_locale_type):
10138         * specifier.c (decode_locale_list):
10139         * specifier.c (check_valid_domain):
10140         * specifier.c (decode_specifier_tag_set):
10141         * specifier.c (Fcanonicalize_tag_set):
10142         * specifier.c (Fdefine_specifier_tag):
10143         * specifier.c (Fspecifier_tag_predicate):
10144         * specifier.c (check_valid_inst_list):
10145         * specifier.c (check_valid_spec_list):
10146         * specifier.c (decode_how_to_add_specification):
10147         * specifier.c (check_modifiable_specifier):
10148         * specifier.c (specifier_add_spec):
10149         * specifier.c (boolean_validate):
10150         * specifier.c (display_table_validate):
10151         [9].
10152
10153         * specifier.c (syms_of_specifier):
10154         Move some symbols to general-slots.h.
10155         [2].
10156
10157         * symbols.c:
10158         * symbols.c (Fmapatoms):
10159         * symbols.c (Fapropos_internal):
10160         Add GCPROs.
10161
10162         * symbols.c (set_default_buffer_slot_variable):
10163         * symbols.c (set_default_console_slot_variable):
10164         [1].
10165
10166         * symbols.c (defsymbol_massage_name_1):
10167         * symbols.c (defkeyword_massage_name):
10168         * symbols.c (deferror_1):
10169         * symbols.c (deferror):
10170         * symbols.c (deferror_massage_name_and_message):
10171         * symeval.h:
10172         * symeval.h (DEFSYMBOL):
10173         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10174
10175         * symbols.c (syms_of_symbols):
10176         [2].
10177
10178         * symsinit.h:
10179         * symsinit.h (init_win32): New.
10180         Also new is syms_of_dialog_mswindows.
10181
10182         * syswindows.h:
10183         Add new Unicode macros, missing Cygwin wide-char functions,
10184         convenience conversion macros for Qmswindows_tstr, macros for
10185         encapsulating required MSWin <-> Cygwin filename conversions,
10186         prototype for dynamically-extracted (not in NT 3.51) functions.
10187
10188         * toolbar-x.c:
10189         Mule-verify.
10190
10191         * tooltalk.c (Fadd_tooltalk_message_arg):
10192         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10193         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10194         [7].
10195
10196         * tooltalk.c (syms_of_tooltalk):
10197         [2].
10198
10199         * unexnt.c:
10200         * unexnt.c (unexec):
10201         Fix up headers, declaration of unexec() to be more standard.
10202
10203 2000-07-20  Martin Buchholz  <martin@xemacs.org>
10204
10205         * offix.h: Revert change to guard macros - they're used in offix.c!
10206
10207 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10208
10209         * lisp.h: Defsubred Fdelete.
10210
10211         * console-msw.h:  (msprinter_default_printer): Added.
10212
10213         * console-msw.c (msprinter_canonicalize_console_connection):
10214         (msprinter_canonicalize_device_connection): Added.
10215
10216         * device-msw.c (msprinter_default_printer):
10217         (Fmswingows_get_default_printer):
10218         (signal_enum_priner_error):
10219         (Fmswingows_printer_list): Added.
10220
10221 2000-07-19  Martin Buchholz <martin@xemacs.org>
10222
10223         * XEmacs 21.2.35 is released.
10224
10225 2000-07-19  Martin Buchholz  <martin@xemacs.org>
10226
10227         * select-x.c (x_handle_selection_request):
10228         Text selected in xemacs and pasted into xterm failed to appear.
10229         Spelling fixes and cosmetic changes.
10230
10231 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10232
10233         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
10234         XEmacs frame (fix for doubling chars in dialog boxes).
10235
10236 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10237
10238         * select.c (select_convert_in, select_convert_out):
10239         Don't call intern() every time.
10240
10241         * select.c (Qselect_convert_in, Qselect_convert_out): New.
10242         * select.c (vars_of_select): Initialise them.
10243
10244 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10245
10246         * select.c (selection-coercible-types): New.
10247
10248         * select.c (own-selection-internal):
10249         * select.c (get-selection-internal):
10250         MULE bug fix - these should default to COMPOUND_TEXT and not
10251         STRING for MULE. I think.
10252
10253         * select.c (select_convert_out): Use selection-coercible-types
10254         to find types that we can attempt to perform coercions on.
10255
10256 2000-07-18  Martin Buchholz  <martin@xemacs.org>
10257
10258         * mule-wnnfns.c:
10259         * mule-canna.c:
10260         Add coding: cookie to identify encoding.
10261
10262         * mule-canna.c (CANNA_mode_keys): make static.
10263         Use proper prototypes, even for functions of no arguments.
10264         Remove external prototype for Fding().
10265
10266         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
10267
10268         * select.c (syms_of_select): Add missing DEFSUBR.
10269
10270 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10271
10272         * select.c (get_selection_internal, own_selection_internal):
10273         Make the type default to STRING, rather than placing a nil type
10274         into Vselection_alist.
10275
10276 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10277
10278         * gpmevent.c (tty_selection_exists_p):
10279         * gpmevent.c (tty_own_selection):
10280         Updated parameter lists.
10281
10282 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
10283
10284         * select.h (selection-alist): Removed declaration.
10285
10286         * select.h (get_local_selection):
10287         * select.c (get_local_selection):
10288         Made static.
10289
10290         * select.h (convert_selection): Removed declaration.
10291         * select.c (convert_selection): Removed.
10292         This function belongs in Lisp.
10293
10294         * select.h (select_convert_in): Declare.
10295         * select.h (select_convert_out): Declare.
10296         * select.c (select_convert_in): New.
10297         * select.c (select_convert_out): New.
10298         New conversion functions for other files to call.
10299
10300         * select.h (select_notify_buffer_kill): Declare.
10301         * select.c (select_notify_buffer_kill): New.
10302         New functions that get called from kill-buffer.
10303
10304         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
10305         X-specific lisp code.
10306
10307         * select.h: Declare some of the lisp-visible functions for
10308         external use.
10309
10310         * select.c (clean_local_selection_data): Removed. This was
10311         a disgusting function, and previously should have been in
10312         select-x.c in any case. The functionality is now provided
10313         in select-convert-from-integer (select.el).
10314
10315         * select.c (available-selection-types): Fixed stupidity where
10316         INTEGER and ATOM got added twice. Also add STRING when we see an
10317         extent.
10318
10319         * select.c (get-selection-internal): Removed symbol stripping. No
10320         longer causes conversion when data comes from the internal cache.
10321
10322         * select.c (syms_of_select): Added new functions.
10323
10324         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
10325         error checking - previously this called abort!
10326
10327         * select-x.c (x_own_selection): Changed comment.
10328
10329         * select-x.c (x_handle_selection_request): Use select_convert_out.
10330         Don't mess with selection-alist; it's an internal variable of select.c.
10331
10332         * select-x.c (x_get_foreign_selection): Use select_convert_in.
10333
10334         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
10335         rather than messing with selection-alist.
10336
10337         * select-msw.c (mswindows_get_foreign_selection):
10338         Use TO_INTERNAL_FORMAT rather than hacking.
10339
10340 2000-07-14  Martin Buchholz  <martin@xemacs.org>
10341
10342         * process-unix.c (unix_open_multicast_group):
10343         (unix_open_multicast_group): Remove useless casts.
10344
10345 2000-07-13  Martin Buchholz  <martin@xemacs.org>
10346
10347         * sound.c (Fplay_sound): Fix `unused variable' warning.
10348
10349         * emacs.c (main): Use correct type for _environ on SCO5.
10350
10351 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
10352
10353         * console.h (own_selection_method):
10354         * console.h (selection_exists_p_method):
10355         * console.h (available_selection_types_method): New.
10356         * console.h (register_selection_data_type_method): New.
10357         * console.h (selection_data_type_name): New.
10358
10359         * console-msw.h (mswindows_destroy_selection): Declare it.  New
10360         function & alist to track GlobalAlloc()'d handles that need
10361         releasing when the clipboard data gets replaced or emptied.
10362
10363         * event-msw.c (mswindows_wnd_proc): Call it.
10364
10365         * lisp.h, general.c (Qappend): New symbol representing a
10366         `how-to-add' mode.
10367
10368         * select.c (own-selection-internal):
10369         * select.c (selection-exists-p):
10370         * select.c (available-selection-types): New.
10371         * select.c (register-selection-data-type): New.
10372         * select.c (selection-data-type-name): New.  New functions to deal
10373         with device-specific selection data formats.
10374         * select.c (selection-converter-out-alist): Renamed.
10375         * select.c (selection-converter-in-alist): New.
10376         * select.c (selection-appender-alist): New.  Added new alists.
10377         * select.c (syms_of_select, vars_of_select): Added new symbols &
10378         variables.
10379         * select.c (get_local_selection): Split.
10380         * select.c: Removed spurious type checking - selections may now be
10381         of any type, not just strings.
10382         * select.c (own-selection-internal):
10383
10384         * select.h, select.c (convert_selection): New. Created
10385         convert_selection() function based on get_local_selection().
10386         * select.h, select.c (QCF_*): New symbols representing mswindows
10387         clipboard formats.
10388         * select.h, select.c (Qreplace_all, Qreplace_existing): New
10389         symbols representing `how-to-add' modes.
10390
10391         * select-msw.c (x_sym_p): New.
10392         * select-msw.c (symbol_to_ms_cf): New.
10393         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
10394         symbols & clipboard formats. Can also handle string names.
10395         * select-msw.c (mswindows_own_selection):
10396         * select-msw.c (mswindows_selection_exists_p):
10397         Added `data-type' parameter. Use it.
10398         * select-msw.c (mswindows_available_selection_types): New.
10399         * select-msw.c (mswindows_register_selection_data_type): New.
10400         * select-msw.c (mswindows_selection_data_type_name): New.
10401         * select-msw.c (mswindows_own_selection):
10402         * select-msw.c (mswindows_get_foreign_selection):
10403         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
10404         * select-msw.c (console_create_select_mswindows): Added new methods.
10405         * select-msw.c (mswindows_destroy_selection): New.
10406         * select-msw.c (Vhandle_alist): New list.
10407         * select-msw.c (mswindows_own_selection):
10408
10409         * select-x.c (x_own_selection):
10410         * select-x.c (x_selection_exists_p):
10411         * select-x.c: Added some comments about maybe using new
10412         functionality.
10413         * select-x.c (x_own_selection):
10414
10415         * specifier.c: Remove definition of Qappend (now in general.c)
10416         * specifier.c (syms_of_specifier): Remove Qappend.
10417
10418 2000-07-12  Martin Buchholz  <martin@xemacs.org>
10419
10420         * config.h.in: Add socklen_t.
10421
10422         * s/decosf4-0.h: No special compiler flags needed or desired.
10423         In particular, undefine _BSD for DEC OSF 4.0.
10424
10425 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10426
10427         * redisplay-msw.c (msprinter_frame_output_end): Added.
10428         (console_type_create_redisplay_mswindows): Referred the above.
10429
10430         * frame.c (setup_frame_without_minibuffer): Do not create a
10431         default minibuffer frame on a printer device.
10432
10433         * frame-msw.c (apply_dc_geometry): Added.
10434         (msprinter_start_page):
10435         (msprinter_init_frame_3):
10436         (msprinter_eject_page): Use it.
10437
10438         * console-msw.h (struct msprinter_frame): Added pix_left and top,
10439         and removed residual duplex and orientation properties.
10440
10441 2000-07-11  Martin Buchholz  <martin@xemacs.org>
10442
10443         * eval.c (function_argcount): Work around a DEC CC compiler bug.
10444
10445         * unexalpha.c: Remove system prototypes from C sources!
10446
10447 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
10448
10449         * eval.c: Remove references to M-x edit-options in DEFUNs for
10450         `defvar' and `defconst'.
10451
10452 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10453
10454         * config.h.in: Remove SMART_INCLUDE hackery.
10455
10456         PostgreSQL hacking:
10457         * config.h.in: Don't use SMART_INCLUDE.
10458
10459         * postgresql.h: Include libpq-fe.h here.  Fix typo.
10460         * inline.c: Simply #include "postgresql.h"
10461         * postgresql.c:
10462         - Don't use SMART_INCLUDE
10463         - Use simply "const".
10464         - Use standard doc string conventions.
10465         - Use correct type for result of PQstatus.
10466
10467 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10468
10469         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
10470
10471         C++ compilation changes.
10472         * config.h.in (EXTERN_C): Define.
10473         * config.h.in (not): This is also a C++ keyword.
10474         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
10475         * cm.c: Use EXTERN_C.
10476         * redisplay-tty.c: Use EXTERN_C.
10477         * sysdep.c: Use EXTERN_C.  Remove Gould support.
10478
10479 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10480
10481         * general.c: Remove duplicate definition for Qfunction.
10482
10483 2000-07-08  Ben Wing  <ben@xemacs.org>
10484
10485         * device-msw.c (msprinter_init_device):
10486         * device-msw.c (sync_printer_with_devmode):
10487         * device-msw.c (handle_devmode_changes):
10488         * device-msw.c (print_dialog_worker):
10489         * device-msw.c (Fmsprinter_apply_settings):
10490         * device-msw.c (hash_devmode):
10491         * device-msw.c (Fmsprinter_settings_despecialize):
10492         use Qmswindows_tstr, not Qctext.
10493
10494         * vm-limit.c (check_memory_limits):
10495         avoid infinite loop printing warning messages.
10496
10497 2000-07-05  Craig Lanning  <lanning@scra.org>
10498
10499         * Makefile.in.in: Add support for including the Windows resources
10500         when building with the cygwin and mingw targets.
10501
10502         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
10503         not set or not correct.
10504         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
10505         (init_initial_directory): Don't try to use $PWD on the
10506         WIN32_NATIVE target.
10507
10508         * s\cygwin32.h:
10509         [[Add -mwindows to eliminate console window.]] not required --ben
10510         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10511         (MAIL_USE_POP): removed; now handled by configure.
10512
10513         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
10514         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
10515         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10516         (MAIL_USE_POP): removed; now handled by configure.
10517         (ENCAPSULATE_STAT): from Dan Holmsand, added.
10518         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
10519         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
10520         constant string.
10521         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
10522         up from <winsock.h> via systime.h.
10523         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
10524         (getpagesize): from Dan Holmsand, added.
10525         Added #endif which was left dangling by Ben's mega patch; added
10526         comment to help prevent this in the future.
10527
10528         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
10529
10530 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10531
10532         * console-msw.h (struct mswindows_device): Removed unnecessary
10533         cached device geometry values.
10534         Added update_tick and an accessor macro.
10535         (Lisp_Devmode): Added lrecord declaration.
10536         (struct msprinter_device): Contain devmode as a Lisp object.
10537         Added mswindows_get_selected_frame_hwnd();
10538
10539         * console.h (struct console_methods): Indentation nitpicking.
10540
10541         * device-msw.c (mswindows_init_device): Do not initialize geometry
10542         cache. Initialize update tick.
10543         (mswindows_device_system_metrics): Ask the device for its geometry.
10544         (global_free_2_maybe):
10545         (devmode_to_hglobal):
10546         (handle_printer_changes):
10547         (ensure_not_printing):
10548         (print_dialog_worker):
10549         (Fmsprinter_print_setup_dialog):
10550         (Fmsprinter_print_dialog):
10551         (plist_get_margin):
10552         (plist_set_margin):
10553         (Fmsprinter_page_setup_dialog): Added functions.
10554         (sync_printer_with_devmode):
10555         (handle_devmode_changes):
10556         (Fmsprinter_get_settings):
10557         (Fmsprinter_select_settings):
10558         (Fmsprinter_apply_settings):
10559         (allocate_devmode):
10560         (Fmsprinter_settings_copy):
10561         (Fmsprinter_settings_despecialize):
10562         (print_devmode):
10563         (finalize_devmode):
10564         (equal_devmode):
10565         (hash_devmode): Added functions
10566         (syms_of_device_mswindows): Init devmode lrecord class.
10567
10568         * device.h: Added an exfun for find-device.
10569
10570         * event-msw.c (mswindows_wnd_proc): Do not update the cached
10571         geometry; although, recreate the device compatible DC.
10572
10573         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
10574         (msprinter_init_frame_3):
10575         (msprinter_frame_property):
10576         (msprinter_internal_frame_property_p):
10577         (msprinter_frame_properties):
10578         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
10579         print job properties (will move to device settings).
10580
10581         * lisp.h: Added symbols.
10582
10583         * general.c (syms_of_general): Declared them.
10584
10585         * hash.c (string_hash): Added.
10586
10587         * lrecord.h (lrecord_type): Added devmode lrecord type.
10588
10589 2000-07-02  Mike Sperber <mike@xemacs.org>
10590
10591         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
10592         FreeBSD 4.0.
10593
10594 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
10595
10596         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
10597         integer.
10598
10599 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
10600
10601         * data.c (Fstring_to_number): Don't recognize floating point if
10602         base is not 10.
10603
10604 2000-06-22  Martin Buchholz  <martin@xemacs.org>
10605
10606         * glyphs-widget.c (tab_control_query_geometry):
10607         (widget_query_geometry):
10608         (button_query_geometry):
10609         * glyphs.c (text_query_geometry):
10610         Enforce type correctness.
10611
10612 2000-06-18  Martin Buchholz  <martin@xemacs.org>
10613
10614         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
10615         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
10616
10617 2000-06-17  Martin Buchholz  <martin@xemacs.org>
10618
10619         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
10620         conflicts with gcc's fixincluded version of FOO.h.
10621
10622         * glyphs.h (image_instance_geometry): Remove trailing `,'
10623
10624 2000-06-08  Mike Alexander  <mta@arbortext.com>
10625
10626         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
10627         (shove_thread): Don't write the same output twice
10628         (make_ntpipe_output_stream): Increase priority of shove thread
10629         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
10630         chance to run
10631         (ntpipe_shove_closer): Don't delete the pipe until we're done with
10632         it.
10633
10634 2000-06-12  Ben Wing  <ben@xemacs.org>
10635
10636         * s\mingw32.h (sigset):
10637         * s\windowsnt.h (sigset):
10638         rename msw_ to mswindows_ for consistency with general convention.
10639
10640 2000-06-12  Ben Wing  <ben@xemacs.org>
10641
10642         * console-msw.c:
10643         * console-msw.c (mswindows_get_console_hwnd):
10644         * console-msw.c (mswindows_ensure_console_allocated):
10645         * console-msw.c (mswindows_hide_console):
10646         * console-msw.c (mswindows_show_console):
10647         * console-msw.c (mswindows_ensure_console_buffered):
10648         * console-msw.c (mswindows_output_console_string):
10649         * console-msw.c (mswindows_windows9x_p):
10650         * console-msw.h:
10651         * device-msw.c (mswindows_get_workspace_coords):
10652         * device-msw.c (mswindows_device_system_metrics):
10653         * dialog-msw.c (mswindows_popup_dialog_box):
10654         * event-msw.c (mswindows_wnd_proc):
10655         * frame-msw.c (mswindows_size_frame_internal):
10656         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10657         * menubar-msw.c (displayable_menu_item):
10658         * menubar-msw.c (mswindows_char_is_accelerator):
10659         * nt.c:
10660         * nt.c (mswindows_sigset):
10661         * nt.c (mswindows_sigrelse):
10662         * nt.c (mswindows_sigpause):
10663         * nt.c (mswindows_raise):
10664         * nt.c (timer_proc):
10665         * ntproc.c:
10666         * ntproc.c (find_child_console):
10667         * ntproc.c (sys_kill):
10668         * print.c:
10669         * print.c (std_handle_out_external):
10670         * process-nt.c (find_child_console):
10671         * process-nt.c (send_signal_the_95_way):
10672         * process-nt.c (ensure_console_window_exists):
10673         * process-nt.c (nt_create_process):
10674         * syssignal.h:
10675         rename msw_ to mswindows_ for consistency with general convention.
10676
10677         * emacs.c:
10678         * dumper.c:
10679         include nt.h, not syswindows.h.
10680
10681         * nt.c (mswindows_fstat):
10682         * nt.c (mswindows_stat):
10683         prefix mswindows_ instead of attempting to directly override the
10684         library functions.  fix declarations.
10685
10686         * nt.h:
10687         include syswindows.h.  move some sysdep.h stuff here.
10688
10689         * ntheap.h:
10690         include syswindows.h, not <windows.h>.
10691
10692         * ntplay.c:
10693         clean up headers.
10694
10695         * sysdep.c:
10696         clean up headers.
10697
10698         * sysdep.c (sys_fstat):
10699         * sysdep.c (sys_stat):
10700         call mswindows versions when appropriate.
10701
10702         * sysdep.h:
10703         move mswin decls to nt.h.
10704
10705         * syswindows.h:
10706         add long comment describing appropriate use of the various windows
10707         headers.
10708
10709 2000-06-11  Ben Wing  <ben@xemacs.org>
10710
10711         * device-x.c: Correct doc string for sixth arg of x-get-resource.
10712
10713 2000-06-10  Ben Wing  <ben@xemacs.org>
10714
10715         * Makefile.in.in (release):
10716         Correction to make sure xemacs.exe always dumped when correct.
10717
10718         * alloca.c:
10719         * balloon_help.c:
10720         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
10721
10722         * buffer.c (set_buffer_internal):
10723         [[[[2]]]]: Remove HAVE_FEP code.
10724
10725         * buffer.c (init_initial_directory):
10726         [3].
10727
10728         * bytecode.c:
10729         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
10730         individual files.
10731
10732         * callproc.c:
10733         * callproc.c (call_process_cleanup):
10734         * callproc.c (Fold_call_process_internal):
10735         * callproc.c (child_setup):
10736         * callproc.c (getenv_internal):
10737         * callproc.c (init_callproc):
10738         * callproc.c (vars_of_callproc):
10739         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
10740         __CYGWIN32__ -> CYGWIN.
10741         DOS_NT -> WIN32_NATIVE.
10742         Remove MSDOS support/references, converting to WIN32_NATIVE
10743           where correct.
10744         __MINGW32__ -> MINGW.
10745         Fix windows.h includes.
10746         Remove bogus HAVE_NTGUI.
10747
10748         * config.h.in:
10749         [2].
10750
10751         * console-msw.c:
10752         mswindows_message_outputted added for use in allowing startup
10753         errors on the console to be seen.
10754
10755         * console-msw.c (msw_ensure_console_allocated):
10756         * console-msw.c (msw_output_console_string):
10757         * console-msw.c (DHEADER):
10758         * console-msw.c (DOPAQUE_DATA):
10759         * console-msw.c (DEVENT):
10760         * console-msw.c (DCONS):
10761         * console-msw.c (DCONSCDR):
10762         * console-msw.c (DSTRING):
10763         * console-msw.c (DVECTOR):
10764         * console-msw.c (DSYMBOL):
10765         * console-msw.c (DSYMNAME):
10766         Fix warnings.
10767
10768         * console-stream.c (stream_init_console):
10769         Fix text/binary problems.
10770
10771         * device-msw.c:
10772         * device-msw.c (mswindows_finish_init_device):
10773         * device-msw.c (mswindows_delete_device):
10774         [1].
10775
10776         * device.c (handle_asynch_device_change):
10777         [3].
10778
10779         * dgif_lib.c:
10780         * dgif_lib.c (DGifOpenFileName):
10781         * dgif_lib.c (DGifOpenFileHandle):
10782         * dgif_lib.c (DGifGetLine):
10783         * dgif_lib.c (DGifGetPixel):
10784         Added config.h/lisp.h, fix up includes.
10785         [1].
10786
10787         * dired-msw.c:
10788         [4].
10789
10790         * dired.c:
10791         * dired.c (file_name_completion):
10792         * dired.c (Ffile_attributes):
10793         * dired.c (syms_of_dired):
10794         [1].
10795
10796         * dumper.c:
10797         * dumper.c (pdump_file_unmap):
10798         * dumper.c (pdump_load):
10799         [1].
10800
10801         * editfns.c:
10802         * editfns.c (Ftemp_directory):
10803         * editfns.c (user_login_name):
10804         * editfns.c (Fuser_real_login_name):
10805         * editfns.c (get_home_directory):
10806         [1].
10807
10808         * elhash.c (finish_marking_weak_hash_tables):
10809         [[[[5]]]]: Fix GCC warnings.
10810
10811         * emacs.c:
10812         * emacs.c (mswindows_handle_hardware_exceptions):
10813         * emacs.c (make_arg_list_1):
10814         * emacs.c (main_1):
10815         * emacs.c (Fkill_emacs):
10816         * emacs.c (Fdump_emacs):
10817         [1].
10818         Fix problems with nested crashes, add long comment.
10819
10820         * event-Xt.c (init_event_Xt_late):
10821         [1].
10822
10823         * event-msw.c:
10824         * event-msw.c (mswindows_dde_callback):
10825         * event-msw.c (mswindows_handle_sticky_modifiers):
10826         * event-msw.c (mswindows_wnd_proc):
10827         [1].
10828         [5].
10829
10830         * events.c (character_to_event):
10831         [1].
10832
10833         * fileio.c:
10834         * fileio.c (Ffile_name_directory):
10835         * fileio.c (Ffile_name_nondirectory):
10836         * fileio.c (directory_file_name):
10837         * fileio.c (Fexpand_file_name):
10838         * fileio.c (Fsubstitute_in_file_name):
10839         * fileio.c (Ffile_name_absolute_p):
10840         * fileio.c (check_executable):
10841         * fileio.c (Ffile_readable_p):
10842         * fileio.c (Ffile_accessible_directory_p):
10843         * fileio.c (Ffile_modes):
10844         * fileio.c (Funix_sync):
10845         * fileio.c (vars_of_fileio):
10846         [1]. [4].
10847
10848         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
10849
10850         Expand getdefdir defn.
10851         Fix bogus rename() comment.
10852
10853         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
10854         to use standard XEmacs include files, e.g. sysfile.h, rather
10855         than system-specific includes.
10856
10857         * fns.c:
10858         * fns.c (Fsubseq):
10859         [5]. [6].
10860
10861         * frame.c (vars_of_frame):
10862         [1].
10863
10864         * getloadavg.c:
10865         * getloadavg.c (getloadavg):
10866         [1]. [6].
10867         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
10868         (We don't use it elsewhere in the code; just add a comment.)
10869
10870         * gif_io.c:
10871         [6].
10872         Add config.h.
10873
10874         * glyphs-msw.c:
10875         * glyphs-msw.c (mswindows_resource_instantiate):
10876         [1].
10877
10878         * glyphs-x.c (x_native_layout_instantiate):
10879         [5].
10880
10881         * gui-msw.c (Fmswindows_shell_execute):
10882         [1].
10883
10884         * insdel.c:
10885         [4].
10886
10887         * lisp.h:
10888         [4]. [5].
10889
10890         * lread.c (locate_file_in_directory_mapper):
10891         [1].
10892
10893         * lstream.c:
10894         [4].
10895
10896         * mem-limits.h:
10897         * mem-limits.h (get_lim_data):
10898         [1].
10899
10900         * menubar-msw.c:
10901         [4].
10902
10903         * ndir.h:
10904         [1].
10905
10906         * nt.c:
10907         * nt.c (getwd):
10908         * nt.c (closedir):
10909         * nt.c (rva_to_section):
10910         * nt.c (mswindows_executable_type):
10911         [1]. [6].
10912         Fix closedir() defn.
10913
10914         * nt.h:
10915         [[[[8]]]]: *_OK defs moved to sysfile.h.
10916
10917         * ntproc.c:
10918         [6]. [7].
10919
10920         * objects-x.c:
10921         [4].
10922
10923         * print.c:
10924         * print.c (std_handle_out_external):
10925         [1]. [4].
10926
10927         * process-nt.c:
10928         * process-nt.c (nt_create_process):
10929         [6].
10930         try to fix process quoting somewhat.
10931
10932         * process-unix.c (unix_create_process):
10933         [1].
10934
10935         * process.c:
10936         * process.c (vars_of_process):
10937         Add Vnull_device.
10938
10939         * process.h:
10940         [1].
10941
10942         * realpath.c:
10943         * realpath.c (xrealpath):
10944         [1].
10945
10946         * redisplay-tty.c (init_tty_for_redisplay):
10947         [3].
10948
10949         * redisplay.c:
10950         [4]. [6].
10951
10952         * scrollbar-msw.c:
10953         [4].
10954
10955         * sheap.c:
10956         * sheap.c (more_static_core):
10957         * sheap.c (report_sheap_usage):
10958         [5]. [6].
10959
10960         * signal.c:
10961         * signal.c (alarm_signal):
10962         [1]. [6].
10963
10964         * sound.c:
10965         [6].
10966
10967         * strftime.c:
10968         * strftime.c (zone_name):
10969         [1]. [5].
10970
10971         * symsinit.h (init_sunpro):
10972         [1].
10973
10974         * syscommctrl.h:
10975         commctrl.h not in Cygwin b20.1.
10976
10977         * sysdep.c:
10978         * sysdep.c (endif):
10979         * sysdep.c (sys_subshell):
10980         * sysdep.c (init_baud_rate):
10981         * sysdep.c (emacs_get_tty):
10982         * sysdep.c (emacs_set_tty):
10983         * sysdep.c (tty_init_sys_modes_on_device):
10984         * sysdep.c (init_system_name):
10985         * sysdep.c (sys_open):
10986         * sysdep.c (interruptible_open):
10987         * sysdep.c (sys_fopen):
10988         * sysdep.c (sys_mkdir):
10989         * sysdep.c (sys_rename):
10990         * sysdep.c (get_process_times_1):
10991         [1]. [6].
10992
10993         * sysdep.h:
10994         [1].
10995
10996         * sysdir.h:
10997         * sysdir.h (DIRENTRY_NONEMPTY):
10998         [1]. [6].
10999
11000         * sysdll.c (dll_init):
11001         * sysdll.h:
11002         [1].
11003
11004         * sysfile.h:
11005         [1]. [6]. [8].
11006         added text/binary defs.
11007
11008         * sysfloat.h:
11009         [1].
11010
11011         * sysproc.h:
11012         * sysproc.h (EDESTADDRREQ):
11013         * sysproc.h (poll_fds_for_input):
11014         [1]. [6].
11015
11016         * syspwd.h:
11017         [6].
11018
11019         * syssignal.h:
11020         [1].
11021
11022         * systime.h:
11023         [1]. [6].
11024
11025         * systty.h:
11026         [1].
11027
11028         * syswindows.h:
11029         [1].
11030         Always define WIN32_LEAN_AND_MEAN.
11031
11032         * unexcw.c (unexec):
11033         [5].
11034
11035         * unexec.c:
11036         * unexec.c (copy_text_and_data):
11037         * unexec.c (adjust_lnnoptrs):
11038         [1].
11039
11040         * unexnt.c:
11041         * unexnt.c (_start):
11042         [1].
11043
11044 2000-06-07  Ben Wing  <ben@xemacs.org>
11045
11046         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11047         was used only as a model.  We've long since extracted any useful
11048         logic or code out of this. (I just did an exhaustive search.)
11049
11050         * s\msdos.h: Removed.
11051
11052         * s\windows95.h: Removed.
11053
11054 2000-06-10  Ben Wing  <ben@xemacs.org>
11055
11056         * s\cygwin32.h:
11057         [1]. [5].
11058         Don't use extern with fun defs.
11059
11060         * s\mingw32.h:
11061         [1]. [7].
11062         Remove nt\inc include.
11063         Remove getdisk, getdefdir. (The former is unused, the latter
11064         expanded in fileio.h.)
11065
11066         * s\windowsnt.h:
11067         * s\windowsnt.h (WIN32_NATIVE):
11068         * s\windowsnt.h (HAVE_STRCASECMP):
11069         [1]. [7].
11070         Add long comment about preprocessor changes.
11071         Remove getdisk, getdefdir. (The former is unused, the latter
11072         expanded in fileio.h.)
11073
11074 2000-06-10  Ben Wing  <ben@xemacs.org>
11075
11076         * m\arm.h:
11077         * m\delta.h:
11078         * m\intel386.h:
11079         * m\sequent.h:
11080         * m\template.h:
11081         * m\windowsnt.h:
11082         [1].
11083         Remove bogus/unused NO_SOCK_SIGIO.
11084
11085 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11086
11087         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11088         not an Emchar.
11089
11090 2000-06-04  Mike Sperber <mike@xemacs.org>
11091
11092         * casetab.c (set_case_table): For `set-standard-case-table',
11093         actually deposit the new case tables where the rest of XEmacs can
11094         see them.
11095
11096 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11097
11098         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11099
11100 2000-06-05  Ben Wing  <ben@xemacs.org>
11101
11102         * callproc.c (child_setup): Don't do close_load_descs() under
11103         MS Windows.  Put in a comment explaining why.
11104
11105 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11106
11107         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11108         Toolkit shell" which breaks `kill-compilation' on Windows NT
11109         native, retaining STDERR handling improvements.
11110
11111 2000-06-01  Andreas Jaeger  <aj@suse.de>
11112
11113         * s/s390.h: Support for S390, based on a patch by Martin
11114         Schwidefsky <schwidefsky@de.ibm.com>.
11115
11116 2000-05-30  Andy Piper  <andy@xemacs.org>
11117
11118         * window.c (allocate_window):
11119         (make_dummy_parent):
11120         (Fset_window_configuration): use new hashtable type.
11121
11122         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11123         (struct image_instantiator_methods):
11124         (struct Lisp_Image_Instance): make instance geometry signed.
11125
11126         * glyphs.c (instantiate_image_instantiator):
11127         (image_instance_query_geometry):
11128         (image_instance_layout):
11129         (image_instance_layout):
11130         (query_string_geometry):
11131         (text_query_geometry):
11132         (image_instantiate):
11133         (image_instantiate):
11134         (cache_subwindow_instance_in_frame_maybe):
11135         (subwindow_query_geometry): make instance geometry signed.
11136
11137         * glyphs-widget.c (widget_query_geometry):
11138         (widget_layout):
11139         (button_query_geometry):
11140         (tree_view_query_geometry):
11141         (tab_control_query_geometry):
11142         (layout_query_geometry):
11143         (layout_layout):
11144         (native_layout_layout): make instance geometry signed.
11145
11146 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11147
11148         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11149         constant.
11150
11151         * general.c (syms_of_general): Add Qfull_assoc symbol.
11152
11153         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11154         correctly.
11155         (decode_weak_list_type): Decode full-assoc type.
11156         (encode_weak_list_type): Encode full-assoc type.
11157         (Fmake_weak_list): Update doc string.
11158
11159 2000-05-30  Andy Piper  <andy@xemacs.org>
11160
11161         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11162
11163         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11164         (decode_hash_table_weakness): ditto.
11165         (Fhash_table_weakness): ditto.
11166         (Fhash_table_type): ditto.
11167         (finish_marking_weak_hash_tables): ditto.
11168         (hash_table_weakness_validate): ditto.
11169         (syms_of_elhash): ditto.
11170
11171 2000-05-28  Martin Buchholz <martin@xemacs.org>
11172
11173         * XEmacs 21.2.34 is released.
11174
11175 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11176
11177         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11178         start cache.
11179         (updating_line_start_cache): Gone.
11180         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11181         generic code to force a minimum of 1 line laid out in the
11182         CMOTION_DISP case.
11183
11184 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11185
11186         * glyphs.c (instantiate_image_instantiator): Check for initialized
11187         height & width no longer special cases IMAGE_NOTHING.
11188         (nothing_instantiate): Set height and width of instance.
11189
11190 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11191
11192         * unexelf.c (unexec): Search for ".data" section.
11193         Initialize new_data2_offset from old_data_index.
11194         Remove redundant check for ElfW.
11195
11196 2000-05-23  Andy Piper  <andy@xemacs.org>
11197
11198         * glyphs.c (get_image_instantiator_governing_domain): allow more
11199         specific domains as the governing domain rather than expecting an
11200         exact match. This fixes problems with layouts.
11201
11202 2000-05-22  Andy Piper  <andy@xemacs.org>
11203
11204         * redisplay-output.c (compare_runes): check for non-images
11205
11206         * glyphs.c (set_glyph_dirty_p): ditto.
11207         (update_glyph_cachel_data): ditto.
11208
11209         * glyphs-widget.c (layout_post_instantiate): ditto.
11210         (layout_post_instantiate): ditto.
11211
11212         * event-msw.c (mswindows_wnd_proc): warning removal.
11213
11214 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
11215
11216         * s\mingw32.h: Added #undef for CLASH_DETECTION.
11217
11218         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
11219
11220         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
11221
11222         * nt.c (rva_to_section): mingw32 needs rva_to_section.
11223         (mswindows_executable_type): mingw32 now has enough headers for
11224         this to work.
11225
11226 2000-05-20  Andy Piper  <andy@xemacs.org>
11227
11228         * console-msw.c (mswindows_output_last_error): ; -> ,
11229
11230 2000-05-12  Andy Piper  <andy@xemacs.org>
11231
11232         * console-msw.c (FROB): compare ints with ints.
11233
11234 2000-05-11  Andy Piper  <andy@xemacs.org>
11235
11236         * glyphs-x.c (x_finalize_image_instance): make minimal build
11237         happy.
11238
11239 2000-05-20  Ben Wing  <ben@xemacs.org>
11240
11241         * event-Xt.c:
11242         * event-Xt.c (vars_of_event_Xt):
11243         move modifier-keys-are-sticky to event-stream.c.
11244
11245         * event-msw.c:
11246         * event-msw.c (mswindows_enqueue_mouse_button_event):
11247         * event-msw.c (key_needs_default_processing_p):
11248         * event-msw.c (XEMSW_LCONTROL):
11249         * event-msw.c (mswindows_handle_sticky_modifiers):
11250         * event-msw.c (FROB):
11251         * event-msw.c (clear_sticky_modifiers):
11252         * event-msw.c (output_modifier_keyboard_state):
11253         * event-msw.c (output_alt_keyboard_state):
11254         * event-msw.c (mswindows_wnd_proc):
11255         * event-msw.c (mswindows_modifier_state):
11256         * event-msw.c (emacs_mswindows_handle_magic_event):
11257         implement sticky modifiers.
11258
11259         * event-stream.c:
11260         * event-stream.c (vars_of_event_stream):
11261         move modifier-keys-are-sticky here.
11262
11263         * lisp.h:
11264         add CHECK_FUNCTION.
11265
11266         * rangetab.c:
11267         implement map-range-table.
11268
11269
11270 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
11271
11272         * redisplay-tty.c (reset_tty_modes):
11273         (tty_redisplay_shutdown): Adjust argument type to
11274         tty_frame_output_end.
11275
11276 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11277
11278         * eval.c (Fbacktrace): Don't output a line with only right
11279         parenthesis.
11280
11281 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
11282
11283         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
11284         (Fpq_reset_poll): Ditto.
11285
11286 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
11287
11288         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
11289
11290 2000-05-16  Ben Wing  <ben@xemacs.org>
11291
11292         * buffer.c:
11293         * buffer.c (dfc_convert_to/from_internal_format):
11294         * buffer.c (reinit_vars_of_buffer):
11295         Fix conversion functions to allow reentrancy.
11296
11297         * console-msw.c:
11298         * console-msw.c (mswindows_output_last_error):
11299         New fun, generally useful -- output a human-readable
11300         version of GetLastError() on the console.
11301
11302         * console-msw.h:
11303         * console-msw.h (struct mswindows_frame):
11304         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
11305
11306         * console-stream.c (stream_output_begin):
11307         * console-stream.c (stream_output_end):
11308         * console-stream.c (stream_output_vertical_divider):
11309         * console-stream.c (stream_clear_region):
11310         * console-stream.c (stream_flash):
11311         * console-stream.c (console_type_create_stream):
11312         Delete blank stream methods, not needed.
11313
11314         * console.h (struct console_methods):
11315         Split begin/end methods into window and frame.
11316
11317         * event-msw.c:
11318         * event-msw.c (mswindows_handle_paint):
11319         * event-msw.c (output_alt_keyboard_state):
11320         * event-msw.c (mswindows_wnd_proc):
11321         * event-msw.c (vars_of_event_mswindows):
11322         Comment about problems with ignored-expose.
11323         Define mswindows-debug-events; not really implemented.
11324
11325         * frame-msw.c (mswindows_init_frame_1):
11326         random cleanups.
11327
11328         * glyphs-msw.c:
11329         * glyphs-msw.c (begin_defer_window_pos):
11330         * glyphs-msw.c (mswindows_unmap_subwindow):
11331         * glyphs-msw.c (mswindows_map_subwindow):
11332         * glyphs-msw.c (mswindows_resize_subwindow):
11333         Use DeferWindowPos to reduce flashing when mapping/unmapping.
11334
11335         * glyphs.c (make_image_instance_1):
11336         Fix crash.
11337
11338         * gutter.c (Fredisplay_gutter_area):
11339         Use new begin/end methods.
11340
11341         * lisp.h (Dynarr_new2):
11342         New creation fun.
11343
11344         * redisplay-msw.c:
11345         * redisplay-msw.c (mswindows_frame_output_begin):
11346         * redisplay-msw.c (mswindows_frame_output_end):
11347         * redisplay-msw.c (console_type_create_redisplay_mswindows):
11348         New begin/end methods -- handle DeferWindowPos.
11349
11350         * redisplay-output.c (redisplay_move_cursor):
11351         * redisplay-output.c (redraw_cursor_in_window):
11352         * redisplay-output.c (redisplay_update_line):
11353         * redisplay-output.c (redisplay_output_window):
11354         New begin/end methods.
11355
11356         * redisplay-tty.c:
11357         * redisplay-tty.c (tty_frame_output_begin):
11358         * redisplay-tty.c (tty_frame_output_end):
11359         * redisplay-tty.c (console_type_create_redisplay_tty):
11360         New begin/end methods.
11361
11362         * redisplay-x.c:
11363         * redisplay-x.c (x_window_output_begin):
11364         * redisplay-x.c (x_window_output_end):
11365         * redisplay-x.c (console_type_create_redisplay_x):
11366         New begin/end methods.
11367
11368         * redisplay.c (redisplay_frame):
11369         * redisplay.c (Fredisplay_echo_area):
11370         New begin/end methods.
11371         use MAYBE_DEVMETH for clear_frame; it may not exist.
11372
11373         * window.h (WINDOW_XFRAME):
11374         WINDOW_XFOO macros -- get locale and decode struct pointer.
11375
11376
11377 2000-05-12  Ben Wing  <ben@xemacs.org>
11378
11379         * emacs.c:
11380         * emacs.c (ensure_no_quitting_from_now_on):
11381         * emacs.c (fatal_error_signal):
11382         * emacs.c (mswindows_handle_hardware_exceptions):
11383         * emacs.c (main):
11384         * emacs.c (Fkill_emacs):
11385         * emacs.c (shut_down_emacs):
11386         * emacs.c (assert_failed):
11387         various improvements in fatal error handling.
11388
11389         * eval.c:
11390         move preparing_for_armageddon to emacs.c.
11391
11392         * lisp.h:
11393         declare fatal_error_in_progress.
11394
11395         * print.c:
11396         * print.c (std_handle_out_external):
11397         * print.c (std_handle_out_va):
11398         * print.c (stderr_out):
11399         * print.c (stdout_out):
11400         use console under mswin when no standard output.
11401         don't do code conversion during fatal error.
11402
11403         * scrollbar.c (Fscrollbar_page_up):
11404         * scrollbar.c (Fscrollbar_page_down):
11405         fix missing else.  reindent.
11406
11407 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
11408
11409         Emergency fix.
11410
11411         * glyphs.h (GLYPH_CACHEL_DESCENT):
11412         (GLYPH_CACHEL_DESCENT):
11413         (GLYPH_CACHEL_DESCENT):
11414         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
11415         used in case these are inline functions.
11416         Use more absurd values to error check.
11417
11418         include window.h for error check functions.
11419
11420 2000-05-11  Ben Wing  <ben@xemacs.org>
11421
11422         * cmdloop.c (Freally_early_error_handler):
11423         Display message box under windows; otherwise, message will disappear
11424         before it can be viewed.
11425
11426         * console-msw.c:
11427         * console-msw.c (Fmswindows_message_box):
11428         * console-msw.c (FROB):
11429         * console-msw.c (syms_of_console_mswindows):
11430         Define new fun `mswindows-message-box'.
11431         #### I will merge this into `popup-dialog-box'; just give me
11432         a bit of time.
11433
11434         * general.c:
11435         * general.c (syms_of_general):
11436         Some new symbols used in `mswindows-message-box'.
11437
11438         * glyphs.c:
11439         * glyphs.c (Fset_image_instance_property):
11440         put warning in this fun.
11441
11442         * glyphs.h:
11443         * glyphs.h (GLYPH_CACHEL_WIDTH):
11444         * glyphs.h (GLYPH_CACHEL_ASCENT):
11445         * glyphs.h (GLYPH_CACHEL):
11446         * glyphs.h (GLYPH_CACHEL_GLYPH):
11447         define error-checking versions to try to catch a bug i've seen --
11448         redisplay gets in an infinite loop because the glyph width of the
11449         continuation glyph is 65535.
11450
11451         * lisp.h:
11452         Extern message-box stuff.
11453
11454         * window.c (allocate_window):
11455         * window.c (make_dummy_parent):
11456         * window.c (Fset_window_configuration):
11457         Use EQUAL not EQ for subwindow caches to make them work a bit
11458         better. (Something is still very broken.)
11459
11460
11461 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11462
11463         * glyphs.c (image_instantiate): Suppress gcc warnings.
11464         (Fmake_image_instance): Fix doc string.
11465         * specifier.c (Fmake_specifier): Ditto.
11466
11467 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
11468
11469         * paths.h.in (PATH_LOCK): Removed.
11470         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
11471         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
11472
11473 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
11474
11475         * fns.c (Ffeaturep): Update e-mail address in doc-string.
11476         Document (featurep '(and xemacs 21.02)).
11477
11478 2000-05-09  Ben Wing  <ben@xemacs.org>
11479
11480         * buffer.c (complex_vars_of_buffer):
11481         update modeline-format doc.
11482
11483         * device.h:
11484         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
11485
11486         * emacs.c:
11487         timeline of all released versions of Emacs, for use in creating
11488         authorship comments and in synching up.
11489
11490         * glyphs-widget.c (image_instantiator_buttons):
11491         * glyphs-widget.c (image_instantiator_edit_fields):
11492         * glyphs-widget.c (image_instantiator_combo_box):
11493         * glyphs-widget.c (image_instantiator_scrollbar):
11494         * glyphs-widget.c (image_instantiator_progress_guage):
11495         * glyphs-widget.c (image_instantiator_tree_view):
11496         * glyphs-widget.c (image_instantiator_tab_control):
11497         * glyphs-widget.c (image_instantiator_labels):
11498         * glyphs-widget.c (image_instantiator_layout):
11499         * glyphs-widget.c (image_instantiator_native_layout):
11500         rename decode_domain method to governing_domain.
11501
11502         * glyphs.c:
11503         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
11504         * glyphs.c (add_entry_to_device_ii_format_list):
11505         make sure we don't put an entry more than once into the list.
11506         * glyphs.c (check_instance_cache_mapper):
11507         *************************************************************
11508         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11509         HAVE BEEN GETTING.
11510         *************************************************************
11511         * glyphs.c (get_image_instantiator_governing_domain):
11512         clean up, expand on new concept of governing domain.
11513         * glyphs.c (instantiate_image_instantiator):
11514         * glyphs.c (allocate_image_instance):
11515         use governing_domain instead of cache_domain in naming.
11516         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
11517         * glyphs.c (make_image_instance_1):
11518         * glyphs.c (Fmake_image_instance):
11519         allow for any domain (not just device), and process the
11520         governing domain correctly.  very big doc fix.
11521         * glyphs.c (Fimage_instance_domain):
11522         new primitive, to retrieve the governing domain of an image instance.
11523         * glyphs.c (image_instantiate):
11524         use new governing_domain stuff.  this fixes a crash you could get
11525         by instantiating certain widget glyphs in frame locales. (should
11526         signal an error instead of crashing.)
11527         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
11528         * glyphs.c (Fglyphp): clean up doc.
11529         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
11530         * glyphs.c (syms_of_glyphs):
11531         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
11532         * glyphs.c (image_instantiator_format_create): add some comments about
11533         bogus code.
11534         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
11535         for current-display-table. (Apparently Hrjove implemented in 1998 a
11536         design I wrote up in 1996, but didn't update the doc string.)
11537
11538         * glyphs.h: clean up a doc string.
11539         * glyphs.h (governing_domain):
11540         * glyphs.h (struct image_instantiator_methods):
11541         changes for governing_domain stuff.
11542
11543         * gutter.c:
11544         * gutter.c (Fgutter_specifier_p):
11545         * gutter.c (Fgutter_size_specifier_p):
11546         * gutter.c (Fgutter_visible_specifier_p):
11547         * objects.c:
11548         * objects.c (Fcolor_specifier_p):
11549         * objects.c (Ffont_specifier_p):
11550         * objects.c (Fface_boolean_specifier_p):
11551         doc strings moved to make-*-specifier.
11552
11553         * redisplay.c (add_disp_table_entry_runes_1):
11554         * redisplay.c (generate_fstring_runes):
11555         * redisplay.c (screen):
11556         add random comments and doc strings.
11557
11558         * specifier.c:
11559         * specifier.c (Fmake_specifier):
11560         major overhaul of this doc string.
11561
11562         * specifier.c (Fvalid_specifier_domain_p):
11563         comment about the bogosity of image instances being domains.
11564         * specifier.c (decode_domain):
11565         now non-static, used in glyphs.c.
11566         * specifier.c (specifier_instance):
11567         comment about the bogosity of image instances being domains.
11568         * specifier.c (Fgeneric_specifier_p):
11569         move doc string to make-generic-specifier.
11570         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
11571         rebackslashify.
11572
11573         * specifier.h:
11574         * specifier.h (DOMAIN_FRAME):
11575         * specifier.h (DOMAIN_LIVE_P):
11576         * specifier.h (DOMAIN_XDEVICE):
11577         rebackslashify.
11578         add comments about problems with these macros.
11579         prototype for decode_domain.
11580
11581         * toolbar.c:
11582         * toolbar.c (Ftoolbar_specifier_p):
11583         move doc string to `make-toolbar-specifier'.
11584
11585         * window.c (window_unmap_subwindows_cache_mapper):
11586         *************************************************************
11587         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11588         HAVE BEEN GETTING.
11589         *************************************************************
11590
11591 2000-05-09  Andy Piper  <andy@xemacs.org>
11592
11593         * glyphs.h: declare reset_frame_subwindow_instance_cache.
11594
11595         * window.c (Fset_window_configuration): reset the frame subwindow
11596         cache and re-initialize the window subwindow caches.
11597
11598         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
11599
11600 2000-05-09  Ben Wing  <ben@xemacs.org>
11601
11602         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
11603         DWORD.
11604
11605 2000-04-26  Mike Woolley  <mike@bulsara.com>
11606
11607         * ntheap.c: Changed recreate_heap to limit the amount reserved
11608         for the heap to that which is actually available. Also now
11609         displays a message box (with some dignostics) in the event that
11610         it still can't start.
11611
11612 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11613
11614         * callproc.c (Fold_call_process_internal): GCPRO path
11615
11616 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
11617
11618         Patch by Bill Perry.
11619
11620         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
11621         back data instead of #ifdef.
11622         (Fscrollbar_page_down): ditto.
11623
11624 2000-05-07  Ben Wing  <ben@xemacs.org>
11625
11626         * buffer.h:
11627         Kludge for defining Qmswindows_tstr.
11628
11629         * nt.c:
11630         * nt.c (open_input_file):
11631         * nt.c (open_output_file):
11632         * nt.c (rva_to_section):
11633         * nt.c (mswindows_executable_type):
11634         Move all memory-mapped-file routines here (some were in unexnt.c,
11635         which is bad because they are used by process-nt.c, and unexnt
11636         won't be around when portable dumping).  Synched the above routines
11637         with FSF 20.6.
11638
11639         * nt.h:
11640         Removed ifdef'd out bogus code.
11641         Fixed some prototypes.
11642
11643         * nt.h (file_data):
11644         * nt.h (OFFSET_TO_RVA):
11645         * nt.h (RVA_TO_OFFSET):
11646         * nt.h (RVA_TO_PTR):
11647         Moved the memory-mapped-file structures, macros and prototypes
11648         here, to parallel nt.c.  ntheap.h should really be removed
11649         entirely, and it's a non-portable-dumper specific file.
11650
11651         * ntheap.h (round_to_next):
11652         Moved the memory-mapped-file structures, macros and prototypes
11653         to nt.h.
11654
11655         * ntproc.c (compare_env):
11656         Moved rva_to_section and mswindows_executable_type to nt.c.
11657         Moved compare_env to process-nt.c.
11658         ntproc.c will die, one day.
11659
11660         * ntproc.c (sys_spawnve):
11661         Account for win32_ -> mswindows_.
11662
11663         * process-nt.c:
11664         * process-nt.c (struct nt_process_data):
11665         * process-nt.c (ensure_console_window_exists):
11666         * process-nt.c (compare_env):
11667         * process-nt.c (nt_create_process):
11668         * process-nt.c (nt_kill_process_by_pid):
11669         * process-nt.c (syms_of_process_nt):
11670         * process-nt.c (vars_of_process_nt):
11671         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
11672         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
11673         changes).  Eliminate our old `nt-quote-process-args' mechanism.
11674         Synch up nt_create_process with FSF 20.6 sys_spawnve.
11675         Move compare_env here from ntproc.c.
11676
11677         * process.c (Fprocess_send_region):
11678         Takes an optional fourth argument, BUFFER, which should fix some
11679         problems with call-process.
11680
11681         * syscommctrl.h:
11682         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
11683
11684         * syswindows.h:
11685         Move ICC_BAR_CLASSES to syscommctrl.h.
11686         Add preliminary macros for MSWindows/Mule.  More to come.
11687
11688         * unexnt.c:
11689         * unexnt.c (unexec):
11690         open_output_file moved to nt.c.
11691
11692
11693 2000-05-05  Andy Piper  <andy@xemacs.org>
11694
11695         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
11696         instance from the frame cache also since GC may catch up too late
11697         to make frame deletion sane.
11698
11699 2000-05-04  Andy Piper  <andy@xemacs.org>
11700
11701         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
11702         (x_finalize_image_instance): ungcpro on deletion.
11703
11704         * glyphs.c (image_instantiator_format_create): give pointers a
11705         query geometry method so that the geometry is at least set.
11706
11707         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
11708         initialize layouts if using widgets.
11709
11710 2000-05-03  Andy Piper  <andy@xemacs.org>
11711
11712         * nt.c: remove bogus reference to sysmmsystem.h
11713
11714         * gui-x.c (popup_selection_callback): fix no selection abort.
11715
11716 2000-05-02  Andy Piper  <andy@xemacs.org>
11717
11718         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
11719         (mswindows_widget_instantiate): ditto.
11720
11721         * glyphs-widget.c (initialize_widget_image_instance): initialize
11722         children correctly.
11723         (widget_instantiate): cope with children and items in the same
11724         instance.
11725
11726         * glyphs.c (mark_image_instance): cope with children as a first
11727         class member.
11728         (image_instance_equal): ditto.
11729         (image_instance_hash): ditto.
11730         (image_instance_changed): ditto.
11731
11732 2000-04-30  Andy Piper  <andy@xemacs.org>
11733
11734         * glyphs.c (subwindow_query_geometry): new function. Return some
11735         defaults.
11736         (subwindow_instantiate): don't assign dimensions if none have been
11737         given.
11738         (image_instantiator_format_create): add subwindow_query_geometry.
11739         (print_image_instance): cope with layouts as widgets.
11740
11741 2000-04-29  Andy Piper  <andy@xemacs.org>
11742
11743         * frame.c (delete_frame_internal): call
11744         free_frame_subwindow_instance_cache so that all subwindows are
11745         finalized before their parent.
11746         (mark_frame): remove subwindow_cachels.
11747         (Fmake_frame): remove subwindow_cachel manipulation.
11748         (allocate_frame_core): subwindow_instance_cache is a weak list.
11749         (delete_frame_internal): set subwindow_instance_cache to nil.
11750
11751         * glyphs-msw.c (mswindows_finalize_image_instance): make double
11752         finalization safe.
11753         (mswindows_finalize_image_instance): use the device
11754         not the domain as the domain may have died already.
11755
11756         * glyphs-x.c (x_finalize_image_instance): ditto.
11757         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
11758         HEIGHT.
11759
11760         * redisplay-output.c (redisplay_unmap_subwindows): update for
11761         subwindow instance cache as a weak list.
11762         (redisplay_unmap_subwindows_maybe): ditto.
11763         (redisplay_unmap_subwindows_except_us): ditto.
11764
11765         * glyphs.c (unmap_subwindow): error checking will check the domain
11766         so don't deal with it here. Don't use cachels anymore.
11767         (map_subwindow): ditto.
11768         (update_subwindow_cachel_data): remove old accessor names.
11769         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
11770         (Fresize_subwindow): don't update cachel.
11771         (mark_subwindow_cachels):
11772         (update_subwindow_cachel_data):
11773         (add_subwindow_cachel):
11774         (get_subwindow_cachel_index):
11775         (update_subwindow_cachel):
11776         (reset_subwindow_cachels):
11777         (mark_subwindow_cachels_as_not_updated): deleted.
11778         (cache_subwindow_instance_in_frame_maybe): new function. Add a
11779         subwindow instance to the frame cache.
11780         (find_matching_subwindow): update for subwindow instance cache as
11781         a weak list.
11782         (update_widget_instances): ditto.
11783         (image_instance_type_to_mask):inlined.
11784         (free_frame_subwindow_instance_cache): new function. finalize all
11785         subwindows that are instantiated.
11786
11787         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
11788         of cachel information.
11789         (IMAGE_INSTANCE_DISPLAY_X):
11790         (IMAGE_INSTANCE_DISPLAY_Y):
11791         (IMAGE_INSTANCE_DISPLAY_WIDTH):
11792         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
11793         (XIMAGE_INSTANCE_DISPLAY_X):
11794         (XIMAGE_INSTANCE_DISPLAY_Y):
11795         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
11796         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
11797         remove subwindow_cachel structure and function references.
11798         (image_instance_type_to_mask): inline from glyphs.c
11799
11800         * redisplay.c (redisplay_frame): remove subwindow_cachel
11801         references.
11802
11803         * frame.h (struct frame): remove subwindow_cachels.
11804         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
11805
11806         * frameslots.h: add subwindow_instance_cache.
11807
11808         * window.c (replace_window): check subwindow cache of replacement.
11809         (window_unmap_subwindows_cache_mapper):
11810         (window_unmap_subwindows): new functions. Unmap all subwindows
11811         cached on this window.
11812         (mark_window_as_deleted): unmap all subwindows.
11813
11814 2000-04-27  Andy Piper  <andy@xemacs.org>
11815
11816         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
11817
11818         * glyphs-widget.c (widget_layout): return something.
11819         (layout_layout): return something. Fail if not initialized.
11820         (layout_query_geometry): ditto.
11821         (image_instantiator_native_layout): new function. Initialized the
11822         native layout type.
11823         (widget_instantiate): don't do layout stuff here.
11824
11825         * glyphs.c (instantiate_image_instantiator): reorded calling or
11826         instantiate and post_instantiate with layout in between.
11827         (image_instance_layout): be more selective about deciding whether
11828         the layout has been done or not.
11829
11830         * glyphs.h (struct image_instantiator_methods): return a value
11831         from layout_method.
11832
11833 2000-04-26  Andy Piper  <andy@xemacs.org>
11834
11835         * glyphs.c (allocate_image_instance): make initial width and
11836         height unspecified. Set initialized to 0.
11837
11838         * syscommctrl.h new file. Encapsulates commctrl.h.
11839
11840         * syswindows.h new file. Encapsulates windows.h.
11841
11842         * ntplay.c: use new syswindows.h and syscommctrl.h header.
11843         * nt.c: ditto.
11844         * console-msw.h: ditto.
11845
11846         * redisplay-tty.c (tty_output_display_block): remove layout references.
11847
11848         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
11849         window handle rather than just the frame.
11850
11851         * glyphs.c (mark_image_instance): remove layout references.
11852         (print_image_instance): ditto.
11853         (image_instance_equal): ditto.
11854         (image_instance_hash): ditto.
11855         (decode_image_instance_type): ditto.
11856         (encode_image_instance_type): ditto.
11857         (image_instantiate): ditto.
11858         (allocate_glyph): ditto.
11859         (Fimage_instance_height): ditto.
11860         (Fimage_instance_width): ditto.
11861         (update_subwindow): ditto.
11862
11863         * redisplay-x.c (x_output_display_block): recode for layouts as
11864         widgets.
11865
11866         * redisplay-output.c (redisplay_output_layout): recode for layouts
11867         as widgets.
11868         (compare_runes): remove layout references.
11869
11870         * redisplay-msw.c (mswindows_output_display_block): recode for
11871         layouts as widgets.
11872
11873         * glyphs-widget.c (image_instantiator_layout): remove
11874         layout_possible_dest_types.
11875         (layout_possible_dest_types): deleted.
11876
11877         * glyphs.h (image_instance_type): remove layout references.
11878         (struct Lisp_Image_Instance): ditto. Add initialized flag.
11879         (IMAGE_INSTANCE_INITIALIZED): new accessor.
11880         (XIMAGE_INSTANCE_INITIALIZED): ditto.
11881
11882 2000-04-25  Andy Piper  <andy@xemacs.org>
11883
11884         * glyphs-widget.c (image_instantiator_buttons):
11885         (image_instantiator_edit_fields):
11886         (image_instantiator_combo_box):
11887         (image_instantiator_scrollbar):
11888         (image_instantiator_progress_guage):
11889         (image_instantiator_tree_view):
11890         (image_instantiator_tab_control):
11891         (image_instantiator_labels):
11892         (image_instantiator_layout): call default post_instantiate method.
11893         (widget_post_instantiate): new function. Simply lays out the
11894         widgets.
11895
11896         * glyphs.h (struct image_instantiator_methods): add
11897         post_instantiate method.
11898
11899         * glyphs.c (instantiate_image_instantiator): add post_instantiate
11900         method calls.
11901
11902 2000-04-23  Andy Piper  <andy@xemacs.org>
11903
11904         * glyphs.h (struct image_instantiator_methods): add
11905         decode_domain_method.
11906         (struct Lisp_Image_Instance): remove subwindow frame - it can be
11907         derived from the domain.
11908         (IMAGE_INSTANCE_FRAME): new accessor.
11909         (XIMAGE_INSTANCE_FRAME): ditto.
11910
11911         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
11912         instead of _SUBWINDOW_FRAME.
11913         (finalize_image_instance): ditto.
11914         (Fimage_instance_foreground): ditto.
11915         (Fimage_instance_background): ditto.
11916         (image_instantiate): ditto.
11917         (update_subwindow_cachel): ditto.
11918         (update_subwindow): ditto.
11919         (unmap_subwindow): ditto.
11920         (map_subwindow): ditto
11921         (subwindow_instantiate): ditto.
11922         * glyphs-msw.c (mswindows_update_widget): ditto.
11923         (mswindows_progress_gauge_instantiate): ditto.
11924         (mswindows_tab_control_update): ditto.
11925         * glyphs-x.c (x_update_widget): ditto.
11926         (x_widget_instantiate): ditto.
11927         (x_tab_control_instantiate): ditto.
11928         (x_tab_control_update): ditto.
11929         * event-msw.c (mswindows_wnd_proc): ditto
11930
11931         * glyphs-widget.c (image_instantiator_layout): use
11932         subwindow_decode_domain.
11933         (image_instantiator_buttons): ditto.
11934         (image_instantiator_edit_fields): ditto.
11935         (image_instantiator_combo_box): ditto.
11936         (image_instantiator_scrollbar): ditto.
11937         (image_instantiator_progress_guage): ditto.
11938         (image_instantiator_tree_view): ditto.
11939         (image_instantiator_tab_control): ditto.
11940         (image_instantiator_labels): ditto.
11941         (image_instantiator_layout): ditto.
11942
11943         * glyphs.c: add instance error checking to many functions.
11944         (instantiate_image_instantiator): decode device from cache_domain.
11945         (image_instantiate): partially rewrite by using
11946         decode_image_instantiator_domain to determine what domain the
11947         instance needs to be cached in.
11948         (decode_image_instantiator_domain): new function. Determine what
11949         domain the image needs to be cached in.
11950         (check_window_subwindow_cache): new error checking function.
11951         (check_instance_cache_mapper): ditto.
11952         (check_image_instance_structure): ditto.
11953         (subwindow_decode_domain): new function. Encodes a window as a
11954         subwindow's cache domain.
11955         (image_instantiator_format_create): use it for text and
11956         subwindows.
11957
11958 2000-04-21  Andy Piper  <andy@xemacs.org>
11959
11960         * glyphs.c (image_instance_device): new function.
11961         (image_instance_frame): new function.
11962         (image_instance_window): new function.
11963         (image_instance_live_p): new function.
11964
11965         * window.c (mark_window_as_deleted): reset the subwindow_instance_
11966         cache to nil.
11967
11968         * glyphs.h (struct Lisp_Image_Instance): device->domain.
11969         (IMAGE_INSTANCE_DOMAIN): new accessor.
11970         (XIMAGE_INSTANCE_DOMAIN): ditto.
11971
11972         * glyphs-x.c (x_finalize_image_instance): device->domain.
11973
11974         * glyphs-msw.c (init_image_instance_geometry): device->domain.
11975         (mswindows_finalize_image_instance): ditto.
11976
11977         * glyphs-eimage.c (jpeg_instantiate): device->domain.
11978         (gif_instantiate): ditto.
11979         (png_instantiate): ditto.
11980         (tiff_instantiate): ditto.
11981
11982         * glyphs.c (instantiate_image_instantiator): use domain rather
11983         than device.
11984         (mark_image_instance): device -> domain.
11985         (print_image_instance): ditto.
11986         (finalize_image_instance): ditto.
11987         (image_instance_equal): ditto.
11988         (allocate_image_instance): ditto.
11989         (Fcolorize_image_instance): ditto.
11990         (query_string_geometry): ditto.
11991         (image_instantiate): ditto
11992         (query_string_font): ditto.
11993         (image_instantiate): ditto.
11994         (update_subwindow): ditto.
11995         (unmap_subwindow): ditto.
11996         (map_subwindow): ditto.
11997         (subwindow_instantiate): ditto.
11998
11999         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12000         (DOMAIN_FRAME): ditto.
12001         (DOMAIN_WINDOW): ditto.
12002         (DOMAIN_LIVE_P): ditto.
12003         (XDOMAIN_DEVICE): ditto.
12004         (XDOMAIN_FRAME): ditto.
12005         (XDOMAIN_WINDOW): ditto.
12006
12007         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12008         a valid specifier domain.
12009
12010 2000-04-19  Andy Piper  <andy@xemacs.org>
12011
12012         * glyphs-widget.c (syms_of_glyphs_widget): remove
12013         widget-callback-current-channel.
12014         (vars_of_glyphs_widget): ditto.
12015         * glyphs.h: ditto
12016
12017         * gui.c (get_gui_callback): revert to previous behaviour.
12018
12019 2000-04-18  Andy Piper  <andy@xemacs.org>
12020
12021         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12022         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12023         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12024
12025         * glyphs.c (image_instance_equal): add margin_width.
12026         (image_instance_hash): ditto.
12027
12028         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12029         (layout_query_geometry): ditto.
12030         (layout_layout): ditto.
12031         (syms_of_glyphs_widget): add margin-width.
12032         (image_instantiator_layout): allow margin-width.
12033
12034         * glyphs.c (update_widget_instances): make a normal function.
12035         (syms_of_glyphs): remove Qupdate_widget_instances.
12036         * glyphs.h: ditto.
12037
12038         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12039         so that we don't corrupt ideas about the last event or
12040         command. Remove widget-callback-current-channel fiddling.
12041         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12042
12043 2000-05-01  Martin Buchholz <martin@xemacs.org>
12044
12045         * XEmacs 21.2.33 is released.
12046
12047 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12048
12049         * make-src-depend: Allow dots in header file name.
12050
12051 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12052
12053         * mule-charset.h (struct charset_lookup): Add
12054         next_allocated_1_byte_leading_byte and
12055         next_allocated_2_byte_leading_byte.
12056         * mule-charset.c: Move above two variables so that those values
12057         will be dumped.
12058
12059 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12060
12061         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12062         when string length is zero.
12063         (find_charsets_in_emchar_string): Ditto.
12064
12065 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12066
12067         * lisp.h: extern Qdialog and Qmenubar.
12068
12069         * gui-x.c: added events.h.
12070                 also fixed typo which made the file uncompilable.
12071
12072         * general.c: Added Qmenubar and Qdialog
12073
12074 2000-04-28  Ben Wing  <ben@xemacs.org>
12075
12076         * frame-msw.c (mswindows_init_frame_1):
12077         * frame-msw.c (mswindows_mark_frame):
12078         * event-msw.c (mswindows_enqueue_dispatch_event):
12079         * console-msw.h:
12080         * console-msw.h (struct mswindows_frame):
12081         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12082         there are now three hash tables for callbacks.
12083         mswindows_enqueue_dispatch_event is no longer static.
12084
12085         * dialog-x.c (maybe_run_dbox_text_callback):
12086         * dialog-x.c (dbox_descriptor_to_widget_value):
12087         switch to new cons3 form for callbacks.
12088
12089         * glyphs-msw.c (mswindows_register_gui_item):
12090         * glyphs-msw.c (mswindows_widget_instantiate):
12091         * glyphs-msw.c (add_tree_item):
12092         * glyphs-msw.c (add_tab_item):
12093         new image instance parameter, so it can be passed to callback-ex.
12094         respect :callback-ex as well as :callback.
12095
12096         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12097         add :callback-ex.
12098
12099         * glyphs.c (print_image_instance):
12100         prettify, e.g. now prints widget type.
12101
12102         * gui-x.h:
12103         certain funs have new image instance parameter.
12104
12105         * gui.c:
12106         * gui.c (get_gui_callback):
12107         * gui.c (gui_item_add_keyval_pair):
12108         * gui.c (gui_item_init):
12109         * gui.c (gui_add_item_keywords_to_plist):
12110         * gui.c (mark_gui_item):
12111         * gui.c (gui_item_hash):
12112         * gui.c (gui_item_equal):
12113         * gui.c (copy_gui_item):
12114         * gui.c (syms_of_gui):
12115         recognize callback-ex in a number of places.
12116         also, fix the annoying "can't get out of yes-no dialog" bug.
12117
12118         * gui.h:
12119         * gui.h (struct Lisp_Gui_Item):
12120         recognize callback-ex in a number of places.
12121
12122         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12123         new parameter in button_item_to_widget_value.
12124
12125         * glyphs-x.c (x_update_widget):
12126         * glyphs-x.c (x_button_instantiate):
12127         * glyphs-x.c (x_button_update):
12128         * glyphs-x.c (x_progress_gauge_instantiate):
12129         * glyphs-x.c (x_edit_field_instantiate):
12130         * glyphs-x.c (x_combo_box_instantiate):
12131         * glyphs-x.c (x_tab_control_instantiate):
12132         * glyphs-x.c (x_label_instantiate):
12133         new image instance parameter in various places.
12134
12135         * event-Xt.c:
12136         * event-Xt.c (enqueue_Xt_dispatch_event):
12137         this fun gets exported.
12138
12139         * gui-msw.c:
12140         * gui-msw.c (mswindows_handle_gui_wm_command):
12141         handle both :callback and :callback-ex, and generate our own
12142         event because it's one of the callback-ex arguments.
12143
12144         * gui-x.c:
12145         * gui-x.c (popup_selection_callback):
12146         handle both :callback and :callback-ex, and generate our own
12147         event because it's one of the callback-ex arguments.
12148         * gui-x.c (button_item_to_widget_value):
12149         * gui-x.c (gui_items_to_widget_values_1):
12150         * gui-x.c (gui_item_children_to_widget_values):
12151         * gui-x.c (gui_items_to_widget_values):
12152         new image instance parameter in various places.
12153
12154         * fns.c (Freplace_list):
12155         fix small typo in doc string.
12156
12157         * lisp.h:
12158         declare enqueue_Xt_dispatch_event.
12159
12160 2000-04-28  Ben Wing  <ben@xemacs.org>
12161
12162         * buffer.c:
12163         * buffer.c (Frecord_buffer):
12164         * buffer.c (syms_of_buffer):
12165         delete record-buffer-hook.
12166
12167         * fns.c:
12168         * fns.c (Freplace_list):
12169         * fns.c (syms_of_fns):
12170         new primitive replace-list.
12171
12172         * frameslots.h:
12173         slot for old buffer-alist.
12174
12175         * lisp.h:
12176         exfun replace-list.
12177
12178         * redisplay.c:
12179         * redisplay.c (redisplay_frame):
12180         * redisplay.c (syms_of_redisplay):
12181         * redisplay.c (vars_of_redisplay):
12182         new hook buffer-list-changed-hook.
12183         call it.
12184
12185 2000-04-27  Ben Wing  <ben@xemacs.org>
12186
12187         * extents.h: extern in_modeline_generation.
12188
12189         * redisplay.c (generate_formatted_string_db): set
12190         in_modeline_generation.
12191
12192         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12193         flags if in modeline generation.  otherwise frame-modified-tick
12194         is ticked far too often.
12195         Declare in_modeline_generation.
12196
12197 2000-04-26  Ben Wing  <ben@xemacs.org>
12198
12199         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12200         option.
12201         (vars_of_emacs): add quick-build as an error-checking option.
12202         A bit kludgy, but there doesn't seem much point in creating
12203         a real var for this.
12204
12205         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
12206
12207 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12208
12209         * redisplay.h (struct display_line): Add a new variable,
12210         line_continuation.
12211
12212         * redisplay.c (create_text_block): Set dl->line_continuation if
12213         the line continues.
12214         (create_string_text_block): Ditto.
12215         (regenerate_window_incrementally): Use line_continuation instead
12216         of searching continuation glyph.
12217         (add_margin_runes): Call add_glyph_rune.
12218         (add_glyph_rune): Handle margin glyph.
12219
12220 2000-04-20  Martin Buchholz  <martin@xemacs.org>
12221
12222         * filelock.c (fill_in_lock_file_name):
12223         ANSIfy.
12224         Check for IS_ANY_SEP instead of '/'.
12225         (lock_file_1):
12226         Avoid generating gratuitous garbage.  Call user_login_name() directly.
12227         Never check errno without first seeing that system call failed.
12228         (unlock_file): Add GCPRO.
12229         (Flock_buffer): Fix docstring.
12230         (Ffile_locked_p): Fix docstring.  Add GCPRO.
12231
12232 2000-04-19  Martin Buchholz  <martin@xemacs.org>
12233
12234         * sysdep.c (get_pty_max_bytes):
12235         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
12236         strings longer than 252 bytes.
12237
12238         * md5.c: Unconditionally include ANSI header <limits.h>
12239
12240         * glyphs-x.c (convert_EImage_to_XImage):
12241         * lisp-union.h (union Lisp_Object):
12242         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
12243
12244 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
12245
12246         * filelock.c (current_lock_owner): Remove unused variable o, p.
12247
12248 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
12249
12250         * callint.c: Remove multiply defined symbol Qlet
12251         (syms_of_callint): ditto.
12252
12253 2000-04-14  Andy Piper  <andy@xemacs.org>
12254
12255         * general.c (syms_of_general): add last-command, this-command, let
12256         and funcall.
12257
12258         * lisp.h: declare various symbols.
12259
12260         * glyphs.h: declare Qwidget_callback_current_channel;
12261
12262         * glyphs-widget.c (syms_of_glyphs_widget): add
12263         Qgui_callback_current_channel.
12264         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
12265
12266         * gui-msw.c (mswindows_handle_gui_wm_command): bind
12267         widget-callback-current-channel when invoking the interactive
12268         arg. Also bind last-command and next-command when invoking the
12269         widget updates.
12270         * gui-x.c (popup_selection_callback): ditto.
12271
12272         * gui.c (get_gui_callback): massage args so that we are always
12273         calling eval. This allows us to add our own variable bindings
12274         outside.
12275
12276         * glyphs-x.c (x_button_instantiate): use
12277         gui_items_to_widget_values since this is GC safe.
12278         (x_progress_gauge_instantiate): ditto.
12279         (x_edit_field_instantiate): ditto.
12280         (x_label_instantiate): ditto.
12281
12282         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
12283         (emacs_Xt_event_widget_focus_out): new function
12284         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
12285         focus.
12286         (emacs_Xt_event_add_widget_actions): new function. add focus
12287         functions as actions.
12288         (init_event_Xt_late): use it.
12289
12290 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
12291
12292         * event-stream.c (Fdispatch_event): Doc fix.
12293
12294 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
12295
12296         * postgresql.c: Remove all references to PQsetenv*.
12297
12298         * postgresql.h: Remove references to PGsetenvHandler object.
12299         * lrecord.h (lrecord_type): Ditto.
12300
12301 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12302
12303         * glyphs-msw.h (struct mswindows_image_instance_data): Added
12304         real_heigh and real_width members, and accessor macros for these.
12305
12306         * glyphs-msw.c (init_image_instance_geometry): New function.
12307         (init_image_instance_from_dibitmap): Use it.
12308         (mswindows_resource_instantiate): Use it.
12309         (init_image_instance_from_xbm_inline): Use it.
12310         (mswindows_initialize_image_instance_mask): Use real bitmap
12311         geometry.
12312         (mswindows_create_resized_bitmap): Ditto.
12313         (mswindows_create_resized_mask): Ditto.
12314
12315         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
12316         and bitmap to their surface size.
12317
12318 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
12319
12320         * process-unix.c (unix_send_process): Guard against process MIA
12321         after Faccept_process_output.
12322
12323 2000-04-11  Ben Wing  <ben@xemacs.org>
12324
12325         * eval.c (unbind_to_hairy): fix brokenness introduced by
12326         nanosecond speed improvements.
12327
12328 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
12329
12330         * sunplay.c (init_device): To play sounds correctly, the device
12331         apparently needs to be initialized at least once by XEmacs.  Make
12332         it so.
12333
12334 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12335
12336         * redisplay.c (add_margin_runes): Add text image glyph
12337           handling.
12338
12339 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
12340
12341         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
12342         gcc is newer than 2.5.
12343
12344 2000-04-06  Colin Rafferty  <colin@xemacs.org>
12345
12346         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
12347
12348         * fns.c (size_bit_vector):
12349         * alloc.c (size_vector):
12350         (make_vector_internal):
12351         (make_bit_vector_internal):
12352         (sweep_bit_vectors_1):
12353         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
12354
12355 2000-04-06  Andy Piper  <andy@xemacs.org>
12356
12357         * gmalloc.c (malloc): undo previous change.
12358         (malloc): ditto.
12359         (free): ditto.
12360         (realloc): ditto.
12361
12362 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
12363
12364         * line-number.c (buffer_line_number): Revert to former version.
12365
12366 2000-04-06  Andy Piper  <andy@xemacs.org>
12367
12368         * gmalloc.c (malloc): add error checking.
12369         (malloc): ditto.
12370         (free): ditto.
12371         (realloc): ditto.
12372
12373         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
12374         button_item_to_widget_value arg.
12375
12376         * glyphs-x.c (x_button_instantiate): add extra
12377         button_item_to_widget_value arg.
12378         (x_progress_gauge_instantiate): ditto.
12379         (x_edit_field_instantiate): ditto.
12380         (x_label_instantiate): ditto.
12381
12382         * gui-x.c (gui_items_to_widget_values_1): add extra
12383         button_item_to_widget_value arg.
12384         (button_item_to_widget_value): add extra menu_item_p arg.
12385
12386         * gui-x.h: change signature of button_item_to_widget_value.
12387
12388         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
12389         button_item_to_widget_value arg.
12390
12391 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
12392
12393         * buffer.h (struct buffer): auto_save_modified should be long.
12394
12395 2000-04-05  Andy Piper  <andy@xemacs.org>
12396
12397         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
12398         type.
12399         (button_query_geometry): give a little more room so that athena
12400         buttons fit.
12401
12402 2000-04-05  Andy Piper  <andy@xemacs.org>
12403
12404         * faces.c (complex_vars_of_faces): The widget face should inherit
12405         the font of the gui-element face.
12406
12407 2000-04-04  Andy Piper  <andy@xemacs.org>
12408
12409         * glyphs-x.c (x_button_update): new function. unconditionally
12410         update a button's state when the instance is dirty.
12411         (image_instantiator_format_create_glyphs_x): add x_button_update.
12412         (x_widget_instantiate): remove old resize cruft.
12413
12414 2000-04-02  Andy Piper  <andy@xemacs.org>
12415
12416         * frame.c (change_frame_size_1): The introduction of gutters means
12417         that we need to allow 0 as a potential frame dimension.
12418
12419 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12420
12421         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
12422         image glyph if allow_cursor.
12423         (add_hscroll_rune): Don't allow cursor to border glyph.
12424         (create_text_block): Ditto.
12425
12426         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
12427         text not in buffer.
12428         (redisplay_output_layout): Call ensure_face_cachel_complete for
12429         text image glyph.
12430
12431
12432 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12433
12434         * redisplay.c (add_glyph_rune): Adding text image as text runes.
12435
12436         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
12437         not in buffer
12438
12439         * redisplay-tty.c (tty_output_display_block): Delete the routine
12440         for text image glyph
12441         * redisplay-x.c (x_output_display_block): ditto
12442         * redisplay-msw.c (mswindows_output_display_block): ditto
12443
12444 2000-02-02  Mike Alexander  <mta@arbortext.com>
12445
12446         Note: Some of these were committed by accident as part of other
12447         patches.
12448
12449         * regex.c (regex_compile): Avoid compiler warnings.
12450
12451         * ntproc.c (sys_spawnve): Avoid compiler warnings.
12452
12453         * nt.h: Declare term_ntproc correctly.
12454
12455         * nt.c: Remove incorrect declaration of get_home_directory which
12456         is declared correctly in lisp.h.
12457
12458         * keymap.c (get_keyelt): Avoid compiler warnings.
12459         (raw_lookup_key_mapper): Avoid compiler warnings.
12460
12461         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
12462
12463         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
12464
12465         * filemode.c (mode_string): Avoid compiler warnings.
12466
12467         * file-coding.c (Fcoding_system_aliasee): Add return statement to
12468         avoid warning.
12469
12470         * events-mod.h: Undef some things that winuser.h defines differently.
12471
12472         * data.c (Faset): Avoid compiler warnings.
12473
12474         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
12475
12476 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12477
12478         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
12479         Fall through to simple beep on error.
12480         Replace "extern" by real header file.
12481
12482         * linuxplay.c: Use nativesound.h
12483         (play_sound_data): Return error code. Be less verbose on error.
12484
12485         * sunplay.c: Use nativesound.h
12486         (play_sound_data): Return error code. Be less verbose on error.
12487
12488         * ntplay.c: Use nativesound.h
12489         (play_sound_data): Return fake error code
12490
12491         * sgiplay.c: Use nativesound.h
12492         (play_sound_data): Return error code
12493
12494         * hpplay.c: Use nativesound.h, partially implement
12495         new error code. Break compilation until finished.
12496         (play_sound_data): error code.
12497
12498         * nativesound.h (play_sound_file):
12499           (play_sound_data): Prototype in new header.
12500
12501 2000-03-31  Andy Piper  <andy@xemacs.org>
12502
12503         * glyphs-widget.c: (button_query_geometry): new function. Adjust
12504         for toggle and radio buttons.
12505         (image_instantiator_buttons): use it.
12506
12507 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12508
12509         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
12510         (x_update_horizontal_scrollbar_callback): Return if no mirror was
12511         found. Scrollbar event probably belonged to some old config.
12512
12513 2000-03-31  Andy Piper  <andy@xemacs.org>
12514
12515         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
12516         than 1.
12517         (initialize_widget_image_instance): default layout to
12518         LAYOUT_HORIZONTAL rather than 0.
12519         (widget_instantiate): reverse the item list at the end rather than
12520         every iteration.
12521         (layout_layout): re-code for the border text at the front of the
12522         item list rather than at the end.
12523         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
12524         provided by the user.
12525         (widget_query_geometry): comment.
12526
12527 2000-03-30  Andy Piper  <andy@xemacs.org>
12528
12529         * glyphs-widget.c (image_instantiator_layout): allow standard
12530         widget keywords in layouts.
12531
12532         * gutter.c (output_gutter): cope with nil gutter contents.
12533
12534         * frame.c (Fset_frame_properties): add gutter docs.
12535
12536 2000-03-29  Andy Piper  <andy@xemacs.org>
12537
12538         * toolbar-msw.c (TBSTYLE_FLAT): add.
12539         (mswindows_output_toolbar): minor fiddling.
12540
12541 2000-03-29  Andy Piper  <andy@xemacs.org>
12542
12543         * gutter.c (output_gutter): force gutter size recalculation if
12544         what we are trying to display won't fit.
12545         (update_gutter_geometry): new function. A per-gutter version of
12546         update_frame_gutter_geometry.
12547         (update_frame_gutter_geometry): use it.
12548         (redraw_exposed_gutter): add extra debugging output.
12549
12550 2000-03-28  Mike Alexander  <mta@arbortext.com>
12551
12552         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
12553         (pdump_file_unmap): Implement it on Windows
12554         (pdump_file_get): Save alocated handles for pdump_file_unmap
12555
12556 2000-03-28  Andy Piper  <andy@xemacs.org>
12557
12558         * gui.c (get_gui_callback): treat Quit specially.
12559
12560 2000-03-27  Andy Piper  <andy@xemacs.org>
12561
12562         * glyphs.c (image_instantiate): be careful to check in the same
12563         way we assigned.
12564
12565 2000-03-27  Didier Verna  <didier@xemacs.org>
12566
12567         * config.h.in: define the proper SMART_INCLUDE macro.
12568         handle renaming of `foo_h_path' to `foo_h_file'.
12569
12570         * database.c: ditto.
12571
12572         * emacs.c: ditto.
12573
12574         * linuxplay.c: ditto.
12575
12576         * terminfo.c: ditto.
12577
12578         * tooltalk.h: ditto.
12579
12580 2000-03-27  Andy Piper  <andy@xemacs.org>
12581
12582         * glyphs-msw.c (mswindows_update_widget): make sure the widget
12583         gets updated whenever the face might have changed.
12584
12585 2000-03-26  Mike Alexander  <mta@arbortext.com>
12586
12587         * dumper.c (pdump_resource_free): Fix the comment.
12588
12589 2000-03-21  Olivier Galibert  <galibert@pobox.com>
12590
12591         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
12592
12593 2000-03-22  Mike Alexander  <mta@arbortext.com>
12594
12595         * dumper.c: Include Windows headers on Windows
12596         (pdump_resource_free): Add a body to the function
12597         (pdump_load): exe_name -> exe_path and add some comments.
12598
12599 2000-03-25  Mike Alexander  <mta@arbortext.com>
12600
12601         * gui.c (copy_gui_item_tree): Return a value in all cases
12602
12603 2000-03-21  Didier Verna  <didier@xemacs.org>
12604
12605         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
12606         lwlib/config.h.in.
12607         (SMART_INCLUDE): new macro.
12608         (POSTGRES_INCLUDE): new macro to include postgresql headers from
12609         the proper location.
12610
12611         * postgresql.c: use it.
12612
12613         * inline.c: ditto.
12614
12615 2000-03-24  Andy Piper  <andy@xemacs.org>
12616
12617         * gutter.c (redraw_exposed_gutters): must be "in display" when we
12618         do this.
12619
12620 2000-03-24  Andy Piper  <andy@xemacs.org>
12621
12622         * redisplay-output.c (compare_runes): use image_instance_changed
12623         to detect changes. Do not depend on glyphs_changed, only depend on
12624         dirtiness.
12625          (redisplay_output_layout): add debug messages.
12626         (compare_runes): ditto.
12627
12628         * glyphs.h: declare new functions.
12629         (struct Lisp_Image_Instance): remove percent and associated
12630         accessors.
12631
12632         * gui.h: declare new copying functions.
12633
12634         * gui.c (copy_gui_item_tree): new function.
12635         (copy_gui_item): new function.
12636         (gui_item_id_hash): revert to standard hash.
12637         (gui_item_hash): ditto.
12638         (gui_item_hash_internal): deleted.
12639         (mark_gui_item): mark value.
12640         (gui_item_add_keyval_pair): add value.
12641         (gui_item_init): ditto.
12642         (gui_add_item_keywords_to_plist): ditto.
12643         (gui_item_equal): ditto.
12644         (syms_of_gui): add Q_value.
12645
12646         * glyphs-x.c (x_progress_gauge_update): use pending items and
12647         value for setting the state.
12648         (x_update_widget): don't set items from pending here.
12649
12650         * glyphs-widget.c (update_widget): update items here.
12651         (progress_gauge_set_property): use items for storing value. Put
12652         new value in pending items.
12653
12654         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
12655         items for new value. Convert percent -> value.
12656         (mswindows_tab_control_update): don't update items here.
12657
12658         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
12659         (update_subwindow): ditto.
12660         (image_instance_changed): new function. Compare hash values and
12661         past and present widget items.
12662         (image_instantiate): We more careful about where we instantiate
12663         things.
12664         (image_instantiate): add error checking.
12665
12666         * gutter.c (syms_of_gutter): use -hook.
12667
12668 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
12669
12670         * console-tty.c (Fset_console_tty_input_coding_system): Use
12671         Qkeyboard.
12672         (Fset_console_tty_output_coding_system): Use Qterminal.
12673         (tty_init_console): Use Qkeyboard and Qterminal.
12674
12675 2000-03-21  Ben Wing  <ben@xemacs.org>
12676
12677         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
12678         From Mike Alexander <mta@arbortext.com>.
12679
12680 2000-03-21  Ben Wing  <ben@xemacs.org>
12681
12682         * event-msw.c (mswindows_need_event): Horrible kludge to fix
12683         process brokenness.  Proper implementation to come.
12684         * callproc.c:
12685         Rename call-process-internal to old-call-process-internal.
12686         New impl. in process.el.
12687
12688 2000-03-21  Martin Buchholz  <martin@xemacs.org>
12689
12690         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
12691
12692 2000-03-20  Andy Piper  <andy@xemacs.org>
12693
12694         * glyphs.c (full_list_hash): make hashes of the same elements in
12695         different orders return different values.
12696
12697 2000-03-20  Martin Buchholz <martin@xemacs.org>
12698
12699         * XEmacs 21.2.32 is released.
12700
12701 2000-03-20  Martin Buchholz  <martin@xemacs.org>
12702
12703         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
12704         (DFC_MALLOC_USE_CONVERTED_DATA):
12705         Add aliasing-safe casts to allow use with char* or unsigned char*
12706         lvalues.
12707
12708         * eldap.c (Fldap_open):
12709         (Fldap_search_basic):
12710         (Fldap_add):
12711         (Fldap_modify):
12712         Make C++-compilable.
12713         Make sure GCPRO'ed variables are initialized.
12714         Use temp variables to avoid repeated calls to Flength.
12715
12716 2000-03-16  Martin Buchholz  <martin@xemacs.org>
12717
12718         * sysfile.h:
12719         Make sure PATH_MAX is always defined.
12720         Include limits.h for PATH_MAX.
12721         Deprecate use of MAXPATHLEN.
12722
12723 2000-03-10  Martin Buchholz  <martin@xemacs.org>
12724
12725         * emacs.c: Add reinit_vars_of_fileio.
12726         * symsinit.h: Add reinit_vars_of_fileio.
12727         * fileio.c (reinit_vars_of_fileio): New.
12728         * fileio.c (Fmake_temp_name):
12729         Initialize temp_name random number from microseconds to make
12730         collisions even less likely.  Initialize always at process startup
12731         time.  (make-temp-name) used to return the same file name twice in
12732         a row when PDUMP.
12733         Random stylistic fiddling.
12734         Comment fixes.
12735
12736 2000-03-20  Andy Piper  <andy@xemacs.org>
12737
12738         * glyphs.c (image_instantiate): allow text glyphs to be
12739         instantiated in the minibuffer window.
12740
12741 2000-03-19  Andy Piper  <andy@xemacs.org>
12742
12743         * glyphs.c (image_instance_hash): be careful about which items we
12744         hash on.
12745
12746         * glyphs-widget.c (tab_control_set_property): record into pending
12747         items rather than the actual items.
12748
12749         * glyphs-x.c (x_update_widget): use pending items to update with.
12750
12751         * glyphs-msw.c (mswindows_tab_control_update): use pending items
12752         to update with.
12753
12754         * glyphs.c (mark_image_instance): mark pending items.
12755
12756         * window.c (Fset_window_configuration): record the buffer.
12757         (Fselect_window): totally revert previous change which breaks many
12758         things.
12759
12760 2000-03-18  Andy Piper  <andy@xemacs.org>
12761
12762         * glyphs-msw.c (mswindows_tab_control_update): force selected
12763         item.
12764
12765         * glyphs.c (image_instantiate): don't allow the minibuffer as a
12766         window domain cache, otherwise we get inconsistencies at
12767         startup. There is something fishy at startup which can lead to the
12768         minibuffer being the selected window when the gutter content is
12769         instantiated.
12770
12771         * gui.c (parse_gui_item_tree_list): add probably unnecessary
12772         gcpros.
12773         (parse_gui_item_tree_children): ditto.
12774         (parse_gui_item_tree_item): ditto.
12775
12776         * glyphs.c (Fupdate_widget_instances): return something.
12777
12778 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
12779
12780         * window.c (Fselect_window): Undo 2000-03-17 change.
12781
12782 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
12783
12784         * postgresql.c (Fpq_setenv): Remove this turkey when linking
12785         against v7.0 libraries.  Insta-coredump city until the postgres
12786         folks fix it.
12787
12788 2000-03-17  Andy Piper  <andy@xemacs.org>
12789
12790         * faces.c (complex_vars_of_faces): don't give the widget face an
12791         inherited background pixmap.
12792
12793         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
12794         selected item.
12795
12796         * event-stream.c (Fdispatch_non_command_events): return something.
12797
12798         * gutter.c (output_gutter): use widget face.
12799         (clear_gutter): ditto.
12800
12801         * NEWS: adjust again.
12802
12803         * window.c (Fselect_window): make sure this runs to completion to
12804         avoid oddities with Fset_window_configuration.
12805         (Fcurrent_window_configuration): in general do not save the
12806         minibuffer as the selected window.
12807
12808         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
12809
12810 2000-03-16  Olivier Galibert  <galibert@pobox.com>
12811
12812         * emacs.c (Frunning_temacs_p): Revert previous patch.
12813         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
12814
12815 2000-03-16  Andy Piper  <andy@xemacs.org>
12816
12817         * glyphs-x.c (x_tab_control_update): if no widget values then
12818         return.
12819
12820         * NEWS: update for new features.
12821
12822         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
12823         synthetic event to the native system.
12824         (reinit_vars_of_event_Xt): set force_event_pending to
12825         emacs_Xt_force_event_pending.
12826
12827         * events.h (struct event_stream): add force_event_pending.
12828
12829         * specifier.c (recompute_one_cached_specifier_in_window): add
12830         comment.
12831
12832         * redisplay.c (redisplay_frame): don't call
12833         update_frame_subwindows. Reset subwindow cachels when
12834         subwindows_changed, removing this was an optimization too far.
12835
12836         * redisplay-output.c (compare_runes): reorganize so that we catch
12837         glyph changes when we want them. Set optimize_output when this
12838         would help layouts.
12839         (redisplay_output_layout): remove frame_really_changed, use
12840         optimize_output instead.
12841
12842         * redisplay-msw.c (mswindows_output_display_block): reset
12843         optimize_output after outputting a glyph.
12844         * redisplay-x.c (x_output_display_block): ditto.
12845         * redisplay-tty.c (tty_output_display_block): ditto.
12846
12847         * gutter.c: (specifier_vars_of_gutter): use new spec changed
12848         functions.
12849         (gutter_specs_changed): do specific gutter positions.
12850         (top_gutter_specs_changed): new function. Only update the
12851         specified gutter specs.
12852         (bottom_gutter_specs_changed): ditto.
12853         (left_gutter_specs_changed): ditto.
12854         (right_gutter_specs_changed): ditto.
12855
12856         * gui.c (gui_item_hash_internal): new function, does a real hash.
12857         (gui_item_id_hash): use it.
12858         (gui_item_hash): hash the eval'ed gui_item.
12859
12860         * gui-x.c (popup_selection_callback): send an eval event to call
12861         Fupdate_widget_instances.
12862
12863         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
12864         to call Fupdate_widget_instances.
12865
12866         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
12867         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
12868
12869         * glyphs.c: (update_frame_subwindows): deleted.
12870         (Fupdate_widget_instances): new function for updating the dirty
12871         state of widgets that might have changed.
12872         (syms_of_glyphs): add Qupdate_widget_instances.
12873         (full_list_hash): hash a list completely.
12874         (image_instance_hash): use it for items and properties.
12875
12876         * frame-msw.c (mswindows_size_frame_internal): remove unused
12877         variable.
12878
12879         * faces.h (struct face_cachel): fix comment.
12880
12881         * event-stream.c (Fdispatch_non_command_events): new
12882         function. Process non-command events, forcing an event cycle
12883         beforehand.
12884         (syms_of_event_stream): declare.
12885         (event_stream_force_event_pending): new function. Force an event
12886         on the native event queue so that an event cycle will occur next
12887         time we check.
12888
12889         * event-msw.c:
12890         (struct ntpipe_shove_stream):
12891         (mswindows_enqueue_dispatch_event):
12892         (mswindows_dequeue_dispatch_event):
12893         (mswindows_cancel_dispatch_event):
12894         (mswindows_pump_outstanding_events):
12895         (mswindows_drain_windows_queue):
12896         (mswindows_handle_paint):
12897         (mswindows_wnd_proc):
12898         (mswindows_key_to_emacs_keysym):
12899         (get_process_input_waitable):
12900         (emacs_mswindows_delete_stream_pair): re-indent file.
12901         (mswindows_need_event): do not process further fds if the windows
12902         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
12903         fixes the 100% cpu problem.
12904         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
12905
12906 2000-03-15  Olivier Galibert  <galibert@pobox.com>
12907
12908         * alloc.h: New.
12909         * dumper.h: New.
12910         * dumper.c: New.
12911
12912         * emacs.c: Moved dump file searching to dumper.c.
12913         (Frunning_temacs_p): Fixed.
12914
12915         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
12916         last_lrecord_type_index_assigned.
12917
12918 2000-02-20  Olivier Galibert  <galibert@pobox.com>
12919
12920         * symsinit.h: Added reinit parameter to init_console_stream
12921         declaration.
12922
12923         * lisp.h: Added file parameter to pdump_load declaration.
12924
12925         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
12926         support.  Added dump file searching.
12927
12928         * config.h.in: Added EMACS_PROGNAME.
12929
12930         * console-stream.c (init_console_stream): Fix reinitialisation
12931         when running from temacs.
12932
12933         * alloc.c (pdump): Add id support.
12934         (pdump_load): Add file parameter and signature/id support.
12935
12936         * Makefile.in.in: Add full pdump support.
12937
12938 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
12939
12940         * postgresql.c: Update documentation to reflect latest code
12941         status.
12942         (print_result): Show tuple counts in printed representation when
12943         appropriate.
12944         (Fpq_put_nbytes): MULE-ize.
12945         (Fpq_get_line_async): Ditto.
12946
12947 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
12948
12949         * postgresql.c (Fpq_lo_import): Fix return value.
12950         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
12951
12952 2000-03-13  Ben Wing  <ben@xemacs.org>
12953
12954         * alloc.c (pdump_load):
12955         Fix compile warning under mswin.
12956
12957 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
12958
12959         * postgresql.c: Mule-ization, bug fixes.
12960         Use PG_CODING to encapsulate coding system name changes.
12961         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
12962         (pg-coding-system): Create.
12963
12964         (Fpq_conn_defaults): Mule-ize.
12965         (Fpq_connectdb): Mule-ize & bug fix.
12966         (Fpq_connect_start): Mule-ize.
12967         (Fpq_set_client_encoding): Mule-ize.
12968         (Fpq_finish): Document `DEAD' connection status.
12969         (Fpq_clear): Ditto.
12970         (Fpq_pgconn): Mule-ize.
12971         (Fpq_exec): Mule-ize & bug fix.
12972         (Fpq_send_query): Ditto.
12973         (Fpq_get_result): Ditto.
12974         (Fpq_res_status): Mule-ize.
12975         (Fpq_result_error_message): Mule-ize.
12976         (Fpq_ntuples): fix comments.
12977         (Fpq_fname): Mule-ize.
12978         (Fpq_fnumber): Mule-ize.
12979         (Fpq_ftype): fix comments.
12980         (Fpq_get_value): Mule-ize.
12981         (Fpq_cmd_status): Ditto.
12982         (Fpq_cmd_tuples): Ditto.
12983         (Fpq_oid_value): Ditto.
12984         (Fpq_notifies): Ditto.
12985         (Fpq_lo_import): Ditto.
12986         (Fpq_lo_export): Ditto.
12987         (Fpq_get_line): Ditto.
12988         (Fpq_put_line): Mule-ize and bug fix.
12989         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
12990
12991 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
12992
12993         * postgresql.c (vars_of_postgresql): Mule-ize.
12994         (Fpq_conn_defaults): Ditto.
12995
12996 2000-03-12  Ben Wing  <ben@xemacs.org>
12997
12998         * alloc.c (Fmake_byte_code):
12999         * alloc.c (debug_string_purity_print):
13000         * alloc.c (pdump_backtrace):
13001         * alloc.c (pdump_get_indirect_count):
13002         * alloc.c (pdump_register_sub):
13003         * alloc.c (pdump_register_object):
13004         * alloc.c (pdump_register_struct):
13005         * alloc.c (pdump_dump_data):
13006         * alloc.c (pdump_reloc_one):
13007         Minor cleanups.
13008
13009         * console-msw.c:
13010         * console-msw.c (GetConsoleHwnd):
13011         * console-msw.c (msw_hide_console):
13012         * console-msw.c (msw_show_console):
13013         * console-msw.c (msw_ensure_console_buffered):
13014         * console-msw.c (msw_output_console_string):
13015         * console-msw.c (console_type_create_mswindows):
13016
13017         a) Added functions to manipulate the console window for use with
13018         shell support.
13019
13020         b) Added support for writing text to the console, which is now
13021         used under Windows when xemacs is not being run non-interactively,
13022         to write text that would otherwise be destined for stdout because
13023         under these circumstances, text written to stdout tends to
13024         disappear and not be seen.
13025
13026         * console-msw.h:
13027         * event-Xt.c:
13028         * event-Xt.c (x_event_to_emacs_event):
13029         * event-Xt.c (describe_event_window):
13030         * events-mod.h (XEMACS_MOD_CONTROL):
13031         * events.c:
13032         * events.c (Fmake_event):
13033         * events.c (character_to_event):
13034         * events.c (event_to_character):
13035         * events.c (format_event_object):
13036         * events.c (Fevent_modifiers):
13037         * events.h:
13038         * events.h (struct key_data):
13039         * events.h (struct button_data):
13040         * events.h (struct misc_user_data):
13041         * frame-x.c (Fcde_start_drag_internal):
13042         * frame-x.c (Foffix_start_drag_internal):
13043         * gpmevent.c (Freceive_gpm_event):
13044         * keymap.c:
13045         * keymap.c (bucky_sym_to_bucky_bit):
13046         * keymap.c (control_meta_superify):
13047         * keymap.c (make_key_description):
13048         * keymap.c (keymap_lookup_directly):
13049         * keymap.c (create_bucky_submap):
13050         * keymap.c (keymap_store):
13051         * keymap.c (define_key_check_and_coerce_keysym):
13052         * keymap.c (define_key_parser):
13053         * keymap.c (define_key_alternate_name):
13054         * keymap.c (Fdefine_key):
13055         * keymap.c (raw_lookup_key_mapper):
13056         * keymap.c (struct map_keymap_unsorted_closure):
13057         * keymap.c (map_keymap_unsorted_mapper):
13058         * keymap.c (map_keymap_sort_predicate):
13059         * keymap.c (map_keymap_sorted):
13060         * keymap.c (accessible_keymaps_mapper_1):
13061         * keymap.c (where_is_recursive_mapper):
13062         * keymap.c (describe_map_mapper):
13063         * keymap.c (describe_map_sort_predicate):
13064         * keymap.c (describe_map):
13065         * keymap.c (complex_vars_of_keymap):
13066         And a number of other files, the key modifier preprocessor
13067         constants that xemacs uses have names that conflict with constants
13068         defined under MS Windows for other purposes, so they were renamed
13069         to begin with the prefix XEMACS_. The variables that hold such
13070         modifiers were changed to consistently be of type int to fix
13071         various compile warnings.
13072
13073         * console.c (complex_vars_of_console):
13074         * device.c:
13075         * device-msw.c:
13076         * device-msw.c (mswindows_finish_init_device):
13077         * device-msw.c (msw_get_workspace_coords):
13078         * device-msw.c (mswindows_device_system_metrics):
13079         and various other files, added support for a new
13080         device property called offset-workspace which returns the position
13081         of the upper left corner of the workspace area and goes along with
13082         the existing size-workspace property.
13083
13084         * dialog-msw.c:
13085         * dialog-msw.c (push_bufbyte_string_as_unicode):
13086         * dialog-msw.c (mswindows_popup_dialog_box):
13087         Added support for XEmacs-style accelerator specifications in
13088         button text.  Note: I didn't add support for this under X Windows,
13089         and somebody needs to do this.
13090
13091         * dialog.c:
13092         * dialog.c (Fpopup_dialog_box):
13093         Documented the support for accelerators that was just mentioned.
13094
13095         editfns.c (get_home_directory): Changed behavior under Windows
13096         when HOME not defined; former behavior was irretrievably broken.
13097
13098         * emacs.c:
13099         * emacs.c (main_1):
13100         * emacs.c (main):
13101         * minibuf.c (clear_echo_area_internal):
13102         * minibuf.c (echo_area_append):
13103         * print.c:
13104         * print.c (std_handle_out_external):
13105         * print.c (std_handle_out_va):
13106         * print.c (fatal):
13107         * print.c (write_string_to_stdio_stream):
13108         * print.c (output_string):
13109         * print.c (debug_print):
13110         * print.c (debug_backtrace):
13111         * print.c (debug_short_backtrace):
13112         Cleaned up the code that prints text to stdout so that this can be
13113         changed to output into a console window instead under MS Windows,
13114         as described above.
13115
13116         * eval.c:
13117         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13118         * eval.c (internal_catch):
13119         * eval.c (unwind_to_catch):
13120         * eval.c (throw_or_bomb_out):
13121         * eval.c (condition_case_1):
13122         * eval.c (signal_1):
13123         * eval.c (check_error_state_sanity):
13124         * eval.c (call_with_suspended_errors_1):
13125         * eval.c (call_with_suspended_errors):
13126         * eval.c (reinit_vars_of_eval):
13127         Added code to catch throw loops and check for a pesky bug that may
13128         be gone now.
13129
13130         * event-msw.c:
13131         * event-msw.c (key_needs_default_processing_p):
13132         * event-msw.c (mswindows_wnd_proc):
13133         * event-msw.c (mswindows_modifier_state):
13134         * event-msw.c (emacs_mswindows_quit_p):
13135         * event-msw.c (vars_of_event_mswindows):
13136         a) Added support for using the alt key to select menu items as is
13137         standard under MS Windows.  This is controlled using the variable
13138         menu-accelerator-enabled, just like under X Windows.  There is an
13139         option on the options menu to turn this support on.  I really
13140         think that it should be on by default under Windows, but I'm not
13141         going to make this change yet.
13142
13143         b)  Added support for dynamic display size changes under Windows.
13144
13145         * event-stream.c:
13146         * event-stream.c (maybe_echo_keys):
13147         * event-stream.c (Fnext_event):
13148         * event-stream.c (command_builder_find_leaf):
13149         * event-stream.c (lookup_command_event):
13150         * event-stream.c (execute_command_event):
13151         * event-stream.c (pre_command_hook):
13152         * event-stream.c (post_command_hook):
13153         * event-stream.c (syms_of_event_stream):
13154         * event-stream.c (vars_of_event_stream):
13155         * event-stream.c (complex_vars_of_event_stream):
13156         * events.h (struct command_builder):
13157
13158         a) Tried to clean up a little bit the horribly written x-specific
13159         accelerator code that crept into this file.  I moved this code
13160         into menubar-x.c where it belongs. I also needed to move the
13161         command builder structure into the file events.h because it is
13162         accessed directly by this accelerator code.  What I didn't do, but
13163         which should be done at some point, is to properly abstract this
13164         code using device methods instead of the kludgy way that it
13165         currently hooks into the event code.
13166
13167         b) Added the lisp variables this-command-properties and
13168         last-command- properties, which should be used to synchronize two
13169         adjacent commands in preference to playing games with the variable
13170         this-command, which is typically what happens.
13171
13172         c) Added some slightly nasty code to hook into the lisp support
13173         for shifted- motion-key selection.  This is actually necessary for
13174         somewhat complicated reasons, which are described in
13175         simple.el. (NB: I think the proper thing would be to have the code
13176         that calls the pre and post command hooks also call out to generic
13177         lisp functions in simple.el, where all built-in stuff could be
13178         added.  I will think about this more.)
13179
13180         * event-unixoid.c (poll_fds_for_input):
13181         * lread.c (readchar):
13182         * redisplay-tty.c (tty_clear_frame):
13183         * redisplay-x.c (x_get_gc):
13184         * signal.c (interrupt_signal):
13185         And a whole bunch of other files: fixed up places that printed
13186         directly to stderr to instead call the function stderr_out so that
13187         the changes I made under Windows work correctly.
13188
13189         * filemode.c (mode_string):
13190         Warning fixes.
13191
13192         * frame-msw.c:
13193         * frame-msw.c (mswindows_size_frame_internal):
13194         Fixed the computation of frame size and position to keep the frame
13195         within the workspace area, rather than within the physical
13196         dimensions of the screen, so that the frame doesn't overlap window
13197         manager decorations, such as the start menu and toolbar, typically
13198         at the bottom of the screen.
13199
13200         * frame.c (vars_of_frame):
13201         Changed the default frame title format under MS Windows to consist
13202         of buffername-XEmacs, which is standard under MS Windows.  I think
13203         it might be a good idea to change this everywhere because I think
13204         it is superior to the current frame title format, but this is the
13205         kind of change that is likely to cause some people to get annoyed,
13206         so I'm not making it.
13207
13208         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
13209
13210         * gui-msw.c (mswindows_handle_gui_wm_command):
13211         Fixed compile warnings.
13212
13213         * gui-x.c:
13214         * gui-x.c (strdup_and_add_accel):
13215         * gui-x.c (button_item_to_widget_value):
13216         * gui-x.h:
13217         Added code to automatically put an accelerator onto the beginning
13218         of menu items that don't have one as is now the standard, and is
13219         described more later.  Also fixed things so that the menu item
13220         name can be an evaluated expression, again a new standard.
13221
13222         * gui.c:
13223         * gui.c (gui_item_add_keyval_pair):
13224         * gui.c (make_gui_item_from_keywords_internal):
13225         * gui.c (gui_add_item_keywords_to_plist):
13226         * gui.c (gui_item_accelerator):
13227         * gui.c (gui_name_accelerator):
13228         * gui.c (gui_item_included_p):
13229         * gui.c (gui_item_display_flush_left):
13230         * gui.c (gui_item_display_flush_right):
13231         * gui.c (parse_gui_item_tree_item):
13232         * gui.c (parse_gui_item_tree_children):
13233         * gui.c (parse_gui_item_tree_list):
13234         Mule-ized.  Cleanup.  GCPRO addition.
13235
13236         * line-number.c (buffer_line_number):
13237         * lisp.h:
13238         * lisp.h (EMACS_INT_MAX):
13239         Added the manifest constant EMACS_INT_MIN corresponding to the
13240         existing constant EMACS_INT_MAX.  This is partially to fix compile
13241         warnings under Windows, and partly for cleanliness.
13242
13243         * menubar-msw.c:
13244         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
13245         * menubar-msw.c (msw_translate_menu_or_dialog_item):
13246         * menubar-msw.c (displayable_menu_item):
13247         * menubar-msw.c (populate_menu_add_item):
13248         * menubar-msw.c (populate_or_checksum_helper):
13249         * menubar-msw.c (populate_menu):
13250         * menubar-msw.c (update_frame_menubar_maybe):
13251         * menubar-msw.c (prune_menubar):
13252         * menubar-msw.c (msw_char_is_accelerator):
13253         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
13254         * menubar-msw.c (mswindows_handle_wm_command):
13255         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
13256         * menubar-msw.c (mswindows_handle_wm_initmenu):
13257         * menubar-msw.c (mswindows_update_frame_menubars):
13258         * menubar-msw.c (mswindows_free_frame_menubars):
13259         * menubar-msw.c (mswindows_popup_menu):
13260         Fixed a bug in handling accelerators where an extra character
13261         would be displayed in the menu item.  Also generalized the
13262         function displayable_menu_item because it is now used by the
13263         dialog box code as well.  And finally, added code in the functions
13264         that create the menubar to extract a list of accelerators for the
13265         top level menubar, which is used in the event code to determine
13266         whether a particular alt-key combination should be used to invoke
13267         a menu item, or should be passed through to access the standard
13268         XEmacs keymap binding for this key combination.
13269
13270         Much needed GCPROing.
13271
13272         * menubar-x.c:
13273         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13274         * menubar-x.c (menu_item_descriptor_to_widget_value):
13275         * menubar-x.c (restore_in_menu_callback):
13276         * menubar-x.c (x_popup_menu):
13277         * menubar-x.c (menu_move_up):
13278         * menubar-x.c (menu_move_down):
13279         * menubar-x.c (menu_move_left):
13280         * menubar-x.c (menu_move_right):
13281         * menubar-x.c (menu_select_item):
13282         * menubar-x.c (command_builder_operate_menu_accelerator):
13283         * menubar-x.c (menu_accelerator_junk_on_error):
13284         * menubar-x.c (command_builder_find_menu_accelerator):
13285         * menubar-x.c (Faccelerate_menu):
13286         * menubar.h:
13287         Moved a whole bunch of code here that was previously in
13288         event-stream.c as described above.  There is also code connected
13289         to the new standard of adding an accelerator to the beginning of
13290         menu items that don't have one as described above and below.
13291
13292         * menubar.c:
13293         * menubar.c (menu_parse_submenu_keywords):
13294         * menubar.c (Fmenu_find_real_submenu):
13295         * menubar.c (Fnormalize_menu_item_name):
13296         * menubar.c (syms_of_menubar):
13297         * menubar.c (vars_of_menubar):
13298         * menubar.c (complex_vars_of_menubar):
13299
13300         a) Cleaned up a bunch of documentation and improved it.
13301
13302         b) XEmacs now automatically adds an accelerator onto the beginning
13303         of any menu items that don't have one.  I did this because there
13304         will inevitably be some menu items on the main menubar that don't
13305         have accelerators on them because the package that adds that
13306         particular menu item hasn't yet been fixed up to have accelerators
13307         in them and it looked rather strange to have some items with and
13308         some items without accelerators, especially since even in items
13309         without accelerators, you can, at least under windows, still
13310         access the item through an accelerator corresponding to the first
13311         character in the item's name.  If people don't like this behavior,
13312         I can add a variable to turn it off optionally, but I'm not sure
13313         this is a good idea because we really do need to have accelerators
13314         on all of the menu items, and if a package doesn't like the
13315         accelerators being put on the first character, then it should put
13316         the accelerators where they belong.
13317
13318         c) I made a behavior change, which is that the descriptor that
13319         specifies the text of the menu item, which formerly was just a
13320         string, can now also be an evaluated expression.  This makes this
13321         descriptor parallel with all of the others, which could also be
13322         evaluated expressions.  This also obviates the need for the
13323         keyword :label, which was previously listed in the documentation
13324         as unimplemented, and which was for the same purpose.
13325
13326         d) GCPROing.
13327
13328         * ntproc.c:
13329         * ntproc.c (new_child):
13330         * ntproc.c (sys_spawnve):
13331         * ntproc.c (find_child_console):
13332         * ntproc.c (sys_kill):
13333         Fixed compile warnings.  By the way, this file should really go
13334         away entirely, and this will happen as soon as Kirill makes his
13335         final round of process cleanups, which affect the function
13336         call-process.
13337
13338         * process-nt.c:
13339         * process-nt.c (struct nt_process_data):
13340         * process-nt.c (find_process_from_pid):
13341         * process-nt.c (send_signal_the_nt_way):
13342         * process-nt.c (enable_child_signals):
13343         * process-nt.c (find_child_console):
13344         * process-nt.c (send_signal_the_95_way):
13345         * process-nt.c (nt_finalize_process_data):
13346         * process-nt.c (ensure_console_window_exists):
13347         * process-nt.c (nt_create_process):
13348         * process-nt.c (nt_kill_child_process):
13349         * process-nt.c (nt_kill_process_by_pid):
13350         * process-nt.c (nt_open_network_stream):
13351         * process-nt.c (vars_of_process_nt):
13352         Copied over code from Emacs 20.5 to correctly send signals to sub-
13353         processes under Windows 95.  Also added code to automatically
13354         create and hide console window when a sub-process is created under
13355         Windows 95, which obviates the need for the separate runemacs.exe
13356         executable, and finally implemented some variables that were
13357         implemented in Emacs 20.5, but previously not in XEmacs.  These
13358         include mswindows- start-process-share-console and
13359         mswindows-start-process-inherit-error-mode. (Both of these only
13360         apply to Windows 95.)
13361
13362         * regex.c (regex_compile): Fixed a compile warning.
13363
13364         * select-msw.c:
13365         * select-msw.c (mswindows_own_selection):
13366         * select-msw.c (mswindows_get_foreign_selection):
13367         * select-msw.c (mswindows_disown_selection):
13368         * select-msw.c (console_type_create_select_mswindows):
13369         * select-msw.c (syms_of_select_mswindows):
13370         Cleaned up the file and implemented the device method
13371         selection_exists_p, which had accidentally been left out.  Also
13372         removed four lisp functions that were remnants from before the
13373         time when the selection code was properly device abstracted.
13374         These functions are no longer needed because there are generic
13375         equivalents, and because they were added recently and don't exist
13376         in FSF Emacs, I don't think there's any problem with just deleting
13377         them.
13378
13379         * sysdep.c:
13380         * sysdep.c (sys_subshell):
13381         Fixed a compile warning, although in this case there's probably
13382         something wrong with this code, and it ought to be looked into
13383         more thoroughly by somebody who understands it.
13384
13385         * window.c:
13386         * window.c (Fwindow_text_area_height):
13387         * window.c (Fwindow_width):
13388         * window.c (Fwindow_full_width):
13389         * window.c (Fwindow_pixel_width):
13390         * window.c (debug_print_window):
13391         * window.c (syms_of_window):
13392         Added functions window-text-area-height and window-full-width,
13393         which are functions for returning various width and height
13394         characteristics of a window. (One of these functions is necessary
13395         for making the file dialog box work correctly, and the other one
13396         was added for completeness.)  Also added a table to the
13397         documentation for window-height which describes the entire scheme
13398         for accessing width and height characteristics of a window.
13399
13400 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13401
13402         * nt.c (fstat): Added a comment for another problem with
13403         non-encapsulated [f]stat(), reported by Adrian Aichner
13404         <aichner@ecf.teradyne.com>.
13405
13406 2000-03-11  Andy Piper  <andy@xemacs.org>
13407
13408         * window.c (make_dummy_parent): initialize subwindow instance
13409         cache.
13410         (Fset_window_configuration): zero extent_modiff.
13411
13412 2000-03-10  Andy Piper  <andy@xemacs.org>
13413
13414         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
13415         more changes can be triggered.
13416         (Fredisplay_frame): ditto.
13417         (Fredraw_device): ditto.
13418         (Fredisplay_device): ditto.
13419         (redisplay_frame): make non-static.
13420         (redisplay_frame): call update_frame_gutter_geometry outside of
13421         display proper.
13422
13423         * gutter.h: declare update_frame_gutter_geometry.
13424
13425         * redisplay.h: declare redisplay_frame.
13426
13427         * gutter.c (update_frame_gutter_geometry): move geometry changes
13428         in update_frame_gutters here. Geometry changes can only occur
13429         outside of redisplay.
13430         (update_frame_gutters): remove geometry change code.
13431         (Fredisplay_gutter_area): make sure that we are in display when we
13432         update and that we have flushed any size changes.
13433
13434 2000-03-11  Andy Piper  <andy@xemacs.org>
13435
13436         * alloc.c (pdump_dump_data): remove i & count shadows.
13437
13438 2000-02-27  Mike Alexander  <mta@arbortext.com>
13439
13440         * sysdep.h: Declare pdump_read_file
13441
13442         * sysdep.c (pdump_read_file): New function
13443
13444         * alloc.c (pdump_load): Call pdump_read_file to get the portable
13445         dump data
13446
13447 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13448
13449         * lrecord.h: add `lrecord_type_pgsetenv'.
13450
13451 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
13452
13453         * symsinit.h: declare (vars|syms)_of* functions.
13454         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
13455
13456 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
13457
13458         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
13459
13460         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
13461         GCCs.
13462
13463         * emacs.c (main_1): Call postgres initialization code.
13464
13465         * postgresql.h: New file.  PostgreSQL RDBMS support.
13466         * postgresql.c: New file.
13467
13468 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13469
13470         * redisplay-output.c (redisplay_output_display_block): Disable
13471         redundant code.
13472
13473 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13474
13475         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
13476         (Fcanna_henkan_next): Ditto.
13477         (Fcanna_bunsetu_henkou): Ditto.
13478         (Fcanna_henkan_kakutei): Ditto.
13479         (Fcanna_henkan_end): Ditto.
13480         (Fcanna_henkan_quit): Ditto.
13481         (Fcanna_henkan_next): Set retun value correctly.
13482         (c2mu): Use unsigned char instead of signed char.
13483
13484 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13485
13486         * emacs.c (main_1): Always call syms_of_gui.
13487         * inline.c: include gui.h
13488
13489 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13490
13491         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
13492         converted to Lisp_Object.
13493         (Qtop_bottom): New variable.
13494         (syms_of_redisplay): Initialize it.
13495         * redisplay.h (Vvisible_bell): Ditto.
13496         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
13497         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
13498         only flash top and bottom.
13499
13500 2000-03-08  Andy Piper  <andy@xemacs.org>
13501
13502         * buffer.c (Frename_buffer): record new buffer name the right way.
13503
13504 2000-03-08  Andy Piper  <andy@xemacs.org>
13505
13506         * glyphs.c (update_subwindow): increase hash depth so that widget
13507         items get picked up properly.
13508
13509         * redisplay-output.c (compare_runes): increase hash depth so that
13510         widget items get picked up properly.
13511
13512 2000-03-08  Andy Piper  <andy@xemacs.org>
13513
13514         * gutter.c (output_gutter): add some debug.
13515
13516         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
13517         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
13518         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
13519
13520         * redisplay-output.c (compare_runes): use display_hash to
13521         determine if glyphs really are not the same.
13522
13523         * glyphs.c (update_subwindow): check display_hash to see if
13524         anything really needs to be updated. If not then do
13525         nothing. Record the display_hash after updating.
13526         (image_instance_equal): compare the image_instance face also.
13527
13528 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
13529
13530         * redisplay.h: Fix comment style.
13531
13532 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13533
13534         * consle-msw.h (struct mswindows_frame):
13535         Added new member paint_pending to indicate whether a WM_PAINT
13536         magic event has been queued for this frame.
13537
13538         * event-msw.c (mswindows_drain_windows_queue):
13539         Don't queue a WM_PAINT magic event if one is already queued.
13540         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
13541
13542         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
13543
13544 2000-03-07  Didier Verna  <didier@xemacs.org>
13545
13546         * dired.c: #include `regex.h' after `sysfile.h'.
13547
13548 2000-03-06  Martin Buchholz  <martin@xemacs.org>
13549
13550         * sound.c (init_nas_sound): Fix compiler warning.
13551
13552         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
13553         (FREE_STRUCT_P):
13554         (MARK_STRUCT_AS_FREE):
13555         (MARK_STRUCT_AS_NOT_FREE):
13556         Make `gcc -fstrict-aliasing' work properly.
13557
13558 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13559
13560         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
13561         (mswindows_delete_device): Call CoUnnitialize().
13562
13563         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
13564
13565 2000-02-25    <CraigL@DyCon.com>
13566
13567         * process-nt.c: MinGW now has <shellapi.h>, but still needs
13568         <errno.h>.
13569
13570         * sysdep.c: This extern declaration for environ prevents MinGW
13571         from finding the variable in CRTDLL.DLL.
13572
13573         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
13574         windows headers.
13575         (SHGFI_EXETYPE): ..
13576         (WM_MOUSEWHEEL): ..
13577         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
13578         definitions.
13579         (MMRESULT): Removed, now defined in cygwin's windows headers.
13580         (TIMECAPS): ..
13581         (uid_t,gid_t,pid_t,ssize_t): ..
13582         (_timeb): Removed, MinGW defines both _timeb and timeb.
13583         (HAVE_H_ERRNO): Added.
13584         (HAVE_TZNAME): Added, configure is not detecting this.
13585
13586 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
13587
13588         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
13589         * syntax.c (syntax_match): Use it.
13590
13591         * cmds.c: Import auto-fill-chars from FSF Emacs.
13592         (Vauto_fill_chars): New variables.
13593         (internal_self_insert): Check Vauto_fill_chars.
13594         (vars_of_cmds):
13595         Declare auto-fill-chars as a Lisp variable and initialize it.
13596
13597 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13598
13599         * fileio.c (Fmake_symbolic_link):
13600         (Ffile_symlink_p):
13601         Run handlers even if local machine doesn't have symlinks.
13602
13603 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13604
13605         * event-msw.c (mswindows_drain_windows_queue):
13606         Don't generate paint magic events for non-XEmacs frames.
13607
13608 2000-03-05  Andy Piper  <andy@xemacs.org>
13609
13610         * redisplay.c (redisplay_frame): generate_displayable_area and
13611         friends assumes that we are not in GC, we therefore have to make
13612         sure that this doesn't happen.
13613
13614         * gutter.c (calculate_gutter_size): generate_displayable_area
13615         assumes that we are not in GC, we therefore have to make sure that
13616         this doesn't happen.
13617
13618 2000-03-05  Martin Buchholz  <martin@xemacs.org>
13619
13620         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
13621
13622 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13623
13624         * redisplay.c (regenerate_window): Make sure we set a sane value
13625         for end_pos even if we jump out of the loop.
13626         (regenerate_window): Answer Ben's question :-).
13627         (start_end_of_last_line): Add may_error argument.
13628         (start_of_last_line):
13629         (end_of_last_line): Pass may_error = 0.
13630         (end_of_last_line_may_error): New function.
13631         (pixel_to_glyph_translation): Use it, so we don't crash in
13632         event_to_glyph.
13633
13634 2000-03-04  Andy Piper  <andy@xemacs.org>
13635
13636         * window.h (struct window): add gutter_extent_modiff.
13637
13638         * window.c (allocate_window): zero out gutter_extent_modiff.
13639
13640         * redisplay.h: declare sync_display_line_structs.
13641
13642         * redisplay.c (add_glyph_rune): add a better comment.
13643
13644         * redisplay-output.c (sync_display_line_structs): made non-static.
13645         (compare_runes): remove unneccesary glyph cachel access.
13646
13647         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
13648
13649         * gutter.c (output_gutter): don't output the gutter if extent
13650         changes only involve extents in buffers. use 4 sets of display
13651         lines.
13652         (gutter_extent_signal_changed_region_maybe): new function. Mark
13653         extents in gutters as changed.
13654         (update_frame_gutters): use 4 sets of display lines.
13655         (reset_gutter_display_lines): ditto.
13656         (free_frame_gutters): ditto.
13657         (redraw_exposed_gutter): force output of gutters.
13658
13659         * frame.h (struct frame): add 4 sets of gutter display lines.
13660
13661         * extents.c: (extent_changed_for_redisplay): signal changes to
13662         extents in strings in the gutter as well as extents in buffers.
13663
13664 2000-03-02  Andy Piper  <andy@xemacs.org>
13665
13666         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
13667
13668         * frame.c (Fmake_frame): make sure the gutters get initialized
13669         after the frame is visible.
13670         (set_frame_selected_window): re-arrange compilation macros a
13671         little.
13672         (change_frame_size_1): mark gutters changed.
13673
13674         * device.c (Fset_device_class): mark gutters changed.
13675
13676 2000-03-01  Andy Piper  <andy@xemacs.org>
13677
13678         * window.c (window_top_frame_gutter_height): deleted.
13679         (window_bottom_frame_gutter_height): ditto.
13680         (window_left_frame_gutter_height): ditto.
13681         (window_right_frame_gutter_height): ditto.
13682         (window_top_gutter_height): don't use them.
13683         (window_bottom_gutter_height): ditto.
13684         (window_left_gutter_width): ditto.
13685         (window_right_gutter_width): ditto.
13686         (Fsplit_window): ditto.
13687         (Fwindow_pixel_edges): don't use border dimensions here.
13688
13689         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
13690         (update_scrollbar_instance): ditto.
13691
13692         * redisplay.c (generate_modeline): don't take gutters into account.
13693         (generate_modeline): ditto.
13694         (redisplay_frame): small gutter display optimization.
13695
13696         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
13697
13698         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
13699         gutters into account.
13700
13701         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
13702         for window position and type.
13703
13704         * gutter.c (get_gutter_coords): fix for frame gutters.
13705         (update_frame_gutters): update frame geometry if the gutters have
13706         changed.
13707         (init_frame_gutters): record current gutter geometries.
13708
13709         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
13710         var.
13711         (mswindows_widget_instantiate): ditto.
13712
13713         * frame.h (struct frame): add current_gutter_bounds.
13714
13715         * frame.c (change_frame_size_1): position window and minibuffer
13716         appropriately taking into account the frame gutters.
13717
13718         * frame-x.c: (x_initialize_frame_size): take into account the
13719         frame gutters.
13720
13721 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13722
13723         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
13724
13725 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13726
13727         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
13728
13729 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13730
13731         * file-coding.c (reset_decoding_stream): Clear previous
13732         detection state when autodetect.
13733
13734 2000-02-29  Didier Verna  <didier@xemacs.org>
13735
13736         * extents.c (set_extent_glyph_1): don't require extents to be
13737         attached.
13738
13739 2000-02-27  Andy Piper  <andy@xemacs.org>
13740
13741         * gutter.c (Fset_default_gutter_position): don't default left and
13742         right gutter visibility to t.
13743         (Fset_default_gutter_position): run
13744         default-gutter-position-changed-hook.
13745         (syms_of_gutter): add default-gutter-position-changed-hook.
13746
13747 2000-02-26  Andy Piper  <andy@xemacs.org>
13748
13749         * specifier.c (Fmake_specifier): add gutter references.
13750
13751         * gutter.h (RAW_WINDOW_GUTTER): new macro.
13752
13753         * lisp.h: declare Fvalid_plist_p.
13754
13755         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
13756         as changed.
13757         (default_gutter_visible_p_changed_in_window): invalidate gutter as
13758         well as its visibility so that it gets reconstructed.
13759         (construct_window_gutter_spec): new function. Construct a string
13760         to be displayed in the gutter from a plist of strings. Take care
13761         to only use elements that are declared as visible.
13762         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
13763         WINDOW_GUTTER.
13764         (gutter_validate): allow plists of strings in the specifier.
13765         (gutter_specs_changed): construct the real_gutter from the gutter
13766         specs using construct_window_gutter_spec.
13767         (gutter_visible_validate): gutter-visible is a new specifier type.
13768         (Fgutter_visible_specifier_p): new function for the new specifier.
13769         (syms_of_gutter): declare gutter-visible and
13770         Fgutter_visible_specifier_p.
13771         (specifier_type_create_gutter): intitalize new gutter-visible
13772         specifier.
13773         (reinit_specifier_type_create_gutter): ditto.
13774         (specifier_vars_of_gutter): use new specifier type for gutter
13775         visibility.
13776         (init_frame_gutters): construct real_gutter correctly.
13777         (Fgutter_specifier_p): beef up documentation.
13778         (Fgutter_size_specifier_p): ditto.
13779
13780         * winslots.h: add real_gutter slots.
13781
13782 2000-02-25  Andy Piper  <andy@xemacs.org>
13783
13784         * device-msw.c: Be kind to older cygwin versions. From Raymond
13785         Toy <toy@rtp.ericsson.se>.
13786
13787         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
13788         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
13789
13790 2000-02-25  Martin Buchholz  <martin@xemacs.org>
13791
13792         * elhash.c (MARK_OBJ): Practice macro hygiene.
13793
13794 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13795
13796         * miscplay.c: s/__inline__/inline/g;
13797         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
13798         (get_device_compdc): INLINE ==> static inline
13799         * *.[ch]: Change INLINE to INLINE_HEADER globally.
13800         find -name '*.h' | \
13801         xargs global-replace \
13802         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
13803
13804 2000-02-25  Andy Piper  <andy@xemacs.org>
13805
13806         * window.c (window_top_frame_gutter_height): new function.
13807         (window_top_window_gutter_height): ditto.
13808         (window_top_gutter_height): use them.
13809         (window_bottom_frame_gutter_height): new function.
13810         (window_bottom_window_gutter_height): ditto.
13811         (window_bottom_gutter_height): use them.
13812         (window_left_window_gutter_width): new function.
13813         (window_left_frame_gutter_width): ditto.
13814         (window_left_gutter_width): use them.
13815         (window_right_window_gutter_width): new function.
13816         (window_right_frame_gutter_width): ditto.
13817         (window_right_gutter_width): use them.
13818         (window_pixel_height): new function. calulate window pixel height
13819         with frame gutter involvement.
13820         (Fsplit_window): calculate new sizes taking frame gutters into
13821         account.
13822         (window_char_height_to_pixel_height): don't include frame gutters.
13823         (window_char_height): use window_pixel_height.
13824         (window_pixheight): rename from window_pixel_height.
13825         (change_window_height): use it.
13826         (window_pixel_height_to_char_height): don't include frame gutters.
13827         (window_char_width_to_pixel_width): ditto.
13828
13829 2000-02-25  Andy Piper  <andy@xemacs.org>
13830
13831         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
13832         if it is.
13833
13834 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13835
13836         * alloc.c (staticpro):
13837         (staticpro_nodump):
13838         (dumpstruct):
13839         (dumpopaque):
13840         (pdump_wire):
13841         (pdump_wire_list):
13842         (compact_string_chars):
13843         (pdump_dump_wired):
13844         Convert:  if (foo) abort();  ==>  assert (! foo);
13845
13846         * eldap.c (Fldap_search_basic):
13847         (Fldap_add):
13848         (Fldap_modify):
13849         (Fldap_delete):
13850         Fix compiler warnings, and possible crashes if (random) return
13851         value were to be used.
13852
13853 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13854
13855         * device-msw.c: Workaround ResetDC failure.
13856
13857         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
13858         applying a devmode.
13859
13860         * redisplay-msw.c (get_frame_dc): Added start_page_p.
13861         (mswindows_text_width): Do not start printer page.
13862
13863         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
13864
13865         * glyphs-msw.c: Added image methods to msprinter console and
13866         msprinter-specific image instantiation.
13867
13868 2000-02-20  Mike Alexander  <mta@arbortext.com>
13869
13870         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
13871         to avoid crashes when selection-sets-clipboard is on
13872         (mswindows_own_selection): ditto
13873
13874 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13875
13876         * glyphs-msw.c:
13877         * redisplay-msw.c (get_frame_dc):
13878         (get_frame_compdc):
13879         * console-msw.h:
13880         * device-msw.c (mswindows_init_device):
13881         (mswindows_delete_device):
13882         (msprinter_init_device):
13883         (msprinter_delete_device):
13884         * frame-msw.c (mswindows_init_frame_1):
13885         (mswindows_delete_frame):
13886         (msprinter_init_frame_3):
13887         (msprinter_delete_frame): Move compatible DC to device object from
13888         frame object, for both mswindows and msprinter. Only one at a time
13889         is needed, it is a real waste to have one per frame!
13890
13891 2000-02-23  Andy Piper  <andy@xemacs.org>
13892
13893         * glyphs.c: add dynamic width and height elements.
13894         (image_instance_equal): ditto.
13895
13896         * glyphs-widget.c (widget_query_geometry): calculate width and
13897         height dynamically if required.
13898         (initialize_widget_image_instance): initialize dynamic dimensions.
13899         (widget_instantiate): pick-up dynamic dimensions.
13900
13901         * glyphs.h (struct Lisp_Image_Instance): add width and height for
13902         dynamic determination. Add appropriate macros.
13903
13904         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
13905         dimensions safe.
13906         (WINDOW_GUTTER_SIZE): ditto.
13907         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
13908
13909         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
13910         inline.
13911         (get_frame_dc): ditto.
13912
13913         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
13914         here.
13915
13916 2000-02-23  Martin Buchholz <martin@xemacs.org>
13917
13918         * XEmacs 21.2.31 is released.
13919
13920 2000-02-22  Ben Wing <ben@xemacs.org>
13921
13922         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
13923
13924 2000-02-22  Andy Piper  <andy@xemacs.org>
13925
13926         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
13927
13928 2000-02-21  Mike Sperber <mike@xemacs.org>
13929
13930         * .dbxrc:
13931         * .gdbinit:
13932         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
13933         variables.
13934
13935 2000-02-21  Mike Sperber <mike@xemacs.org>
13936
13937         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
13938
13939 2000-02-21  Martin Buchholz <martin@xemacs.org>
13940
13941         * XEmacs 21.2.30 is released.
13942
13943 2000-02-20  Martin Buchholz  <martin@xemacs.org>
13944
13945         Performance hacking.
13946         * *.c (syms_of_*):
13947         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
13948         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
13949         * emacs.c (main_1):
13950         * lisp.h (DEFUN):
13951         * console.c (DEFVAR_CONSOLE_LOCAL_1):
13952         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
13953         * symeval.h (DEFVAR_SYMVAL_FWD):
13954         * symbols.c (guts_of_unbound_marker):
13955         Make all c_readonly objects also lisp_readonly and marked for life.
13956         * lrecord.h (struct lrecord_implementation):
13957         Document flags better.
13958         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
13959         * lrecord.h (DECLARE_LRECORD):
13960         * lrecord.h (XSETRECORD):
13961         * lrecord.h (RECORDP):
13962         * lrecord.h (RECORD_TYPEP):
13963         * lrecord.h (RECORD_MARKER): New.
13964         * lrecord.h (error_check_*):
13965         * lrecord.h (CONCHECK_NONRECORD):
13966         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
13967         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
13968         * lrecord.h (set_lheader_implementation):
13969         * lrecord.h (enum lrecord_type): New.
13970         * symeval.h (SYMBOL_VALUE_MAGIC_P):
13971         * alloc.c (disksave_object_finalization_1):
13972         * alloc.c (mark_object):
13973         * alloc.c (lrecord_type_index):
13974         * alloc.c (tick_lcrecord_stats):
13975         * alloc.c (Fgarbage_collect):
13976         * alloc.c (init_alloc_once_early):
13977         * alloc.c (pdump_load):
13978         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
13979         * alloc.c (lrecord_type_index): Delete.
13980         Make lisp object type indexes be constant.
13981           Makes (byte-compile) 5% faster.
13982         Put all marker functions into their own array.
13983           Makes (garbage-collect) 5% faster.
13984         Optimize SYMBOL_VALUE_MAGIC_P.
13985           Makes (byte-compile) 2-3% faster.
13986         * config.h.in (gc_checking_assert): New.
13987         * alloc.c: Use gc_checking_assert().
13988         * .dbxrc: Make compatible with new object type implementation.
13989         * .gdbinit: Make compatible with new object type implementation.
13990         * alloc.c: Delete all symbols defined only for debugging, such as
13991         Lisp_Type_Vector and lrecord_charset.
13992
13993 2000-02-21  Andy Piper  <andy@xemacs.org>
13994
13995         * gui-msw.c (Fmswindows_shell_execute): fix file location
13996         problems.
13997
13998         * buffer.c (Fkill_buffer): remove buffer from alist buffer
13999         unshowing so that set_window_buffer doesn't undo
14000         kill_buffer_hook's hard work.
14001
14002         * glyphs-widget.c (tab_control_query_geometry): don't count the
14003         first item when calculating geometry.
14004
14005         * glyphs.c (map_subwindow): remove redundant code.
14006         (update_frame_subwindows): be more circumspect about when to
14007         update subwindows.
14008
14009         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14010         when items haven't changed. Update faces if faces have changed as
14011         well as just the widget face.
14012         (x_tab_control_update): Update faces if faces have changed as well
14013         as just the widget face.
14014
14015 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14016
14017         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14018         registration.
14019         (build_syscolor_string): Use mswindows_color_to_string to try to
14020         get a named color.
14021         (mswindows_device_system_metrics): Reverse the foreground and
14022         background colors so that they match the documentation.
14023
14024         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14025         they match the default Windows palette.
14026         (mswindows_color_to_string): New function.
14027
14028 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14029
14030         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14031
14032 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14033
14034         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14035         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14036
14037         * symbols.c (init_symbols_once_early): Removed obsolete
14038         DATA_SEG_BITS related kludge.
14039         (defvar_magic): Ditto.
14040
14041         * malloc.c: Removed obsolete DATA_SEG_BITS
14042         * ralloc.c: Ditto.
14043         * mem-limits.h: Ditto.
14044
14045         * Makefile.in.in: Removed obsolete HAVE_SHM
14046         * emacs.c: Ditto.
14047
14048 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14049
14050         *  device-msw.c (mswindows_delete_device): Free DDE string
14051         handles.
14052
14053 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14054
14055         * keymap.c (get_keyelt):
14056         * unexnt.c (unexec):
14057         * vm-limit.c (memory_warnings):
14058         * ntheap.c (recreate_heap):
14059         * ntheap.h (UNINIT_PTR):
14060         * select-msw.c (Fmswindows_get_clipboard):
14061         (Fmswindows_set_clipboard):
14062         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14063         * objects-msw.c:
14064         * menubar-msw.c (displayable_menu_item):
14065         * glyphs-msw.c:
14066         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14067         * sysdep.c (sys_subshell):
14068         * process-nt.c (nt_create_process):
14069         * nt.c (normalize_filename):
14070         (dostounix_filename):
14071         (unixtodos_filename):
14072         * ntproc.c (win32_executable_type):
14073         * ntplay.c (play_sound_data_1):
14074         (play_sound_file):
14075         * editfns.c (get_home_directory):
14076         * event-msw.c (struct winsock_stream):
14077         (mswindows_dde_callback):
14078         * device-msw.c (msprinter_init_device):
14079         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14080
14081         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14082         mswindows_clear_toolbar were swapped!
14083
14084         * objects-msw.c:(colormap_t):
14085         (fontmap_t):
14086         * emacs.c (struct standard_args): Fixed const jumble.
14087
14088         * glyphs-widget.c (update_widget): Fixed comparison notation.
14089
14090         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14091
14092         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14093         __declspec(noreturn) syntax.
14094
14095 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14096
14097         * eldap.c (Fldap_open):
14098         (Fldap_search_basic):
14099         (Fldap_add):
14100         (Fldap_modify):
14101         Use new coding system conversion macros.
14102
14103 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14104
14105         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14106
14107 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14108
14109         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14110         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14111
14112         * eldap.c (Qadd, Qreplace): New constant symbols
14113         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14114         interruptions by XEmacs signals
14115         Remove unnecessary calls to slow_down_interrupts and
14116         speed_up_interrupts
14117         (Fldap_search_basic): Renamed from Fldap_search_internal
14118         Added new optional parameter VERBOSE that triggers the
14119         display of progress messages
14120         Remove unnecessary calls to slow_down_interrupts and
14121         speed_up_interrupts
14122         LDAP result code analysis rewritten
14123         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14124         (syms_of_eldap): Define the new symbols and functions
14125
14126
14127 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14128
14129         * realpath.c: Determine PATH_MAX maximally portably.
14130
14131         * insdel.c (bytecount_to_charcount): Optimize.
14132         The function used to be optimized for entirely ASCII sequences.
14133         Now it is optimized for successive characters from the same
14134         charset.  This also wins big for _mostly_ ASCII sequences.
14135
14136         * fileio.c (Ffile_truename): convert return from realpath() using
14137         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14138         - Rewrite GCPROing slightly.
14139
14140         * sysdep.c (sys_open): Do filename conversion, like all other
14141         sys_* functions.  Fixes bug:
14142         (let ((file-name-coding-system 'iso-8859-2))
14143            (write-region x y latin2-name))
14144         ==> writes filename using internal encoding.
14145
14146 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14147
14148         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14149         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14150         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14151         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14152         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14153         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14154         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14155         (CONST_IF_NOT_DEBUG): Delete.
14156         * alloc.c (this_one_is_unmarkable): Delete.
14157         (mark_object): Don't check for this_one_is_unmarkable. Use the
14158         c_readonly flag instead.
14159         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14160
14161 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14162
14163         * event-msw.c (mswindows_drain_windows_queue):
14164         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14165         away redundant repaint events.
14166
14167 2000-02-17  Andy Piper  <andy@xemacs.org>
14168
14169         * redisplay.h: declare mark_redisplay_structs.
14170
14171         * redisplay.c (redisplay_window):
14172         (redisplay_frame): don't check subwindows_state_changed.
14173         (mark_redisplay): mark gutters here.
14174
14175         * glyphs.c: (instantiate_image_instantiator): always layout if we
14176         haven't done so already.
14177         (allocate_image_instance): don't mark as dirty.
14178         (update_subwindow): bind inhibit_quit.
14179
14180         * gutter.c (mark_gutters): new function.
14181
14182         * glyphs-x.c (x_update_widget): Always resize to get round a
14183         widget bug.
14184
14185         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14186         breaking absolutely everything.
14187
14188         * gutter.h: declare mark_gutters.
14189
14190 2000-02-16  Martin Buchholz <martin@xemacs.org>
14191
14192         * XEmacs 21.2.29 is released.
14193
14194 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14195
14196         * fns.c (size_bit_vector): Fix computation of the size.
14197
14198 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14199
14200         * *.[ch]: Change CONST to const globally.
14201         find -name '*.[ch]' | \
14202         xargs global-replace \
14203         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
14204         - Remove vestigial references to CONST_IS_LOSING
14205
14206 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14207
14208         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
14209         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
14210         events instead of dispatching them directly.
14211         (mswindows_handle_paint): New function to do repainting.
14212         (mswindows_wnd_proc):
14213         (emacs_mswindows_handle_magic_event): Call above function.
14214
14215 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14216
14217         * objects-msw.c (mswindows_create_font_variant): Return the new
14218         font handle.
14219         (initialize_font_instance): Get font metrics from the underlined
14220         variant of the font to cope with the case where the underlined
14221         font has a bigger descent.
14222
14223 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14224
14225         * gui.c (gui_item_accelerator): Return the first underlined
14226         character in item name.
14227
14228 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14229
14230         * lisp.h: Added Qprinter.
14231
14232         * general.c (syms_of_general): Initialized it.
14233
14234         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
14235         (get_frame_dc):
14236         (get_frame_compdc): Made inline.
14237
14238         * console.h (struct console_methods): Added eject_page method.
14239
14240         * frame.h: Added FRAME_DISPLAY_P and friends.
14241         Aligned backslahes in many macros in more readable fashion.
14242         Added page_number to struct frame, and an accessor macro
14243         for it.
14244
14245         * defice.h: Added DEVICE_DISPLAY_P and friends.
14246
14247         * device.c (Fdevice_printer_p): Used these.
14248
14249         * frame.c (allocate_frame_core): Initialize page number.
14250         (Fprint_job_page_number):
14251         (Fprint_job_eject_page): Implemented.
14252
14253         * frame-msw.c (msprinter_eject_page): Added method.
14254         (msprinter_start_page): Added.
14255
14256         * window.c (Fwindow_truncated_p): Fixed docstring.
14257         (Fwindow_last_line_visible_height): Implemented.
14258
14259 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14260
14261         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
14262
14263 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14264
14265         * syntax.c (scan_words): Always advance at least one character.
14266
14267 2000-02-13  Andy Piper  <andy@xemacs.org>
14268
14269         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
14270         to make sure the glyph is in the cachels.
14271
14272         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
14273         global image instance flag.
14274         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
14275         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
14276
14277         * glyphs.c (allocate_image_instance): set dirty bits correctly.
14278         (Fset_image_instance_property): mark layout as changed.
14279         (invalidate_glyph_geometry_maybe): mark layout as changed.
14280         (glyph_width): use new NEEDS_LAYOUT macro.
14281         (glyph_ascent): ditto.
14282         (glyph_descent): ditto.
14283         (glyph_height): ditto.
14284         (image_instance_layout): mark layout as clean after laying out.
14285         (update_subwindow): don't mark layout as clean here.
14286
14287         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
14288         should no longer be needed.
14289
14290         * glyphs-x.c (x_update_widget): sanitize asserts.
14291         (x_finalize_image_instance): sanitize assignment to widgets.
14292
14293         * glyphs-widget.c (widget_instantiate): don't need to clear the
14294         layout flag here.
14295
14296 2000-02-13  Martin Buchholz  <martin@xemacs.org>
14297
14298         * sysdep.c (getcwd): Use standard prototype.
14299         * sysdep.h (getcwd): Use standard prototype.
14300
14301         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
14302         (sequence, start, end).
14303         Remove redundant type checking.
14304         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
14305         view of `caller-protects') to avoid a crash where the real fix was
14306         found elsewhere.
14307
14308 2000-02-12  Martin Buchholz  <martin@xemacs.org>
14309
14310         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
14311
14312         * s/sol2.h: Remove feature macro initialization.
14313
14314         * alloc.c (alloc_lcrecord): Add more type checking assertions.
14315         (vector_hash): New.  Code from internal_hash.
14316         * lrecord.h:
14317         Fix up allocation subsystem comments.
14318
14319         * config.h.in: Add __EXTENSIONS__ for Solaris.
14320
14321         * systime.h (EMACS_GETTIMEOFDAY): New.
14322         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
14323         Remove Solaris-specific code.
14324         Use void* for the (ignored) second arg for gettimeofday().
14325
14326         * elhash.c (hash_table_hash): Implement it, finally.
14327         * elhash.c:  Use hashcode_t.
14328
14329         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
14330         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
14331
14332         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
14333         * fns.c (size_bit_vector):
14334         * alloc.c (size_vector):
14335         (make_vector_internal):
14336         (make_bit_vector_internal):
14337         (sweep_bit_vectors_1):
14338         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
14339
14340 2000-02-10  Martin Buchholz  <martin@xemacs.org>
14341
14342         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
14343         Include strings.h to avoid warnings for bzero and strcasecmp.
14344
14345 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14346
14347         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
14348         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
14349
14350         * fns.c (size_bit_vector): New.  Declare bit vectors as a
14351         sequence.
14352
14353 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14354
14355         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
14356         use a value field instead.
14357         (symbol_value_forward_forward): Use value field.
14358         (DEFVAR_SYMVAL_FWD): Use value field.
14359         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
14360         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
14361         (DEFVAR_CONST_INT): Ditto.
14362         (DEFVAR_BOOL): Ditto.
14363         (DEFVAR_CONST_BOOL): Ditto.
14364         (DEFVAR_INT_MAGIC): Ditto.
14365         (DEFVAR_BOOL_MAGIC): Ditto.
14366
14367         * symbols.c (guts_of_unbound_marker): Use value field.
14368         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
14369         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
14370
14371         * lisp.h: Declare dumpopaque and noninteractive1.
14372
14373         * alloc.c (dumpopaque): Added.
14374         (pdump_dump_opaquevec): Added.
14375         (pdump): Call pdump_dump_opaquevec to dump opaque data.
14376         (pdump_load): Reload opaque data.  Sync noninteractive1 with
14377         noninteractive.
14378
14379 2000-02-10  Andy Piper  <andy@xemacs.org>
14380
14381         * glyphs.c (image_instance_layout): if the size changes, mark it
14382         as such.
14383
14384         * redisplay-output.c (redisplay_output_layout): Update the
14385         subwindow here.
14386         (redisplay_output_subwindow): ditto.
14387
14388         * glyphs.c (update_subwindow): make sure we reset flags for
14389         layouts as well as everything else.
14390
14391         * glyphs-widget.c (layout_layout): don't need to set the instances
14392         dimensions here.
14393
14394 2000-02-09  Martin Buchholz  <martin@xemacs.org>
14395
14396         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
14397         not HAVE_DLOPEN, which is a lower-level thing.
14398
14399         * .cvsignore: Ignore gmon.out
14400
14401 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
14402
14403         * .cvsignore: Ignore portable dumper xemacs.dmp file
14404
14405 2000-02-09  Andy Piper  <andy@xemacs.org>
14406
14407         * redisplay-output.c (redisplay_output_layout): be more clever
14408         about when we output based on the changed flags.
14409
14410         * glyphs.h (struct image_instantiator_methods): add update_method.
14411         (struct Lisp_Image_Instance): add changed flags. Declare new
14412         macros for manipulating them.
14413
14414         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
14415         (image_instance_parent_glyph): find an image_instance's parent
14416         glyph or image_instance.
14417         (image_instance_layout): mark the size as changed.
14418         (set_image_instance_dirty_p): new function. mark an image
14419         instance, plus all of its parents, as dirty.
14420         (Fset_image_instance_property): use it.
14421         (Fglyph_animated_timeout_handler): use it.
14422         (update_subwindow): call update_widget and device methods for
14423         update_subwindow. Mark all changed flags as clean.
14424         (Fresize_subwindow): mark size as changed.
14425
14426         * glyphs-x.c (x_finalize_image_instance): try and detect gc
14427         failures.
14428         (x_update_subwindow): only resize subwindows here.
14429         (x_update_widget): new function. Update all changed properties of
14430         a widget.
14431         (x_resize_subwindow): deleted.
14432         (x_widget_set_property): deleted.
14433         (x_progress_gauge_set_property): deleted.
14434         (x_progress_gauge_update): new function. Implement recorded
14435         changes.
14436         (x_tab_control_update): ditto.
14437         (x_tab_control_set_property): deleted.
14438         (console_type_create_glyphs_x): declare new functions.
14439         (image_instantiator_format_create_glyphs_x): ditto.
14440
14441         * glyphs-widget.c (widget_set_property): mark text changed.
14442         (update_widget): new function. Update properties of a widget.
14443         (widget_instantiate): for layouts make sure we set their
14444         children's parent correctly.
14445         (tab_control_set_property): new function. Record changes that will
14446         take place under redisplay's control.
14447         (progress_gauge_set_property): ditto.
14448         (image_instantiator_progress_guage): declare new functions.
14449         (image_instantiator_tab_control): ditto.
14450
14451         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
14452         now.
14453         (mswindows_update_widget): new function. Update all properties on
14454         a widget that have changed.
14455         (mswindows_button_update): new function. Update a button's set
14456         state.
14457         (mswindows_tab_control_update): new function. Update the items in
14458         a tab.
14459         (mswindows_tab_control_set_property): deleted.
14460         (mswindows_progress_gauge_update): new function. Update the
14461         progress gauge's progress.
14462         (mswindows_widget_set_property): deleted. This is all done
14463         asynchronously now.
14464         (mswindows_progress_gauge_set_property): ditto.
14465         (console_type_create_glyphs_mswindows): declare new methods.
14466         (image_instantiator_format_create_glyphs_mswindows): ditto.
14467
14468         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
14469         (msprinter_set_frame_properties): ditto.
14470
14471         * console.h (struct console_methods): Add update_widget_method.
14472
14473 2000-02-09  Andy Piper  <andy@xemacs.org>
14474
14475         * gui-msw.c (Fmswindows_shell_execute): Make
14476         mswindows-shell-execute industrial strength.
14477
14478 2000-02-08  Martin Buchholz  <martin@xemacs.org>
14479
14480         * lrecord.h: Make macro argument `props' match member function `plist'.
14481         * fns.c (Fget):
14482         * fns.c (Fput):
14483         * fns.c (Fremprop):
14484         * fns.c (Fobject_plist):
14485         * alloc.c:
14486         * symbols.c:
14487         Object property list frobbing cleanup.
14488         - Allow any lisp object (compared with `eq'), not just symbols, as
14489           keys in object plists.
14490         - Move symbol plist frobbing into symbols.c, where it belongs.
14491         - Move string plist frobbing into alloc.c, where it belongs.
14492         - Everything's an lrecord now, so no need to test for symbolp, etc.
14493         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
14494
14495         * extents.c: Reorder code to remove declarations.
14496
14497         * frame.h (store_in_alist): Remove useless declaration.
14498
14499 2000-02-07  Martin Buchholz  <martin@xemacs.org>
14500
14501         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
14502         * config.h.in: Add HAVE_XCONVERTCASE.
14503
14504 2000-02-07  Andy Piper  <andy@xemacs.org>
14505
14506         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
14507         it breaks many things.
14508
14509 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14510
14511         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
14512         actually can start a common comment type.
14513         * src/syntax.h (SYNTAX_END_P): ditto for end.
14514
14515 2000-02-07  Martin Buchholz <martin@xemacs.org>
14516
14517         * XEmacs 21.2.28 is released.
14518
14519 2000-02-06  Martin Buchholz  <martin@xemacs.org>
14520
14521         * event-Xt.c (x_keysym_to_character): New.
14522         (maybe_define_x_key_as_self_inserting_character): New.
14523         (x_has_keysym): New.
14524         Auto-define all keys on the keyboard as self-insert-key.
14525
14526 2000-02-02  Martin Buchholz  <martin@xemacs.org>
14527
14528         * menubar.c (vars_of_menubar): A small code simplification.
14529
14530         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
14531
14532         * ExternalShell.c:
14533         * ExternalClient.c:
14534         * EmacsShell-sub.c:
14535         * EmacsManager.c:
14536         * EmacsFrame.c:
14537         Use consistent style for specifying X resources.
14538
14539         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
14540         This makes (dontusethis-set-symbol-value-handler) actually usable.
14541
14542         * lrecord.h (lrecord_decription_type):
14543         * alloc.c (pdump_register_sub):
14544         (pdump_dump_data):
14545         (pdump_reloc_one):
14546         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
14547         Comply with XEmacs coding style.
14548         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
14549         args, and XD_LISP_OBJECT_ARRAY with 3 args.
14550
14551         * keymap.c (Faccessible_keymaps):
14552         Make (accessible-keymaps map "\C-h") do the Right Thing.
14553         Make (accessible-keymaps map []) do the Right Thing.
14554         Make (accessible-keymaps map "") do the Right Thing.
14555         (check_keymap_definition_loop): New function.
14556         (keymap_store_internal): Keep luser from shooting self in foot,
14557           via (define-key ctl-x-4-map "p" global-map).
14558         Remove fullness slot from struct Lisp_Keymap, since hash tables
14559         are now reliable.
14560         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
14561
14562 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14563
14564         * redisplay.c (init_redisplay): Fix small memory leak.
14565         * elhash.h:
14566         * elhash.c (pdump_reorganize_hash_table):
14567         Rename from reorganize_hash_table. Change prototype.
14568         Reuse the original memory for hentries.  Save 100k.
14569         * alloc.c (PDUMP_READ): new macro.
14570         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
14571         * alloc.c: No need to #ifndef before #undef.
14572
14573         * print.c: Allow debug_print() to print readably by modifying
14574         debug_print_readably.  Use consistent variable names.
14575
14576         * .dbxrc: Try to get things to work even if stopped in a function
14577         without source available by explicitly specifying source files.
14578 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14579
14580         * unexnt.c (_start): Removed bogus code which caused loading heap
14581         from differrent executable file.
14582         Removed bogus assignment to _fmode, which caused inconsistencies.
14583
14584 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14585
14586         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
14587         Have spawnve encapsulation regard DONT_ENCAPSULATE.
14588         Do not preliminary `#define signal sigset'.
14589
14590         * systime.h: Do not prototype environ on windows nt and cygwin,
14591         this conflicts with system header.
14592
14593         * syssignal.h: Use correct define for WINDOWSNT
14594
14595         * sysdep.h: Do not prototype environ on windows nt, this conflicts
14596         with system header.
14597
14598         * sysdep.c (near start of file): Fixed commentary and rearranged
14599         ifdefs in readable order.
14600         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
14601         (start_of_text):
14602         (end_of_text):
14603         (end_of_data): Do not compile in if using PDUMP.
14604
14605         * symsinit.h: Prototyped vars_of_nt().
14606
14607         * ntproc.c (windows9x_p): Added, instead of os_subtype.
14608         (find_child_console): Use it.
14609         (sys_kill): Use it.
14610
14611         * ntheap.h: Do not extern os_subtype.
14612
14613         * ntheap.c (cache_system_info): Do not cache unneeded:
14614         nt_major_version, nt_minor_version and os_subtype.
14615         (recreate_heap): Do not compile in when PDUMPing.
14616
14617         * nt.c (geteuid and friends): Use the new varibale
14618         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
14619         (init_user_info): Removed the above mentioned hackery.
14620         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
14621         stat has been fixed in the C runtime.
14622         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
14623
14624         * file-coding.c (struct file_coding_dump): Do not define
14625         ucs_to_mule_table in the struct if not MULE.
14626         (struct struct lrecord_description fcd_description_1): Do not dump
14627         the above.
14628
14629         * emacs.c (main_1): Call vars_of_nt().
14630         (right before Fdump_emacs_data): Don't need lastfile if using both
14631         portabe dumper and system malloc.
14632
14633         * alloc.c (Fmemory_limit): Conditionalized out.
14634         (pdump): Use OPEN_BINARY for the portable dump file.
14635         (pdump_load): Ditto.
14636
14637 2000-02-02  Mike Alexander  <mta@arbortext.com>
14638
14639         * nt.c (convert_time): Set tm_isdst before calling mktime and
14640         avoid calling it at all if the compiler supports 64 bit integers.
14641         Also initialize utc_base_ft before using it.
14642
14643 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14644
14645         * frame.c (change_frame_size_1): Take f->internal_border_width
14646         into consideration when calculating the width of the frame.
14647
14648 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14649
14650         * window.c (frame_min_height):
14651         (frame_size_valid_p):
14652         (frame_pixsize_valid_p): Added.
14653         (check_frame_size): Generalized.
14654
14655         * window.h: Prototyped the above.
14656
14657         * lisp.h:
14658         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
14659         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
14660         Deleted Vwin32_* and Vbinary_process_* unused variables.
14661
14662         * device-msw.c (msprinter_init_device): Do not get printer font
14663         list; Added DEVMODE functions.
14664
14665         * frame-msw.c: Added lots of printer code.
14666
14667         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
14668         general.c.
14669
14670         * console-msw.h: Added more msprinter device private slots.
14671
14672 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14673
14674         * event-msw.c (key_needs_default_processing_p): Added.
14675         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
14676
14677 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14678
14679         * glyphs.c (image_instance_layout): Mark image instance as clean
14680         after layout.
14681         (glyph_dirty_p): Removed redundant function.
14682         (invalidate_glyph_geometry_maybe): Added.
14683         (update_glyph_cachel_data): Call it.
14684
14685         * glyphs.h: Prototyped it.
14686
14687         * redisplay.c (add_glyph_rune): Call it.
14688         (redisplay_window): Reset glyphs cachels when frame faces have
14689         changed, thus forcing recomputation of built-in border glyphs.
14690
14691 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14692
14693         * Makefile.in.in: Make portable dumper and purify play well together.
14694         Add imperfect, but better than nothing, support for pdump.
14695         Remove xemacs.dmp when temacs is re-generated.
14696         Don't ignore errors when dumping xemacs.
14697
14698         * symbols.c (maybe_call_magic_handler): Remove one magic number.
14699
14700 2000-01-28  Andy Piper  <andy@xemacs.org>
14701
14702         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
14703         (setup_normal_frame): ditto.
14704         (setup_frame_without_minibuffer): ditto.
14705         (setup_minibuffer_frame): ditto.
14706         (delete_frame_internal): ditto.
14707         (Fmake_frame_invisible): ditto.
14708         (Ficonify_frame): ditto.
14709
14710         * window.h: change Fset_window_buffer signature.
14711
14712         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
14713         (Fset_window_buffer): allow recording of buffer if the window is
14714         the selected window.
14715         (window_loop): Use new Fset_window signature.
14716
14717 2000-01-23  Daniel Pittman  <daniel@danann.net>
14718
14719         * config.h.in: Added template for `HAVE_ATHENA_3D'
14720
14721 2000-01-29  Andy Piper  <andy@xemacs.org>
14722
14723         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
14724
14725         * gutter.c (output_gutter): Don't output if the window isn't live.
14726
14727 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14728
14729         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
14730         of 01/12/00: Moved SetFocus back here where it belongs.
14731
14732 2000-01-23  Andy Piper  <andy@xemacs.org>
14733
14734         * s/cygwin32.h: declare printer things.
14735
14736 2000-01-26  Andy Piper  <andy@xemacs.org>
14737
14738         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
14739         Alexander.
14740
14741 2000-01-24  Andy Piper  <andy@xemacs.org>
14742
14743         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
14744         (mswindows_button_instantiate): Make sure glyph is a pixmap.
14745
14746         * glyphs-widget.c (widget_instantiate): Avoid shadows.
14747
14748         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
14749
14750         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
14751
14752         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
14753         (mswindows_output_display_block): Avoid local shadows.
14754
14755         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
14756         (mswindows_enqueue_mouse_button_event): ditto.
14757         (mswindows_handle_gui_wm_command): remove declaration.
14758
14759         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
14760         warnings.
14761
14762         * console-msw.h: Avoid shadows.
14763         (mswindows_get_toolbar_button_text):
14764         (emacs_mswindows_create_stream_pair):
14765         (emacs_mswindows_delete_stream_pair):
14766         (mswindows_handle_toolbar_wm_command): declare.
14767
14768         * device-msw.c (build_syscolor_string): Avoid shadows.
14769
14770 2000-01-23  Andy Piper  <andy@xemacs.org>
14771
14772         * glyphs-widget.c (widget_instantiate): reverse the items for
14773         layouts so that children are in the expected order.
14774
14775 2000-01-28  Martin Buchholz  <martin@xemacs.org>
14776
14777         * ralloc.c: safe_bcopy ==> memmove
14778         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
14779         * s/msdos.h: Remove BCOPY macros.
14780         * insdel.c (gap_right): Remove BCOPY conditional code.
14781         * insdel.c (gap_left): Remove BCOPY conditional code.
14782         XEmacs demands a working ANSI C compiler - hence memmove.
14783
14784         * regex.c (regex_compile): Remove accidental use of trigraphs.
14785
14786 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14787
14788         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
14789         event timestamp.
14790
14791 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14792
14793         * event-msw.c (mswindows_drain_windows_queue): Added the
14794         parameter.
14795         (mswindows_need_event): Commented the call to
14796         mswindows_drain_windows_queue().
14797         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
14798         only.
14799
14800         * console-msw.h: Moved a few function prototypes here from
14801         event-msw.c.
14802
14803         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
14804         parameter from unsigned short to unsigned long.
14805         (Fmswindows_shell_execute): Added return value.
14806
14807 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14808
14809         * sysdep.c (init_system_name):
14810           process-unix.c (unix_canonicalized_host_name):
14811         Don't call freeaddrinfo() if getaddrinfo() fails.
14812
14813         * process-unix.c (unix_open_unix_network_stream):
14814         Moved the code to get a port # into address loop.
14815
14816 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14817
14818         * buffer.c (reinit_vars_of_buffer):
14819         The right place to initialize conversion_in_dynarr and
14820         conversion_out_dynarr.
14821
14822         * alloc.c (pdump): Use the real open() till sys_open() is functional.
14823
14824         * process-unix.c (unix_canonicalize_host_name): Muleize.
14825         (unix_open_network_stream): Muleize.
14826
14827         * buffer.h: Fix up prototypes for ralloc.c functions.
14828
14829 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14830         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
14831         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
14832                 instead of gethostbyname()
14833         * process-unix.c: In unix_canonicalize_host_name() and
14834                 unix_open_network_stream(), add code to use getaddrinfo()
14835                 instead of gethostbyname().
14836
14837 2000-01-27  Daniel Pittman <daniel@danann.net>
14838
14839         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
14840         libs when built with flat Athena.
14841
14842 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14843
14844         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
14845         Use coding standards for function prototypes.
14846
14847 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14848
14849         * dialog-msw.c (push_lisp_string_as_unicode):
14850         * doc.c (unparesseuxify_doc_string):
14851         * dired.c (Fuser_name_completion_1):
14852         * dired.c (Fuser_name_all_completions):
14853         * dired.c (free_user_cache):
14854         * dired.c (user_name_completion):
14855         * console-x.c (get_display_arg_connection):
14856         * minibuf.c (clear_echo_area_internal):
14857         * minibuf.c (echo_area_append):
14858         * eldap.c (Fldap_open):
14859         * eldap.c (Fldap_search_internal):
14860         * frame-x.c (x_set_frame_text_value):
14861         * frame-x.c (x_set_frame_properties):
14862         * frame-x.c (x_create_widgets):
14863         * redisplay-tty.c (term_get_fkeys_1):
14864         * objects-x.c (x_parse_nearest_color):
14865         * objects-x.c (x_valid_color_name_p):
14866         * objects-x.c (x_initialize_font_instance):
14867         * objects-x.c (x_list_fonts):
14868         * objects-x.c (x_find_charset_font):
14869         * tooltalk.c (Fadd_tooltalk_message_arg):
14870         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
14871         * tooltalk.c (Fadd_tooltalk_pattern_arg):
14872         * process-unix.c (unix_create_process):
14873         * ntproc.c (sys_spawnve):
14874         * sound.c (Fplay_sound_file):
14875         * sound.c (Fplay_sound):
14876         * buffer.c (init_initial_directory):
14877         * buffer.c (init_buffer):
14878         * editfns.c (init_editfns):
14879         * editfns.c (Ftemp_directory):
14880         * editfns.c (Fuser_full_name):
14881         * editfns.c (uncache_home_directory):
14882         * editfns.c (get_home_directory):
14883         * editfns.c (Fuser_home_directory):
14884         * editfns.c (Fformat_time_string):
14885         * editfns.c (Fcurrent_time_string):
14886         * gui-x.c (button_item_to_widget_value):
14887         * database.c (Fopen_database):
14888         * event-Xt.c (x_to_emacs_keysym):
14889         * event-Xt.c (x_event_to_emacs_event):
14890         * event-Xt.c (describe_event_window):
14891         * event-msw.c (mswindows_wnd_proc):
14892         * glyphs-eimage.c (jpeg_instantiate):
14893         * glyphs-eimage.c (gif_instantiate):
14894         * glyphs-eimage.c (png_instantiate):
14895         * glyphs-eimage.c (tiff_instantiate):
14896         * glyphs-x.c (xbm_instantiate_1):
14897         * glyphs-x.c (x_xbm_instantiate):
14898         * glyphs-x.c (x_xface_instantiate):
14899         * glyphs-x.c (autodetect_instantiate):
14900         * glyphs-x.c (cursor_font_instantiate):
14901         * glyphs-x.c (x_widget_instantiate):
14902         * glyphs-x.c (x_widget_set_property):
14903         * glyphs-x.c (x_widget_property):
14904         * glyphs-x.c (BUILD_GLYPH_INST):
14905         * print.c (write_string_to_stdio_stream):
14906         * print.c (output_string):
14907         * print.c (Falternate_debugging_output):
14908         * print.c (Fexternal_debugging_output):
14909         * glyphs-msw.c (extract_xpm_color_names):
14910         * glyphs-msw.c (mswindows_xpm_instantiate):
14911         * glyphs-msw.c (bmp_instantiate):
14912         * glyphs-msw.c (resource_name_to_resource):
14913         * glyphs-msw.c (mswindows_resource_instantiate):
14914         * glyphs-msw.c (xbm_instantiate_1):
14915         * glyphs-msw.c (mswindows_xbm_instantiate):
14916         * glyphs-msw.c (mswindows_xface_instantiate):
14917         * glyphs-msw.c (mswindows_widget_instantiate):
14918         * glyphs-msw.c (add_tree_item):
14919         * glyphs-msw.c (add_tab_item):
14920         * glyphs-msw.c (mswindows_combo_box_instantiate):
14921         * glyphs-msw.c (mswindows_widget_property):
14922         * glyphs-msw.c (mswindows_combo_box_property):
14923         * glyphs-msw.c (mswindows_widget_set_property):
14924         * console.c (stuff_buffered_input):
14925         * objects-msw.c (mswindows_initialize_color_instance):
14926         * objects-msw.c (mswindows_valid_color_name_p):
14927         * objects-msw.c (mswindows_list_fonts):
14928         * objects-msw.c (mswindows_font_instance_truename):
14929         * bytecode.c (optimize_compiled_function):
14930         * select-x.c (symbol_to_x_atom):
14931         * select-x.c (x_atom_to_symbol):
14932         * select-x.c (hack_motif_clipboard_selection):
14933         * select-x.c (selection_data_to_lisp_data):
14934         * select-x.c (lisp_data_to_selection_data):
14935         * select-x.c (Fx_get_cutbuffer_internal):
14936         * select-x.c (Fx_store_cutbuffer_internal):
14937         * buffer.h (TO_EXTERNAL_FORMAT): New function.
14938         * buffer.h (TO_INTERNAL_FORMAT): New function.
14939         * emacs.c (make_arg_list_1):
14940         * emacs.c (make_argc_argv):
14941         * emacs.c (main_1):
14942         * emacs.c (Fdump_emacs):
14943         * emacs.c (split_string_by_emchar_1):
14944         * file-coding.h:
14945         * lisp.h:
14946         * lstream.h:
14947         * symsinit.h:
14948         * device-x.c (x_init_device):
14949         * device-x.c (Fx_valid_keysym_name_p):
14950         * device-x.c (Fx_get_font_path):
14951         * device-x.c (Fx_set_font_path):
14952         * glyphs.c (bitmap_to_lisp_data):
14953         * glyphs.c (pixmap_to_lisp_data):
14954         * alloc.c (make_ext_string): Use coding system arguments.  Update
14955         all callers.
14956         * alloc.c (build_string):
14957         * callproc.c (child_setup):
14958         * callproc.c (init_callproc):
14959         * fileio.c (lisp_strerror):
14960         * fileio.c (directory_file_name):
14961         * fileio.c (Fexpand_file_name):
14962         * fileio.c (Ffile_truename):
14963         * fileio.c (Fsysnetunam):
14964         * fileio.c (Fdo_auto_save):
14965         * sysdep.c (sys_readdir):
14966         * tests.c: New file.  Allow adding C tests.
14967         Replace GET_* macros with a more comprehensible and flexible
14968         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
14969         Modify all calls.
14970         Any coding system can be used to do format conversion.
14971         Eliminate enum external_data_format.
14972         Eliminate convert_to_external_format.
14973         Eliminate convert_to_internal_format.
14974         Make sure file-name, keyboard, terminal, and ctext are always
14975         defined as coding systems or aliases.  Make
14976         file-name-coding-system, terminal-coding-system, and
14977         keyboard-coding-system magical variables that are equivalent to
14978         defining the corresponding coding system aliases.
14979
14980         * file-coding.c (Fcoding_system_canonical_name_p): New function.
14981         * file-coding.c (Fcoding_system_alias_p): New function.
14982         * file-coding.c (Fcoding_system_aliasee): New function.
14983         * file-coding.c (append_suffix_to_symbol): New function.
14984         * file-coding.c (dangling_coding_system_alias_p): New function.
14985         * file-coding.c (Ffind_coding_system):
14986         * file-coding.c (Fcopy_coding_system):
14987         * file-coding.c (encode_coding_no_conversion):
14988         * file-coding.c (syms_of_file_coding):
14989         * file-coding.c (vars_of_file_coding):
14990         Rewrite coding system alias code.
14991         Allow nested aliases, like symbolic links.
14992         Allow redefinition of coding system aliases.
14993         Prevent existence of dangling coding system aliases.
14994
14995         * dired.c (Fuser_name_completion_1):
14996         * dired.c (Fuser_name_all_completions):
14997         A crash would happen if user did QUIT in the middle of building
14998         user_name_cache.  Remove redundant code in mainline and unwind_protect.
14999
15000         * lisp.h:
15001         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15002
15003         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15004         an unsigned char *.  Update all callers.
15005
15006 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15007
15008         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15009
15010 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15011
15012         * elhash.c (hentry_description): Use more portable definition.
15013         (resize_hash_table): Initialize new hentries using
15014         xnew_array_and_zero, thereby simplifying the code.
15015
15016         * mule-charset.c (make_charset): Make sure entire object is
15017         initialized, to avoid Purify warnings.
15018
15019         * alloc.c (resize_string): Fix unlikely crash with big strings.
15020
15021 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15022
15023         * realpath.c (xrealpath):
15024         Don't call getwd().
15025
15026 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15027
15028         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15029
15030 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15031
15032         * unexelfsgi.c (unexec): Change the way we decide which segment
15033         should be extended.
15034
15035         Assumption that .bss section should be outside the PT_LOADable
15036         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15037         it's present) is inside the 'data' segment. This would fail the
15038         test which was used to find a segment to grow and cover new
15039         heap. Instead of this assumption, I created another one - on IRIX
15040         the segment to grow should start below .bss and it's address
15041         should extent above the end of .bss. Once this segment is
15042         identified, it's grown to accommodate the new heap and new
15043         zero-length .bss section is added at the end of .data2.
15044
15045 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15046
15047         * eval.c (Feval): Wrong number of arguments should use original
15048         function, not the indirect_function version of it.
15049
15050 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15051
15052         * glyphs-x.c (x_button_instantiate): Don't add image if
15053         it is not a pixmap.
15054         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15055         is relative.
15056
15057 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15058
15059         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15060         declaration.
15061         (DEFVAR_INT_MAGIC): Ditto.
15062         (DEFVAR_BOOL_MAGIC): Ditto.
15063         * glyphs.h: Reindent backslash.
15064
15065 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15066
15067         * glyphs-widget.c (layout_query_geometry):
15068         (layout_layout): Use correct types for gheight, gwidth.
15069
15070 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15071
15072         * EmacsManager.c (QueryGeometry): Purified.
15073
15074 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15075
15076         * alloc.c (make_float): Make sure entire object is initialized, to
15077         avoid Purify warnings.
15078         (pdump_register_sub): Remove useless assignment.
15079         (pdump): Use xmalloc, not malloc.
15080         (pdump_load): Use xmalloc, not malloc.
15081
15082 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15083
15084         * callproc.c:
15085         * dired-msw.c:
15086         * fileio.c:
15087         * process-nt.c:
15088         * redisplay-msw.c:
15089         * sysdep.c: Removed redundant #include <windows.h>
15090
15091 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15092
15093         * frame.c (delete_frame_internal): Do not delete device when its
15094         implementation so declares.
15095         (delete_frame_internal): Set device selected frame to nil when
15096         last frame goes away.
15097
15098         * device-msw.c (msprinter_device_system_metrics): Implemented.
15099         (mswindows_device_system_metrics): Added 'device-dpi property.
15100
15101         * device.c: (Fdevice_printer_p): Added.
15102         Added 'offset-workspace device metric.
15103
15104         * console.h (device_metrics): Declared DM_offset_workspace.
15105
15106 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15107
15108         * fileio.c (Ffile_truename): Remove pointless and confusing
15109         initialization of elen.
15110
15111         * glyphs-widget.c: Compiler warning fixes.
15112
15113 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15114
15115         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15116         instead of a Lisp_Object as argument to make it consistent with
15117         the other LIVE_P macros.
15118         (CHECK_LIVE_PROCESS): New macro.
15119
15120         * process.c: Declare Qprocess_live_p.
15121         (Fprocess_live_p): New function.
15122         (create_process): Use PROCESS_LIVE_P.
15123         (read_process_output): Ditto.
15124         (set_process_filter): Ditto.
15125         (Fdelete_process): Ditto.
15126         (kill_buffer_processes): Ditto
15127         (process_send_signal): Use CHECK_LIVE_PROCESS.
15128         (Fprocess_input_coding_system): Check whether process is still
15129         alive (fix PR#1061).
15130         (Fprocess_output_coding_system): Ditto.
15131         (Fprocess_coding_system): Ditto.
15132         (Fset_process_input_coding_system): Ditto.
15133         (Fset_process_output_coding_system): Ditto.
15134
15135 2000-01-23  Andy Piper  <andy@xemacs.org>
15136
15137         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15138         layout and widget.
15139
15140         * glyphs.c (mark_image_instance): take into account changed
15141         image_instance format.
15142         (image_instance_equal): ditto.
15143         (image_instance_hash): ditto.
15144
15145         * glyphs-widget.c (widget_instantiate): Incorporate layout
15146         instantiation here. Delay layout of the layout until later.
15147         (layout_instantiate): deleted.
15148         (layout_query_geometry): new function. get the geometry of a
15149         layout.
15150         (layout_layout): layout a layout dynamically.
15151         (image_instantiator_widget): New function - splitting up
15152         image_instantiator_format_create_glyphs_widget for netwinder
15153         compilation.
15154         (image_instantiator_buttons):
15155         (image_instantiator_edit_fields):
15156         (image_instantiator_combo_box):
15157         (image_instantiator_scrollbar):
15158         (image_instantiator_progress_guage):
15159         (image_instantiator_tree_view):
15160         (image_instantiator_tab_control):
15161         (image_instantiator_labels):
15162         (image_instantiator_layout): ditto.
15163         (image_instantiator_format_create_glyphs_widget): Call preceding
15164         functions.
15165
15166 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15167
15168         * process.c (Fset_process_coding_system):
15169         * device-x.c (Fx_keysym_hash_table):
15170         Docstring fixes.
15171
15172         * lstream.c (Lstream_write): Return documented value, not 0.
15173
15174         * fileio.c (directory_file_name):
15175         (Fsubstitute_in_file_name):
15176         (Fsubstitute_insert_file_contents_internal):
15177         (Fwrite_region_internal):
15178         * emacs.c:
15179         * sysdep.c:
15180         * getloadavg.c:
15181         * systty.h:
15182         Remove vestigial APOLLO-conditional code.
15183
15184 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15185
15186         * getpagesize.h: Add guard macros.
15187         * libsst.h: Add guard macros.
15188         * libst.h: Add guard macros.
15189         * line-number.h: Add guard macros.
15190         * ndir.h: Add guard macros.
15191         * sysfloat.h: Add guard macros.
15192         * sysfile.h: Add guard macros.
15193         * sysproc.h: Add guard macros.
15194         * syswait.h: Add guard macros.
15195         * xintrinsic.h: Add guard macros.
15196         * xintrinsicp.h: Add guard macros.
15197         * xmmanager.h: Add guard macros.
15198         * xmmanagerp.h: Add guard macros.
15199         * xmprimitive.h: Add guard macros.
15200         * xmu.h: Add guard macros.
15201         * gpmevent.h: Add copyright statement. Add guard macros.
15202         * miscplay.h: Add guard macros.
15203         * *.h: Use consistent C-standards-approved guard macro names.
15204
15205         * opaque.c (make_opaque): Switch parameter order.
15206         * opaque.h (make_opaque): Switch parameter order.
15207         Update all callers.
15208         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
15209
15210         * config.h.in (type_checking_assert): Added.
15211         (bufpos_checking_assert): Added.
15212
15213 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15214
15215         * alloc.c: Harmless pdump changes.
15216         - Use countof().
15217         - spell alignment correctly.
15218         * sysdep.c: Use countof()
15219
15220 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15221
15222         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
15223         initially_selected_for_input() console method, default to 0.
15224         (semi_canonicalize_console_connection): Try to delegate to
15225         canonicalize_console_connection if no such console method.
15226         (canonicalize_console_connection): Vice versa.
15227         (print_console): Do not print nil connection.
15228
15229         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
15230         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
15231         (XDEVIMPF_FRAMELESS_OK): Added.
15232         (CONSOLE_INHERITS_METHOD): Added.
15233
15234         * console-msw.c (mswindows_canonicalize_console_connection):
15235         Added.
15236         (mswindows_canonicalize_device_connection): Added.
15237
15238         * console-msw.h (struct msprinter_device): Added this struct and
15239         accessor macros.
15240         (mswindows_device): Made fontlist a lisp object.
15241
15242         * device.c (semi_canonicalize_device_connection):  Try to delegate
15243         to canonicalize_device_connection if no such console method.
15244         (canonicalize_device_connection): Vice versa.
15245         (print_device): Do not print nil connection.
15246
15247         * device-msw.c (mswindows_init_device): Call InitCommonControls
15248         when have widgets.
15249         (mswindows_delete_device): Removed fontlist deallocation.
15250         (mswindows_mark_device): Added.
15251
15252         * events.c (event_equal): Added abort() at unreached code.
15253         (event_hash): Ditto.
15254
15255         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
15256         fallback tags of Windows devices.
15257
15258         * general.c (syms_of_general): Initialized Qmsprinter.
15259
15260         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
15261         of fallback tags of Windows devices.
15262
15263         * lisp.h: Declared Qmsprinter.
15264
15265         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
15266         of strings.
15267         (mswindows_list_fonts): Ditto.
15268         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
15269         that it can be used by both mswindows and msprinter devices.
15270         (initialize_font_instance): Added.
15271         (mswindows_initialize_font_instance): Use it.
15272         (msprinter_initialize_font_instance): Added.
15273
15274         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
15275         and implementation flags check.
15276         (redisplay_without_hooks): Changed the call to the above.
15277         (Fredraw_device): Ditto.
15278         (Fredisplay_device): Ditto.
15279
15280         * redisplay-msw.c (get_frame_dc): Implemented.
15281         (get_frame_compdc): Implemented.
15282         (many functions): Use the two functions above to get device
15283         contexts, ether for a window or a printer.
15284
15285 2000-01-21  Olivier Galibert  <galibert@pobox.com>
15286
15287         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
15288         initialization here.
15289         (init_symbols_once_early): Call it.
15290         * emacs.c (main_1): Call it.
15291         * symsinit.h: Declare it.
15292
15293 2000-01-19  Olivier Galibert  <galibert@pobox.com>
15294
15295         * alloc.c: Use a lrecord_header * in the backtrace instead of a
15296         Lisp_Object.
15297         (pdump_backtrace): Ditto.
15298         (pdump_register_object): Ditto.  Cleanup use of the pointers.
15299         (pdump_get_entry): Abort if trying to register a null pointer.
15300         (pdump_dump_data): Cleanup types when relocating.
15301         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
15302         (pdump_dump_rtables): Remove bad casts.
15303         (pdump_load): Cleanup relocation w.r.t union type.  Use a
15304         Lisp_Object instead of a EMACS_INT for the hashtable
15305         reorganization.
15306
15307 2000-01-20  Martin Buchholz  <martin@xemacs.org>
15308
15309         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
15310
15311         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
15312
15313         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
15314
15315         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
15316
15317 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15318
15319         * faces.h (FACE_STRIKETHRU_P): Added.
15320
15321         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
15322         of font variants.
15323
15324         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
15325         (mswindows_set_dc_font): New function, aware of font variants,
15326         separated from mswindows_update_dc.
15327
15328         * objects-msw.h (struct mswindows_font_instance_data): Added
15329         definition.
15330
15331         * objects-msw.c (mswindows_finalize_font_instance): Delete all
15332         cached fonts and the data structure.
15333         (mswindows_initialize_font_instance): Added creation of font data
15334         structure.
15335         (mswindows_print_font_instance): Print at least something.
15336         (mswindows_create_font_variant): Implemented.
15337         (mswindows_get_hfont): Implemented.
15338
15339 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
15340
15341         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
15342         prototyping problem with msvc.
15343
15344         * emacs.c (main_1): added syms_of_gui_mswindows() call
15345
15346         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
15347         syms_of_gui_mswindows() function
15348
15349         * symsinit.h: added the prototype for syms_of_gui_mswindows()
15350
15351 2000-01-18  Martin Buchholz <martin@xemacs.org>
15352
15353         * XEmacs 21.2.27 is released.
15354
15355 2000-01-18  Martin Buchholz  <martin@xemacs.org>
15356
15357         * glyphs-eimage.c (struct tiff_error_struct):
15358         (tiff_error_func):
15359         (tiff_warning_func):
15360         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
15361
15362         * unexmips.c:
15363         * unexhp9k3.c:
15364         * unexfreebsd.c:
15365         * unexec.c: Remove vestigial Lucid C code.
15366         * unexalpha.c:
15367         * unexaix.c:
15368         * termcap.c:
15369         * libsst.c: Ansify.
15370         Remove declarations of errno and strerror().
15371
15372         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
15373
15374         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
15375
15376 2000-01-16  Martin Buchholz  <martin@xemacs.org>
15377
15378         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
15379         Optimize.
15380
15381 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15382
15383         * md5.c:
15384         * file-coding.c:
15385         * file-coding.h:
15386         Change enum eol_type to eol_type_t.
15387
15388 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15389
15390         * gui.c (get_gui_callback): Check cons before accessing car.
15391
15392 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15393
15394         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
15395         (XSETSPECIFIER_TYPE): Ditto.
15396
15397 2000-01-17  Didier Verna  <didier@xemacs.org>
15398
15399         * redisplay.c (generate_fstring_runes): compute string size in
15400         characters, not bytes.
15401
15402 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15403
15404         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
15405
15406 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
15407
15408         * print.c (print_error_message): Call print_prepare().
15409
15410 2000-01-14  Martin Buchholz  <martin@xemacs.org>
15411
15412         * .dbxrc: Renamed from dbxrc.
15413
15414         * events.c (event_to_character):
15415         Use `assert (foo)' instead of `if (!foo) abort()'
15416
15417         * .gdbinit (xtype): Add documentation.
15418         * .gdbinit (check-temacs): New function.
15419         * .gdbinit (check-xemacs): New function.
15420         * dbxrc (check-xemacs): New function.
15421         * dbxrc (check-xemacs): New function.
15422
15423 2000-01-14  Andy Piper  <andy@xemacs.org>
15424
15425         * glyphs-widget.c (widget_query_geometry): Make sure that we
15426         calculate default dimensions correctly.
15427
15428 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15429
15430         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
15431
15432         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
15433         pdump_wire'd variable.
15434
15435         * emacs.c: (main_1): Conditionalized calls to
15436         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
15437
15438 2000-01-13  Martin Buchholz  <martin@xemacs.org>
15439
15440         * window.c (Fset_window_configuration):
15441         * sysdep.c (_start):
15442         * input-method-motif.c (res):
15443         * event-Xt.c (Xt_process_to_emacs_event):
15444         Simple compiler warning fixes.
15445
15446         * bytecode.c (funcall_compiled_function): Use the original
15447         function symbol on the backtrace list in preference to the
15448         compiled_function object in error messages.
15449
15450 2000-01-13  Andy Piper  <andy@xemacs.org>
15451
15452         * glyphs-x.c (update_widget_face): Make sure we update the widget
15453         background as well as foreground.
15454
15455 2000-01-13  Andy Piper  <andy@xemacs.org>
15456
15457         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
15458         fields to subwindow.
15459         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
15460         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
15461         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15462         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15463
15464         * glyphs-widget.c (check_valid_tab_orientation): new function.
15465         (initialize_widget_image_instance): zero orientation and
15466         justification.
15467         (widget_instantiate): pick up orientation.
15468         (tab_control_query_geometry): return appropriate values for
15469         vertical tabs.
15470
15471         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
15472         appropriate creation flags for left, right and bottom tabs.
15473
15474         * s/cygwin32.h: add tab definitions.
15475
15476 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15477
15478         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
15479         frame upon hiding a subwindow.
15480         (mswindows_button_instantiate): Changed the push button style to
15481         BS_PUSHBUTTON.
15482         (mswindows_button_instantiate): Removed button BS_NOTIFY
15483         style.
15484         (mswindows_button_instantiate): Removed redundant check for
15485         a disabled gui item.
15486         (mswindows_button_instantiate): Made use of WS_TABSTOP
15487         consistent: "operable" controls (edit, button, tree, scroll) have
15488         this style, "display-only" ones (static, progress gauge) do
15489         not. This style is currently ignored by XEmacs though. Also,
15490         removed the WS_EX_CONTROLPARENT style - it is not for children,
15491         it is for their parents!
15492         (mswindows_edit_field_instantiate): Ditto.
15493         (mswindows_progress_gauge_instantiate): Ditto.
15494         (mswindows_tree_view_instantiate): Ditto.
15495         (mswindows_tab_control_instantiate): Ditto.
15496         (mswindows_scrollbar_instantiate): Ditto.
15497         (mswindows_combo_box_instantiate): Ditto.
15498         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
15499         style to the "clip" window.
15500         (mswindows_button_instantiate): Removed compilation warning by
15501         equally typing terms of the ?: operator.
15502
15503 2000-01-12  Didier Verna  <didier@xemacs.org>
15504
15505         * redisplay.c (generate_fstring_runes): new parameter holding the
15506         last modeline-format extent.
15507         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
15508         extent, fill the glyph block with it.
15509         (generate_fstring_runes): handle these parameters.
15510         (generate_formatted_string_db): ditto.
15511
15512         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
15513         glyphs'extents in the modeline.
15514
15515 1999-01-11  Mike Woolley  <mike@bulsara.com>
15516
15517         * ntheap.c: Reduced the reserved heap space from 1Gb down to
15518         256Mb, as a workaround for the non-starting problem many people
15519         have experienced.
15520
15521 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15522
15523         * console-tty.c (Fset_console_tty_output_coding_system):
15524         Force redrawing tty frame.
15525
15526 2000-01-10  Didier Verna  <didier@xemacs.org>
15527
15528         * redisplay.c (generate_fstring_runes): fix size computation bug.
15529
15530 2000-01-09  William M. Perry <wmperry@aventail.com>
15531
15532         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
15533
15534 2000-01-09  Andy Piper  <andy@xemacs.org>
15535
15536         * glyphs-msw.c: index -> i to avoid shadows.
15537         (xbm_create_bitmap_from_data): make static.
15538         (check_valid_string_or_int): deleted.
15539         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
15540
15541         * glyphs-x.c (x_update_subwindow): remove unused args.
15542
15543         * glyphs.c (glyph_image_instance): return the thing. Don't set the
15544         back pointer - this is done in allocate_image_instance.
15545         (query_string_font): return Qnil to make the compiler happy.
15546         (unmap_subwindow): set to ~0 to make the compiler happy.
15547         (glyph_query_geometry): comment out until used.
15548         (glyph_layout): ditto.
15549
15550 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15551
15552         * insdel.c (signal_after_change): Remove extraneous unbind_to().