update.
[chise/xemacs-chise.git] / src / ChangeLog
1 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
4
5         * mule-charset.c (Vcharset_ucs_gb): Deleted.
6         (Qucs_gb): Deleted.
7         (syms_of_mule_charset): Delete `ucs-gb'.
8         (complex_vars_of_mule_charset): Likewise.
9
10 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
11
12         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
13
14         * mule-charset.c (Vcharset_ucs_cns): Deleted.
15         (Qucs_cns): Deleted.
16         (syms_of_mule_charset): Delete `ucs-cns'.
17         (complex_vars_of_mule_charset): Likewise.
18
19 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
20
21         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
22
23         * mule-charset.c (Vcharset_ucs_jis): Deleted.
24         (Qucs_jis): Deleted.
25         (syms_of_mule_charset): Delete `ucs-jis'.
26         (complex_vars_of_mule_charset): Likewise.
27
28 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
29
30         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
31
32         * mule-charset.c (Vcharset_ucs_ks): Deleted.
33         (Qucs_ks): Deleted.
34         (syms_of_mule_charset): Delete `ucs-ks'.
35         (complex_vars_of_mule_charset): Likewise.
36
37 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
38
39         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
40         (Qideograph_daikanwa_2): Deleted.
41         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
42         (complex_vars_of_mule_charset): Likewise.
43
44         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
45         (LEADING_BYTE_DAIKANWA_1): Deleted.
46         (LEADING_BYTE_DAIKANWA_2): Deleted.
47         (MIN_CHAR_DAIKANWA): Deleted.
48         (MAX_CHAR_DAIKANWA): Deleted.
49
50 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
51
52         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
53         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
54         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
55
56         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
57         (Vcharset_ideograph_daikanwa): Deleted.
58         (Qideograph_hanziku_{1..12}): Deleted.
59         (Qideograph_daikanwa): Deleted.
60         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
61         Vcharset_ideograph_daikanwa.
62         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
63         `ideograph-hanziku-{1..12}'.
64         (complex_vars_of_mule_charset): Likewise.
65
66 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
67
68         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
69
70         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
71         (Qideograph_gt_pj_{1..11}): Deleted.
72         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
73         (complex_vars_of_mule_charset): Likewise.
74
75 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
76
77         * mule-charset.c (Vcharset_ucs_big5): Deleted.
78         (Vcharset_ideograph_gt): Deleted.
79         (Qucs_big5): Deleted.
80         (Qideograph_gt): Deleted.
81         (syms_of_mule_charset): Delete symbol `ucs-big5' and
82         `ideograph-gt'.
83         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
84         and `ideograph-gt'.
85
86         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
87         (LEADING_BYTE_GT): Deleted.
88         (MIN_CHAR_GT): Deleted.
89         (MAX_CHAR_GT): Deleted.
90
91 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
92
93         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
94
95 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
96
97         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
98         (save_uint16_byte_table): Likewise.
99         (save_byte_table): Likewise; convert values by it.
100         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
101         for `ideographic-structure'.
102         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
103         as the filter for `ideographic-structure'.
104
105 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
106
107         * chartab.c (put_char_composition): New function.
108         (Fput_char_attribute): Use `put_char_composition'; use
109         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
110
111         * fns.c (simplify_char_spec): New function.
112         (char_ref_simplify_spec): New function.
113         (Fchar_refs_simplify_char_specs): New function.
114         (syms_of_fns): Add new builtin function
115         `char-refs-simplify-char-specs'.
116
117 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
118
119         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
120         (Qideograph_cbeta): Deleted.
121         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
122         (complex_vars_of_mule_charset): Likewise.
123
124         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
125         (MIN_CHAR_CBETA): Comment out.
126         (MAX_CHAR_CBETA): Likewise.
127
128 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
129
130         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
131         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
132         CHISE client feature.
133
134 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
135
136         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
137
138 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
139
140         * mule-charset.c (charset_lookup_description_1): Use
141         `NUM_LEADING_BYTES' in UTF-2000.
142
143 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
144
145         * char-ucs.h (GC_CHARSETP): Deleted.
146
147 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
148
149         * char-ucs.h (MAX_CHAR_GT): Updated.
150
151 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
152
153         * text-coding.c: Sync with XEmacs 21.4.10.
154
155 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
156
157         * mule-charset.c (Vcharset_china3_jef): Deleted.
158         (Qchina3_jef): Deleted.
159         (syms_of_mule_charset): Don't define `china3-jef'.
160         (complex_vars_of_mule_charset): Likewise.
161
162         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
163         (MIN_CHAR_CHINA3_JEF): Comment out.
164         (MAX_CHAR_CHINA3_JEF): Comment out.
165
166 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
167
168         * mule-charset.c (Vcharset_ucs_gb): New variable.
169         (Qucs_gb): New variable.
170         (syms_of_mule_charset): Add new symbol `ucs-gb'.
171         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
172
173         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
174
175 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
176
177         * mule-charset.c (charset_code_point): if a coded-charset has a
178         final-byte, don't inherit the builtin range of the mother CCS.
179
180 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
181
182         * mule-charset.c (charset_code_point): Fix problem about
183         inheritance.
184
185 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
186
187         * mule-charset.c (decode_builtin_char): Reorganized.
188
189 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
190
191         * text-coding.c (char_encode_as_entity_reference): Modify for
192         `charset_code_point'.
193         (char_encode_shift_jis): Likewise.
194         (char_encode_big5): Likewise.
195         (char_encode_utf8): Likewise.
196         (char_encode_iso2022): Likewise.
197
198         * mule-charset.c (charset_code_point): Add new argument
199         `defined_only'.
200         (Fencode_char): Add new optional argument `defined_only'.
201
202         * chartab.c (put_char_table): Modify for `charset_code_point'.
203
204         * char-ucs.h (charset_code_point): Add new argument
205         `defined_only'.
206         (encode_char_1): Modify for `charset_code_point'.
207
208 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
209
210         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
211         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
212
213 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
214
215         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
216         (Qjis_x0208): Likewise.
217         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
218         XCHARSET_FINAL(charset).
219         (charset_code_point): Modify condition for final-byte based
220         builtin-chars.
221         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
222         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
223         in UTF-2000; specify `=jis-x0208' as the mother of
224         `japanese-jisx0208-1978', `japanese-jisx0208' and
225         `japanese-jisx0208-1990' in UTF-2000.
226
227 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
228
229         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
230
231 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
232
233         * text-coding.c (decode_coding_utf16): Support UTF-16.
234         (char_encode_utf16): Fixed.
235
236 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
237
238         * text-coding.c (Qutf16): New variable in MULE.
239         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
240         (Fcoding_system_type): Add `utf-16' in MULE.
241         (struct detection_state): Add a structure for utf16 in MULE.
242         (detect_coding_type): Setup st->utf16.mask in MULE.
243         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
244         MULE.
245         (reset_encoding_stream): Use `char_encode_utf16' and
246         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
247         (detect_coding_utf16): New function [incomplete].
248         (decode_coding_utf16): New function [support only UCS-2].
249         (char_encode_utf16): New function.
250         (char_finish_utf16): New function.
251         (syms_of_file_coding): Add new symbol `utf-16'; setup
252         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
253
254         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
255         UTF-2000.
256         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
257         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
258
259 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
260
261         * chartab.c (put_char_table): When a charset is specified as a
262         range in UTF-2000, don't support builtin characters.
263
264 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
265
266         * mule-charset.c (decode_defined_char): Don't refer external
267         database if Qunbound or Qnil are found.
268         (Fsave_charset_mapping_table): Don't define it if
269         HAVE_CHISE_CLIENT is not defined.
270         (Freset_charset_mapping_table): New function.
271         (load_char_decoding_entry_maybe): Store Qnil if a character is not
272         found in external database.
273         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
274         if HAVE_CHISE_CLIENT is not defined; add new builtin function
275         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
276
277 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
278
279         * text-coding.c (decode_coding_utf8): Check CCS is specified or
280         not.
281
282 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
283
284         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
285         Q_lowercase, Q_uppercase in UTF-2000.
286
287         * chartab.c (get_char_table): Add special code for the standard
288         case table to use character attribute `->downcase' and
289         `->uppercase' for case operations in UTF-2000.
290
291         * casetab.c (Qflippedcase): New variable in UTF-2000.
292         (Q_lowercase): Likewise.
293         (Q_uppercase): Likewise.
294         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
295         and `->uppercase' in UTF-2000.
296         (complex_vars_of_casetab): Assign attribute name `downcase' to
297         downcase and CANON table of Vstandard_case_table in UTF-2000;
298         assign attribute name `flippedcase' to upcase and EQV table of
299         Vstandard_case_table in UTF-2000.
300
301 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
302
303         * text-coding.c (decode_add_er_char): Support isolated-chars.
304         (char_encode_as_entity_reference): Likewise.
305
306 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
307
308         * emacs.c (Vutf_2000_lisp_directory): New variable.
309         (Vconfigure_utf_2000_lisp_directory): Likewise.
310         (complex_vars_of_emacs): Add new variable
311         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
312
313 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
314
315         * char-ucs.h (DECODE_CHAR): Delete special code for
316         `chinese-big5-1' and `chinese-big5-2'.
317
318         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
319         (Qbig5_2): Likewise.
320         (decode_defined_char): Support CONVERSION_BIG5_1 and
321         CONVERSION_BIG5_2.
322         (decode_builtin_char): Likewise.
323         (charset_code_point): Likewise.
324         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
325         'conversion in UTF-2000.
326         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
327         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
328         `chinese-big5-2' as children of `chinese-big5'.
329
330         * char-ucs.h (CONVERSION_BIG5_1): New macro.
331         (CONVERSION_BIG5_2): New macro.
332
333 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
334
335         * text-coding.c (char_encode_big5): Support entity-reference.
336
337 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
338
339         * text-coding.c (char_encode_as_entity_reference): New function.
340         (char_encode_utf8): Use `char_encode_as_entity_reference'.
341
342 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
343
344         * text-coding.c (decode_coding_big5): Support entity-reference
345         decoding feature.
346
347 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
348
349         * text-coding.c (allocate_coding_system): Initialize initial
350         charsets for CODESYS_UTF8.
351         (Fmake_coding_system): Accept charset-g0, charset-g1 and
352         charset-g2 for CODESYS_UTF8.
353         (decode_coding_utf8): Use charset-g0.
354         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
355         to force variants to map to UCS.
356
357 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
358
359         * text-coding.c (Qutf_8_mcs): New variable.
360         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
361         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
362         instead of `utf-8' in UTF-2000.
363
364 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
365
366         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
367         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
368         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
369         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
370         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
371         CONVERSION_96x96x96x96 are introduced.
372         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
373         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
374         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
375
376         * char-ucs.h (CONVERSION_94): New macro.
377         (CONVERSION_96): New macro.
378         (CONVERSION_94x94): New macro.
379         (CONVERSION_96x96): New macro.
380         (CONVERSION_94x94x94): New macro.
381         (CONVERSION_96x96x96): New macro.
382         (CONVERSION_94x94x94x60): New macro.
383         (CONVERSION_94x94x94x94): New macro.
384         (CONVERSION_96x96x96x96): New macro.
385
386 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
387
388         * chartab.c (Vcharacter_variant_table): Deleted.
389         (Fchar_variants): Use character-attribute `->ucs-variants' instead
390         of `Vcharacter_variant_table'.
391         (Fput_char_attribute): Likewise.
392         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
393         (complex_vars_of_chartab): Likewise.
394
395 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
396
397         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
398
399         * fns.c (Qideographic_structure): New variable.
400         (Qkeyword_char): New variable.
401         (ids_format_unit): New function.
402         (Fideographic_structure_to_ids): New function.
403         (syms_of_fns): Add new symbols `ideographic-structure' and
404         `:char'; add new builtin function `ideographic-structure-to-ids'.
405
406         * data.c (Fchar_ref_p): New function.
407         (syms_of_data): Add new builtin function `char-ref-p'.
408
409         * chartab.h: Add an EXFUN for `Ffind_char'.
410
411 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
412
413         * text-coding.c (Vcharacter_composition_table): Deleted.
414         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
415         in every UTF-2000.
416
417         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
418         UTF-2000.
419         (Vcharacter_composition_table): Deleted.
420         (Fget_composite_char): Use the implementation for external-DB
421         support in every UTF-2000.
422         (Fput_char_attribute): Likewise.
423         (char_attribute_system_db_file): Don't define if external-DB
424         feature is not available.
425         (Fsave_char_attribute_table): Likewise.
426         (Fmount_char_attribute_table): Likewise.
427         (Fclose_char_attribute_table): Likewise.
428         (Freset_char_attribute_table): Likewise.
429         (Fload_char_attribute_table): Likewise.
430         (syms_of_chartab): Don't define `save-char-attribute-table',
431         `mount-char-attribute-table', `reset-char-attribute-table',
432         `close-char-attribute-table' and `load-char-attribute-table' if
433         external-DB feature is not available.
434         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
435
436 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
437
438         * text-coding.c (Qcomposition): Add extern if external-DB feature
439         is supported.
440         (Vcharacter_composition_table): Don't add extern if external-DB
441         feature is supported.
442         (COMPOSE_ADD_CHAR): Modify for new data-representation of
443         character composition rule if external-DB feature is supported.
444
445         * chartab.c (Vcharacter_composition_table): Don't define if
446         external-DB feature is supported.
447         (Qcomposition): New variable.
448         (Fget_composite_char): New implementation for external-DB support.
449         (Fput_char_attribute): Use `composition' property of each
450         character instead of `Vcharacter_composition_table' to store
451         character-composition rules if external-DB feature is supported.
452         (syms_of_chartab): Add new symbol `composition'.
453         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
454         external-DB feature is supported.
455
456 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
457
458         * chartab.c (Vchar_db_stingy_mode): New variable.
459         (load_char_attribute_maybe): Close database if
460         Vchar_db_stingy_mode is not NIL.
461         (Fload_char_attribute_table_map_function): Use
462         `get_char_id_table_0' instead of `get_char_id_table'.
463         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
464
465         * chartab.h (get_char_id_table_0): New inline function.
466         (get_char_id_table): Use `get_char_id_table_0'.
467
468 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
469
470         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
471         and `COMPOSE_ADD_CHAR'.
472         (decode_coding_iso2022): Use `decode_flush_er_chars'.
473
474 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
475
476         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
477         instead of `DECODE_ADD_UCS_CHAR'.
478         (COMPOSE_ADD_CHAR): Likewise.
479
480 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
481
482         * text-coding.c (decode_flush_er_chars): New inline function.
483         (decode_add_er_char): New function.
484         (decode_coding_utf8): Use `decode_flush_er_chars' and
485         `decode_add_er_char'.
486
487 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
488
489         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
490         done before `decode_output_utf8_partial_char'.
491
492         * mule-charset.c (complex_vars_of_mule_charset): Specify
493         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
494         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
495
496 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
497
498         * mule-charset.c (decode_defined_char): New function; search
499         mother.
500         (decode_builtin_char): Don't search mother if
501         XCHARSET_MAX_CODE(charset) == 0.
502         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
503         == 0 even if code >= XCHARSET_MAX_CODE(charset).
504         (Fdecode_char): Use `decode_defined_char' instead of
505         `DECODE_DEFINED_CHAR'.
506         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
507         mother of `Vcharset_ucs_jis'.
508
509         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
510         instead of `DECODE_DEFINED_CHAR'.
511
512         * char-ucs.h (decode_defined_char): Renamed from
513         `DECODE_DEFINED_CHAR'; changed to normal function.
514         (DECODE_CHAR): Use `decode_defined_char' instead of
515         `DECODE_DEFINED_CHAR'.
516
517         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
518
519 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
520
521         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
522
523         * text-coding.c (Vcoded_charset_entity_reference_alist): New
524         variable.
525         (Quse_entity_reference): New variable.
526         (Qd): New variable.
527         (Qx): New variable.
528         (QX): New variable.
529         (coding_system_description): Add description for
530         `ccs_priority_list'.
531         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
532         (allocate_coding_system): Initialize `ccs_priority_list' in
533         UTF-2000.
534         (Fmake_coding_system): Add description about
535         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
536         (codesys).
537         (Fcoding_system_property): Accept `disable-composition' and
538         `use-entity-reference' in UTF-2000.
539         (struct decoding_stream): Add new member `er_counter' and `er_buf'
540         in UTF-2000.
541         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
542         (decode_coding_utf8): Decode entity-reference if
543         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
544         (char_encode_utf8): Encode non-Unicode characters as
545         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
546         (str->codesys).
547         (syms_of_file_coding): Add new symbols `use-entity-reference',
548         `d', `x', `X'.
549         (vars_of_file_coding): Add new variable
550         `coded-charset-entity-reference-alist'.
551         (complex_vars_of_file_coding): Declare `disable-composition' and
552         `use-entity-reference' to be coding-system-properties in UTF-2000.
553
554         * file-coding.h (struct Lisp_Coding_System): Add new member
555         `use_entity_reference' and `ccs_priority_list'.
556         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
557         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
558         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
559
560 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
561
562         * chartab.c (save_uint8_byte_table): Don't clear the table.
563         (save_uint16_byte_table): Likewise.
564         (save_byte_table): Likewise.
565         (Fmount_char_attribute_table): New function.
566         (syms_of_chartab): Add new builtin function
567         `mount-char-attribute-table'.
568
569 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
570
571         * mule-charset.c (Fsave_charset_mapping_table): Open database as
572         "w+" mode.
573         (load_char_decoding_entry_maybe): Open database as read-only mode.
574
575         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
576         open database as "w+" mode.
577         (load_char_attribute_maybe): Open database as read-only mode.
578         (Fload_char_attribute_table): Likewise.
579
580 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
581
582         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
583         (char_table_description): Delete member `db_file'.
584         (Fmake_char_table): Don't refer `ct->db_file'.
585         (Fcopy_char_table): Likewise.
586         (Fsave_char_attribute_table): Likewise.
587         (Fclose_char_attribute_table): Likewise.
588         (Freset_char_attribute_table): Likewise.
589         (load_char_attribute_maybe): Likewise.
590         (Fload_char_attribute_table): Likewise.
591
592         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
593
594 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
595
596         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
597         (Fsave_char_attribute_table): Don't check `ct->db_file' if
598         `ct->db' is living.
599         (load_char_attribute_maybe): Likewise.
600         (Fload_char_attribute_table): Likewise.
601
602 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
603
604         * chartab.c (Fclose_char_attribute_table): Set Qnil on
605         `ct->db_file' unconditionally.
606
607 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
608
609         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
610         UTF-2000.
611         (char_table_description): Add description for `db_file' and `db'
612         in UTF-2000.
613         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
614         UTF-2000.
615         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
616         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
617         (Fclose_char_attribute_table): New function.
618         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
619         (load_char_attribute_maybe): Change interface; use `cit->db_file'
620         and `cit->db'.
621         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
622         (syms_of_chartab): Add new builtin function
623         `Fclose_char_attribute_table'.
624
625 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
626
627         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
628         `db' in UTF-2000.
629         (load_char_attribute_maybe): Change interface.
630         (get_char_id_table): Modify for `load_char_attribute_maybe'.
631
632 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
633
634         * database.h: Add an EXFUN for `Fdatabase_live_p'.
635
636 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
637
638         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
639         instead of `DECODE_CHAR' for mother; don't use special code for
640         chinese-big5 to use code space of chinese-big5-1 and
641         chinese-big5-2.
642         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
643         `MAX_CHAR_BIG5_CDP' for chinese-big5.
644
645         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
646         (MAX_CHAR_BIG5_CDP): Revival.
647
648 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
649
650         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
651         the XLFD registry-encoding name of `chinese-big5'.
652
653 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
654
655         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
656         (Qchinese_big5_cdp): Deleted.
657         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
658         (complex_vars_of_mule_charset): Delete coded-charset
659         `chinese-big5-cdp'.
660
661         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
662         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
663         `CHARSET_ID_OFFSET - n' for private CCS.
664         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
665         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
666         of `MIN_LEADING_BYTE'.
667         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
668         `(CHARSET_ID_OFFSET - 97)'.
669         (MIN_CHAR_BIG5_CDP): Deleted.
670         (MAX_CHAR_BIG5_CDP): Deleted.
671
672 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
673
674         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
675
676 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
677
678         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
679         (vars_of_mule): Add new variable `utf-2000-version' [moved from
680         chartab.c].
681
682         * chartab.c (Vutf_2000_version): Moved to mule.c.
683         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
684
685 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
686
687         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
688         when HAVE_CHISE_CLIENT is not defined.
689
690         * mule.c (vars_of_mule): Provide feature `chise' when
691         HAVE_CHISE_CLIENT is defined.
692
693 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
694
695         * config.h.in (UTF2000): Add comment.
696         (HAVE_CHISE_CLIENT): New macro.
697
698 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
699
700         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
701         CONSP.
702         (Fput_char_attribute): Likewise.
703         (char_attribute_system_db_file): Encode file-name of attribute.
704         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
705         the initial value.
706
707 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
708
709         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
710         (Fsave_charset_mapping_table): Use
711         `char_attribute_system_db_file'.
712         (load_char_decoding_entry_maybe): Likewise.
713
714         * chartab.h (Qsystem_char_id): New external variable.
715         (char_attribute_system_db_file): New prototype.
716
717         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
718         (char_attribute_system_db_file): New function.
719         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
720         (Freset_char_attribute_table): Likewise.
721         (load_char_attribute_maybe): Likewise.
722         (Fload_char_attribute_table): Likewise.
723         (syms_of_chartab): Add new symbol `system-char-id'.
724
725 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
726
727         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
728         `XCHARSET_GRAPHIC(ccs)'.
729
730 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
731
732         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
733
734 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
735
736         * chartab.c (Q_ucs_variants): New variable.
737         (syms_of_chartab): Add new symbol `->ucs-variants'.
738         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
739         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
740         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
741
742         * mule-charset.c (load_char_decoding_entry_maybe): New function.
743
744         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
745         `HAVE_DATABASE' is defined.
746         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
747         `HAVE_DATABASE' is defined.
748
749 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
750
751         * chartab.c (Fsave_char_attribute_table): Don't clear internal
752         attribute-table.
753         (Freset_char_attribute_table): New function.
754         (syms_of_chartab): Add new builtin function
755         `reset-char-attribute-table'.
756
757 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
758
759         * chartab.c (load_char_attribute_maybe): Don't make directories.
760
761 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
762
763         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
764
765         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
766         for decoding-table.
767
768 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
769
770         * mule-charset.c (Fsave_charset_mapping_table): Use
771         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
772
773         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
774         instead of `XCHARSET_CHARS'.
775
776 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
777
778         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
779         (XCHARSET_BYTE_SIZE): Likewise.
780
781         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
782         mule-charset.c].
783         (XCHARSET_BYTE_SIZE): Likewise.
784
785 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
786
787         * chartab.c (Fput_char_attribute): Use exec-directory instead of
788         data-directory to store database.
789         (Fsave_char_attribute_table): Likewise.
790         (load_char_attribute_maybe): Likewise.
791         (Fload_char_attribute_table): Likewise.
792
793 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
794
795         * mule-charset.c (Fsave_charset_mapping_table): New function.
796         (syms_of_mule_charset): Add new builtin function
797         `save-charset-mapping-table'.
798
799 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
800
801         * char-ucs.h (decoding_table_check_elements): Delete prototype.
802         (get_ccs_octet_table): New inline function.
803         (put_ccs_octet_table): Likewise.
804         (decoding_table_put_char): Use `get_ccs_octet_table' and
805         `put_ccs_octet_table'.
806         (decoding_table_remove_char): Use `decoding_table_put_char'.
807         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
808
809         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
810         into encoding_table.
811         (make_charset): Use Qunbound instead Qnil as initial value of
812         decoding_table.
813
814 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
815
816         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
817         element is Qunloaded.
818         (map_over_uint16_byte_table): Likewise.
819         (map_over_byte_table): Likewise.
820         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
821         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
822         database support, load encoding-table of the specified
823         coded-charset if it is not loaded yet.
824         (save_uint8_byte_table): New function of UTF-2000 with external
825         database support.
826         (save_uint16_byte_table): Likewise.
827         (save_byte_table): Likewise.
828         (Fput_char_attribute): Don't store value into external database
829         even if the external database feature is supported in UTF-2000;
830         set `attribute' as name of char-table if the external database
831         feature is supported.
832         (Fsave_char_attribute_table): New function in UTF-2000.
833         (syms_of_chartab): Add new builtin function
834         `save-char-attribute-table' in UTF-2000.
835
836 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
837
838         * chartab.c (char_attribute_table_to_put): New variable in
839         UTF-2000.
840         (Qput_char_table_map_function): Likewise.
841         (value_to_put): Likewise.
842         (Fput_char_table_map_function): New function in UTF-2000.
843         (put_char_table): Use `Fmap_char_attribute' for
844         CHARTAB_RANGE_CHARSET in UTF-2000.
845         (Fput_char_attribute): Store symbol instead of string in
846         `XCHAR_TABLE_NAME (table)'.
847         (load_char_attribute_maybe): Likewise.
848         (syms_of_chartab): Add new symbol/function
849         `put-char-table-map-function'.
850
851 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
852
853         * database.h: Add new EXFUN for `Fmap_database'.
854
855         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
856         (syms_of_database): Likewise.
857
858         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
859         UTF-2000.
860         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
861         (XCHAR_TABLE_UNLOADED): Likewise.
862
863         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
864         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
865         HAVE_DATABASE is defined.
866         (char_attribute_table_to_load): New variable of UTF-2000 with
867         external database support.
868         (Qload_char_attribute_table_map_function): Likewise.
869         (Fload_char_attribute_table_map_function): New function of
870         UTF-2000 with external database support.
871         (Fload_char_attribute_table): New function of UTF-2000.
872         (Fmap_char_attribute): Call Fload_char_attribute_table if
873         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
874         (syms_of_chartab): Add new symbol and function
875         `load-char-attribute-table-map-function' in UTF-2000 with external
876         database support; add new function `load-char-attribute-table' in
877         UTF-2000.
878
879 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
880
881         * chartab.h (load_char_attribute_maybe): New prototype for
882         UTF-2000 with DATABASE support.
883         (get_char_id_table): Use `load_char_attribute_maybe' if
884         HAVE_DATABASE is defined.
885
886         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
887         with DATABASE support.
888
889 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
890
891         * chartab.c (Fput_char_attribute): Use S-expression as key of
892         external database.
893
894         * chartab.h (get_char_id_table): Use S-expression as key of
895         external database.
896
897 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
898
899         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
900         if an element is not loaded, load the corresponding attributes
901         from an external database.
902         (map_over_uint16_byte_table): Likewise.
903         (map_over_byte_table): Likewise.
904         (map_char_table): Modify for `map_over_uint8_byte_table',
905         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
906         element is not loaded, load the corresponding attributes from an
907         external database.
908         (Fput_char_attribute): Change initial values to Qunloaded.
909
910         * chartab.h (get_char_id_table): If a character attribute is not
911         loaded and the attribute value is not found in an external
912         database, store Qunbound as the attribute value.
913
914 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
915
916         * chartab.c (BT_UINT8_unloaded): New macro.
917         (UINT8_VALUE_P): Accept Qunloaded.
918         (UINT8_ENCODE): Likewise.
919         (UINT8_DECODE): Likewise.
920         (BT_UINT16_unloaded): New macro.
921         (UINT16_VALUE_P): Accept Qunloaded.
922         (UINT16_ENCODE): Likewise.
923         (UINT16_DECODE): Likewise.
924         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
925         BT_UINT16_unloaded.
926         (mark_char_table): Mark `ct->name' in UTF-2000.
927         (char_table_description): Add `name' in UTF-2000.
928         (Fmake_char_table): Initialize `ct->name'.
929         (Fcopy_char_table): Copy `ct->name'.
930         (Fput_char_attribute): Store value into an external database if
931         HAVE_DATABASE is defined.
932
933         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
934         UTF-2000.
935         (CHAR_TABLE_NAME): New macro in UTF-2000.
936         (XCHAR_TABLE_NAME): New macro in UTF-2000.
937         (get_char_id_table): Try to read an external database if Qunloaded
938         is stored in a table.
939
940         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
941         Qunloaded.
942
943 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
944
945         * database.h: Add EXFUN definitions for Fopen_database,
946         Fput_database, Fget_database and Fclose_database.
947
948         * data.c (Qunloaded): New variable in UTF-2000.
949
950         * lisp.h (Qunloaded): New variable in UTF-2000.
951
952 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
953
954         * mule-charset.c (put_char_ccs_code_point): Modify for
955         `decoding_table_remove_char' and `decoding_table_put_char'.
956         (remove_char_ccs): Modify for `decoding_table_remove_char'.
957
958         * char-ucs.h (decoding_table_remove_char): Change arguments to
959         hide decoding_table vector.
960         (decoding_table_put_char): Likewise.
961
962 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
963
964         * mule-charset.c (decoding_table_remove_char): Moved to
965         char-ucs.h.
966         (decoding_table_put_char): Likewise.
967
968         * char-ucs.h (decoding_table_check_elements): New prototype [moved
969         from mule-charset.c].
970         (decoding_table_remove_char): New inline function [moved from
971         mule-charset.c].
972         (decoding_table_put_char): Likewise.
973
974 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
975
976         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
977         extension.
978
979 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
980
981         * mule-charset.c (decode_builtin_char): Support mother charsets.
982
983 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
984
985         * mule-charset.c (Q94x94x60): New variable.
986         (charset_code_point): Support conversion `94x94x60'.
987         (Fmake_charset): Likewise.
988         (syms_of_mule_charset): Add new symbol `94x94x60'.
989
990         * char-ucs.h (CONVERSION_94x94x60): New macro.
991
992 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
993
994         * mule-charset.c (charset_code_point): Unify code about
995         `code-offset'.
996
997 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
998
999         * mule-charset.c (charset_code_point): Merge code about builtin
1000         characters into code about mother charsets; don't use
1001         `range_charset_code_point'.
1002         (range_charset_code_point): Deleted.
1003
1004 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1005
1006         * mule-charset.c (Qcode_offset): New variable.
1007         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1008         `max-code'; accept new property `code-offset'.
1009         (syms_of_mule_charset): Add new symbol `code-offset'.
1010
1011 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1012
1013         * mule-charset.c (range_charset_code_point): Fixed.
1014
1015 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1016
1017         * mule-charset.c (decode_builtin_char): Change semantics of
1018         code-offset of coded-charset.
1019         (charset_code_point): Likewise.
1020         (range_charset_code_point): Likewise.
1021         (complex_vars_of_mule_charset): Modify for the change.
1022
1023 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1024
1025         * mule-charset.c (Fencode_char): Reverse arguments.
1026
1027         * mule-charset.c (charset_code_point): Fixed.
1028
1029 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1030
1031         * mule-charset.c (Vcharset_mojikyo): Deleted.
1032         (Vcharset_mojikyo_2022_1): Deleted.
1033         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1034         (Qmin_code): New variable in UTF-2000.
1035         (Qmax_code): Likewise.
1036         (Qmother): Likewise.
1037         (Qconversion): Likewise.
1038         (Q94x60): Likewise.
1039         (Qmojikyo): Deleted.
1040         (Qmojikyo_2022_1): Deleted.
1041         (Qmojikyo_pj_{1..22}): Deleted.
1042         (mark_charset): Mark `cs->mother'.
1043         (charset_description): Add description for `mother'.
1044         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1045         new arguments `mother' and `conversion'; use
1046         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1047         (charset_code_point): Moved from char-ucs.h; support `mother'
1048         charset feature.
1049         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1050         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1051         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1052         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1053         allow 2 as the value of `graphic' in UTF-2000; add new properties
1054         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1055         require `final' in UTF-2000; modify for `make_charset'.
1056         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1057         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1058         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1059         (Fencode_char): New function.
1060         (syms_of_mule_charset): Add new builtin function `encode-char' in
1061         UTF-2000; add new symbols `min-code', `max-code', `mother',
1062         `conversion' and `94x60'; delete symbols `mojikyo',
1063         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1064         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1065         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1066         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1067
1068         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1069         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1070
1071         * char-ucs.h (Vcharset_mojikyo): Deleted.
1072         (Vcharset_mojikyo_2022_1): Deleted.
1073         (LEADING_BYTE_MOJIKYO): Deleted.
1074         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1075         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1076         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1077         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1078         add new member `mother'; add new member `conversion'.
1079         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1080         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1081         (CHARSET_MOTHER): New macro.
1082         (CHARSET_CONVERSION): New macro.
1083         (CONVERSION_IDENTICAL): New macro.
1084         (CONVERSION_94x60): New macro.
1085         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1086         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1087         (XCHARSET_MOTHER): New macro.
1088         (XCHARSET_CONVERSION): New macro.
1089         (MIN_CHAR_MOJIKYO): Deleted.
1090         (MAX_CHAR_MOJIKYO): Deleted.
1091         (DECODE_MOJIKYO_2022): Deleted.
1092         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1093         (charset_code_point): Changed to non-inline function.
1094         (encode_char_1): Use `charset_code_point'.
1095         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1096
1097 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1098
1099         * lread.c (read_compiled_function): Fix prototype.
1100         (read_vector): Likewise.
1101
1102 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1103
1104         * lrecord.h (struct lrecord_header): Delete `older'.
1105         (set_lheader_implementation): Delete code for `older'.
1106         (set_lheader_older_implementation): Deleted.
1107         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1108         (OLDER_RECORD_P): Deleted.
1109         (OLDER_RECORD_HEADER_P): Deleted.
1110         (alloc_older_lcrecord): Deleted.
1111         (alloc_older_lcrecord_type): Deleted.
1112
1113         * alloc.c (all_older_lcrecords): Deleted.
1114         (alloc_older_lcrecord): Deleted.
1115         (disksave_object_finalization_1): Delete code for older objects.
1116         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1117         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1118
1119 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1120
1121         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1122         instead of `make_older_vector'.
1123         (put_char_ccs_code_point): Likewise.
1124         (mark_charset): Mark `cs->decoding_table'.
1125         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1126
1127         * lisp.h (make_older_vector): Deleted.
1128         (make_vector_newer): Deleted.
1129
1130         * config.h.in (HAVE_GGC): Deleted.
1131
1132         * alloc.c (make_older_vector): Deleted.
1133         (make_vector_newer_1): Deleted.
1134         (make_vector_newer): Deleted.
1135
1136 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1137
1138         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1139         (Qideograph_daikanwa_2): New variable.
1140         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1141         (complex_vars_of_mule_charset): Add new coded-charset
1142         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1143         `LEADING_BYTE_DAIKANWA'.
1144
1145         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1146         (LEADING_BYTE_DAIKANWA_1): New macro.
1147         (LEADING_BYTE_DAIKANWA_2): New macro.
1148         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1149
1150 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1151
1152         * mule-charset.c (complex_vars_of_mule_charset): Change
1153         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1154         the second revised version.
1155
1156 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1157
1158         * mule-charset.c (Vcharset_ucs_smp): New variable.
1159         (Vcharset_ucs_sip): New variable.
1160         (Qucs_smp): New variable.
1161         (Qucs_sip): New variable.
1162         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1163         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1164         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1165         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1166         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1167         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1168
1169         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1170         (LEADING_BYTE_UCS_SIP): New macro.
1171         (MIN_CHAR_SMP): New macro.
1172         (MAX_CHAR_SMP): New macro.
1173         (MIN_CHAR_SIP): New macro.
1174         (MAX_CHAR_SIP): New macro.
1175
1176 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1177
1178         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1179         utf-2000.
1180
1181 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1182
1183         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1184         value; don't store value into `encoding_table' of `Lisp_Charset'.
1185         (mark_charset): `encoding_table' was deleted.
1186         (charset_description): Likewise.
1187         (make_charset): Likewise.
1188         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1189         `put_char_ccs_code_point'.
1190
1191         * chartab.h (Fput_char_attribute): New EXFUN.
1192
1193         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1194         is unified with normal symbol space.
1195         (Fget_char_attribute): Likewise.
1196         (Fput_char_attribute): Likewise; behavior of
1197         `put_char_ccs_code_point' is changed.
1198
1199         * char-ucs.h: Include "elhash.h".
1200         (Vchar_attribute_hash_table): New external variable.
1201         (struct Lisp_Charset): Delete `encoding_table'.
1202         (CHARSET_ENCODING_TABLE): New implementation; refer
1203         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1204         `Lisp_Charset'.
1205
1206 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1207
1208         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1209         (cs) == 0.
1210
1211 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1212
1213         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1214         `chinese-big5'.
1215
1216 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1217
1218         * chartab.c (uint8_byte_table_description): New constant.
1219         (uint8-byte-table): Use `uint8_byte_table_description'.
1220         (uint16_byte_table_description): New constant.
1221         (uint16-byte-table): Use `uint16_byte_table_description'.
1222
1223 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1224
1225         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1226         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1227
1228 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1229
1230         * mule-charset.c (Vcharset_ucs_ks): New variable.
1231         (Qucs_ks): New variable.
1232         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1233         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1234
1235         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1236
1237 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1238
1239         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1240         (Fdecode_char): Likewise.
1241
1242         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1243         chartab.h.
1244         (Fdefine_char): Modify for Fdecode_char.
1245         (Ffind_char): Likewise.
1246
1247         * mule-charset.c (Fdecode_char): Add new optional argument
1248         `defined-only'.
1249         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1250
1251 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1252
1253         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1254         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1255         (allocate_coding_system): Initialize initial-charsets of
1256         CODESYS_BIG5 in XEmacs UTF-2000.
1257         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1258         CODESYS_BIG5 in XEmacs UTF-2000.
1259         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1260         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1261
1262         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1263         variables.
1264         (Qideograph_hanziku_{1 .. 12}): Likewise.
1265         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1266         .. 12}'.
1267         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1268         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1269         `ideograph-hanziku-{1 .. 12}'.
1270
1271         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1272         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1273         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1274         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1275         (DECODE_DEFINED_CHAR): New inline function.
1276         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1277
1278 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1279
1280         * mule-charset.c (Vcharset_china3_jef): Renamed from
1281         `Vcharset_japanese_jef_china3'.
1282         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1283         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1284         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1285         (syms_of_mule_charset): Rename `china3-jef' from
1286         `japanese-jef-china3'.
1287         (complex_vars_of_mule_charset): Likewise; rename
1288         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1289
1290         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1291         `LEADING_BYTE_JEF_CHINA3'.
1292         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1293         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1294
1295 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1296
1297         * mule-charset.c (encode_builtin_char_1): Comment out special code
1298         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1299
1300         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1301         (MAX_CHAR_MOJIKYO_0): Comment out.
1302         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1303         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1304         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1305         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1306
1307 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1308
1309         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1310         (Qideograph_cbeta): New variable.
1311         (encode_builtin_char_1): Comment out special code for
1312         coded-charset `mojikyo' and `japanese-jef-china3'.
1313         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1314         (complex_vars_of_mule_charset): Add new coded-charset
1315         `ideograph-cbeta'.
1316
1317         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1318         (MIN_CHAR_CBETA): New macro.
1319         (MAX_CHAR_CBETA): New macro.
1320
1321 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1322
1323         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1324         (LEADING_BYTE_JEF_CHINA3): New macro.
1325         (MIN_CHAR_JEF_CHINA3): New macro.
1326         (MAX_CHAR_JEF_CHINA3): Likewise.
1327         (DECODE_CHAR): Fixed.
1328
1329 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1330
1331         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1332         (Qjapanese_jef_china3): New variable.
1333         (encode_builtin_char_1): Support `japanese-jef-china3'.
1334         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1335         (complex_vars_of_mule_charset): Add new coded-charset
1336         `japanese-jef-china3'.
1337
1338 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1339
1340         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1341         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1342         94^4, 96^3, 96^4, 128^n and 256^n set.
1343         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1344         (map_char_table): Likewise.
1345
1346 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1347
1348         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1349         UTF-2000.
1350
1351 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1352
1353         * chartab.h (get_char_id_table): New inline function.
1354
1355         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1356         function.
1357
1358 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1359
1360         * chartab.h (decode_char_table_range): New prototype in XEmacs
1361         UTF-2000.
1362         (put_char_id_table): New inline function in XEmacs UTF-2000.
1363
1364         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1365         function.
1366         (decode_char_table_range): Delete static declaration in XEmacs
1367         UTF-2000.
1368
1369 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1370
1371         * chartab.c (put_char_id_table): Use `put_char_table'.
1372
1373 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1374
1375         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1376         (map_over_uint16_byte_table): Likewise.
1377         (map_over_byte_table): Likewise.
1378         (map_char_table): Modify for `map_over_uint8_byte_table',
1379         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1380         UTF-2000.
1381
1382 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1383
1384         * chartab.c (struct map_char_table_for_charset_arg): New
1385         structure.
1386         (map_char_table_for_charset_fun): New function.
1387         (map_char_table): Use `map_char_table' for encoding_table of
1388         `range->charset'.
1389
1390 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1391
1392         * chartab.c (map_char_table): Check a character is found in
1393         range->charset instead of non default value is defined in
1394         char-table when range is CHARTAB_RANGE_ROW.
1395
1396 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1397
1398         * chartab.c (map_char_id_table): Deleted.
1399         (Fmap_char_attribute): Use `map_char_table' instead of
1400         `map_char_id_table'.
1401
1402 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1403
1404         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1405         UTF-2000.
1406         (update_syntax_table): Deleted in XEmacs UTF-2000.
1407
1408         * syntax.c (find_defun_start): Use `syntax_table' instead of
1409         `mirror_syntax_table' in XEmacs UTF-2000.
1410         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1411         UTF-2000.
1412         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1413         XEmacs UTF-2000.
1414         (Fmatching_paren): Likewise.
1415         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1416         in XEmacs UTF-2000.
1417         (find_start_of_comment): Likewise.
1418         (find_end_of_comment): Likewise.
1419         (Fforward_comment): Likewise.
1420         (scan_lists): Likewise.
1421         (char_quoted): Likewise.
1422         (Fbackward_prefix_chars): Likewise.
1423         (scan_sexps_forward): Likewise.
1424         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1425         (update_syntax_table): Likewise.
1426
1427         * search.c (skip_chars): Use `syntax_table' instead of
1428         `mirror_syntax_table' in XEmacs UTF-2000.
1429         (wordify): Likewise.
1430         (Freplace_match): Likewise.
1431
1432         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1433         `mirror_syntax_table' in XEmacs UTF-2000.
1434         (WORDCHAR_P_UNSAFE): Likewise.
1435         (re_match_2_internal): Likewise.
1436
1437         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1438         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1439
1440         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1441         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1442
1443         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1444         XEmacs UTF-2000.
1445
1446         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1447         UTF-2000.
1448         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1449         (char_table_description): Delete `mirror_table' in XEmacs
1450         UTF-2000.
1451         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1452         UTF-2000.
1453         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1454         (Fcopy_char_table): Likewise.
1455         (put_char_table): Don't call `update_syntax_table' in XEmacs
1456         UTF-2000.
1457
1458         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1459         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1460         (casify_region_internal): Likewise.
1461
1462         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1463
1464         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1465         `mirror_syntax_table' in XEmacs UTF-2000.
1466
1467         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1468         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1469         (Fexpand_abbrev): Likewise.
1470
1471 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1472
1473         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1474
1475 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1476
1477         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1478         (map_over_uint16_byte_table): Likewise.
1479         (map_over_byte_table): Likewise.
1480         (get_char_id_table): Refer `cit->default_value'.
1481         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1482         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1483         of character-id ranges.
1484         (mark_char_table): Mark `ct->default_value'.
1485         (char_table_description): Add `default_value'.
1486         (fill_char_table): Use `default_value'.
1487         (decode_char_table_range): Decode `nil' as
1488         `CHARTAB_RANGE_DEFAULT'.
1489         (get_char_id_table): Refer `cit->default_value'.
1490         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1491         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1492         temporary hack; check value of char-table is bound or not.
1493         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1494
1495         * chartab.h (struct Lisp_Char_Table): Add new member
1496         `default_value' in XEmacs UTF-2000.
1497         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1498         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1499         UTF-2000.
1500
1501 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1502
1503         * chartab.h (Lisp_Char_ID_Table): Deleted.
1504
1505         * chartab.c (char_table_description): Fix typo.
1506         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1507         `Lisp_Char_ID_Table'.
1508
1509 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1510
1511         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1512         `CHAR_ID_TABLE_P'.
1513
1514         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1515         `CHAR_ID_TABLE_P'.
1516
1517         * chartab.h (XCHAR_ID_TABLE): Deleted.
1518         (XSETCHAR_ID_TABLE): Deleted.
1519         (CHAR_ID_TABLE_P): Deleted.
1520
1521         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1522         `CHAR_ID_TABLE_P'.
1523         (Fget_composite_char): Likewise.
1524         (put_char_table): Likewise.
1525         (add_char_attribute_alist_mapper): Fixed.
1526         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1527         `CHAR_ID_TABLE_P'.
1528         (Fget_char_attribute): Likewise.
1529         (Fget_char_attribute): Likewise.
1530         (Fmap_char_attribute): Likewise.
1531
1532         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1533         `CHAR_ID_TABLE_P'.
1534         (encode_char_1): Likewise.
1535
1536 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1537
1538         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1539         `XCHAR_ID_TABLE'.
1540
1541         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1542         instead of `XCHAR_ID_TABLE'.
1543         (remove_char_ccs): Likewise.
1544
1545         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1546         `XCHAR_ID_TABLE'.
1547         (Fget_composite_char): Likewise.
1548         (Fchar_variants): Likewise.
1549         (put_char_table): Likewise.
1550         (add_char_attribute_alist_mapper): Likewise.
1551         (Fchar_attribute_alist): Likewise.
1552         (Fget_char_attribute): Likewise.
1553         (Fput_char_attribute): Likewise.
1554         (Fmap_char_attribute): Likewise.
1555         (Fmap_char_attribute): Likewise.
1556
1557         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1558         `XCHAR_ID_TABLE'.
1559         (encode_char_1): Likewise.
1560
1561 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1562
1563         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1564         `Lisp_Char_ID_Table'.
1565         (mark_char_id_table): Deleted.
1566         (print_char_id_table): Likewise.
1567         (char_id_table_equal): Likewise.
1568         (char_id_table_hash): Likewise.
1569         (char_id_table_description): Likewise.
1570         (char_id_table): Likewise.
1571         (make_char_id_table): Use `Fmake_char_table' and
1572         `fill_char_table'.
1573         (get_char_id_table): Use `Lisp_Char_Table' instead of
1574         `Lisp_Char_ID_Table'.
1575         (put_char_id_table): Likewise.
1576         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1577         `XCHAR_ID_TABLE'.
1578         (Fremove_char_attribute): Likewise.
1579         (syms_of_chartab): Don't define type `char-id-table'.
1580
1581         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1582         (char_id_table): Likewise.
1583         (GC_CHAR_ID_TABLE_P): Likewise.
1584         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1585         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1586         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1587         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1588         (get_char_id_table): Use `Lisp_Char_Table' instead of
1589         `Lisp_Char_ID_Table'.
1590         (put_char_id_table_0): Likewise.
1591         (put_char_id_table): Likewise.
1592
1593 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1594
1595         * chartab.h: Lisp_Byte_Table related codes are moved from
1596         chartab.h.
1597
1598         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1599
1600 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1601
1602         * chartab.h: Don't include "chartab.h".
1603         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1604         (Lisp_Char_ID_Table): Likewise.
1605         (char_id_table): Likewise.
1606         (XCHAR_ID_TABLE): Likewise.
1607         (XSETCHAR_ID_TABLE): Likewise.
1608         (CHAR_ID_TABLE_P): Likewise.
1609         (GC_CHAR_ID_TABLE_P): Likewise.
1610         (get_char_id_table): Likewise.
1611
1612         * char-ucs.h: Include "chartab.h".
1613         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1614         (Lisp_Char_ID_Table): Likewise.
1615         (char_id_table): Likewise.
1616         (XCHAR_ID_TABLE): Likewise.
1617         (XSETCHAR_ID_TABLE): Likewise.
1618         (CHAR_ID_TABLE_P): Likewise.
1619         (GC_CHAR_ID_TABLE_P): Likewise.
1620         (get_char_id_table): Likewise.
1621
1622 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1623
1624         * chartab.c (copy_uint8_byte_table): New function.
1625         (copy_uint16_byte_table): New function.
1626         (copy_byte_table): New function.
1627         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1628         characters to call.
1629         (map_over_uint16_byte_table): Likewise.
1630         (map_over_byte_table): Likewise.
1631         (get_byte_table): Move prototype to chartab.h.
1632         (put_byte_table): Likewise.
1633         (put_char_id_table_0): Moved to chartab.h.
1634         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1635         (char_table_entry_equal): Likewise.
1636         (char_table_entry_hash): Likewise.
1637         (char_table_entry_description): Likewise.
1638         (char_table_entry): Likewise.
1639         (make_char_table_entry): Likewise.
1640         (copy_char_table_entry): Likewise.
1641         (get_non_ascii_char_table_value): Likewise.
1642         (map_over_charset_ascii): Likewise.
1643         (map_over_charset_control_1): Likewise.
1644         (map_over_charset_row): Likewise.
1645         (map_over_other_charset): Likewise.
1646         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1647         (print_char_table): Likewise.
1648         (char_table_equal): Likewise.
1649         (char_table_hash): Likewise.
1650         (char_table_description): Likewise.
1651         (fill_char_table): Likewise.
1652         (Fcopy_char_table): Likewise.
1653         (get_char_table): Likewise.
1654         (Fget_range_char_table): Likewise.
1655         (put_char_table): Likewise.
1656         (map_char_table): Likewise.
1657         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1658         UTF-2000.
1659
1660 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1661
1662         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1663         `Vauto_fill_chars' in XEmacs UTF-2000.
1664
1665         * chartab.h (get_byte_table): New prototype [moved from
1666         chartab.c].
1667         (put_byte_table): Likewise [moved from chartab.c].
1668         (put_char_id_table_0): New inline function [moved from chartab.c].
1669         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1670         (Lisp_Char_Table_Entry): Likewise.
1671         (char_table_entry): Likewise.
1672         (XCHAR_TABLE_ENTRY): Likewise.
1673         (XSETCHAR_TABLE_ENTRY): Likewise.
1674         (CHAR_TABLE_ENTRYP): Likewise.
1675         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1676         (NUM_ASCII_CHARS): Likewise.
1677         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1678         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1679
1680 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1681
1682         * chartab.c (get_char_id_table): Change interface.
1683         (put_char_id_table_0): New function.
1684         (put_char_id_table): Change interface; new implementation.
1685         (Fget_composite_char): Modify for interface change of
1686         `get_char_id_table'.
1687         (Fchar_variants): Likewise.
1688         (add_char_attribute_alist_mapper): Likewise.
1689         (Fchar_attribute_alist): Likewise.
1690         (Fget_char_attribute): Likewise.
1691         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1692         as same as character as the first argument like `put-char-table';
1693         modify for interface change of `put_char_id_table'.
1694         (Fremove_char_attribute): Modify for interface change of
1695         `put_char_id_table'.
1696
1697 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1698
1699         * text-coding.c: Sync up with XEmacs 21.2.41.
1700         (COMPOSE_ADD_CHAR): Modify for interface change of
1701         `get_char_id_table'.
1702
1703         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1704         change of `put_char_id_table'.
1705         (remove_char_ccs): Likewise.
1706
1707         * chartab.h (put_char_id_table): Change interface.
1708
1709         * char-ucs.h (get_char_id_table): Change interface.
1710         (charset_code_point): Modify for interface change of
1711         `get_char_id_table'.
1712         (encode_char_1): Likewise.
1713
1714 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1715
1716         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1717         argument `ccs'.
1718         (map_over_uint16_byte_table): Likewise.
1719         (map_over_byte_table): Likewise.
1720         (map_char_id_table): Add new argument `range' like
1721         `map_char_table'.
1722         (Fmap_char_attribute): Add new argument `range' like
1723         `Fmap_char_table'.
1724
1725 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1726
1727         * chartab.c (map_over_uint8_byte_table): Change interface of
1728         mapping function to use struct chartab_range instead of Emchar.
1729         (map_over_uint16_byte_table): Likewise.
1730         (map_over_byte_table): Likewise.
1731         (map_char_id_table): Likewise.
1732         (struct slow_map_char_id_table_arg): Deleted.
1733         (slow_map_char_id_table_fun): Deleted.
1734         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1735         function `slow_map_char_table_fun' instead of struct
1736         `slow_map_char_id_table_arg' and function
1737         `slow_map_char_id_table_fun'.
1738
1739 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1740
1741         * mule-charset.c: Move char-it-table related codes to chartab.c.
1742         (Vutf_2000_version): Moved to chartab.c.
1743         (Fdefine_char): Likewise.
1744         (Ffind_char): Likewise.
1745         (syms_of_mule_charset): Move types `uint8-byte-table',
1746         `uint16-byte-table', `byte-table' and `char-id-table' to
1747         chartab.c; move functions `char_attribute_list,
1748         `find_char_attribute_table, `char_attribute_alist,
1749         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1750         `map_char_attribute, `define_char, `find_char, `char_variants and
1751         `get_composite_char to chartab.c; move symbols `=>ucs',
1752         `->decomposition', `compat', `isolated', `initial', `medial',
1753         `final', `vertical', `noBreak', `fraction', `super', `sub',
1754         `circle', `square', `wide', `narrow', `small' and `font' to
1755         chartab.c.
1756         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1757         setting codes for `Vcharacter_composition_table' and
1758         `Vcharacter_variant_table' to chartab.c.
1759         (complex_vars_of_mule_charset): Move setting code for
1760         `Vchar_attribute_hash_table' to chartab.c.
1761
1762         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1763         (make_char_id_table): New prototype.
1764         (put_char_id_table): Likewise.
1765         (Fget_char_attribute): Likewise.
1766
1767         * chartab.c: Move char-id-table related code from mule-charset.c.
1768         (Vutf_2000_version): Moved from mule-charset.c.
1769
1770         * char-ucs.h (Qucs): New external variable.
1771         (put_char_ccs_code_point): New prototype.
1772         (remove_char_ccs): Likewise.
1773
1774 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1775
1776         * mule-charset.c (Vcharset_ucs_jis): New variable.
1777         (Qucs_jis): Likewise.
1778         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1779         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1780
1781         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1782
1783 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1784
1785         * mule-charset.c (map_over_uint8_byte_table): New function.
1786         (map_over_uint16_byte_table): Likewise.
1787         (map_over_byte_table): Likewise.
1788         (map_char_id_table): Likewise.
1789         (slow_map_char_id_table_fun): Likewise.
1790         (Fmap_char_attribute): Likewise.
1791         (syms_of_mule_charset): Add new function `map-char-attribute'.
1792
1793 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1794
1795         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1796         (syms_of_mule_charset): Add new function `find-char'.
1797
1798 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1799
1800         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1801         XEmacs UTF-2000.
1802         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1803         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1804         XEmacs UTF-2000.
1805         (complex_vars_of_mule_charset): Add new coded-charset
1806         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1807         `ideograph-gt-pj-*'.
1808
1809         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1810
1811 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1812
1813         * mule-charset.c (encode_builtin_char_1): Purge codes about
1814         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1815         {MIN|MAX}_CHAR_HEBREW.
1816         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1817         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1818
1819         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1820         (MAX_CHAR_GREEK): Purged.
1821         (MIN_CHAR_CYRILLIC): Purged.
1822         (MAX_CHAR_CYRILLIC): Purged.
1823         (MIN_CHAR_HEBREW): Commented out.
1824         (MAX_CHAR_HEBREW): Likewise.
1825
1826 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1827
1828         * mule-charset.c (Qto_ucs): New variable.
1829         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1830         (Fdefine_char): Likewise.
1831         (syms_of_mule_charset): Add new symbol `=>ucs'.
1832
1833 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1834
1835         * mule-charset.c (Fdecode_char): Fixed.
1836
1837 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1838
1839         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1840         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1841         "tcvn5712-1".
1842
1843 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1844
1845         * mule-charset.c (Vcharset_ucs_big5): New variable.
1846         (Qucs_big5): Likewise.
1847         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1848         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1849
1850         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1851
1852 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1853
1854         * mule-charset.c (decode_builtin_char): Check Big5 code range
1855         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1856
1857 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1858
1859         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1860         (Qchinese_gb12345): Likewise.
1861         (Fdecode_builtin_char): Fixed.
1862         (syms_of_mule_charset): Add `chinese-gb12345'.
1863         (complex_vars_of_mule_charset): Add coded-charset
1864         `chinese-gb12345'.
1865
1866         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1867         (LEADING_BYTE_CHINESE_GB12345): New macro.
1868
1869 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1870
1871         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1872         and `latin-viscii-upper' for `latin-viscii'.
1873
1874 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1875
1876         * mule-charset.c (Fdecode_builtin_char): Comment out
1877         regularization code for ISO-IR GR representation.
1878
1879 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1880
1881         * mule-charset.c (decode_builtin_char): New function; renamed from
1882         `make_builtin_char'; return -1 instead of signal.
1883         (Fdecode_builtin_char): Use `decode_builtin_char'.
1884
1885         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1886         `make_builtin_char'.
1887         (DECODE_CHAR): Use `decode_builtin_char' instead of
1888         `make_builtin_char'; use mapping table of `chinese-big5' for
1889         `chinese-big5-{1,2}'.
1890
1891 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1892
1893         * text-coding.c (char_encode_big5): New function.
1894         (char_finish_big5): Likewise.
1895         (reset_encoding_stream): Use `char_encode_big5' and
1896         `char_finish_big5' for CODESYS_BIG5.
1897         (mule_encode): Don't use `encode_coding_big5'.
1898         (encode_coding_big5): Deleted.
1899
1900 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1901
1902         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1903         0x81- in XEmacs UTF-2000.
1904         (detect_coding_big5): Likewise.
1905
1906 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1907
1908         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1909         generate character-id if the CCS property does not have
1910         corresponding predefined character.
1911         (make_builtin_char): Return -1 if corresponding predefined
1912         character is not found.
1913         (Fdecode_char): Return nil if corresponding character is not
1914         found.
1915         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1916         don't map to builtin ucs space.
1917
1918 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1919
1920         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1921         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1922
1923 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1924
1925         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1926         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1927         (Qideograph_gt): Likewise.
1928         (Qideograph_gt_pj_{1..11}): Likewise.
1929         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1930         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1931         `ideograph-gt-pj-11'.
1932         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1933         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1934         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1935
1936         * char-ucs.h (LEADING_BYTE_GT): New macro.
1937         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1938         (MIN_CHAR_GT): Likewise.
1939         (MAX_CHAR_GT): Likewise.
1940
1941 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1942
1943         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1944         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1945
1946         * doprnt.c (unsigned_int_converters): Add `c'.
1947         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1948
1949         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1950         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1951         `MIN_CHAR_MOJIKYO'.
1952         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1953         (MAX_CHAR_MOJIKYO_0): New macro.
1954         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1955
1956 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1957
1958         * mule-charset.c (Fdefine_char): Delete cemented out code.
1959         (encode_builtin_char_1): Modify for new allocation of builtin
1960         Mojikyo characters.
1961
1962         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1963
1964 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1965
1966         * mule-charset.c (Vcharset_ucs_cns): New variable.
1967         (Qucs_cns): New variable.
1968         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1969         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1970
1971 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1972
1973         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1974
1975 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1976
1977         * search.c (search_buffer): Make `charset_base_code' as
1978         character-id >> 6 to eliminate the corresponding last byte in
1979         UTF-8 representation [I'm not sure it is right thing].
1980         (boyer_moore): Likewise.
1981
1982 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1983
1984         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1985         representation in MULE.
1986
1987 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1988
1989         * text-coding.c (Fmake_coding_system): Use
1990         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1991         `EXTERNAL_PROPERTY_LIST_LOOP'.
1992
1993 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1994
1995         * text-coding.c (decode_output_utf8_partial_char): New function.
1996         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1997
1998 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1999
2000         * text-coding.c (decode_coding_utf8): Output original byte
2001         sequence if it is broken; change order of conditions.
2002
2003         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2004         of conditions.
2005
2006         * mb-multibyte.h (BYTE_ASCII_P):
2007         Use bit ops for char-signedness safety.
2008         (BYTE_C0_P): Use bit ops for char-signedness safety.
2009         (BYTE_C1_P): Use bit ops for char-signedness safety.
2010
2011         * character.h: (XCHAR_OR_CHAR_INT):
2012         Always use inline function.
2013         Remove redundant type checking assert() - XINT will abort quite
2014         nicely.
2015
2016 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2017
2018         * text-coding.c: (Fencode_shift_jis_char):
2019         (Fencode_big5_char):
2020         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2021         Replace 0 with '\0' when working with bytes.
2022         Replace initial "(" with "\(" in docstrings.
2023
2024         (Fmake_coding_system):
2025         When type is ccl and value is vector, register it with a proper
2026         symbol.  And checks whether the given ccl program is valid.
2027         (mule_decode): When calling ccl_driver, if src indicates
2028         NULL pointer, set an empty string instead.
2029         (mule_encode): Likewise.
2030
2031         (detect_eol_type):
2032         (detect_coding_sjis):
2033         (decode_coding_sjis):
2034         (detect_coding_big5):
2035         (decode_coding_big5):
2036         (detect_coding_ucs4):
2037         (decode_coding_ucs4):
2038         (detect_coding_utf8):
2039         (decode_coding_utf8):
2040         (detect_coding_iso2022):
2041         (decode_coding_iso2022):
2042         (decode_coding_no_conversion):
2043         (mule_decode):
2044         Make all detecting and decoding functions take an Extbyte * arg.
2045         (text_encode_generic):
2046         (encode_coding_big5):
2047         (encode_coding_no_conversion):
2048         (mule_encode):
2049         Make all encoding functions take a Bufbyte * arg.
2050         Use size_t instead of unsigned int for memory sizes.
2051         Only cast to unsigned char whenever dereferencing Extbyte *.
2052
2053         (struct lrecord_description fcd_description_1): Use countof.
2054         (complex_vars_of_file_coding):
2055         Use countof instead of sizeof.
2056         Use CHECK_NATNUM instead of CHECK_INT.
2057
2058 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2059
2060         * mule-charset.c (Fget_char_attribute): Add new optional argument
2061         `default-value'.
2062         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2063         (remove_char_ccs): Likewise.
2064
2065 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2066
2067         * text-coding.c (char_encode_shift_jis): New implementation in
2068         UTF-2000.
2069         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2070         ...)'.
2071
2072         * mule-charset.c (Vcharset_chinese_big5): New variable in
2073         UTF-2000.
2074         (Qchinese_big5): New variable in UTF-2000.
2075         (BIG5_SAME_ROW): New macro in UTF-2000.
2076         (make_builtin_char): Use builtin characters of
2077         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2078         characters of `Vcharset_chinese_big5'.
2079         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2080         (complex_vars_of_mule_charset): Add new coded-charset
2081         `chinese-big5' in UTF-2000.
2082
2083         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2084         (Vcharset_chinese_big5): New external variable declaration.
2085         (Vcharset_japanese_jisx0208_1990): Likewise.
2086
2087 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2088
2089         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2090         function.
2091         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2092
2093 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2094
2095         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2096         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2097         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2098         `mojikyo-pj-*'.
2099
2100 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2101
2102         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2103
2104 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2105
2106         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2107         to 0.17.
2108
2109 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2110
2111         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2112         for `CHARSET_BY_ATTRIBUTES'.
2113         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2114         `CHARSET_BY_ATTRIBUTES'.
2115
2116         * text-coding.c (struct decoding_stream): Rename member `CH' to
2117         `CPOS'.
2118         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2119         (decode_coding_sjis): Likewise.
2120         (decode_coding_big5): Likewise.
2121         (decode_coding_ucs4): Likewise.
2122         (decode_coding_utf8): Likewise.
2123         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2124         `CHARSET_BY_ATTRIBUTES'.
2125         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2126         `str->counter'; decode 3, 4 bytes sets.
2127         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2128         sets.
2129         (decode_coding_no_conversion): Use `str->cpos' instead of
2130         `str->ch'.
2131
2132         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2133         (Qmojikyo_2022_1): New variable.
2134         (make_charset): Don't use `CHARSET_TYPE_*'.
2135         (range_charset_code_point): Support coded-charset
2136         `mojikyo-2022-1'.
2137         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2138         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2139         `CHARSET_BY_ATTRIBUTES'.
2140         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2141         `CHARSET_BY_ATTRIBUTES'.
2142         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2143         (complex_vars_of_mule_charset): Add new coded-charset
2144         `mojikyo-2022-1'.
2145
2146         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2147         interface; changed to inline function.
2148
2149         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2150         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2151         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2152         (CHARSET_TYPE_94): Deleted.
2153         (CHARSET_TYPE_94X94): Deleted.
2154         (CHARSET_TYPE_96): Deleted.
2155         (CHARSET_TYPE_96X96): Deleted.
2156         (CHARSET_TYPE_128): Deleted.
2157         (CHARSET_TYPE_128X128): Deleted.
2158         (CHARSET_TYPE_256): Deleted.
2159         (CHARSET_TYPE_256X256): Deleted.
2160         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2161         to inline function.
2162         (DECODE_MOJIKYO_2022): New inline function.
2163         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2164         `Vcharset_mojikyo_2022_1'.
2165
2166 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2167
2168         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2169         instead of `EQ'.
2170         (put_byte_table): Likewise.
2171         (char_id_table_equal): Use `get_byte_table' [new implementation].
2172
2173 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2174
2175         * mule-charset.c: Include <limits.h> in UTF-2000.
2176         (BT_UINT8_MIN): New macro in UTF-2000.
2177         (BT_UINT8_MAX): New macro in UTF-2000.
2178         (BT_UINT8_t): New macro in UTF-2000.
2179         (BT_UINT8_nil): New macro in UTF-2000.
2180         (BT_UINT8_unbound): New macro in UTF-2000.
2181         (INT_UINT8_P): New inline function in UTF-2000.
2182         (UINT8_VALUE_P): New inline function in UTF-2000.
2183         (UINT8_ENCODE): New inline function in UTF-2000.
2184         (UINT8_DECODE): New inline function in UTF-2000.
2185         (mark_uint8_byte_table): New function in UTF-2000.
2186         (print_uint8_byte_table): New function in UTF-2000.
2187         (uint8_byte_table_equal): New function in UTF-2000.
2188         (uint8_byte_table_hash): New function in UTF-2000.
2189         (make_uint8_byte_table): New function in UTF-2000.
2190         (uint8_byte_table_same_value_p): New function in UTF-2000.
2191         (BT_UINT16_MIN): New macro in UTF-2000.
2192         (BT_UINT16_MAX): New macro in UTF-2000.
2193         (BT_UINT16_t): New macro in UTF-2000.
2194         (BT_UINT16_nil): New macro in UTF-2000.
2195         (BT_UINT16_unbound): New macro in UTF-2000.
2196         (INT_UINT16_P): New inline function in UTF-2000.
2197         (UINT16_VALUE_P): New inline function in UTF-2000.
2198         (UINT16_ENCODE): New inline function in UTF-2000.
2199         (UINT16_DECODE): New inline function in UTF-2000.
2200         (UINT8_TO_UINT16): New inline function in UTF-2000.
2201         (mark_uint16_byte_table): New function in UTF-2000.
2202         (print_uint16_byte_table): New function in UTF-2000.
2203         (uint16_byte_table_equal): New function in UTF-2000.
2204         (uint16_byte_table_hash): New function in UTF-2000.
2205         (make_uint16_byte_table): New function in UTF-2000.
2206         (uint16_byte_table_same_value_p): New function in UTF-2000.
2207         (print_byte_table): New function in UTF-2000.
2208         (byte-table): Use `print_byte_table' as printer.
2209         (make_byte_table): Delete second argument `older'.
2210         (byte_table_same_value_p): New function in UTF-2000.
2211         (copy_byte_table): Deleted.
2212         (get_byte_table): New function in UTF-2000.
2213         (put_byte_table): New function in UTF-2000.
2214         (print_char_id_table): New function in UTF-2000.
2215         (char-id-table): Use `print_char_id_table' as printer.
2216         (make_char_id_table): Delete second argument `older'.
2217         (get_char_id_table): Use `get_byte_table [new implementation].
2218         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2219         implementation].
2220         (Ffind_char_attribute_table): New function in UTF-2000.
2221         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2222         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2223         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2224         (syms_of_mule_charset): Add new function
2225         `find-char-attribute-table' in UTF-2000.
2226
2227         * lrecord.h (enum lrecord_type): Add
2228         `lrecord_type_uint16_byte_table' and
2229         `lrecord_type_uint8_byte_table'.
2230
2231         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2232         (Lisp_Uint8_Byte_Table): New type.
2233         (XUINT8_BYTE_TABLE): New macro.
2234         (XSETUINT8_BYTE_TABLE): New macro.
2235         (UINT8_BYTE_TABLE_P): New macro.
2236         (GC_UINT8_BYTE_TABLE_P): New macro.
2237         (struct Lisp_Uint16_Byte_Table): New structure.
2238         (Lisp_Uint16_Byte_Table): New type.
2239         (XUINT16_BYTE_TABLE): New macro.
2240         (XSETUINT16_BYTE_TABLE): New macro.
2241         (UINT16_BYTE_TABLE_P): New macro.
2242         (GC_UINT16_BYTE_TABLE_P): New macro.
2243
2244 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2245
2246         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2247         (Vcharacter_ideographic_strokes_table): Deleted.
2248         (Vcharacter_total_strokes_table): Deleted.
2249         (Vcharacter_morohashi_daikanwa_table): Deleted.
2250         (Vcharacter_decomposition_table): Deleted.
2251         (Qname): Deleted because it is duplicated.
2252         (Qideographic_radical): Deleted.
2253         (Qideographic_strokes): Deleted.
2254         (Qtotal_strokes): Deleted.
2255         (Qmorohashi_daikanwa): Deleted.
2256         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2257         `ideographic-radical', `ideographic-strokes', `total-strokes',
2258         `morohashi-daikanwa' and `->decomposition'.
2259         (Fget_char_attribute): Likewise.
2260         (Fput_char_attribute): Likewise; use `make-vector' instead of
2261         `make_older_vector' for `->decomposition' value.
2262         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2263         `ideograph-daikanwa'.
2264         (syms_of_mule_charset): Delete builtin symbols `name',
2265         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2266         `morohashi-daikanwa'.
2267         (vars_of_mule_charset): Don't setup
2268         `Vcharacter_ideographic_radical_table',
2269         `Vcharacter_ideographic_strokes_table',
2270         `Vcharacter_total_strokes_table',
2271         `Vcharacter_morohashi_daikanwa_table' and
2272         `Vcharacter_decomposition_table'.
2273
2274 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2275
2276         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2277         `make_older_vector', `make_vector_newer_1' and
2278         `make_vector_newer'.
2279
2280         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2281         `make_older_vector' and `make_vector_newer'.
2282
2283         * config.h.in (HAVE_GGC): New macro.
2284
2285 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2286
2287         * mule-charset.c (struct char_attribute_list_closure): New
2288         structure in UTF-2000.
2289         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2290         (Fchar_attribute_list): Likewise.
2291         (Fset_charset_mapping_table): Use `make_vector_newer'.
2292         (Fdecode_builtin_char): New function in UTF-2000.
2293         (syms_of_mule_charset): Add new function `char-attribute-list' and
2294         `decode-builtin-char' in UTF-2000.
2295
2296         * lisp.h (make_vector_newer): New prototype.
2297
2298         * alloc.c (make_vector_newer_1): New function.
2299         (make_vector_newer): New function.
2300
2301 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2302
2303         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2304         50100)'.
2305
2306 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2307
2308         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2309         (Vcharacter_attribute_table): Deleted.
2310         (Vcharacter_name_table): Deleted.
2311         (put_char_attribute): Deleted.
2312         (remove_char_attribute): Deleted.
2313         (struct char_attribute_alist_closure): New structure.
2314         (add_char_attribute_alist_mapper): New function.
2315         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2316         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2317         (Fget_char_attribute): Likewise.
2318         (Fput_char_attribute): Likewise.
2319         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2320         of `remove_char_attribute'.
2321         (Fdefine_char): Return character.
2322         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2323         and `Vcharacter_name_table'.
2324         (complex_vars_of_mule_charset): Likewise
2325         `Vchar_attribute_hash_table'.
2326
2327 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2328
2329         * character.h (CHARC_CHARSET): New macro.
2330         (CHARC_CHARSET_ID): New macro.
2331         (CHARC_CODE_POINT): New macro.
2332         (CHARC_COLUMNS): New macro.
2333         (CHARC_TO_CHAR): New inline function.
2334         (CHARC_EQ): New inline function.
2335         (CHARC_ASCII_EQ): New inline function.
2336         (CHARC_IS_SPACE): New inline function.
2337         (ASCII_TO_CHARC): New inline function.
2338
2339         * char-ucs.h (encode_char_2): Deleted.
2340         (ENCODE_CHAR): Use `encode_char_1' again.
2341         (breakup_char_1): Likewise.
2342         (CHAR_TO_CHARC): New inline function.
2343
2344         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2345
2346 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2347
2348         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2349         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2350         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2351         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2352         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2353         `CHARC_IS_SPACE'.
2354         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2355
2356         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2357         `CHARC_CODE_POINT'.
2358         (x_output_display_block): Use `CHARC_CHARSET' and
2359         `CHARC_ASCII_EQ'.
2360
2361         * redisplay-tty.c (tty_output_display_block): Use
2362         `CHARC_ASCII_EQ'.
2363         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2364
2365         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2366
2367         * insdel.c (find_charsets_in_charc_string): Use
2368         `CHARC_CHARSET_ID'.
2369         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2370         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2371         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2372         (convert_charc_string_into_malloced_string): Likewise.
2373
2374 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2375
2376         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2377         instead of <Emchar_dynarr *> for buf; use
2378         `convert_bufbyte_string_into_charc_dynarr' instead of
2379         `convert_bufbyte_string_into_emchar_dynarr'; use
2380         `find_charsets_in_charc_string' instead of
2381         `find_charsets_in_emchar_string'.
2382
2383         * redisplay.h:
2384         - Include "character.h".
2385         (struct rune): New member `cglyph'; delete member `chr'.
2386
2387         * redisplay.c (redisplay_text_width_charc_string): New function;
2388         delete `redisplay_text_width_emchar_string'.
2389         (rtw_charc_dynarr): New variable; renamed from
2390         `rtw_emchar_dynarr'.
2391         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2392         `rtw_emchar_dynarr'; use
2393         `convert_bufbyte_string_into_charc_dynarr' instead of
2394         `convert_bufbyte_string_into_emchar_dynarr'; use
2395         `redisplay_text_width_charc_string' instead of
2396         `redisplay_text_width_emchar_string'.
2397         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2398         instead of `rtw_emchar_dynarr'; use
2399         `convert_bufbyte_string_into_charc_dynarr' instead of
2400         `convert_bufbyte_string_into_emchar_dynarr'.
2401         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2402         `redisplay_text_width_charc_string' instead of
2403         `redisplay_text_width_emchar_string'.
2404         (create_text_block): Modify for <struct rune> change.
2405         (generate_formatted_string_db): Likewise.
2406         (create_string_text_block): Likewise.
2407         (pixel_to_glyph_translation): Likewise.
2408
2409         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2410         instead of <const Emchar *>.
2411         (x_text_width): Likewise.
2412         (x_output_display_block): Use <Charc_dynarr *> instead
2413         <Emchar_dynarr *>; modify for <structure rune> change.
2414         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2415         *>.
2416
2417         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2418         <const Emchar *>; use `charc_string_displayed_columns' instead of
2419         `emchar_string_displayed_columns'.
2420         (tty_output_display_block): Use <Charc_dynarr *> instead of
2421         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2422         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2423         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2424         `tty_output_emchar_dynarr_dynarr'.
2425         (tty_output_charc_dynarr): New function; delete
2426         `tty_output_charc_dynarr'.
2427
2428         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2429         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2430         <Emchar_dynarr *> for buf; use
2431         `convert_bufbyte_string_into_charc_dynarr' instead of
2432         `convert_bufbyte_string_into_emchar_dynarr'.
2433
2434         * frame.c (title_string_charc_dynarr): New variable; renamed from
2435         `title_string_emchar_dynarr'.
2436         (generate_title_string): Use `title_string_charc_dynarr' instead
2437         of `title_string_emchar_dynarr'; use
2438         `convert_charc_string_into_malloced_string' instead of
2439         `convert_emchar_string_into_malloced_string'.
2440         (init_frame): Use `title_string_charc_dynarr' instead of
2441         `title_string_emchar_dynarr'.
2442
2443         * console.h:
2444         - Include "character.h".
2445         (struct console_methods): Use <const Charc *> instead of <const
2446         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2447         <Emchar_dynarr *> in output_string_method.
2448
2449         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2450         <Emchar_dynarr *>.
2451
2452         * console-stream.c (stream_text_width): Use <const Charc *>
2453         instead of <const Emchar *>.
2454
2455         * character.h (Charc_dynarr): New type.
2456
2457         * char-ucs.h (structure Charc): New structure; define new type
2458         `Charc'.
2459
2460         * char-lb.h (DECODE_CHAR): New inline function.
2461         (encode_char_1): New inline function.
2462         (ENCODE_CHAR): New macro.
2463         (structure Charc): New structure; define new type `Charc'.
2464
2465         * char-1byte.h (Vcharset_control_1): New macro.
2466         (Vcharset_latin_iso8859_1): New macro.
2467         (DECODE_CHAR): New inline function.
2468         (encode_char_1): New inline function.
2469         (ENCODE_CHAR): New macro.
2470         (structure Charc): New structure; define new type `Charc'.
2471
2472         * insdel.c (find_charsets_in_charc_string): New function; delete
2473         `find_charsets_in_emchar_string'.
2474         (charc_string_displayed_columns): New function; delete
2475         `emchar_string_displayed_columns'.
2476         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2477         `convert_bufbyte_string_into_emchar_dynarr'.
2478         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2479         `convert_charc_string_into_bufbyte_dynarr'.
2480         (convert_charc_string_into_malloced_string): New function; delete
2481         `convert_charc_string_into_malloced_string'.
2482
2483         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2484         `find_charsets_in_emchar_string'.
2485         (charc_string_displayed_columns): New prototype; delete
2486         `emchar_string_displayed_columns'.
2487         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2488         `convert_charc_string_into_bufbyte_dynarr'.
2489         (convert_charc_string_into_malloced_string): New prototype; delete
2490         `convert_charc_string_into_malloced_string'.
2491
2492 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2493
2494         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2495
2496 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2497
2498         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2499
2500         * char-ucs.h: Use <short> for <Charset_ID>.
2501
2502         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2503         <Charset_ID>.
2504
2505 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2506
2507         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2508         to 0.16.
2509
2510 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2511
2512         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2513         variable.
2514         (Qmorohashi_daikanwa): New variable.
2515         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2516         for `morohashi-daikanwa' attribute.
2517         (Fget_char_attribute): Likewise.
2518         (Fput_char_attribute): Likewise.
2519         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2520         has the same value of `ideograph-daikanwa'.
2521         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2522         (vars_of_mule_charset): Setup
2523         `Vcharacter_morohashi_daikanwa_table'.
2524
2525 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2526
2527         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2528         attributes.
2529         (add_charset_to_list_mapper): Add `key' instead of
2530         `XCHARSET_NAME (value)' to return aliases.
2531
2532 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2533
2534         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2535         variable.
2536         (Vcharacter_ideographic_strokes_table): New variable.
2537         (Qideographic_radical): New variable.
2538         (Qideographic_strokes): New variable.
2539         (Fchar_attribute_alist): Use
2540         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2541         attribute; use `Vcharacter_ideographic_strokes_table' for
2542         `ideographic-strokes' attribute.
2543         (Fget_char_attribute): Likewise.
2544         (Fput_char_attribute): Likewise.
2545         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2546         `ideographic-strokes'.
2547         (vars_of_mule_charset): Setup
2548         `Vcharacter_ideographic_radical_table' and
2549         `Vcharacter_ideographic_strokes_table'.
2550
2551 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2552
2553         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2554         (Qtotal_strokes): New variable.
2555         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2556         `total-strokes' attribute.
2557         (Fget_char_attribute): Likewise.
2558         (Fput_char_attribute): Likewise.
2559         (syms_of_mule_charset): Add new symbol `total-strokes'.
2560         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2561
2562 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2563
2564         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2565         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2566         are found.
2567         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2568         `->decomposition' attribute.
2569         (Fput_char_attribute): Likewise.
2570         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2571
2572 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2573
2574         * mule-charset.c (decoding_table_check_elements): New function.
2575         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2576
2577 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2578
2579         * mule-charset.c (Fset_charset_mapping_table): Use
2580         `put_char_ccs_code_point'.
2581
2582 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2583
2584         * mule-charset.c (decoding_table_put_char): New inline function.
2585         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2586
2587 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2588
2589         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2590         (XCHARSET_BYTE_SIZE): New macro.
2591         (decoding_table_remove_char): New inline function.
2592         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2593         `decoding_table_remove_char'.
2594         (remove_char_ccs): Use `decoding_table_remove_char'.
2595         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2596
2597 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2598
2599         * mule-charset.c (Vcharacter_name_table): New variable.
2600         (Qname): New variable.
2601         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2602         attribute.
2603         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2604         `Vcharacter_name_table' for `name' attribute.
2605         (Fremove_char_attribute): Use function `remove_char_ccs'.
2606         (put_char_ccs_code_point): New function.
2607         (remove_char_ccs): New function.
2608         (syms_of_mule_charset): Add new symbol `name'.
2609         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2610
2611 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2612
2613         * mule-charset.c (make_byte_table): Add new argument `older'.
2614         (make_char_id_table): Likewise.
2615         (copy_char_id_table): Comment out because it is not used.
2616         (put_char_id_table): Modify for `make_byte_table'.
2617         (Fput_char_attribute): Make encoding_table as older object;
2618         inherit older bit of `Vcharacter_composition_table'.
2619         (mark_charset): Don't mark `cs->encoding_table'.
2620         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2621         normal object; make `Vcharacter_composition_table' as an older
2622         object; delete staticpro for `Vcharacter_composition_table'; make
2623         `Vcharacter_variant_table' as a normal object.
2624
2625         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2626         (mark_object): Don't check older object in UTF-2000.
2627
2628         * lrecord.h (struct lrecord_header): Add new member `older' in
2629         UTF-2000.
2630         (set_lheader_implementation): Setup `SLI_header->older' in
2631         UTF-2000.
2632         (set_lheader_older_implementation): New macro in UTF-2000.
2633         (OLDER_RECORD_P): New macro in UTF-2000.
2634         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2635         (alloc_older_lcrecord): New prototype in UTF-2000.
2636         (alloc_older_lcrecord_type): New macro in UTF-2000.
2637
2638 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2639
2640         * mule-charset.c (byte_table_description): Use
2641         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2642         (char_id_table_description): Delete bogus `, 1'.
2643         (Fget_char_attribute): Refer encoding_table of each coded-charset
2644         to get value of coded-charset attribute of a character.
2645         (Fput_char_attribute): Use `make_older_vector' instead of
2646         `make_vector'; use encoding_table of each coded-charset to store
2647         value of coded-charset attribute of a character.
2648         (Fremove_char_attribute): Use encoding_table of each coded-charset
2649         to store value of coded-charset attribute of a character.
2650         (mark_charset): Mark `cs->encoding_table'; don't mark
2651         `cs->decoding_table'.
2652         (charset_description): Add description of new member
2653         `encoding_table'.
2654         (make_charset): Initialize `encoding_table'.
2655
2656         * char-ucs.h (struct Lisp_Charset): Add new member
2657         `encoding_table'.
2658         (CHARSET_ENCODING_TABLE): New macro.
2659         (XCHARSET_ENCODING_TABLE): New macro.
2660         (charset_code_point): New implementation.
2661         (encode_char_1): Likewise.
2662
2663         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2664         (disksave_object_finalization_1): Call finalizers of
2665         `all_older_lcrecords' in UTF-2000.
2666         (make_older_vector): New function in UTF-2000.
2667         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2668         UTF-2000.
2669
2670         * lisp.h (make_older_vector): New prototype in UTF-2000.
2671
2672 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2673
2674         * lrecord.h (enum lrecord_type): Rename
2675         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2676
2677         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2678         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2679         `get_char_code_table'.
2680
2681         * mule-charset.c (mark_char_id_table): Renamed from
2682         `mark_char_code_table'.
2683         (char_id_table_equal): Renamed from `char_code_table_equal'.
2684         (char_id_table_hash): Renamed from `char_code_table_hash'.
2685         (make_char_id_table): Renamed from `make_char_code_table'.
2686         (copy_char_id_table): Renamed from `copy_char_code_table'.
2687         (get_char_id_table): Renamed from `get_char_code_table'.
2688         (put_char_id_table): Renamed from `put_char_code_table'.
2689         (to_char_id): Renamed from `to_char_code'.
2690
2691         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2692         `Lisp_Char_Code_Table'.
2693         (char_id_table): Renamed from `char_code_table'.
2694         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2695         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2696         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2697         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2698         (get_char_id_table): Renamed from `get_char_code_table'.
2699
2700 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2701
2702         * lrecord.h (enum lrecord_type): Rename
2703         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2704
2705         * mule-charset.c (mark_byte_table): Renamed from
2706         `mark_char_byte_table'.
2707         (byte_table_equal): Renamed from `char_byte_table_equal'.
2708         (byte_table_hash): Renamed from `byte_table_hash'.
2709         (make_byte_table): Renamed from `make_byte_table'.
2710         (copy_byte_table): Renamed from `copy_char_byte_table'.
2711
2712         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2713         `Lisp_Char_Byte_Table'.
2714         (byte_table): Renamed from `char_byte_table'.
2715         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2716         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2717         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2718         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2719
2720 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2721
2722         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2723         (dfc_convert_to_internal_format): Likewise.
2724         
2725         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2726         * text-coding.c (Fcoding_system_alias_p): New function.
2727         * text-coding.c (Fcoding_system_aliasee): New function.
2728         * text-coding.c (append_suffix_to_symbol): New function.
2729         * text-coding.c (dangling_coding_system_alias_p): New function.
2730         * text-coding.c (Ffind_coding_system):
2731         * text-coding.c (Fcopy_coding_system):
2732         * text-coding.c (encode_coding_no_conversion):
2733         * text-coding.c (syms_of_file_coding):
2734         * text-coding.c (vars_of_file_coding):
2735         Rewrite coding system alias code.
2736         Allow nested aliases, like symbolic links.
2737         Allow redefinition of coding system aliases.
2738         Prevent existence of dangling coding system aliases.
2739         Eliminate convert_to_external_format.
2740         Eliminate convert_to_internal_format.
2741         
2742         * text-coding.c: Change enum eol_type to eol_type_t.
2743
2744 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2745
2746         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2747         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2748
2749         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2750         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2751
2752 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2753
2754         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2755         `ideograph-daikanwa'.
2756
2757         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2758         (Vcharset_ucs_bmp): Likewise.
2759         (Vcharset_mojikyo): Add new extern variable definition.
2760         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2761         (Vcharset_latin_iso8859_3): Likewise.
2762         (Vcharset_latin_iso8859_4): Likewise.
2763         (Vcharset_latin_iso8859_9): Likewise.
2764         (Vcharset_latin_viscii_lower): Likewise.
2765         (Vcharset_latin_viscii_upper): Likewise.
2766         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2767         `mojikyo' code-point is used to decode.
2768         (encode_char_2): New function [to convert `mojikyo' code-point to
2769         Mojikyo font encoding].
2770         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2771         (breakup_char_1): Likewise.
2772         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2773
2774 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2775
2776         * text-coding.c (Fmake_coding_system): Add document about
2777         `disable-composition' property.
2778
2779 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2780
2781         * text-coding.c (Qdisable_composition): New variable; delete
2782         `Qcomposite'.
2783         (Fmake_coding_system): Add new property `disable-composite';
2784         delete property `composite'.
2785         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2786         instead of `!CODING_SYSTEM_COMPOSITE'.
2787         (syms_of_file_coding): Add new symbol `disable-composition';
2788         delete symbol `composite'.
2789
2790         * file-coding.h (struct Lisp_Coding_System): Add
2791         `disable_composition'; delete `enable_composition'.
2792         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2793         `CODING_SYSTEM_COMPOSITE'.
2794         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2795         `XCODING_SYSTEM_COMPOSITE'.
2796
2797 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2798
2799         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2800         to 0.15.
2801
2802 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2803
2804         * text-coding.c (Qcomposite): New variable.
2805         (Fmake_coding_system): Add new property `composite'.
2806         (struct decoding_stream): Add `combined_char_count',
2807         `combined_chars' and `combining_table' in UTF-2000.
2808         (COMPOSE_FLUSH_CHARS): New macro.
2809         (COMPOSE_ADD_CHAR): New macro.
2810         (reset_decoding_stream): Reset `str->combined_char_count' and
2811         `str->combining_table' in UTF-2000.
2812         (decode_coding_iso2022): Modify for character-decomposition.
2813         (syms_of_file_coding): Add new symbol `composite'.
2814
2815 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2816
2817         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2818         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2819         of `Vcharacter_composition_table' if `->decomposition' property
2820         has only 1 element.
2821         (Qlatin_tcvn5712): New variable.
2822         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2823         (complex_vars_of_mule_charset): Add new coded-charset
2824         `latin-tcvn5712'.
2825
2826         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2827
2828 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2829
2830         * file-coding.h (struct Lisp_Coding_System): Add
2831         `enable_composition'.
2832         (CODING_SYSTEM_COMPOSITE): New macro.
2833         (XCODING_SYSTEM_COMPOSITE): New macro.
2834
2835 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2836
2837         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2838
2839 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2840
2841         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2842         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2843
2844 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2845
2846         * mule-charset.c (Vcharset_mojikyo): New variable.
2847         (Fdefine_char): Don't use coded-charset which does not have
2848         non-builtin character range to allocate character-id.
2849         (Qmojikyo): New variable.
2850         (syms_of_mule_charset): Add new symbol `mojikyo'.
2851         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2852
2853         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2854         (LEADING_BYTE_MOJIKYO): New macro.
2855         (MIN_CHAR_MOJIKYO): New macro.
2856         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2857         (MAX_CHAR_MOJIKYO): New macro.
2858
2859 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2860
2861         * mule-charset.c (remove_char_attribute): Fixed.
2862
2863 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2864
2865         * mule-charset.c (remove_char_attribute): New function.
2866         (Fremove_char_attribute): New function.
2867         (encode_builtin_char_1): Comment out builtin-support for
2868         greek-iso8859-7 and cyrillic-iso8859-5.
2869         (Fdecode_char): Check `code' is an integer.
2870         (syms_of_mule_charset): Add `remove-char-attribute'.
2871         (MIN_CHAR_GREEK): Deleted.
2872         (MAX_CHAR_GREEK): Likewise.
2873         (MIN_CHAR_CYRILLIC): Likewise.
2874         (MAX_CHAR_CYRILLIC): Likewise.
2875         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2876         MAX_CHAR_GREEK for `greek-iso8859-7'.
2877
2878         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2879         (MAX_CHAR_GREEK): Likewise.
2880         (MIN_CHAR_CYRILLIC): Likewise.
2881         (MAX_CHAR_CYRILLIC): Likewise.
2882
2883 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2884
2885         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2886         format is used without `ucs' property.
2887         (Fdecode_char): Fix problem with GR representation.
2888         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2889         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2890
2891 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2892
2893         * mule-charset.c (make_builtin_char): New function.
2894         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2895         (Fset_charset_mapping_table): Modify for new representation of
2896         code-point.
2897         (Fdecode_char): New function.
2898         (syms_of_mule_charset): Add new builtin function `decode-char' in
2899         UTF-2000.
2900
2901         * char-ucs.h (make_builtin_char): New prototype.
2902         (DECODE_CHAR): New inline function.
2903         (MAKE_CHAR): Use `DECODE_CHAR'.
2904
2905 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2906
2907         * text-coding.c (parse_charset_conversion_specs): Use
2908         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2909         `XCHARSET_TYPE'.
2910         (iso2022_designate): Likewise.
2911
2912         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2913         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2914
2915         * mule-charset.c (Vcharset_ucs): New variable.
2916         (print_charset): Change design; use `CHARSET_CHARS' and
2917         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2918         (make_charset): Change signature to specify `chars' and
2919         `dimension' instead of `type'.
2920         (range_charset_code_point): Modify for 256^n-set.
2921         (encode_builtin_char_1): Encode as `ucs' in default.
2922         (Fmake_charset): Modify for `make_charset'.
2923         (Fmake_reverse_direction_charset): Likewise.
2924         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2925         UTF-2000.
2926         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2927         for `make_charset'.
2928
2929         * char-ucs.h (Vcharset_ucs): New variable.
2930         (LEADING_BYTE_UCS): New macro.
2931         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2932         and `chars' to `unsigned short' from `unsigned int'.
2933         (CHARSET_TYPE): Deleted.
2934         (XCHARSET_TYPE): Deleted.
2935
2936 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2937
2938         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2939
2940         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2941         (ENCODE_CHAR): New macro.
2942
2943 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2944
2945         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2946         to 0.14 (Kawachi-Katakami).
2947
2948 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2949
2950         * text-coding.c (char_encode_shift_jis): Modify for
2951         `charset_code_point'.
2952         (char_encode_iso2022): Likewise.
2953
2954         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2955         (integer) instead of list of <Lisp_Object>s (integers) as the
2956         format of code-point of a coded-charset.
2957         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2958         (encode_builtin_char_1): New function; delete
2959         `split_builtin_char'.
2960         (charset_code_point): Return <int> instead of <Lisp_Object>.
2961         (Fsplit_char): Don't use `SPLIT_CHAR'.
2962
2963         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2964         prototype for `split_builtin_char'.
2965         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2966         (charset_code_point): Likewise.
2967         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2968         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2969
2970 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2971
2972         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2973         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2974
2975 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2976
2977         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2978
2979         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2980         (MAX_CHAR_OBS_94x94): Deleted.
2981
2982 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2983
2984         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2985
2986         * char-ucs.h (MAX_CHAR_BMP): New macro.
2987
2988 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2989
2990         * text-coding.c: Sync with r21-2-24.
2991
2992 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2993
2994         * file-coding.c: Modify for UTF-2000.
2995
2996 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2997
2998         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2999         to 0.13 (Takaida).
3000
3001 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3002
3003         * mule-charset.c (split_builtin_char): Delete builtin support for
3004         `katakana-jisx0201'.
3005         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3006         BMP area in builtin representation.
3007
3008         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3009         `Vcharset_katakana_jisx0201'.
3010
3011 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3012
3013         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3014         (Qisolated): New variable.
3015         (Qinitial): New variable.
3016         (Qmedial): New variable.
3017         (Qfinal): New variable.
3018         (Qvertical): New variable.
3019         (Qsmall): New variable.
3020         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3021         `Qvertical' and `Qsmall'.
3022         (Qmojikyo_pj_[1 .. 21]): New variable.
3023         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3024         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3025         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3026         .. 21]'.
3027
3028 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3029
3030         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3031         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3032         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3033
3034 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3035
3036         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3037         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3038         BMP.
3039         (Qjapanese_jisx0208_1990): New variable.
3040         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3041         (complex_vars_of_mule_charset): Add new coded-charset
3042         `japanese-jisx0208-1990'.
3043
3044         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3045         (MIN_CHAR_JIS_X0208_1990): New macro.
3046         (MAX_CHAR_JIS_X0208_1990): New macro.
3047
3048 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3049
3050         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3051         coded-charset is not found.
3052
3053 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3054
3055         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3056         (Fdefine_char): Use `Fmake_char'.
3057
3058 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3059
3060         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3061         (Vcharset_hiragana_jisx0208): Deleted.
3062         (Vcharset_katakana_jisx0208): Deleted.
3063         (Qideograph_daikanwa): New variable.
3064         (Qhiragana_jisx0208): Deleted.
3065         (Qkatakana_jisx0208): Deleted.
3066         (split_builtin_char): Split `ideograph-daikanwa'.
3067         (Fsplit_char): New implementation for UTF-2000.
3068         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3069         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3070         (complex_vars_of_mule_charset): Add new coded-charset
3071         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3072         `katakana-jisx0208'.
3073
3074         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3075         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3076         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3077         (MIN_CHAR_DAIKANWA): New macro.
3078         (MAX_CHAR_DAIKANWA): New macro.
3079
3080 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3081
3082         * data.c (Fstring_to_number): Don't recognize floating point if
3083         base is not 10.
3084
3085 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3086
3087         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3088
3089 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3090
3091         * mule-charset.c (Qsquare): New variable.
3092         (to_char_code): Add `Qsquare'.
3093         (syms_of_mule_charset): Add new symbol `square'.
3094
3095 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3096
3097         * mule-charset.c (Qcircle): New variable.
3098         (to_char_code): Add `Qcircle'.
3099         (syms_of_mule_charset): Add new symbol `circle'.
3100
3101 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3102
3103         * mule-charset.c (Qfont): New variable.
3104         (to_char_code): Add `Qfont'.
3105         (syms_of_mule_charset): Add new symbol `font'.
3106
3107 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3108
3109         * mule-charset.c (Qsub): New variable.
3110         (to_char_code): Add `Qsub'.
3111         (syms_of_mule_charset): Add new symbol `sub'.
3112
3113 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3114
3115         * mule-charset.c (Fput_char_attribute): Convert each element of
3116         VALUE to GL position if ATTRIBUTE is a GR-set,
3117
3118 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3119
3120         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3121         coded-charset is a GR-set.
3122
3123 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3124
3125         * mule-charset.c (Fput_char_attribute): Check each element of
3126         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3127
3128 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3129
3130         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3131         UTF-2000.
3132         (Qethiopic_ucs): New variable in UTF-2000.
3133         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3134         (complex_vars_of_mule_charset): Add new coded-charset
3135         `ethiopic-ucs' in UTF-2000.
3136
3137         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3138         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3139         9)'.
3140         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3141         10)'.
3142         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3143
3144 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3145
3146         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3147         `ascii'.
3148
3149 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3150
3151         * mule-charset.c (Vcharacter_variant_table): New variable.
3152         (Q_ucs): New variable.
3153         (Fchar_variants): New function.
3154         (Fput_char_attribute): Register `->ucs' value to
3155         `Vcharacter_variant_table'.
3156         (syms_of_mule_charset): Add new function `char-variants' and new
3157         symbol `->ucs'.
3158         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3159
3160 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3161
3162         * mule-charset.c (get_char_code_table): Allow negative character
3163         code.
3164         (put_char_code_table): Likewise.
3165         (Vcharacter_composition_table): New variable.
3166         (Q_decomposition): New variable.
3167         (Qwide): New variable.
3168         (Qnarrow): New variable.
3169         (Qcompat): New variable.
3170         (QnoBreak): New variable.
3171         (Qsuper): New variable.
3172         (Qfraction): New variable.
3173         (to_char_code): New function.
3174         (Fget_composite_char): New function.
3175         (Fput_char_attribute): Register `->decomposition' value to
3176         `Vcharacter_composition_table'.
3177         (syms_of_mule_charset): Add new function `get-composite-char', new
3178         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3179         `super' and `fraction'.
3180         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3181
3182 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3183
3184         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3185         character; copy the return value.
3186
3187 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3188
3189         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3190
3191         * mule-charset.c (range_charset_code_point): Must use make_int.
3192         (split_builtin_char): New function.
3193
3194 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3195
3196         * mule-charset.c (char_byte_table): Change name from
3197         "char-code-table" to "char-byte-table".
3198         (mark_char_code_table): New function.
3199         (char_code_table_equal): New function.
3200         (char_code_table_hash): New function.
3201         (char_code_table_description): New constant.
3202         (char_code_table): New type.
3203         (make_char_code_table): New function.
3204         (copy_char_code_table): New function.
3205         (get_char_code_table): Modify for `char_code_table' type.
3206         (put_char_code_table): Likewise.
3207         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3208         (Kashiwara).
3209
3210         * char-ucs.h (char_code_table): New type.
3211         (XCHAR_CODE_TABLE): New macro.
3212         (XSETCHAR_CODE_TABLE): New macro.
3213         (CHAR_CODE_TABLE_P): New macro.
3214         (GC_CHAR_CODE_TABLE_P): New macro.
3215         (struct Lisp_Char_Code_Table): New structure.
3216
3217 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3218
3219         * mule-charset.c (Fmake_charset): Setup byte_offset for
3220         {94|96}^n-set.
3221
3222 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3223
3224         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3225         character.
3226
3227 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3228
3229         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3230         is found.
3231
3232 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3233
3234         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3235         charset, it is regarded as a charset.
3236         (put_char_attribute): New function in UTF-2000.
3237         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3238         charset, mapping-table of the charset is modified.
3239         (Fdefine_char): New function in UTF-2000.
3240         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3241         `Fput_char_attribute'.
3242         (syms_of_mule_charset): Add new function `define-char' and new
3243         symbol `ucs' in UTF-2000.
3244         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3245
3246 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3247
3248         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3249         non-UTF-2000 configuration.
3250
3251 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3252
3253         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3254         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3255
3256         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3257         deleted.
3258         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3259         (Fset_charset_mapping_table): Likewise.
3260
3261         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3262         (CHARSET_ENCODING_TABLE): Delete.
3263         (XCHARSET_ENCODING_TABLE): Delete.
3264         (charset_code_point): New interface.
3265
3266 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3267
3268         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3269         instead of `charset_get_byte1' and `charset_get_byte2'.
3270
3271         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3272         (charset_get_byte2): Deleted.
3273
3274 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3275
3276         * char-ucs.h (SPLIT_CHAR): New inline function.
3277         (breakup_char_1): Use `SPLIT_CHAR'.
3278
3279         * mule-charset.c (range_charset_code_point): New function.
3280         (charset_code_point): New function.
3281
3282         * char-ucs.h (range_charset_code_point): New interface.
3283         (breakup_char_1): Use `range_charset_code_point'.
3284
3285 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3286
3287         * mule-charset.c (Fmake_charset): Delete unused local variable
3288         `code_offset'.
3289
3290         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3291         (breakup_char_1): Find a charset and code-point in
3292         `Vcharacter_attribute_table'.
3293
3294 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3295
3296         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3297         to 0.10 (Yao).
3298
3299 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3300
3301         * mule-charset.c (Vcharacter_attribute_table): New variable.
3302         (Fchar_attribute_alist): New function.
3303         (Fget_char_attribute): New function.
3304         (Fput_char_attribute): New function.
3305         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3306         too.
3307         (syms_of_mule_charset): Add new function `char-attribute-alist',
3308         `get-char-attribute' and `put-char-attribute'.
3309         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3310
3311 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3312
3313         * mule-charset.c (Fmake_charset): Just use
3314         `get_unallocated_leading_byte'.
3315
3316         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3317         sets; don't use final-byte based number for private sets.
3318
3319 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3320
3321         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3322         integer.
3323
3324 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3325
3326         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3327         to 0.9.
3328
3329 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3330
3331         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3332         of `CHAR_LEADING_BYTE' in UTF-2000.
3333
3334         * insdel.c (find_charsets_in_bufbyte_string): Use
3335         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3336         (find_charsets_in_emchar_string): Likewise.
3337
3338         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3339         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3340
3341         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3342         (CHAR_CHARSET_ID): New macro.
3343
3344 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3345
3346         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3347         charset-id - MIN_LEADING_BYTE.
3348         (put_char_table): Likewise.
3349
3350 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3351
3352         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3353         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3354         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3355         (CHARSET_ID_OFFSET): New macro.
3356         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3357         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3358         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3359         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3360         4).
3361         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3362         5).
3363         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3364         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3365         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3366         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3367         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3368
3369 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3370
3371         * mule-charset.c (next_allocated_leading_byte): New variable in
3372         UTF-2000.
3373         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3374         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3375         (get_unallocated_leading_byte): Simply use
3376         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3377         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3378         UTF-2000.
3379
3380         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3381         (MAX_LEADING_BYTE_PRIVATE): New macro.
3382         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3383         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3384
3385 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3386
3387         * mule-charset.c (Fmake_charset): Allocate final-byte based
3388         charset-id for 94-set, 96-set and 94x94-set.
3389
3390 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3391
3392         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3393         ambiguous `else'.
3394         (Fmake_charset): Likewise.
3395         (complex_vars_of_mule_charset): Modify the font registry of
3396         `ucs-bmp' not to match `Ethiopic-Unicode'.
3397
3398 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3399
3400         * mule-charset.c (complex_vars_of_mule_charset): Add font
3401         registory of `ucs-bmp'.
3402
3403 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3404
3405         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3406         coded-charsets in `default-coded-charset-priority-list' when
3407         breaking up a character.
3408
3409         * mule-charset.c (Vcharset_latin_viscii): New variable.
3410         (Qlatin_viscii): New variable.
3411         (make_charset): Don't use `decoding_table'.
3412         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3413         byte_offset.
3414         (Fset_charset_mapping_table): New implementation.
3415         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3416         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3417         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3418         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3419         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3420         charset `latin_viscii'.
3421
3422         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3423         (CHARSET_TYPE_94X94): Change to 1 from 2.
3424         (CHARSET_TYPE_96): Change to 2 from 1.
3425         (CHARSET_TYPE_128): New macro.
3426         (CHARSET_TYPE_128X128): Change to 5 from 4.
3427         (CHARSET_TYPE_256): New macro.
3428         (CHARSET_TYPE_256X256): Change to 7 from 5.
3429         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3430
3431 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3432
3433         * text-coding.c (char_encode_shift_jis): Refer
3434         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3435         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3436
3437         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3438         (char_byte_table_equal): New function in UTF-2000.
3439         (char_byte_table_hash): New function in UTF-2000.
3440         (char_byte_table_description): New constant in UTF-2000.
3441         (char_byte_table): New type in UTF-2000.
3442         (make_char_byte_table): New function in UTF-2000.
3443         (copy_char_byte_table): New function in UTF-2000.
3444         (make_char_code_table): New macro in UTF-2000.
3445         (get_char_code_table): New function in UTF-2000.
3446         (put_char_code_table): New function in UTF-2000.
3447         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3448         (charset_description): Add setting in UTF-2000.
3449         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3450         `CHARSET_TO_BYTE1_TABLE(cs)'.
3451         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3452         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3453         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3454         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3455         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3456         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3457         `CHARSET_TO_BYTE2_TABLE(cs)'.
3458
3459         * char-ucs.h (char_byte_table): New type.
3460         (XCHAR_BYTE_TABLE): New macro.
3461         (XSETCHAR_BYTE_TABLE): New macro.
3462         (CHAR_BYTE_TABLE_P): New macro.
3463         (GC_CHAR_BYTE_TABLE_P): New macro.
3464         (struct Lisp_Char_Byte_Table): New structure.
3465         (get_char_code_table): New interface.
3466         (Emchar_to_byte_table): Deleted.
3467         (get_byte_from_character_table): Deleted.
3468         (struct Lisp_Charset): Add `encoding_table'; delete
3469         `to_byte1_table' and `to_byte2_table'.
3470         (CHARSET_ENCODING_TABLE): New macro.
3471         (CHARSET_TO_BYTE1_TABLE): Deleted.
3472         (CHARSET_TO_BYTE2_TABLE): Deleted.
3473         (XCHARSET_ENCODING_TABLE): New macro.
3474         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3475         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3476
3477 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3478
3479         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3480         `vietnamese-viscii-*'.
3481
3482 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3483
3484         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3485         (Qvietnamese_viscii_upper): New variable.
3486         (Fdefine_charset_alias): New function.
3487         (syms_of_mule_charset): Add new function `define-charset-alias'.
3488         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3489         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3490         `latin-viscii-*'.
3491
3492 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3493
3494         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3495         (MAX_CHAR_OBS_94x94): New macro.
3496         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3497         for 94x94 sets.
3498
3499         * mule-charset.c (put_byte_from_character_table): Change unit size
3500         from 128 to 256.
3501         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3502         not defined.
3503         (Fmake_reverse_direction_charset): Modify dummy argument of
3504         `make_charset' for non-UTF-2000 environment.
3505
3506 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3507
3508         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3509
3510         * mule-charset.c (destroy_byte_from_character_table): New macro.
3511         (latin_jisx0201_to_ucs): Deleted.
3512         (latin_iso8859_2_to_ucs): Deleted.
3513         (latin_iso8859_3_to_ucs): Deleted.
3514         (latin_iso8859_4_to_ucs): Deleted.
3515         (latin_iso8859_9_to_ucs): Deleted.
3516         (latin_viscii_lower_to_ucs): Deleted.
3517         (latin_viscii_upper_to_ucs): Deleted.
3518         (mark_charset): Mark `cs->decoding_table'.
3519         (Fcharset_mapping_table): Fix DOC-string.
3520         (Fset_charset_mapping_table): New function.
3521         (syms_of_mule_charset): Add nwe function
3522         `set-charset-mapping-table'.
3523         (complex_vars_of_mule_charset): Don't setup and use
3524         `latin_*_to_ucs'.
3525
3526 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3527
3528         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3529         charset.
3530
3531 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3532
3533         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3534         (Vcharset_katakana_jisx0208): New variable.
3535         (Qhiragana_jisx0208): New variable.
3536         (Qkatakana_jisx0208): New variable.
3537         (make_charset): Add new argument `byte_offset'.
3538         (charset_get_byte1): Modify for new coded-charset definition; use
3539         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3540         `XCHARSET_BYTE_OFFSET'.
3541         (Fmake_charset): Modify for `make_charset'.
3542         (Fmake_reverse_direction_charset): Likewise.
3543         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3544         `katakana-jisx0208'.
3545         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3546         `.'  in font registry of charset `katakana-jisx0201',
3547         `latin-jisx0201', `vietnamese-viscii-lower' and
3548         `vietnamese-viscii-upper'; modify DOC-string of charset
3549         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3550         registry of charset `japanese-jisx0208' not to use font for JIS
3551         X0208:1990; add new charset `hiragana-jisx0208' and
3552         `katakana-jisx0208'.
3553
3554         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3555         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3556         (struct Lisp_Charset): Add `byte_offset'.
3557         (CHARSET_BYTE_OFFSET): New macro.
3558         (XCHARSET_UCS_MIN): New macro.
3559         (XCHARSET_UCS_MAX): New macro.
3560         (XCHARSET_CODE_OFFSET): New macro.
3561         (XCHARSET_BYTE_OFFSET): New macro.
3562         (MIN_CHAR_HIRAGANA): New macro.
3563         (MAX_CHAR_HIRAGANA): New macro.
3564         (MIN_CHAR_KATAKANA): New macro.
3565         (MAX_CHAR_KATAKANA): New macro.
3566         (MAKE_CHAR): Modify for new coded-charset definition; use
3567         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3568         `XCHARSET_BYTE_OFFSET'.
3569
3570 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3571
3572         * mule-charset.c (CHAR96): Deleted.
3573         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3574         <Lisp_Object>.
3575         (latin_iso8859_2_to_ucs): Likewise.
3576         (latin_iso8859_3_to_ucs): Likewise.
3577         (latin_iso8859_4_to_ucs): Likewise.
3578         (latin_iso8859_9_to_ucs): Likewise.
3579         (latin_viscii_lower_to_ucs): Likewise.
3580         (latin_viscii_upper_to_ucs): Likewise.
3581         (latin_tcvn5712_to_ucs): Commented out.
3582         (make_charset): Change type of argument `decoding_table' from
3583         <Emchar*> to <Lisp_Object> [vector of characters].
3584         (Fmake_charset): Modify for `make_charset'.
3585         (Fmake_reverse_direction_charset): Likewise.
3586         (Fcharset_mapping_table): New function in UTF-2000.
3587         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3588         UTF-2000.
3589         (complex_vars_of_mule_charset): Modify for type change of
3590         `*_to_ucs'; modify for `make_charset'.
3591
3592         * char-ucs.h (struct Lisp_Charset): Change type of
3593         `decoding_table' from <Emchar*> to <Lisp_Object>.
3594         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3595
3596 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3597
3598         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3599         error with non-UTF-2000-Mule.
3600
3601 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3602
3603         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3604         in lisp again].
3605         (Vcharset_chinese_cns11643_4): Likewise.
3606         (Vcharset_chinese_cns11643_5): Likewise.
3607         (Vcharset_chinese_cns11643_6): Likewise.
3608         (Vcharset_chinese_cns11643_7): Likewise.
3609         (Qchinese_cns11643_3): Likewise.
3610         (Qchinese_cns11643_4): Likewise.
3611         (Qchinese_cns11643_5): Likewise.
3612         (Qchinese_cns11643_6): Likewise.
3613         (Qchinese_cns11643_7): Likewise.
3614         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3615         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3616         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3617         (complex_vars_of_mule_charset): Likewise.
3618
3619 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3620
3621         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3622         96-set.
3623         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3624         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3625
3626 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3627
3628         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3629         0xFF60.
3630         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3631         (breakup_char_1): Likewise.
3632
3633         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3634         one of them includes the specified character.
3635
3636 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3637
3638         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3639
3640 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3641
3642         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3643
3644 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3645
3646         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3647         definition for non-UTF-2000 Mule.
3648         (latin_iso8859_3_to_ucs): Likewise.
3649         (latin_iso8859_4_to_ucs): Likewise.
3650         (latin_iso8859_9_to_ucs): Likewise.
3651         (latin_jisx0201_to_ucs): Likewise.
3652         (MIN_CHAR_THAI): Likewise.
3653         (MAX_CHAR_THAI): Likewise.
3654         (MIN_CHAR_GREEK): Likewise.
3655         (MAX_CHAR_GREEK): Likewise.
3656         (MIN_CHAR_HEBREW): Likewise.
3657         (MAX_CHAR_HEBREW): Likewise.
3658         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3659         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3660         (MIN_CHAR_CYRILLIC): Likewise.
3661         (MAX_CHAR_CYRILLIC): Likewise.
3662
3663 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3664
3665         * char-ucs.h (breakup_char_1): Use
3666         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3667         thai-tis620 and katakana-jisx0201 area.
3668
3669 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3670
3671         * char-ucs.h (breakup_char_1): Use
3672         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3673         area.
3674
3675         * text-coding.c (reset_encoding_stream): Fixed.
3676         (char_encode_ucs4): Delete `& 255'.
3677
3678         * char-ucs.h (breakup_char_1): Use
3679         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3680
3681 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3682
3683         * file-coding.c (Fmake_coding_system): Don't set up
3684         `codesys->fixed.size'.
3685         (encode_coding_no_conversion): Don't refer
3686         `str->codesys->fixed.size'.
3687
3688 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3689
3690         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3691         (latin_a_char_to_byte1): Deleted.
3692         (latin_a_char_to_byte2): Deleted.
3693
3694 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3695
3696         * mule-charset.c (make_charset): Add new argument `ucs_min',
3697         `ucs_max' and `code_offset'.
3698         (charset_get_byte1): New implementation [delete specific charset
3699         depended implementations].
3700         (Fmake_charset): Modify for `make_charset'.
3701         (Fmake_reverse_direction_charset): Likewise.
3702         (complex_vars_of_mule_charset): Likewise.
3703
3704         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3705         `code_offset'.
3706         (CHARSET_UCS_MIN): New macro.
3707         (CHARSET_UCS_MAX): New macro.
3708         (CHARSET_CODE_OFFSET): New macro.
3709         (MAKE_CHAR): Delete charset depended definitions [except
3710         katakana-jisx0201].
3711
3712 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3713
3714         * char-ucs.h (breakup_char_1): Use
3715         `Vdefault_coded_charset_priority_list' for C0-Controls,
3716         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3717
3718 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3719
3720         * char-ucs.h (charset_get_byte1): New function.
3721         (XCHARSET_GET_BYTE1): Deleted.
3722         (charset_get_byte2): New function.
3723         (XCHARSET_GET_BYTE2): Deleted.
3724         (Vdefault_coded_charset_priority_list): New external variable.
3725         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3726         `Vdefault_preferred_coded_charset_list'.
3727
3728         * mule-charset.c (charset_get_byte1): New function.
3729         (charset_get_byte2): New function.
3730         (Vdefault_coded_charset_priority_list): New variable.
3731         (vars_of_mule_charset): Add new variable
3732         `default-coded-charset-priority-list'.
3733
3734 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3735
3736         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3737         (XCHARSET_GET_BYTE2): New inline function.
3738         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3739         `XCHARSET_GET_BYTE2'.
3740
3741 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3742
3743         * mule-charset.c (make_charset): Initialize
3744         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3745         NULL if table is not defined.
3746
3747 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3748
3749         * text-coding.c (char_encode_shift_jis): Use
3750         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3751         `ucs_to_latin_jisx0201'.
3752
3753         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3754         (ucs_to_latin_iso8859_2): Deleted.
3755         (ucs_to_latin_iso8859_3): Deleted.
3756         (ucs_to_latin_iso8859_4): Deleted.
3757         (ucs_to_latin_iso8859_9): Deleted.
3758         (ucs_to_latin_viscii_lower): Deleted.
3759         (ucs_to_latin_viscii_upper): Deleted.
3760         (ucs_to_latin_tcvn5712): Deleted.
3761         (make_charset): Add new argument `decoding_table'; set up
3762         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3763         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3764         `decoding_table' is defined in UTF-2000.
3765         (Fmake_charset): Modify for `make_charset'.
3766         (Fmake_reverse_direction_charset): Likewise.
3767         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3768         and `GENERATE_96_SET'.
3769
3770         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3771         (ucs_to_latin_jisx0201): Deleted.
3772         (latin_iso8859_2_to_ucs): Deleted.
3773         (ucs_to_latin_iso8859_2): Deleted.
3774         (latin_iso8859_3_to_ucs): Deleted.
3775         (ucs_to_latin_iso8859_3): Deleted.
3776         (latin_iso8859_4_to_ucs): Deleted.
3777         (ucs_to_latin_iso8859_4): Deleted.
3778         (latin_iso8859_9_to_ucs): Deleted.
3779         (ucs_to_latin_iso8859_9): Deleted.
3780         (latin_viscii_lower_to_ucs): Deleted.
3781         (ucs_to_latin_viscii_lower): Deleted.
3782         (latin_viscii_upper_to_ucs): Deleted.
3783         (ucs_to_latin_viscii_upper): Deleted.
3784         (struct Lisp_Charset): Renamed `encoding_table' to
3785         `to_byte1_table'; add `to_byte2_table'.
3786         (CHARSET_DECODING_TABLE): New macro.
3787         (CHARSET_TO_BYTE1_TABLE): New macro.
3788         (CHARSET_TO_BYTE2_TABLE): New macro.
3789         (XCHARSET_DECODING_TABLE): New macro.
3790         (XCHARSET_TO_BYTE1_TABLE): New macro.
3791         (XCHARSET_TO_BYTE2_TABLE): New macro.
3792         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3793         tables.
3794         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3795         don't use `ucs_to_*' tables.
3796
3797 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3798
3799         * text-coding.c (Fmake_coding_system): Don't set up
3800         `codesys->fixed.size'.
3801         (encode_coding_no_conversion): Use `if' instead of `switch'.
3802
3803         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3804
3805 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3806
3807         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3808         (Fmake_charset): Modify for `make_charset'.
3809         (Fmake_reverse_direction_charset): Likewise.
3810         (complex_vars_of_mule_charset): Likewise.
3811
3812 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3813
3814         * text-coding.c (char_encode_shift_jis): Use table
3815         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3816
3817 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3818
3819         * text-coding.c (text_encode_generic): Use `if' instead of
3820         `switch'.
3821         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3822         decode JIS-Latin.
3823
3824 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3825
3826         * text-coding.c (encode_coding_sjis): Deleted.
3827         (char_encode_shift_jis): New function.
3828         (char_finish_shift_jis): New function.
3829         (reset_encoding_stream): Set up `encode_char' and `finish' for
3830         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3831         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3832         (char_encode_utf8): Treat `eol_type'.
3833
3834 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3835
3836         * file-coding.c (decode_coding_iso2022): Use
3837         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3838
3839 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3840
3841         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3842         to 0.7 (Hirano).
3843
3844 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3845
3846         * char-lb.h (CHAR_COLUMNS): New macro.
3847
3848 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3849
3850         * text-coding.c (char_encode_ucs4): New function.
3851         (char_finish_ucs4): New function.
3852         (encode_coding_ucs4): Deleted.
3853         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3854         (text_encode_generic): Delete local variable `charset' and `half'.
3855         (ucs_to_mule_table): Deleted.
3856         (mule_to_ucs_table): Deleted.
3857         (Fset_ucs_char): Deleted.
3858         (ucs_to_char): Deleted.
3859         (Fucs_char): Deleted.
3860         (Fset_char_ucs): Deleted.
3861         (Fchar_ucs): Deleted.
3862         (decode_ucs4): Deleted.
3863         (mule_char_to_ucs4): Deleted.
3864         (encode_ucs4): Deleted.
3865         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3866         (decode_coding_utf8): Likewise.
3867         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3868         (char_encode_iso2022): Fixed.
3869         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3870         `Fset_char_ucs' and `Fchar_ucs'.
3871         (complex_vars_of_file_coding): Don't initialize
3872         `ucs_to_mule_table'.
3873
3874         * objects-tty.c (tty_initialize_font_instance): Don't use
3875         `XCHARSET_COLUMNS'.
3876
3877         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3878         UTF-2000.
3879
3880         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3881         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3882
3883         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3884         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3885         (emchar_string_displayed_columns): Likewise.
3886
3887         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3888         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3889         (string_column_at_point): Likewise.
3890         (Fmove_to_column): Likewise.
3891
3892         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3893         `encoding_table' and `decoding_table'.
3894         (CHARSET_REP_BYTES): Deleted.
3895         (XCHARSET_REP_BYTES): Deleted.
3896         (XCHARSET_COLUMNS): Deleted.
3897         (CHAR_COLUMNS): New macro.
3898         (lookup_composite_char): Deleted unconditionally.
3899         (composite_char_string): Likewise.
3900
3901 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3902
3903         * char-ucs.h (Emchar_to_byte_table): New type.
3904         (get_byte_from_character_table): New function interface.
3905         (Vcharset_latin_jisx0201): New variable.
3906         (latin_jisx0201_to_ucs): New variable.
3907         (ucs_to_latin_jisx0201): New variable.
3908         (Vcharset_latin_iso8859_2): New variable.
3909         (latin_iso8859_2_to_ucs): New variable.
3910         (ucs_to_latin_iso8859_2): New variable.
3911         (Vcharset_latin_iso8859_3): New variable.
3912         (latin_iso8859_3_to_ucs): New variable.
3913         (ucs_to_latin_iso8859_3): New variable.
3914         (Vcharset_latin_iso8859_4): New variable.
3915         (latin_iso8859_4_to_ucs): New variable.
3916         (ucs_to_latin_iso8859_4): New variable.
3917         (Vcharset_latin_iso8859_9): New variable.
3918         (latin_iso8859_9_to_ucs): New variable.
3919         (ucs_to_latin_iso8859_9): New variable.
3920         (Vcharset_latin_viscii_lower): New variable.
3921         (latin_viscii_lower_to_ucs): New variable.
3922         (ucs_to_latin_viscii_lower): New variable.
3923         (Vcharset_latin_viscii_upper): New variable.
3924         (latin_viscii_upper_to_ucs): New variable.
3925         (ucs_to_latin_viscii_upper): New variable.
3926         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3927         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3928         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3929         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3930         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3931         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3932         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3933         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3934         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3935         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3936
3937         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3938         (Vcharset_latin_viscii_upper): New variable.
3939         (make_byte_from_character_table): New function.
3940         (put_byte_from_character_table): New function.
3941         (get_byte_from_character_table): New function.
3942         (CHAR96): New macro.
3943         (ucs_to_latin_jisx0201): New variable.
3944         (latin_jisx0201_to_ucs): New variable.
3945         (ucs_to_latin_iso8859_2): New variable.
3946         (latin_iso8859_2_to_ucs): New variable.
3947         (ucs_to_latin_iso8859_3): New variable.
3948         (latin_iso8859_3_to_ucs): New variable.
3949         (ucs_to_latin_iso8859_4): New variable.
3950         (latin_iso8859_4_to_ucs): New variable.
3951         (ucs_to_latin_iso8859_9): New variable.
3952         (latin_iso8859_9_to_ucs): New variable.
3953         (ucs_to_latin_viscii_lower): New variable.
3954         (latin_viscii_lower_to_ucs): New variable.
3955         (ucs_to_latin_viscii_upper): New variable.
3956         (latin_viscii_upper_to_ucs): New variable.
3957         (ucs_to_latin_tcvn5712): New variable.
3958         (latin_tcvn5712_to_ucs): New variable.
3959         (Qlatin_viscii_lower): New variable.
3960         (Qlatin_viscii_upper): New variable.
3961         (syms_of_mule_charset): Set up new symbol
3962         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3963         (complex_vars_of_mule_charset): Set up new charset
3964         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3965         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3966         `ucs_to_<CHARSET>' tables.
3967
3968 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3969
3970         * text-coding.c: New file.
3971
3972 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3973
3974         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3975
3976         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3977         (MAKE_CHAR): Modify for `ucs-bmp'.
3978         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3979         non-MULE characters of BMP.
3980
3981 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3982
3983         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3984         to 0.6.
3985
3986 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3987
3988         * lstream.h:
3989         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3990         - Include character.h for `CHAR_ASCII_P'.
3991
3992         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3993
3994         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3995         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3996
3997         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3998         (BYTE_C0_P): Likewise.
3999         (BYTE_C1_P): Likewise.
4000         (Lstream_get_emchar_1): Likewise.
4001         (Lstream_fput_emchar): Likewise.
4002         (Lstream_funget_emchar): Likewise.
4003         (copy_internal_to_external): Likewise.
4004         (copy_external_to_internal): Likewise.
4005
4006         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4007         (BYTE_C0_P): Likewise.
4008         (BYTE_C1_P): Likewise.
4009         (Lstream_get_emchar_1): Likewise.
4010         (Lstream_fput_emchar): Likewise.
4011         (Lstream_funget_emchar): Likewise.
4012         (copy_internal_to_external): Likewise.
4013         (copy_external_to_internal): Likewise.
4014
4015         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4016         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4017
4018         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4019         (BYTE_ASCII_P): Moved to mb-1byte.h.
4020
4021 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4022
4023         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4024
4025         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4026         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4027         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4028         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4029         (VALIDATE_CHARPTR_FORWARD): Likewise.
4030         (simple_charptr_emchar): Moved to mb-multibyte.h.
4031         (simple_set_charptr_emchar): Likewise.
4032         (simple_charptr_copy_char): Likewise.
4033         (non_ascii_charptr_emchar): Likewise.
4034         (non_ascii_set_charptr_emchar): Likewise.
4035         (non_ascii_charptr_copy_char): Likewise.
4036         (charptr_emchar): Moved to mb-*byte.h.
4037         (set_charptr_emchar): Likewise.
4038         (charptr_copy_char): Likewise.
4039
4040         * mb-1byte.h, mb-multibyte.h: New files.
4041
4042 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4043
4044         * mb-utf-8.h (MULTIBYTE): New macro.
4045         (MAX_EMCHAR_LEN): Moved from buffer.h.
4046         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4047
4048         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4049
4050         * mb-lb.h, multibyte.h: New files.
4051
4052         * char-1byte.h (Charset_ID): Moved from buffer.h.
4053         (MIN_LEADING_BYTE): Likewise.
4054         (LEADING_BYTE_ASCII): Likewise.
4055         (NUM_LEADING_BYTES): Likewise.
4056         (CHARSETP): Likewise.
4057         (CHARSET_BY_LEADING_BYTE): Likewise.
4058         (XCHARSET_LEADING_BYTE): Likewise.
4059         (XCHARSET_GRAPHIC): Likewise.
4060         (XCHARSET_COLUMNS): Likewise.
4061         (XCHARSET_DIMENSION): Likewise.
4062         (CHAR_CHARSET): Likewise.
4063         (CHAR_LEADING_BYTE): Likewise.
4064         (BREAKUP_CHAR): Likewise.
4065         (Vcharset_ascii): Likewise.
4066
4067         * buffer.h: Include multibyte.h unconditionally.
4068         (VALID_CHARPTR_P): Moved to multibyte.h.
4069         (ASSERT_VALID_CHARPTR): Likewise.
4070         (REAL_INC_CHARPTR): Likewise.
4071         (REAL_INC_CHARBYTIND): Likewise.
4072         (REAL_DEC_CHARPTR): Likewise.
4073         (INC_CHARPTR): Likewise.
4074         (INC_CHARBYTIND): Likewise.
4075         (DEC_CHARPTR): Likewise.
4076         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4077         (VALIDATE_CHARPTR_FORWARD): Likewise.
4078         (charptr_n_addr): Likewise.
4079         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4080         (simple_charptr_emchar): Moved to multibyte.h.
4081         (simple_set_charptr_emchar): Likewise.
4082         (simple_charptr_copy_char): Likewise.
4083         (non_ascii_charptr_emchar): Likewise.
4084         (non_ascii_set_charptr_emchar): Likewise.
4085         (non_ascii_charptr_copy_char): Likewise.
4086         (charptr_emchar): Likewise.
4087         (set_charptr_emchar): Likewise.
4088         (charptr_copy_char): Likewise.
4089         (charptr_emchar_n): Likewise.
4090         (Charset_ID): Moved to char-1byte.h.
4091         (Vcharset_ascii): Likewise.
4092         (CHAR_CHARSET): Likewise.
4093         (CHAR_LEADING_BYTE): Likewise.
4094         (LEADING_BYTE_ASCII): Likewise.
4095         (NUM_LEADING_BYTES): Likewise.
4096         (MIN_LEADING_BYTE): 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         (BREAKUP_CHAR): Likewise.
4104
4105 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4106
4107         * character.h: Add document about interface for characters.
4108
4109         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4110         (MAKE_CHAR): Delete comment about
4111         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4112         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4113         (BREAKUP_CHAR): Modify name of arguments.
4114         (CHAR_CHARSET): Modify name of argument.
4115
4116         * buffer.h: Delete document about Emchar accessors.
4117
4118 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4119
4120         * character.h (CHAR_INTP): Moved from buffer.h
4121         (CHAR_OR_CHAR_INTP): Likewise.
4122         (XCHAR_OR_CHAR_INT): Likewise.
4123         (CHECK_CHAR_COERCE_INT): Likewise.
4124
4125         * buffer.h (CHAR_INTP): Moved to character.h
4126         (CHAR_OR_CHAR_INTP): Likewise.
4127         (XCHAR_OR_CHAR_INT): Likewise.
4128         (CHECK_CHAR_COERCE_INT): Likewise.
4129
4130 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4131
4132         * character.h:
4133         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4134         - Include char-1byte.h, char-lb.h or char-ucs.h.
4135
4136         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4137
4138         * buffer.h: Include character unconditionally.
4139         (valid_char_p): Moved to char-*.h.
4140         (non_ascii_valid_char_p): Moved to char-lb.h.
4141
4142         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4143
4144 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4145
4146         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4147         in UTF-2000 because it is not ported yet and not to use
4148         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4149         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4150         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4151
4152         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4153         (CHAR_ASCII_P): Moved from character.h.
4154
4155         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4156         (CHAR_ASCII_P): Likewise.
4157         (CHAR_FIELD1_MASK): Deleted.
4158         (CHAR_FIELD2_MASK): Deleted.
4159         (CHAR_FIELD3_MASK): Deleted.
4160         (MAX_CHAR_BASIC_LATIN): New macro.
4161         (CHAR_FIELD1): Deleted.
4162         (CHAR_FIELD2_INTERNAL): Deleted.
4163         (CHAR_FIELD3_INTERNAL): Deleted.
4164         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4165         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4166         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4167         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4168         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4169         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4170         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4171         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4172         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4173         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4174         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4175         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4176         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4177         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4178         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4179         (MIN_CHAR_COMPOSITION): Deleted.
4180         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4181         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4182
4183 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4184
4185         * buffer.h: Include mb-utf-8.h in UTF-2000.
4186
4187         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4188
4189         * mb-utf-8.h: New file.
4190
4191 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4192
4193         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4194         instead of `int'.
4195
4196         * mule-charset.h, buffer.h (Charset_ID): New type.
4197
4198 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4199
4200         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4201         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4202         instead of `MULE_CHAR_PRIVATE_OFFSET',
4203         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4204         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4205         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4206
4207         * character.h (Vcharset_japanese_jisx0212): New variable
4208         definition.
4209
4210 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4211
4212         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4213         (charset_by_attributes): Delete array about direction.
4214         (latin_a_char_to_charset): New variable in UTF-2000.
4215         (latin_a_char_to_byte1): New variable in UTF-2000.
4216         (latin_a_char_to_byte2): New variable in UTF-2000.
4217         (Qucs_bmp): New variable.
4218         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4219         `Bufbyte'.
4220         (next_allocated_2_byte_leading_byte): Likewise.
4221         (non_ascii_set_charptr_emchar): Likewise.
4222         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4223         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4224         `charset_by_attributes'.
4225         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4226         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4227         and `CHARSET_BY_LEADING_BYTE'.
4228         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4229         `utf-2000-version' to `vars_of_mule_charset'.
4230         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4231         define `leading-code-private-11' in UTF-2000; move setting of
4232         `utf-2000-version' from `syms_of_mule_charset'.
4233         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4234         UTF-2000.
4235
4236         * character.h (Charset_ID): New type.
4237         (LEADING_BYTE_UCS_BMP): New macro.
4238         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4239         (CHARSET_ID_OFFSET_94): New macro.
4240         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4241         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4242         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4243         final-byte.
4244         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4245         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4246         (CHARSET_ID_OFFSET_96): New macro.
4247         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4248         CHARSET_ID_OFFSET_96 and final-byte.
4249         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4250         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4251         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4252         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4253         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4254         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4255         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4256         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4257         (LEADING_BYTE_THAI_TIS620): Likewise.
4258         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4259         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4260         (CHARSET_ID_OFFSET_94x94): New macro.
4261         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4262         CHARSET_ID_OFFSET_94x94 and final-byte.
4263         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4264         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4265         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4266         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4267         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4268         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4269         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4270         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4271         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4272         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4273         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4274         (CHARSET_TYPE_128X128): New macro.
4275         (CHARSET_TYPE_256X256): New macro.
4276         (XCHARSET_PRIVATE_P): Delete unconditionally.
4277         (charset_by_attributes): Delete array about direction.
4278         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4279         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4280         (MIN_CHAR_94): New macro.
4281         (MAX_CHAR_94): New macro.
4282         (MIN_CHAR_96): New macro.
4283         (MAX_CHAR_96): New macro.
4284         (MIN_CHAR_94x94): New macro.
4285         (MAX_CHAR_94x94): New macro.
4286         (MIN_CHAR_96x96): New macro.
4287         (MAX_CHAR_96x96): New macro.
4288         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4289         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4290         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4291         - 32)'.
4292         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4293         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4294         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4295         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4296         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4297         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4298         `XCHARSET_LEADING_BYTE' to make code-point.
4299         (latin_a_char_to_charset): New variable.
4300         (latin_a_char_to_byte1): New variable.
4301         (latin_a_char_to_byte2): New variable.
4302         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4303         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4304         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4305
4306         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4307         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4308         (find_charsets_in_emchar_string): Likewise.
4309         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4310
4311         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4312         `int'.
4313         (decode_coding_iso2022): Likewise.
4314
4315         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4316         of `unsigned char'.
4317
4318         * redisplay.c (redisplay_text_width_emchar_string): Use
4319         `Charset_ID' instead of `unsigned char'.
4320         (redisplay_frame_text_width_string): Likewise.
4321
4322         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4323         `unsigned char'.
4324
4325         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4326         instead of `unsigned char'.
4327         (face_cachel_charset_font_metric_info): Likewise.
4328
4329         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4330         (get_non_ascii_char_table_value): Likewise.
4331         (get_char_table): Likewise.
4332         (put_char_table): Likewise.
4333         (map_over_other_charset): Likewise.
4334         (map_char_table): Likewise.
4335
4336         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4337         instead of `unsigned char'.
4338
4339 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4340
4341         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4342         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4343
4344         * mule-charset.c (leading_code_private_11): Don't define in
4345         UTF-2000.
4346
4347         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4348         in UTF-2000 because it is not ported yet and not to use
4349         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4350
4351 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4352
4353         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4354
4355 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4356
4357         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4358         in UTF-2000.
4359
4360         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4361         of unsigned char to store leading-byte.
4362
4363         * chartab.c (get_non_ascii_char_table_value): Don't use
4364         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4365
4366         * file-coding.c (encode_coding_big5): Delete bogus implementation
4367         in UTF2000.
4368
4369         * character.h (LEADING_BYTE_*): Delete definition for
4370         non-UTF-2000.
4371         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4372         (LEADING_BYTE_PREFIX_P): Deleted.
4373         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4374         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4375         (BUFBYTE_LEADING_BYTE_P): Deleted.
4376         (CHARSET_PRIVATE_P): Deleted unconditionally.
4377         (rep_bytes_by_first_byte): Deleted unconditionally.
4378         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4379         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4380         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4381         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4382         (CHAR_FIELD2): Deleted.
4383         (CHAR_FIELD3): Deleted.
4384         (MAKE_CHAR): Delete definition for non-UTF-2000.
4385         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4386         (breakup_char_1): New implementation.
4387         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4388         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4389
4390 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4391
4392         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4393         condition.
4394
4395 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4396
4397         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4398         (CHARSET_PRIVATE_P): Likewise.
4399         (XCHARSET_PRIVATE_P): Likewise.
4400         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4401
4402         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4403         UTF2000.
4404         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4405
4406 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4407
4408         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4409         (NUM_LEADING_BYTES): Changed from 128 to 256.
4410         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4411         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4412         UTF2000.
4413         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4414
4415         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4416         UTF2000.
4417         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4418         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4419         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4420         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4421         (Qchinese_cns11643_3): New variable in UTF2000.
4422         (Qchinese_cns11643_4): New variable in UTF2000.
4423         (Qchinese_cns11643_5): New variable in UTF2000.
4424         (Qchinese_cns11643_6): New variable in UTF2000.
4425         (Qchinese_cns11643_7): New variable in UTF2000.
4426         (syms_of_mule_charset): Define `chinese-cns11643-3',
4427         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4428         and `chinese-cns11643-7' in UTF2000.
4429         (vars_of_mule_charset): Initialize
4430         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4431         + 1 in UTF2000.
4432         (complex_vars_of_mule_charset): Setup charset
4433         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4434         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4435
4436 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4437
4438         * mule-charset.c: Move setting for `leading-code-private-11' from
4439         `syms_of_mule_charset' to `vars_of_mule_charset'.
4440
4441 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4442
4443         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4444         and `NUM_LEADING_BYTES' in assert.
4445
4446 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4447
4448         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4449         instead of 128.
4450         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4451         `NUM_LEADING_BYTES' instead of 128.
4452
4453 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4454
4455         * mule-charset.h (charset_by_leading_byte): Use
4456         `NUM_LEADING_BYTES' instead of 128.
4457         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4458
4459         * mule-charset.c (charset_by_leading_byte): Use
4460         `NUM_LEADING_BYTES' instead of 128.
4461         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4462
4463         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4464         128.
4465
4466 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4467
4468         * mule-charset.c (syms_of_mule_charset): Update to
4469         0.4 (Shin-Imamiya).
4470
4471 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4472
4473         * file-coding.c (encode_coding_sjis): New implementation for
4474         UTF2000.  (decode_coding_sjis): Ditto.
4475
4476 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4477
4478         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4479         Don't define in UTF2000.
4480
4481         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4482         defined.
4483
4484         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4485         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4486         MULE.
4487
4488 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4489
4490         * config.h.in (CHAR_IS_UCS4): New macro.
4491
4492         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4493         conventional MULE representation.
4494         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4495
4496         * mule-charset.h: Reverted to original.
4497
4498         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4499         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4500         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4501
4502         * character.h: New file.
4503
4504         * file-coding.c (Fmake_coding_system): Set 1 to
4505         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4506         defined.
4507         (encode_coding_no_conversion): New implementation for UTF2000.
4508
4509         * file-coding.h (struct Lisp_Coding_System): Add new member
4510         `fixed.size'.
4511
4512 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4513
4514         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4515         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4516         (encode_coding_iso2022): New implementation for UTF2000.
4517
4518 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4519
4520         * mule-canna.c (c2mu): New implementation for UTF2000.
4521         (m2c): Likewise.
4522
4523 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4524
4525         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4526
4527 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4528
4529         * file-coding.c (reset_encoding_stream): Set 0 to
4530         `str->iso2022.current_char_boundary' in UTF2000.
4531         (encode_utf8): Don't define in UTF2000.
4532         (encode_coding_utf8): New implementation for UTF-8 representation
4533         of UTF2000.
4534         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4535
4536 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4537
4538         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4539
4540         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4541         UTF2000.
4542         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4543
4544         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4545
4546         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4547         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4548         as UTF-8 in UTF2000.
4549         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4550         (non_ascii_valid_char_p): Don't define in UTF2000.
4551         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4552         (Lstream_get_emchar_1): Likewise.
4553         (utf-2000-version): New variable in UTF2000.
4554
4555         * lread.c (read_escape): Add new reader `u'.
4556
4557         * insdel.c (three_to_one_table): Don't define in UTF2000.
4558         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4559         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4560         UTF2000.
4561         (bytind_to_bufpos_func): Likewise.
4562         (buffer_mule_signal_inserted_region): Likewise.
4563         (vars_of_insdel): Don't initialize `three_to_one_table'.
4564         (init_buffer_text): Use `buf->text->mule_size' instead of
4565         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4566         UTF2000.
4567
4568         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4569         UTF-8 representation in UTF2000.
4570         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4571         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4572         (decode_coding_iso2022): Don't define local variable `lb' in
4573         UTF2000; don't use LEADING_BYTE in UTF2000; use
4574         `DECODE_ADD_UCS_CHAR' in UTF2000.
4575         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4576
4577         * config.h.in (UTF2000): New macro.
4578
4579         * buffer.h (struct buffer_text): Add new member `mule_size' and
4580         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4581         (valid_char_p): Return always 1 in UTF2000.
4582         (MAX_EMCHAR_LEN): 6 in UTF2000.
4583         (three_to_one_table): Don't define in UTF2000.
4584         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4585         UTF2000.
4586         (real_bytind_to_bufpos): Likewise.
4587
4588         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4589
4590 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4591
4592         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4593         representation change.
4594         (Vutf_2000_version): New variable.
4595         (leading_code_private_11): New variable.
4596         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4597         `leading-code-private-11'.
4598
4599         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4600         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4601         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4602         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4603         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4604         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4605         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4606         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4607         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4608         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4609         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4610         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4611         (MIN_CHAR_GREEK): New macro.
4612         (MAX_CHAR_GREEK): New macro.
4613         (MIN_CHAR_CYRILLIC): New macro.
4614         (MAX_CHAR_CYRILLIC): New macro.
4615         (MIN_CHAR_HEBREW): New macro.
4616         (MAX_CHAR_HEBREW): New macro.
4617         (MIN_CHAR_THAI): New macro.
4618         (MAX_CHAR_THAI): New macro.
4619         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4620         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4621         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4622         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4623         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4624         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4625         (CHAR_FIELD2): New inline function.
4626         (CHAR_FIELD3): New inline function.
4627         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4628         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4629         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4630         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4631         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4632         (MIN_CHAR_COMPOSITION): Likewise.
4633         (CHAR_LEADING_BYTE): Modified for character representation change.
4634         (MAKE_CHAR): Likewise.
4635
4636         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4637         (Vcharset_greek_iso8859_7): Likewise.
4638         (Vcharset_cyrillic_iso8859_5): Likewise.
4639         (Vcharset_hebrew_iso8859_8): Likewise.
4640         (Vcharset_thai_tis620): Likewise.
4641         (Vcharset_katakana_jisx0201): Likewise.
4642
4643 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
4644
4645         * XEmacs 21.4.10 "Military Intelligence" is released.
4646
4647 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
4648
4649         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
4650         using the NAS private array SoundFileInfo that no longer exists in
4651         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
4652         and earlier.  This is broken for some versions between 1.5a and
4653         1.5f.
4654
4655 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
4656
4657         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
4658
4659         * emacs.c (shut_down_emacs): Improve crash message.
4660
4661 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
4662
4663         * file-coding.c (determine_real_coding_system): Check for coding
4664         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
4665         shebangs and Python PEP 263.
4666
4667 2002-10-08  Andy Piper  <andy@xemacs.org>
4668
4669         * glyphs-widget.c (layout_query_geometry): only resize dynamically
4670         if static sizes haven't been set.
4671
4672 2002-08-30  Mike Alexander  <mta@arbortext.com>
4673
4674         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
4675         to close a socket.
4676
4677 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
4678
4679         * callproc.c (child_setup): 21.4 doesn't have retry_close.
4680
4681 2002-09-20  Mike Sperber <mike@xemacs.org>
4682
4683         (This partially gets back my patch from 2002-07-20 without the
4684         bug.)
4685         * callproc.c (child_setup): Remove Ben's comment noting confusion
4686         over the file descriptors >= 3: close_process_descs() doesn't
4687         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
4688         * process-unix.c (unix_create_process): Call
4689         begin_dont_check_for_quit to inhibit unwanted interaction (and
4690         thus breaking of X event synchronicity) in the child.
4691
4692 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
4693
4694         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
4695         widget.
4696
4697 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
4698
4699         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
4700         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
4701         the xemacs process did not exit, but looped infinitely here.  This
4702         fixes that problem.
4703
4704 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4705
4706         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
4707         (find_context): Improve comments.
4708
4709         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
4710         (re_match_2): An XCHAR_TABLE operation was missing.
4711
4712         Many of the following changes were inspired by Andy Piper's (now
4713         obsolete) patch to make syntax-table text property lookup optional.
4714
4715         [Documentation]
4716
4717         * syntax.h (top level): Document semantics of syntax flags.
4718         * syntax.c (comstr_start, Fforward_comment): Improve comments.
4719         * syntax.c, syntax.h (top level): Document syntax cache better in
4720         comments.
4721
4722         [Instrument syntax caching (temporary change)]
4723
4724         * syntax.h (enum syntax_cache_statistics_functions, struct
4725         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
4726         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
4727         * syntax.c (scan_words, Fforward_comment, scan_lists,
4728         Fbackward_prefix_characters):
4729         * font-lock.c (find_context):
4730         Use them to instrument syntax caching. 
4731         * syntax.c (struct syntax_cache_statistics, scs_statistics,
4732         syntax_cache_statistics_function_names): New type and variables.
4733         * syntax.c (update_syntax_cache): Update and report statistics.
4734
4735         [Major syntax cache optimizations]
4736
4737         syntax.c (lookup_syntax_properties): Default off.
4738
4739         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
4740         * syntax.c (update_syntax_cache):
4741         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
4742
4743         [Minor syntax cache optimizations and code clarifications]
4744
4745         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
4746         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
4747         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
4748         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
4749         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
4750         (Code clarification.)
4751
4752         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
4753         scan_lists): Compute code from syncode, use Boolean macros instead
4754         of redundant masking operations.  (Code clarification; any decent
4755         compiler can do this optimization.)
4756
4757         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
4758         for clarity.
4759
4760         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
4761         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
4762         use F*_single_property_change instead of F*_extent_change.
4763         Currently F*_single_property_change is _much_ less efficient.
4764
4765         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
4766         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
4767         syntax_cache.object properly, don't leave Qt or Qnil.
4768         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
4769         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
4770         tests for Qt or Qnil.
4771
4772 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
4773
4774         * redisplay.c (point_in_line_start_cache): 
4775         * extents.c (print_extent_1):
4776         Fix warnings.
4777
4778         * extents.c (Fset_extent_property): Document `syntax-table' property.
4779
4780         * extents.h (Fnext_single_property_change): EXFUN it.
4781
4782 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
4783
4784         * search.c (clear_unused_search_regs): New static function.
4785         (search_buffer): 
4786         (simple_search): 
4787         (boyer_moore):
4788         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
4789         Minor clarifications in comments.
4790
4791         * regex.c (re_match_2_internal): Ensure no stale submatches.
4792
4793 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
4794
4795         * event-Xt.c (enqueue_focus_event): Add missing prototype.
4796
4797 2002-08-29  Jerry James  <james@xemacs.org>
4798
4799         * lisp.h: structrures -> structures.
4800
4801 2002-06-03  Andy Piper  <andy@xemacs.org>
4802
4803         * frame.c (frame_conversion_internal): add conversion appropriate
4804         for setting frame dimensions in pixels.
4805
4806         * console.h (struct console_methods): add device-specific widget
4807         layout functions.
4808
4809         * emacs.c (main_1): initialize glyph vars.
4810
4811         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
4812         (handle_focus_event_2): new function. Allow focus to
4813         be set to a particular window and widget.
4814         (enqueue_focus_event): new function. Create a
4815         synthetic focus event.
4816         (emacs_Xt_handle_magic_event): call
4817         handle_focus_event_2.
4818
4819         * frame.c (Fset_frame_pixel_height): new function. Allow
4820         pixel-based sizing. Does the right thing on character-oriented
4821         displays.
4822         (Fset_frame_pixel_width): ditto.
4823         (Fset_frame_pixel_size): ditto.
4824         (syms_of_frame): declare.
4825
4826         * general-slots.h: add :vertically-justify and
4827         :horizontally-justify.
4828
4829         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
4830         (mswindows_widget_border_width): new function.
4831         (mswindows_combo_box_instantiate): set border widths.
4832         (console_type_create_glyphs_mswindows): declare.
4833
4834         * glyphs-widget.c:
4835         (check_valid_justification): allow vertical and horizontal
4836         justification.
4837         (widget_border_width): new function. Call device methods.
4838         (widget_instance_border_width): ditto.
4839         (logical_unit_height): new function. Determine the height of a
4840         logical-unit. Logical units are intended to provide grid-like
4841         layout for subcontrols in a layout. If the layout is
4842         :vertically-justify top then subcontrols will be positioned on
4843         logical-unit boundaries, thus allowing adjacent subcontrols to
4844         line up.
4845         (widget_logical_unit_height): ditto for widgets.
4846         (redisplay_widget): misc cleanup.
4847         (widget_spacing): new function. Call device specific
4848         methods. Intended to be the default gap between adjacent widgets.
4849         (widget_query_geometry): use new spacing functions to determine
4850         appropriate geometry.
4851         (initialize_widget_image_instance): initialize horizontal and
4852         vertical justification.
4853         (widget_instantiate): use logica-units where appropriate for
4854         sizing large widgets.
4855         (button_query_geometry): use widget_instance_border_width.
4856         (tree_view_query_geometry): ditto.
4857         (tab_control_query_geometry): ditto.
4858         (edit_field_query_geometry): new function.
4859         (layout_update): pick up :justify, :horizontally-justify and
4860         :vertically-justify none of which worked previously. :justify is
4861         used as a fallback for both horizontal and vertical justification.
4862         (layout_query_geometry): use logical units to size appropriately.
4863         (layout_layout): ditto.
4864         (Fwidget_logical_to_character_width): new function. Allow users to
4865         convert from logical units to characters so that frame sizes can
4866         be set appropriately.
4867         (Fwidget_logical_to_character_height): ditto.
4868         (syms_of_glyphs_widget): declare.
4869         (image_instantiator_edit_fields): add edit_field_query_geometry.
4870         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
4871         :horizontally-justify.
4872         (specifier_vars_of_glyphs_widget): new function. Declare
4873         Vwidget_border_width which is not yet used.
4874
4875         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
4876         (x_widget_border_width): new function.
4877         (x_widget_instantiate): create a sensible name for widgets.
4878         (console_type_create_glyphs_x): declare x_widget_border_width.
4879
4880         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
4881         (struct Lisp_Image_Instance): add :vertically-justify and
4882         :horizontally-justify.
4883         (LAYOUT_JUSTIFY_TOP): new.
4884         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
4885         (ROUND_UP): new macro. Round argument up to next integral
4886         interval.
4887
4888         * redisplay-output.c (redisplay_output_layout): misc formatting.
4889
4890         * symsinit.h: declare specifier_vars_of_glyphs_widget.
4891
4892 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
4893
4894         * XEmacs 21.4.9 "Informed Management" is released.
4895
4896 2002-08-19  Andy Piper  <andy@xemacs.org>
4897
4898         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
4899         win32 format.
4900
4901         * realpath.c (xrealpath): normalize drive spec also so that dir
4902         sep chars are not mixed on cygwin.
4903
4904 2002-08-06  Jerry James  <james@xemacs.org>
4905
4906         * window.c (Fsplit_window): Count only half of the divider width
4907         against the left window when splitting horizontally. 
4908
4909 2002-06-24  Andy Piper  <andy@xemacs.org>
4910
4911         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
4912         toolbar was cleared.
4913
4914         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
4915         function. Split out from mswindows_output_frame_toolbars.
4916         (mswindows_output_frame_toolbars): move clear pieces to
4917         mswindows_output_frame_toolbars.
4918
4919         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
4920         out from gtk_output_frame_toolbars.
4921         (gtk_output_frame_toolbars): move clear pieces to
4922         gtk_clear_frame_toolbars.
4923
4924         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
4925         the frame is cleared. How this ever worked before is a mystery.
4926         (x_output_frame_toolbars): Only output toolbars.
4927         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
4928
4929         * gutter.c (update_gutter_geometry):
4930         Mark frame layout changed.
4931         (update_frame_gutter_geometry, update_frame_gutters):
4932         Respect frame_layout_changed.
4933
4934         * console.h (struct console_methods): add
4935         clear_frame_toolbars_method.
4936
4937         * redisplay.c (redisplay_frame): call
4938         update_frame_toolbars_geometry and re-order update_frame_toolbars.
4939
4940         * toolbar.h: declare update_frame_toolbars_geometry.
4941
4942         * toolbar.c (update_frame_toolbars_geometry): new function. Split
4943         out from update_frame_toolbars.  Call clear_frame_toolbars.
4944         (update_frame_toolbars): only output, do not change geometry.
4945
4946         * redisplay.c: add frame_layout_changed.
4947
4948         * redisplay.h: add frame_layout_changed.
4949         (CLASS_RESET_CHANGED_FLAGS): set it.
4950         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
4951         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
4952         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
4953
4954         * device.h (struct device): add frame_layout_changed.
4955         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
4956
4957         * frame.h (struct frame): add frame_layout_changed.
4958         (MARK_FRAME_LAYOUT_CHANGED): new.
4959
4960 2002-06-30  Mike Alexander  <mta@arbortext.com>
4961
4962         * event-msw.c (mswindows_need_event): Don't wait for a new message
4963         if the queue is not empty.  Suggested by Paul Moore.
4964
4965 2002-06-12  Andy Piper  <andy@xemacs.org>
4966
4967         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
4968         for printing on accurately.
4969
4970 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
4971
4972         * event-msw.c (mswindows_wnd_proc): Add a handler for the
4973         WM_ACTIVATE message. Make sure that the frame is visible if the
4974         window is visible. This seemss to fix the problem where XEmacs
4975         appears to freeze after switching desktops with certain virtual
4976         window managers.
4977         (debug_output_mswin_message): Added code to output message
4978         parameters for WM_WINDOWPOSCHANGED, 
4979         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
4980
4981 2002-05-25  Andy Piper  <andy@xemacs.org>
4982
4983         * select-x.c (vars_of_select_x): Fix docstring of
4984         x-selection-strict-motif-ownership
4985
4986 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4987
4988         * keymap.c (get_keymap):
4989         Add comment about do_autoload GCPROs own args.
4990
4991 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4992
4993         * bytecode.c (execute_optimized_program): check_opcode ifdef
4994         ERROR_CHECK_BYTE_CODE.
4995
4996 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4997
4998         Thanks to Ben Wing and Michael Sperber.
4999
5000         * eval.c (Fcommand_execute):
5001         (Feval):
5002         (Ffuncall):
5003         (Fmacroexpand_internal):
5004         (function_argcount):
5005         callint.c (Fcall_interactively):
5006         Add comment about do_autoload GCPROs own args.
5007
5008         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5009
5010         * eval.c (Ffuncall): Extra braces to placate GCC.
5011
5012 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5013
5014         * backtrace.h (grow_specpdl):
5015         (SPECPDL_RESERVE):
5016         * EmacsFrame.c (EmacsFrameSetValues):
5017         * eval.c (grow_specpdl):
5018         * ExternalShell.c (hack_event_masks_1):
5019         * glyphs-x.c (convert_EImage_to_XImage): 
5020         (x_finalize_image_instance):
5021         * ralloc.c (page_size):
5022         (r_alloc_sbrk):
5023         * xgccache.c (gc_cache_hash):
5024         Fix unsigned comparison warnings.
5025
5026 2002-07-29  Jerry James  <james@xemacs.org>
5027
5028         * lread.c (locate_file): Any nonnegative return value indicates
5029         success if MODE is nonnegative.
5030
5031 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5032
5033         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5034         argument. 
5035
5036 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5037
5038         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5039
5040         * dumper.c (pdump_get_indirect_count):
5041         (pdump_scan_by_alignment):
5042         (pdump_dump_root_struct_ptrs):
5043         (pdump_dump_rtables):
5044         (pdump_dump_root_objects):
5045         (pdump):
5046         * nas.c (WaveOpenDataForReading):
5047         * fns.c (print_bit_vector):
5048         * font-lock.c (SINGLE_SYNTAX_STYLE):
5049         * glyphs.c (check_for_ignored_expose):
5050         (find_matching_subwindow):
5051         * glyphs-eimage.c:
5052         * imgproc.c (get_histogram):
5053         * redisplay.c (point_in_line_start_cache):
5054         * redisplay-output.c (redisplay_unmap_subwindows):
5055         * symbols.c (defsymbol_massage_name_1):
5056         (defkeyword_massage_name):
5057         (deferror_massage_name_and_message):
5058         * redisplay-x.c (x_output_string): 
5059         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5060         * frame.h (struct frame):
5061         * filelock.c (current_lock_owner):
5062         * doprnt.c (emacs_doprnt_1):
5063         * lisp.h (struct Lisp_Bit_Vector):
5064         (DO_REALLOC):
5065         Fix warnings.
5066
5067 2002-02-13  Ben Wing  <ben@xemacs.org>
5068
5069         * event-stream.c (reset_key_echo):
5070         * event-stream.c (reset_this_command_keys):
5071         * event-stream.c (execute_command_event):
5072         If console is dead as a result of C-x 5 0, then post-command stuff
5073         needs to be careful and do only non-console-specific stuff.
5074
5075 2002-07-01  Mike Sperber <mike@xemacs.org>
5076
5077         * process-unix.c (unix_send_process): Mark coding_outstream as
5078         non-open upon SIGPIPE.
5079
5080         * event-stream.c (Fnext_event): Reorder switch cases to something
5081         that makes sense.
5082
5083 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5084
5085         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
5086         Don't bogusly reinitialize ascii_character property.
5087
5088 2002-07-08  Mike Sperber <mike@xemacs.org>
5089
5090         * process.c (Fstart_process_internal): Do error checking before we
5091         fork off the child, so the child can't muck with the state of the
5092         parent.
5093
5094 2002-07-08  Mike Sperber <mike@xemacs.org>
5095
5096         * ralloc.c (init_ralloc): Allocate properly for pdump.
5097
5098 2002-06-12  Andy Piper  <andy@xemacs.org>
5099
5100         * glyphs.c (query_string_geometry): check the string.
5101
5102         * glyphs-widget.c (widget_logical_unit_height): cope with nil
5103         widget names.
5104
5105 2002-06-17  Jerry James  <james@xemacs.org>
5106
5107         * sysdll.c: Remove RTLD_GLOBAL initialization.
5108         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
5109
5110 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
5111
5112         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
5113
5114 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
5115
5116         * sysdep.c (sys_rename): Make sys_rename work for the case where
5117         Windows rename sets errno to EACCES if target file exists.
5118
5119 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
5120
5121         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5122         Fix detection of metric units to work on Win95
5123
5124 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
5125
5126         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
5127
5128 2002-04-25  Andy Piper  <andy@xemacs.org>
5129
5130         * redisplay.c (create_text_block): Remove extra comment trailer.
5131
5132 2002-04-24  Andy Piper  <andy@xemacs.org>
5133
5134         * redisplay.c (create_text_block): Don't actually add propagation
5135         data if the line ends after we have added a glyph.
5136
5137 2002-04-22  Andy Piper  <andy@xemacs.org>
5138
5139         * extents.c (extent_fragment_update): check for glyphs we have
5140         previously displayed.
5141         * extents.c (print_extent_1): warning removal.
5142         * extents.h: change prototype.
5143         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
5144         widths correctly for wide glyphs.
5145         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
5146         * redisplay.c (prop_type): add PROP_GLYPH.
5147         * redisplay.c (struct prop_block): add glyph type
5148         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
5149         to the propagation data.
5150         * redisplay.c (create_text_block): if there is a glyph in the
5151         propagation data use it to salt extent_fragment_update.
5152         * redisplay.c (create_string_text_block): ditto.
5153
5154 2002-04-13  Nix  <nix@esperi.demon.co.uk>
5155
5156         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
5157         * redisplay-output.c (compare_runes): Compare them.
5158         * redisplay.c: Update copyright date.
5159         * redisplay.c (pos_data): Add need_baseline_computation field.
5160         * redisplay.c (add_glyph_rune): Update ascent, descent, and
5161         need_baseline_computation; zero yoffset. Set max_pixmap_height
5162         for all pixmaps, not just automatically positioned ones.
5163         * redisplay.c (calculate_yoffset): New, compute yoffset values.
5164         * redisplay.c (calculate_baseline): New, compute textual baseline.
5165         * redisplay.c (add_glyph_rune): Call them.
5166         * redisplay.c (create_text_block): Likewise.
5167         * redisplay.c (create_overlay_glyph_block): Likewise.
5168         * redisplay.c (add_margin_runes): Likewise.
5169         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
5170
5171         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
5172         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
5173         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
5174         * redisplay-msw.c (mswindows_output_string): Likewise.
5175         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
5176         * redisplay-gtk.c (gtk_output_display_block): Likewise.
5177         * redisplay-x.c (x_output_display_block): Likewise.
5178
5179 2002-03-28  Ben Wing  <ben@xemacs.org>
5180
5181         * redisplay.c: Fixed bug in redisplay
5182         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
5183         and down of the lines, since they're bigger than the line
5184         size. (It was seen most obviously when there's a horizontal scroll
5185         bar, e.g. do C-h a glyph or something like that.) The problem was
5186         that the glyph-contrib-p setting on glyphs was ignored even if it
5187         was set properly, which it wasn't until now.
5188
5189 2002-04-24  Andy Piper  <andy@xemacs.org>
5190
5191         * lisp.h (Dynarr_end): Fix definition.
5192
5193 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
5194
5195         * redisplay.c (mark_redisplay): Remove call to
5196         update_frame_window_mirror.
5197
5198 2001-11-15  Andy Piper  <andy@xemacs.org>
5199
5200         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
5201         cygwin (again).
5202
5203 2002-02-13  Andy Piper  <andy@xemacs.org>
5204
5205         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
5206         we did in fact enqueue the XM_MAPFRAME event.
5207
5208 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
5209
5210         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
5211         to fix problem switching between virtual desktops under virtuawin
5212         virtual window manager.
5213
5214 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
5215
5216         * event-msw.c: Typo fix.
5217         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
5218         magic XM_MAPFRAME event has been sent.
5219
5220 2001-11-23  Andy Piper  <andy@xemacs.org>
5221
5222         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
5223
5224 2001-11-21  Andy Piper  <andy@xemacs.org>
5225
5226         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
5227         mouse events outside the frame.
5228
5229 2002-03-20  Andy Piper  <andy@xemacs.org>
5230
5231         * menubar-msw.c (mswindows_popup_menu): warning removal.
5232         * dialog-msw.c (dialog_popped_down): ditto.
5233
5234 2001-12-11  Andy Piper  <andy@xemacs.org>
5235
5236         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
5237         * dialog-msw.c (mswindows_make_dialog_box_internal): set
5238         popup_up_p.
5239         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
5240         * menubar-msw.c (mswindows_handle_wm_command): ditto.
5241         * menubar-msw.c (mswindows_popup_menu): ditto.
5242
5243 2001-10-29  Andy Piper  <andy@xemacs.org>
5244
5245         * dialog-msw.c (handle_directory_dialog_box): quit if the user
5246         cancels.
5247
5248 2002-01-03  Andy Piper  <andy@xemacs.org>
5249
5250         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
5251         letters.
5252         (xrealpath): ditto.
5253
5254 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
5255
5256         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
5257         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
5258         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5259         Detect and handle case where machine is set up for metric units
5260
5261 2002-04-02  Andy Piper  <andy@xemacs.org>
5262
5263         * dired-msw.c (mswindows_get_files): 
5264         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
5265         completely handled by XEmacs. Suggested by Thomas Vogler
5266         <mail@thomas-vogler.de>.
5267
5268 2001-11-14  Andy Piper  <andy@xemacs.org>
5269
5270         * nt.c (REG_ROOT): change registry key to XEmacs.
5271
5272 2002-04-27  Andy Piper  <andy@xemacs.org>
5273
5274         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
5275
5276 2002-04-26  Andy Piper  <andy@xemacs.org>
5277
5278         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
5279         behavior.
5280
5281 2002-03-14  Mike Alexander  <mta@arbortext.com>
5282
5283         * event-msw.c (mswindows_unwait_process): New, remove process from
5284         wait list
5285         * process-nt.c (nt_finalize_process_data): Call
5286         mswindows_unwait_process
5287         * console-msw.h: Declare mswindows_unwait_process
5288
5289 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
5290
5291         * editfns.c (Fdecode_time):
5292         (Fformat_time_string):
5293         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
5294         (make_time): Warning elimination (change arg name).
5295
5296 2001-11-24  Andy Piper  <andy@xemacs.org>
5297
5298         * window.c (Fsplit_window): Doc return type.
5299
5300 2002-04-01  Andy Piper  <andy@xemacs.org>
5301
5302         * emacs.c (Fkill_emacs): Only output message box in interactive
5303         mode.
5304
5305 2002-04-26  Andy Piper  <andy@xemacs.org>
5306  
5307         * config.h.in: pull in 21.5.x change to stop alloca warnings under
5308         cygwin.
5309
5310 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
5311
5312         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
5313         bit platform.
5314
5315 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
5316
5317         * XEmacs 21.4.8 "Honest Recruiter" is released.
5318
5319 2002-05-07  Nix  <nix@esperi.demon.co.uk>
5320
5321         Supersedes 2002-04-17 patch.
5322
5323         * process.h (PROCESS_LIVE_P): Use the process status as
5324         evidence of health, not the state of the input stream.
5325         (PROCESS_READABLE_P): Say if the process is readable
5326         from. (It may be dead nonetheless.)
5327         (CHECK_READABLE_PROCESS): Test for that condition.
5328
5329         * process.c (create_process): Use PROCESS_READABLE_P.
5330         (read_process_output, set_process_filter): Likewise.
5331
5332         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
5333         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
5334
5335         This code is #if 0'd, this is not the time to add new functions:
5336
5337         * process.c (Fprocess_readable_p): Report readability status.
5338         * process.c (Qprocess_readable_p): New, associated symbol...
5339         * process.c (syms_of_process): ... initialize it.
5340
5341 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
5342
5343         * XEmacs 21.4.7 "Economic Science" is released.
5344
5345 2002-04-17  Nix  <nix@esperi.demon.co.uk>
5346
5347         * process.h (PROCESS_LIVE_P): Use the process status as
5348         evidence of health, not the state of the input stream.
5349
5350 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
5351
5352         * sysdep.c (sys_siglist): change "signum" to "signal"
5353
5354 2001-04-21  Martin Buchholz  <martin@xemacs.org>
5355
5356         * s/darwin.h: New file.
5357         Thanks to Greg Parker <gparker@cs.stanford.edu>.
5358         
5359 2002-04-23  Andreas Jaeger  <aj@suse.de>
5360
5361         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
5362         which use lib64 for 64-bit libs.
5363         (START_FILES): Likewise.
5364
5365 2002-02-11  Mike Sperber  <mike@xemacs.org>
5366
5367         * device-x.c: 
5368         (x_IO_error_handler):
5369         (x_init_device): Temporarily keep device in static variable
5370         `device_being_initialized' so we can recover gracefully from
5371         internal XOpenDevice failure.  (XOpenDevice is documented to
5372         return NULL on failure, but sometimes calls the IO error handler
5373         instead.)
5374
5375 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
5376
5377         * dired.c (Ffile_name_all_completions): Change documentation --
5378         remove reference to completion-ignored-extensions.
5379         * dired.c (vars_of_dired): Change documentation for
5380         completion-ignored-extensions -- remove reference to
5381         file-name-all-completions.
5382
5383 2002-03-06  Jerry James  <james@xemacs.org>
5384
5385         * emodules.c (emodules_load): Fix multiple loading of same module.
5386
5387 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
5388         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
5389         RTLD_LAZY to avoid incorrect symbol binding when using nested
5390         shared libraries on Solaris.
5391
5392 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
5393
5394         * fileio.c (Ffind_file_name_handler): Improve docstring.
5395
5396 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
5397
5398         * fns.c (Fmapconcat): Improve docstring.
5399
5400 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
5401
5402         * device-gtk.c: Add prototype for
5403         emacs_gtk_selection_clear_event_handle.
5404         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
5405         selection.  Setup signal handler for "selection_clear_event"
5406         (emacs_gtk_selection_clear_event_handle).
5407
5408         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
5409         other applications owning the clipboard (based on
5410         x_handle_selection_clear).
5411
5412 2001-12-23  William M. Perry  <wmperry@gnu.org>
5413
5414         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
5415         
5416 2002-01-04  Martin Buchholz  <martin@xemacs.org>
5417
5418         * keymap.c (define_key_alternate_name): Parenthesize EQ.
5419
5420 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
5421
5422         * XEmacs 21.4.6 "Common Lisp" is released.
5423
5424 2001-12-16  Torsten Duwe  <duwe@caldera.de>
5425
5426         * search.c (Freplace_match): Add missing sub-expression functionality.
5427
5428         * buffer.c (decode_buffer): Add a check for pointer type to
5429         decode_buffer, before gcc's CSE optimization reorders a
5430         dereference in front of the allow_string test.
5431
5432 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
5433
5434         * window.c (window_loop): Fix bug that sometimes prevented
5435         window_loop() from iterating across multiple devices.  Also, at
5436         Ben's request, changed infloop-detecting code to abort() instead
5437         of silently terminating window_loop().
5438
5439 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
5440
5441         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
5442         * editfns.c (make_time): New function.
5443         (Fencode_time): Use it instead of wasteful_word_to_lisp.
5444         * lisp.h (make_time): Prototype and comment it.
5445         * dired.c (wasteful_word_to_lisp): Deprecate.
5446         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
5447
5448 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
5449
5450         * fileio.c (auto_save_1): Use current coding system, not
5451         escape-quoted.
5452
5453 2001-11-13  Ben Wing  <ben@xemacs.org>
5454
5455         * window.c:
5456         * window.c (window_truncation_on):
5457         * window.c (syms_of_window):
5458         truncate-partial-width-windows should respect the buffer being
5459         displayed, like other redisplay vars.
5460
5461 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
5462
5463         * event-stream.c (Fread_key_sequence): save current buffer.
5464
5465 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5466
5467         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
5468
5469 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5470
5471         * alloc.c (lcrecord_stats): Add space for types defined in modules.
5472
5473 2001-10-26  Mike Alexander  <mta@arbortext.com>
5474
5475         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
5476
5477 2001-10-25  Andy Piper  <andy@xemacs.org>
5478
5479         * ChangeLog:
5480         * dialog-msw.c (handle_directory_proc): new function.
5481          (handle_directory_dialog_box): new fucntion.
5482          (handle_file_dialog_box): use new directory dialog support.
5483          (mswindows_make_dialog_box_internal): ditto.
5484         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
5485         handling.
5486         (mswindows_find_frame): make global.
5487         * fileio.c (Fexpand_file_name): build fix.
5488         * general-slots.h: add Qdirectory.
5489         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
5490         handling.
5491         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
5492         cygwin not leaving win32 paths unchanged.
5493         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
5494         cygwin runtime to do path conversion.
5495         (Fmswindows_shell_execute): fix cygwin handling of URLs.
5496         (syms_of_win32): add new function.
5497         * window.c (window_loop): build fix.
5498
5499 2001-10-15  Andy Piper  <andy@xemacs.org>
5500
5501         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
5502
5503 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
5504
5505         * XEmacs 21.4.5 "Civil Service" is released.
5506
5507 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
5508
5509         * glyphs-x.c: Force buffer-tab highlight update when moving the
5510         buffer, avoiding an ugly black border, used for keyboard focus
5511         indication, on a widget that can never have keyboard focus, the
5512         buffer tab.
5513
5514 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
5515
5516         * process-unix.c (unix_open_multicast_group): Remove too much
5517         conversion between host and network byte order.
5518
5519 2001-09-10  Nix  <nix@esperi.demon.co.uk>
5520
5521         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
5522         before replacing them.
5523
5524         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
5525         operation.
5526
5527         * src/window.c (undedicate_windows): Use it.
5528         * src/window.h: Add prototype.
5529
5530 2001-09-17  Ben Wing  <ben@xemacs.org>
5531
5532         * fileio.c (normalize_filename):
5533         * fileio.c (Fexpand_file_name):
5534         Fix various C++ compile errors in Andy's recent code.
5535         
5536         * callint.c (Fcall_interactively):
5537         * editfns.c (Ftemp_directory):
5538         * editfns.c (Fuser_full_name):
5539         * emacs.c (argmatch):
5540         * lread.c (locate_file_map_suffixes):
5541         * redisplay-x.c (x_ring_bell):
5542         Fix sign-compare warnings.
5543         
5544 2001-09-08  Andy Piper  <andy@xemacs.org>
5545
5546         * fileio.c (normalize_filename): copied from nt.c
5547         * (Ffile_name_directory): enable win32 paths under cygwin.
5548         * (Ffile_name_nondirectory): ditto.
5549         * (directory_file_name): ditto.
5550         * (Fexpand_file_name): ditto.
5551         * (Ffile_truename): ditto.
5552         * (Fsubstitute_in_file_name): ditto.
5553         * (Ffile_name_absolute_p): ditto.
5554         * (Ffile_readable_p): ditto.
5555
5556 2001-09-08  Andy Piper  <andy@xemacs.org>
5557
5558         * device-msw.c (mswindows_finish_init_device): remove dde
5559         initialization.
5560         * device-msw.c (mswindows_init_dde): factor out from
5561         mswindows_finish_init_device()
5562         * device-msw.c (init_mswindows_very_early): new function
5563         initialize but don't enable dde.
5564         * emacs.c (main_1): call init_mswindows_very_early.
5565         * event-msw.c:
5566         * event-msw.c (mswindows_dde_callback): only execute when we are
5567         ready.
5568         * symsinit.h: declare init_mswindows_very_early.
5569
5570 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5571
5572         [sjt: This has been in 21.5 for months with no complaints.]
5573
5574         * console.h (struct console_methods): Added flags member.
5575         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
5576         (CONMETH_IMPL_FLAG):
5577         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
5578         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5579
5580         * device.c (window_system_pixelated_geometry): Use the above macros.
5581
5582         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
5583         implememntation flag.
5584         * device.h (DEVICE_DISPLAY_P): Use it.
5585
5586         * frame.c (delete_frame_internal): Use the above macro.
5587
5588         * redisplay.c (redisplay_device): Use it.
5589         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5590         (redisplay_frame): Ditto.
5591
5592         * device-msw.c (mswindows_device_implementation_flags): Removed.
5593         (msprinter_device_implementation_flags): Removed.
5594         (console_type_create_device_mswindows): Removed references to
5595         implementation_flags methods, set implementation flags here.
5596         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
5597
5598         * device-gtk.c (gtk_device_implementation_flags): Removed method.
5599         (console_type_create_device_gtk): Removed method declaration.
5600         Added commented out statement which semantically matches the
5601         commented out statement in the above removed method.
5602
5603 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
5604
5605         The attached patch fixes a few warnings. 
5606
5607         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
5608         * src/frame-gtk.c: guard against GNOME calls in GTK only
5609         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
5610         * src/select-gtk.c: prototype lisp_to_time
5611
5612 2001-06-08  Ben Wing  <ben@xemacs.org>
5613
5614         ------ gc-in-window-procedure fixes ------
5615         
5616         * alloc.c:
5617         * alloc.c (struct post_gc_action):
5618         * alloc.c (register_post_gc_action):
5619         * alloc.c (run_post_gc_actions):
5620         * alloc.c (garbage_collect_1):
5621         Create "post-gc actions", to avoid those dreaded "GC during window
5622         procedure" problems.
5623
5624         * event-msw.c:
5625         Abort, clean and simple, when GC in window procedure.  We want
5626         to flush these puppies out.
5627
5628         * glyphs-msw.c:
5629         * glyphs-msw.c (finalize_destroy_window):
5630         * glyphs-msw.c (mswindows_finalize_image_instance):
5631         Use a post-gc action when destroying subwindows.
5632
5633         * lisp.h:
5634         Declare register_post_gc_action().
5635
5636         * scrollbar-msw.c:
5637         * scrollbar-msw.c (unshow_that_mofo):
5638         Use a post-gc action when unshowing scrollbar windows, if in gc.
5639
5640         * redisplay.c (mark_redisplay):
5641         Add comment about the utter evilness of what's going down here.
5642
5643         ------ cygwin setitimer fixes ------
5644         
5645         * Makefile.in.in (sheap_objs):
5646         * Makefile.in.in (profile_objs):
5647         * Makefile.in.in (objs):
5648         Compile profile.c only when HAVE_SETITIMER.
5649         
5650         * nt.c (mswindows_sigset):
5651         * nt.c (mswindows_sighold):
5652         * nt.c (mswindows_sigrelse):
5653         * nt.c (mswindows_sigpause):
5654         * nt.c (mswindows_raise):
5655         * nt.c (close_file_data):
5656         Style fixes.
5657         
5658         * nt.c:
5659         Move setitimer() emulation to win32.c, because Cygwin needs it too.
5660         
5661         * profile.c:
5662         * profile.c (Fstart_profiling):
5663         * profile.c (Fstop_profiling):
5664         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
5665         instead of just plain setitimer().
5666         
5667         * signal.c:
5668         * signal.c (set_one_shot_timer):
5669         * signal.c (alarm):
5670         Define qxe_setitimer() as an encapsulation around setitimer() --
5671         call setitimer() directly unless Cygwin or MS Win, in which case
5672         we use our simulated version in win32.c.
5673         
5674         * systime.h:
5675         * systime.h (struct itimerval):
5676         * systime.h (ITIMER_REAL):
5677         Prototype mswindows_setitimer() and qxe_setitimer().  Long
5678         comment about "qxe" and the policy regarding encapsulation.
5679
5680         * win32.c:
5681         * win32.c (setitimer_helper_proc):
5682         * win32.c (setitimer_helper_period):
5683         * win32.c (setitimer_helper):
5684         * win32.c (mswindows_setitimer):
5685         Move setitimer() emulation here, so Cygwin can use it.
5686         Rename a couple of functions and variables to be longer and more
5687         descriptive.  In setitimer_helper_proc(), send the signal
5688         using either mswindows_raise() or (on Cygwin) kill().  If for
5689         some reason we are still getting lockups, we'll change the kill()
5690         to directly invoke the signal handlers.
5691
5692         ------ windows shell fixes ------
5693         
5694         * callproc.c:
5695         * ntproc.c:
5696         Comments about how these two files must die.
5697
5698         * callproc.c (init_callproc):
5699         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
5700         not just COMSPEC. (more correct and closer to FSF.) Don't
5701         force a value for SHELL into the environment. (Comments added
5702         to explain why not.)
5703         
5704         * nt.c (init_user_info):
5705         Don't shove a fabricated SHELL into the environment.  See above.
5706
5707 2001-06-01  Ben Wing  <ben@xemacs.org>
5708
5709         * Makefile.in.in (ldflags):
5710         eliminate that pesky "defaulting to 00401000" warning.
5711         * nt.h:
5712         eliminate warnings.
5713
5714 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
5715
5716         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
5717         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
5718
5719 2001-04-24  Jerry James <james@xemacs.org>
5720
5721         * faces.h: pass parameters to Fadd_spec_to_specifier in the
5722         correct order.
5723
5724 2001-06-01  Ben Wing  <ben@xemacs.org>
5725
5726         * event-msw.c (debug_mswin_messages):
5727         conditionalize the messages that were causing compile errors.
5728         (if only macros could generate #ifdef statements ...)
5729
5730 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
5731
5732         * XEmacs 21.4.4 "Artificial Intelligence" is released.
5733
5734 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5735
5736         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
5737
5738 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5739
5740         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
5741         * process-unix.c (unix_canonicalize_host_name):
5742         sysdep.c (init_system_name):
5743         Use it to conditionally support IPv6 canonicalization.
5744
5745 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
5746
5747         * event-msw.c:
5748         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
5749
5750 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
5751
5752         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
5753         attempt is made to scroll when no scroll bar is available.
5754
5755 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5756
5757         * input-method-motif.c (XIM_delete_frame): New callback.
5758         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
5759         got deleted from 21.4.3.)
5760
5761 2001-06-01  Ben Wing  <ben@xemacs.org>
5762
5763         * nt.c (mswindows_utime):
5764         * nt.c (close_file_data):
5765         fix off-by-one-indirection error.
5766
5767 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
5768
5769         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
5770         because set_file_times() now takes Lisp_Object path, instead of
5771         char*.
5772         * nt.c: Include buffer.h.
5773         * nt.c (convert_from_time_t): New.
5774         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
5775         not set mtime correctly.
5776         * nt.h: Declare mswindows_utime().
5777         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
5778         path, instead of char*.
5779         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
5780
5781 2001-05-30  Ben Wing  <ben@xemacs.org>
5782
5783         For 21.4:
5784
5785         (Stephen, just take all event-msw.c patches.  This includes
5786         the "iconify" fix below.)
5787
5788         * event-msw.c:
5789         * event-msw.c (mswindows_dequeue_dispatch_event):
5790         * event-msw.c (assert):
5791         * event-msw.c (emacs_mswindows_quit_p):
5792         * event-msw.c (debug_mswin_messages):
5793         * event-msw.c (debug_output_mswin_message):
5794         * event-msw.c (vars_of_event_mswindows):
5795         Fix yet more problems with C-g handling.
5796         Implement debug-mswindows-events.
5797         
5798 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5799
5800         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
5801         
5802 2001-05-23  Ben Wing  <ben@xemacs.org>
5803
5804         * event-msw.c (winsock_writer):
5805         * event-msw.c (winsock_closer):
5806         prior kludgy code was clobbering the buffer, thinking it was
5807         "unused" space to store an unneeded return value; instead, use
5808         the variable we've already got staring us in the face.
5809
5810 2001-05-17  Andy Piper  <andy@xemacs.org>
5811
5812         * sysfile.h: don't assume that file attributes are boolean
5813
5814 2001-05-23  Ben Wing  <ben@xemacs.org>
5815
5816         * device-msw.c (msprinter_init_device):
5817         signal an error rather than crash with an unavailable network
5818         printer (from Mike Alexander).
5819         
5820         * event-msw.c:
5821         * event-msw.c (struct winsock_stream):
5822         * event-msw.c (winsock_writer):
5823         * event-msw.c (winsock_closer):
5824         * event-msw.c (make_winsock_stream_1):
5825         cleanup headers.  fix (hopefully) an error with data corruption
5826         when sending to a network connection.
5827
5828         * fileio.c (Fexpand_file_name): Fix evil code that attempts
5829         to handle the ~user prefix by (a) always assuming we're referencing
5830         ourselves and not even verifying the user -- hence any file with
5831         a tilde as its first char is invalid! (b) if there wasn't a slash
5832         following the filename, the pointer was set *past* the end of
5833         file and we started reading from uninitialized memory.  Now we
5834         simply treat these as files, always.
5835
5836         * buffer.c (common_init_complex_vars_of_buffer): comment change.
5837         
5838 2001-05-19  Ben Wing  <ben@xemacs.org>
5839
5840         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
5841
5842         * process-nt.c:
5843         * process-nt.c (vars_of_process_nt):
5844         remove unused mswindows-quote-process-args.  rec for 21.4.
5845         
5846 2001-05-12  Ben Wing  <ben@xemacs.org>
5847
5848         * event-msw.c (mswindows_dde_callback):
5849         * event-msw.c (mswindows_wnd_proc):
5850         eliminate cygwin warnings.
5851
5852 2001-05-06  Ben Wing  <ben@xemacs.org>
5853
5854         * console-msw.h:
5855         * device-msw.c:
5856         * device-msw.c (print_dialog_worker):
5857         * device-msw.c (mswindows_handle_print_dialog_box):
5858         * device-msw.c (syms_of_device_mswindows):
5859         * dialog-msw.c (mswindows_make_dialog_box_internal):
5860         * general-slots.h:
5861         implement printing the selection when it's selected.
5862
5863 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
5864
5865         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
5866
5867 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
5868
5869         * lisp.h (EMACS_INT_MAX): This should be one bit less since
5870         EMACS_INT is signed.
5871
5872 2001-04-15  Michael Lausch  <mla@1012surf.net>
5873
5874         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
5875         gtk_widget_request_size() to give scrollbar >0 width for
5876         GTK >1.2.8.
5877
5878 2001-05-30  William M. Perry  <wmperry@gnu.org>
5879
5880         * event-gtk.c: Check for buttons as modifier keys.
5881
5882 2001-05-25  Craig Lanning  <CraigL@Knology.net>
5883
5884         * s\mingw32.h:
5885         Properly find MinGW's <process.h> inside Cygwin's restructured
5886         include directories.  Don't try to include <cygwin/version.h>
5887         since we are dropping support for MinGW in versions of Cygwin
5888         earlier than b21.
5889         * nt.c:
5890         Drop support for MinGW in versions of Cygwin before b21.
5891         * sysdep.c:
5892         Properly find MinGW's <process.h> inside Cygwin's restructured
5893         include directories.
5894         * syswindows.h:
5895         Drop support for MinGW in versions of Cygwin before b21.
5896         * unexcw.c:
5897         Even though a.out.h is no longer detected by configure, allow
5898         MinGW to use it until we figure out how to do the job with Win32.
5899
5900 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
5901
5902         * syntax.c (find_start_of_comment):
5903         Fix `unbalanced parentheses' bug when dealing with mixed comment
5904         styles in c++/java/etc. mode
5905
5906 2001-05-29  Mike Alexander  <mta@arbortext.com>
5907
5908         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
5909         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
5910
5911 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
5912
5913         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
5914
5915 2001-03-31  Mike Sperber <mike@xemacs.org>
5916
5917         * search.c (Freplace_match): Support FSF-style specification of
5918         match subexpression when applied to a buffer.
5919
5920 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
5921
5922         * event-stream.c (is_scrollbar_event): add missing semicolon
5923
5924 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
5925
5926         * Makefile.in.in: Use TAR macro instead of hardcoding
5927           tar.  Allows use of GNU tar instead of system tar
5928
5929 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
5930
5931         * event-stream.c (is_scrollbar_event): add missing semicolon
5932
5933 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
5934
5935         * XEmacs 21.4.3 "Academic Rigor" is released.
5936
5937 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
5938
5939         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
5940
5941 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
5942
5943         * buffer.c (Vcase_fold_search): Remove obsolete
5944           comment about non ASCII case-fold-search.  This
5945           bug has been fixed by case-table changes.
5946
5947 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
5948
5949         * event-msw.c: Restore include of events-mod.h.
5950
5951 2001-04-22   zhaoway  <zw@debian.org>
5952
5953         * event-stream.c (is_scrollbar_event): Noop returning 0 if
5954         !HAVE_SCROLLBARS.
5955
5956 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
5957
5958         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
5959
5960 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
5961
5962         * mule-charset.c (Fmake_charset): Add missing else.
5963
5964 2001-04-23  Ben Wing  <ben@xemacs.org>
5965
5966         * event-msw.c (FAKE_MOD_QUIT):
5967         * event-msw.c (mswindows_dequeue_dispatch_event):
5968         * event-msw.c (mswindows_wnd_proc):
5969         * event-msw.c (emacs_mswindows_quit_p):
5970         Get critical quit working.
5971
5972 2001-05-05  Ben Wing  <ben@xemacs.org>
5973
5974         * console-msw.h:
5975         * device-msw.c:
5976         * device-msw.c (mswindows_get_default_margin):
5977         * frame-msw.c (mswindows_size_frame_internal):
5978         * frame-msw.c (msprinter_init_frame_1):
5979         * frame-msw.c (vars_of_frame_mswindows):
5980         Change top/bottom margin defaults to 0.5 inches.
5981
5982 2001-05-01  Martin Buchholz  <martin@xemacs.org>
5983
5984         Fix link error with gcc 3.0 on Linux.
5985         * terminfo.c (UP): Remove.
5986         * terminfo.c (BC): Remove.
5987         * terminfo.c (PC): Remove.
5988         They weren't used, and in any case, these symbols should be
5989         defined in the *library*.
5990
5991 2001-05-03  Martin Buchholz  <martin@xemacs.org>
5992
5993         * s/aix4.h: Fix crash with xlc -O3.
5994         Improve comment explaining how -O3 works.
5995
5996 2001-04-15  Ben Wing  <ben@xemacs.org>
5997
5998         * event-stream.c:
5999         * event-stream.c (Fnext_event):
6000         * event-stream.c (is_scrollbar_event):
6001         * event-stream.c (execute_command_event):
6002         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6003         crash' problem.  His fix introduces other problems.  We filter
6004         out scrollbar events specifically, making them somewhat invisible
6005         to command-building, and not appearing in `this-command-keys'.
6006         More work is still needed (see comments in event-stream.c), but
6007         this fixes all the major problems.
6008
6009 2001-04-20  Ben Wing  <ben@xemacs.org>
6010
6011         * .cvsignore: Added stuff for Windows.
6012
6013 2001-04-28  Ben Wing  <ben@xemacs.org>
6014
6015         * buffer.c (Ferase_buffer):
6016         * editfns.c (buffer_insert1):
6017         * editfns.c (Finsert_before_markers):
6018         * editfns.c (Finsert_string):
6019         * editfns.c (Finsert_char):
6020         * editfns.c (Fdelete_region):
6021         * editfns.c (Fwiden):
6022         * editfns.c (Fnarrow_to_region):
6023         remove bogus lines setting zmacs_region_stays to 0.
6024         
6025 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6026
6027         * process-unix.c (unix_open_network_stream): If connect() fails
6028         invalidate file descriptor after closing it.
6029
6030 2001-03-08  Mike Alexander  <mta@arbortext.com>
6031
6032         * event-msw.c (mswindows_need_event_in_modal_loop):
6033         Don't dispatch a message if we didn't get one.
6034         (mswindows_need_event):
6035         Terminate the correct process when one exits instead of the first
6036         one on Vprocess_list and look for process termination when in
6037         mswindows_protect_modal_loop.
6038
6039 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6040
6041         * XEmacs 21.4.1 "Copyleft" is released.
6042
6043 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6044
6045         * input-method-motif.c (XIM_delete_frame): New callback.
6046         (XIM_init_frame): Register it.
6047
6048 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6049
6050         * XEmacs 21.4.0 "Solid Vapor" is released.
6051
6052 2001-04-15  Ben Wing  <ben@xemacs.org>
6053
6054         * cmdloop.c (call_command_loop):
6055         Fix braino in bit-rotting code.
6056         
6057 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6058
6059         * extents.c (Fset_extent_endpoints): Force creation of extent info
6060         in buffer_or_string.
6061
6062         * extents.c (process_extents_for_insertion_mapper): Correctly
6063         check for open-open zero-length extents.
6064
6065 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6066
6067         * lisp.h: New typedefs Memory_count, Element_count.
6068         * regex.c:
6069         * regex.h:
6070         Sign-compare warning elimination: several unsigned -> signed.
6071         Based on work by Ben Wing <ben@xemacs.org>.
6072
6073 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6074
6075         * XEmacs 21.2.47 "Zephir" is released.
6076
6077 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6078
6079         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6080
6081 2001-04-03  Mike Sperber <mike@xemacs.org>
6082
6083         * search.c: Revert previous patch due because of release.
6084
6085 2001-03-30  Ben Wing  <ben@xemacs.org>
6086
6087         * s\cygwin32.h:
6088         Add missing killpg prototype.
6089
6090         * elhash.c:
6091         Add a comment about fixing problems when a new entry is added
6092         while mapping.
6093
6094         * frame-msw.c (mswindows_init_frame_1):
6095         Fix compile warnings.
6096
6097         * menubar.c (vars_of_menubar):
6098         Provide `menu-accelerator-support' to indicate that we properly
6099         support %_ in menu specifications, so that package code can
6100         conditionalize on this (and remove %_ from menu specifications
6101         on older versions).
6102
6103         * event-msw.c:
6104         * scrollbar-msw.c:
6105         * scrollbar-msw.c (can_scroll):
6106         * scrollbar-msw.h:
6107         Fix handling of mouse wheel under Windows to follow standards --
6108         now scrolls window under pointer, not selected window.
6109
6110 2001-03-31  Mike Sperber <mike@xemacs.org>
6111
6112         * search.c (Freplace_match): Support FSF-style specification of
6113         match subexpression when applied to a buffer.
6114
6115 2001-03-15  Martin Buchholz  <martin@xemacs.org>
6116
6117         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
6118         function to modify KEYMAP, so map over a copy of the hash table.
6119
6120 2001-03-21  Martin Buchholz <martin@xemacs.org>
6121
6122         * XEmacs 21.2.46 "Urania" is released.
6123
6124 2001-03-20  Dan Holmsand  <dan@eyebee.com>
6125
6126         * realpath.c (xrealpath): Make file-truename work with symlinks to
6127         /cygdrive paths on cygwin. Always lowercase drive-letters on
6128         native windows.
6129         (cygwin_readlink): Don't try to find canonical filename unless
6130         file exists.
6131
6132 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
6133
6134         * ChangeLog: Log GTK merge.
6135
6136         * dumper.c:
6137         * select-x.c:
6138         * specifier.c:
6139         * symeval.h:
6140         Revert gratuitous whitespace changes from GTK merge.
6141
6142         * emacs.c: Document end of complex #ifdef @ l. 1495.
6143
6144
6145 2001-03-12  Andy Piper  <andy@xemacs.org>
6146
6147         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
6148         have to do likewise.
6149
6150 2001-03-12  Andy Piper  <andy@xemacs.org>
6151
6152         * sysdep.c: we only support mingw now.
6153
6154 2001-03-09  Andy Piper  <andy@xemacs.org>
6155
6156         * unexcw.c (copy_executable_and_dump_data_section): making approx
6157         overrun a warning only.
6158
6159 2001-03-10  William M. Perry  <wmperry@aventail.com>
6160
6161         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
6162         satisfy Stephen's identical-after-cpp plea.
6163
6164 2001-03-02  Ben Wing  <ben@xemacs.org>
6165
6166         * cmds.c:
6167         * cmds.c (Fforward_char):
6168         * syntax.c:
6169         * window.c:
6170
6171         Augment documentation of the most common motion commands to make
6172         note of the shifted-motion support.
6173         
6174 2001-03-02  Ben Wing  <ben@xemacs.org>
6175
6176         * nt.c (mswindows_fstat):
6177         * nt.c (mswindows_stat):
6178         * search.c (boyer_moore):
6179         Fix compile warnings under Windows.
6180         
6181         * sysdep.c (sys_readdir):
6182         Fix buggy filename-conversion code under Mule.
6183
6184 2001-03-09  William M. Perry  <wmperry@aventail.com>
6185
6186         * Makefile.in.in:
6187         * config.h.in:
6188         * console.c:
6189         * console.h:
6190         * device.c:
6191         * device.h:
6192         * dragdrop.c:
6193         * emacs.c:
6194         * event-stream.c:
6195         * events.c:
6196         * events.h:
6197         * faces.c:
6198         * frame.h:
6199         * general-slots.h:
6200         * glyphs.c:
6201         * gutter.c:
6202         * inline.c:
6203         * lisp.h:
6204         * lrecord.h:
6205         * make-src-depend:
6206         * redisplay-output.c:
6207         * redisplay.c:
6208         * symsinit.h:
6209         * sysfile.h:
6210         * toolbar.c:
6211         * window.c:
6212         The Great GTK Merge.
6213
6214         * ChangeLog.GTK:
6215         * console-gtk.c:
6216         * console-gtk.h:
6217         * device-gtk.c:
6218         * emacs-marshals.c:
6219         * emacs-widget-accessors.c:
6220         * event-gtk.c:
6221         * frame-gtk.c:
6222         * gccache-gtk.c:
6223         * gccache-gtk.h:
6224         * glade.c:
6225         * glyphs-gtk.c:
6226         * glyphs-gtk.h:
6227         * gtk-glue.c:
6228         * gtk-xemacs.c:
6229         * gtk-xemacs.h:
6230         * gui-gtk.c:
6231         * gui-gtk.h:
6232         * menubar-gtk.c:
6233         * native-gtk-toolbar.c:
6234         * objects-gtk.c:
6235         * objects-gtk.h:
6236         * redisplay-gtk.c:
6237         * scrollbar-gtk.c:
6238         * scrollbar-gtk.h:
6239         * select-gtk.c:
6240         * toolbar-gtk.c:
6241         * ui-byhand.c:
6242         * ui-gtk.c:
6243         * ui-gtk.h:
6244         The Great GTK Merge: new files.
6245
6246 2001-02-26  Ben Wing  <ben@xemacs.org>
6247
6248         Reapplied Lstream change.
6249
6250 2001-02-26  Ben Wing  <ben@xemacs.org>
6251
6252         Undid the last change, since it is more controversial than I
6253         thought.  It should be back in at some point soon.
6254         
6255 2001-02-25  Ben Wing  <ben@xemacs.org>
6256
6257         * buffer.c:
6258         * callproc.c (Fold_call_process_internal):
6259         * event-msw.c (ntpipe_slurp_reader):
6260         * event-msw.c (ntpipe_shove_writer):
6261         * event-msw.c (winsock_reader):
6262         * event-msw.c (winsock_writer):
6263         * file-coding.c:
6264         * file-coding.c (detect_eol_type):
6265         * file-coding.c (detect_coding_type):
6266         * file-coding.c (determine_real_coding_system):
6267         * file-coding.c (Fdetect_coding_region):
6268         * file-coding.c (decoding_reader):
6269         * file-coding.c (decoding_writer):
6270         * file-coding.c (mule_decode):
6271         * file-coding.c (Fdecode_coding_region):
6272         * file-coding.c (encoding_reader):
6273         * file-coding.c (encoding_writer):
6274         * file-coding.c (mule_encode):
6275         * file-coding.c (Fencode_coding_region):
6276         * file-coding.c (detect_coding_sjis):
6277         * file-coding.c (decode_coding_sjis):
6278         * file-coding.c (encode_coding_sjis):
6279         * file-coding.c (detect_coding_big5):
6280         * file-coding.c (decode_coding_big5):
6281         * file-coding.c (encode_coding_big5):
6282         * file-coding.c (detect_coding_ucs4):
6283         * file-coding.c (decode_coding_ucs4):
6284         * file-coding.c (encode_coding_ucs4):
6285         * file-coding.c (detect_coding_utf8):
6286         * file-coding.c (decode_coding_utf8):
6287         * file-coding.c (encode_coding_utf8):
6288         * file-coding.c (detect_coding_iso2022):
6289         * file-coding.c (decode_coding_iso2022):
6290         * file-coding.c (encode_coding_iso2022):
6291         * file-coding.c (decode_coding_no_conversion):
6292         * file-coding.c (encode_coding_no_conversion):
6293         * glyphs-x.c (write_lisp_string_to_temp_file):
6294         * gpmevent.c (tty_get_foreign_selection):
6295         * lisp.h:
6296         * lstream.c:
6297         * lstream.c (Lstream_flush_out):
6298         * lstream.c (Lstream_adding):
6299         * lstream.c (Lstream_write_1):
6300         * lstream.c (Lstream_write):
6301         * lstream.c (Lstream_raw_read):
6302         * lstream.c (Lstream_read_more):
6303         * lstream.c (Lstream_read):
6304         * lstream.c (Lstream_unread):
6305         * lstream.c (Lstream_fputc):
6306         * lstream.c (stdio_reader):
6307         * lstream.c (stdio_writer):
6308         * lstream.c (filedesc_reader):
6309         * lstream.c (filedesc_writer):
6310         * lstream.c (lisp_string_reader):
6311         * lstream.c (struct fixed_buffer_stream):
6312         * lstream.c (make_fixed_buffer_input_stream):
6313         * lstream.c (make_fixed_buffer_output_stream):
6314         * lstream.c (fixed_buffer_reader):
6315         * lstream.c (fixed_buffer_writer):
6316         * lstream.c (struct resizing_buffer_stream):
6317         * lstream.c (resizing_buffer_writer):
6318         * lstream.c (dynarr_writer):
6319         * lstream.c (lisp_buffer_reader):
6320         * lstream.c (lisp_buffer_writer):
6321         * lstream.h:
6322         * lstream.h (lstream_implementation):
6323         * lstream.h (struct lstream):
6324         * md5.c (Fmd5):
6325         * process-nt.c (nt_send_process):
6326         * process-unix.c (unix_send_process):
6327         
6328         Correct Lstream lossage due to mixing of signed and unsigned
6329         quantities.  All Lstream uses of size_t and ssize_t are now a
6330         single signed data type Lstream_data_count.  This fixes problems
6331         under Windows with sending large quantities of data to a process,
6332         and may well fix other subtle bugs.
6333
6334 2001-02-23  Martin Buchholz <martin@xemacs.org>
6335
6336         * XEmacs 21.2.45 "Thelxepeia" is released.
6337
6338 2001-02-21  Martin Buchholz  <martin@xemacs.org>
6339
6340         * lisp-union.h (XSETINT): 
6341         (XSETCHAR):
6342         (XSETOBJ): 
6343         Reverse previous change of 2001-02-06.
6344
6345 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
6346
6347         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
6348         buffers.
6349         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6350         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
6351         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
6352         * regex.c (POS_AS_IN_BUFFER): removed
6353         * regex.c (re_search_2):
6354         * regex.c (re_match_2):
6355         Don't use an offset of 1 when calculating buffer positions, since
6356         `BI_BUF_BEGV' does it already.
6357
6358 2001-02-18  Wim Dumon  <wim@easics.be>
6359
6360         * insdel.c (prepare_to_modify_buffer): Also check for
6361         supersession when clash-detection is enabled. 
6362
6363 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
6364
6365         * regex.c (re_match_2_internal):
6366         Convert temp characters from 'const unsigned char' to 're_char'.
6367         Fix crashing bug with extended characters under mule.
6368         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
6369         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
6370         font-lock, pdump, and new syntax-table code.
6371         * syntax.c (find_start_of_comment):
6372         (find_end_of_comment):
6373         (forward-comment):
6374         Fix crashing bugs involving moving beyond end of buffer.
6375         * syntax.c (find_start_of_comment):
6376         Fixed logic to allow proper detection of cases where the same
6377         character is used to end both a two-char comment start and a
6378         two-char comment end sequence. Fixes `(forward-comment -1)'.
6379         * syntax.c (find_start_of_comment):
6380         Return position just past last comment-end character for all cases
6381         (previously was only done for two-char comment-end sequences).
6382         * syntax.c (forward-comment):
6383         Take value returned from `find_end_of_comment', rather than
6384         incrementing it.
6385         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6386         Properly deal with BUFFERP (syntax_cache.object)
6387
6388 2001-02-17  Martin Buchholz  <martin@xemacs.org>
6389
6390         * alloc.c (Fgarbage_collect): 
6391         * alloc.c (make_bit_vector_from_byte_vector):
6392         -Wsign-compare-correctness.
6393
6394 2001-02-16  Martin Buchholz  <martin@xemacs.org>
6395
6396         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
6397         (XSETCHAR): Likewise.
6398         (XSETOBJ): Likewise.
6399
6400 2001-02-15  Martin Buchholz  <martin@xemacs.org>
6401
6402         * mule-canna.c (canna-func-delete_previous): 
6403         Rename to canna-func-delete-previous.
6404
6405 2001-02-14  Martin Buchholz  <martin@xemacs.org>
6406
6407         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
6408
6409 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
6410
6411         * font-lock.c (find_context): Fix C++ compile errors introduced by
6412         recent patch
6413
6414 2001-02-13  Martin Buchholz  <martin@xemacs.org>
6415
6416         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
6417         pragma, but earlier ones barf on the same pragma.
6418
6419 2001-02-06  Mike Sperber <mike@xemacs.org>
6420
6421         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
6422         `configure-mule-lisp-directory'.
6423
6424 2001-02-12  Martin Buchholz  <martin@xemacs.org>
6425
6426         Make sure dump-id.c is compiled in the same way as other .c's.
6427         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
6428         * dump-id.h: Remove.
6429         * emacs.c: Move dump-id.h into dumper.h.
6430         * dumper.h: Move dump-id.h into dumper.h.
6431         * Makefile.in.in:
6432         Use standard .c.o rule for building dump-id.o.
6433         Remove preprocessor flags from link command.
6434         Add dump-id.o to ${otherobjs} if PDUMP.
6435
6436 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
6437
6438         Port FSF 20.7 syntax table improvements.
6439         * syntax.c.
6440         * syntax.h.
6441
6442         Fixups for new syntax table stuff.
6443         * dired.c: Include syntax.c.
6444         (Fdirectory_files): Initialize regex_match_object and
6445         regex_emacs_buffer.
6446         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
6447         and Fget_char_property.
6448
6449         Use ported FSF 20.7 syntax table improvements.
6450         * font-lock.c.
6451         * regex.c.
6452         * search.c.
6453         
6454 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6455
6456         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
6457         Unixware's enum boolean from sys/types.h.
6458
6459 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6460
6461         Fix support for building with latest Purify.
6462         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
6463         (PURIFY_FLAGS): Likewise.
6464
6465 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6466
6467         * fileio.c (lisp_string_set_file_times): New.
6468         * fileio.c (Fcopy_file): Use it.
6469         Fixes bug:
6470         (copy-file filename non-ascii-filename t t)
6471         ==> No such file or directory, non-ascii-filename
6472
6473 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6474
6475         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
6476         USHRT_MAX seems clearer than ~0 anyways.
6477
6478 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6479
6480         dumper improvements.  Inspired by Olivier.
6481         * dumper.c (pdump_max_align): New.
6482         * dumper.c (pdump_add_entry): Use pdump_max_align.
6483         * dumper.c (pdump_get_entry_list): Likewise.
6484         * dumper.c (pdump_scan_by_alignment): Likewise.
6485         Don't iterate through unnecessary alignments.
6486         * dumper.c (pdump_file_get): No need to align result of malloc().
6487         * dumper.c (pdump_mallocadr): Remove.  
6488         The result of malloc() is guaranteed to be maximally aligned.
6489         * dumper.c: s/elmt/elt/g;
6490         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
6491         * dumper.c (pdump_alert_undump_object): Likewise.
6492         * dumper.c (pdump_align_table): 
6493         Don't support alignments > 64.
6494         Store ALIGNOF's, not shift counts, in table.
6495
6496 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6497
6498         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
6499         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
6500         * systime.h: Use HAVE_UTIME.
6501         * sysdep.c (struct utimbuf): Remove.
6502         * sysdep.c (set_file_times): Prefer utime() to utimes().
6503         * config.h.in (HAVE_UTIME): New.
6504         * config.h.in (HAVE_UTIME_H): Remove.
6505         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
6506
6507 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6508
6509         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
6510
6511 2001-02-08  Martin Buchholz  <martin@xemacs.org>
6512
6513         * s/irix6-0.h: Use the standard system memmove, not bcopy.
6514
6515 2001-02-08  Martin Buchholz <martin@xemacs.org>
6516
6517         * XEmacs 21.2.44 "Thalia" is released.
6518
6519 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6520
6521         Fixes crashes in kill-emacs on some systems.
6522         * process-unix.c (unix_kill_child_process):
6523         It's OK for kill() to fail with ESRCH.
6524
6525 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6526
6527         Contortions to make .gdbinit tricks work on most systems.
6528         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
6529         * alloc.c (dbg_valmask): Make non-const.
6530         * alloc.c (dbg_typemask): Make non-const.
6531         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
6532         * alloc.c (dbg_valbits): Make non-const.
6533         * alloc.c (dbg_gctypebits): Make non-const.
6534         * .gdbinit (decode_object): Make it work with AIX cc.
6535
6536 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6537
6538         * elhash.c (make_general_lisp_hash_table):
6539         Use simpler and more efficient calloc to clear entries.
6540
6541 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6542
6543         * window.c (window_scroll): Work around an AIX C compiler bug.
6544         Fixes 'scroll-up' does nothing problem with xlC.
6545
6546 2001-02-05  Martin Buchholz  <martin@xemacs.org>
6547
6548         * .gdbinit: Remove obsolete comment.
6549
6550 2001-01-31  Mike Alexander  <mta@arbortext.com>
6551
6552         * select.c (Fown_selection_internal): Set owned_p for device
6553         method correctly.
6554
6555 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6556
6557         Port to g++ 2.97.
6558         "not" cannot be used as a macro name as it is an operator in C++
6559         * config.h.in: Stop #defining `not'.
6560         * chartab.c (check_category_char): not ==> not_p
6561         * chartab.h: Likewise.
6562         * regex.c (re_match_2_internal): Likewise.
6563
6564 2001-02-02  Martin Buchholz  <martin@xemacs.org>
6565
6566         * lisp-disunion.h: Fix up comments.
6567
6568 2001-01-31  Martin Buchholz  <martin@xemacs.org>
6569
6570         * keymap.c (define_key_check_and_coerce_keysym):
6571         (syms_of_keymap):
6572         Support mouse-6 and mouse-7 bindings in the obvious way.
6573
6574 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6575
6576         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
6577
6578 2001-01-30  Martin Buchholz  <martin@xemacs.org>
6579
6580         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
6581         Previous patch missed DEFVAR_INT_MAGIC.
6582         Make sure future DEFVAR_foo use correct types.
6583         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
6584         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
6585         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
6586         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
6587         * (DEFVAR_INT): Likewise.
6588         * redisplay.c (vertical_clip): Should be of type Fixnum.
6589         * redisplay.c (horizontal_clip): Likewise.
6590         * lisp.h (dump_add_opaque_int): New.
6591         (dump_add_opaque_fixnum): New.
6592
6593 2001-01-29  Andy Piper  <andy@xemacs.org>
6594
6595         * glyphs-widget.c (check_valid_int_or_function): allow symbols
6596         since they can be eval'ed
6597
6598 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6599
6600         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
6601         Oops, XEmacs redefines `class'.  Use `typename' instead.
6602
6603 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6604
6605         * dumper.c: Fix C++ compile errors.
6606
6607 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6608
6609         * tparam.c: Use correct prototypes.
6610
6611 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6612
6613         * sysproc.h: #include util.h for NetBSD's openpty.
6614
6615 2001-01-27  Martin Buchholz  <martin@xemacs.org>
6616
6617         More 64-bit correctness.
6618         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
6619         Use a typedef `fixnum' for the type used for DEFVAR_INT.
6620         Fix up comments.
6621         This finally finishes the 64-bit SGI port.
6622         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
6623         * symbols.c: Fix up comments and type casts.
6624         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
6625         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
6626         * symeval.h (Fixnum): New type.
6627         * symeval.h (symbol_value_type): Fix up comment.
6628
6629         * commands.h:
6630         * nt.c:
6631         * emacs.c:
6632         * data.c:
6633         * redisplay.c:
6634         * abbrev.c:
6635         * dired-msw.c:
6636         * event-Xt.c:
6637         * eldap.c:
6638         * window.c:
6639         * sound.c:
6640         * event-stream.c:
6641         * eval.c:
6642         * buffer.c:
6643         * mule-canna.c: A million DEFVAR_INTs here...
6644         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
6645         * extents.c:
6646         * cmdloop.c:
6647         * lisp.h:
6648         * select-x.c:
6649         * console-x.h:
6650         * event-msw.c:
6651         * mule-wnnfns.c:
6652         * hpplay.c:
6653         * ralloc.c:
6654         * alloc.c:
6655         * keymap.c:
6656         * profile.c:
6657         s/int/Fixnum/g in DEFVAR_INT declarations.
6658
6659 2001-01-26  Martin Buchholz  <martin@xemacs.org>
6660
6661         Port pdump to SGI alignment-sensitive environment.
6662         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
6663         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
6664         properly aligned.
6665         Define and use aligned reading and writing macros.
6666         Use buffered stdio instead of posix i/o for faster dumping.
6667         Eliminate kludgy 256 byte space for header.
6668         Read and write from dump file using structs for alignment safety.
6669         * dumper.c (pdump_align_stream): New.
6670         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
6671         * dumper.c (PDUMP_READ_ALIGNED): New.
6672         * dumper.c (PDUMP_WRITE_ALIGNED): New.
6673         * dumper.c (pdump_static_Lisp_Object): New struct.
6674         * dumper.c (pdump_static_pointer): New struct.
6675         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
6676         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
6677         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
6678         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
6679
6680         * dumper.c (pdump_backtrace):
6681         * dumper.c (pdump_get_indirect_count):
6682         * dumper.c (pdump_register_object):
6683         * dumper.c (pdump_register_struct):
6684         * dumper.c (pdump_reloc_one):
6685         * dumper.c (pdump_scan_by_alignment):
6686         * dumper.c (pdump_dump_from_root_struct_ptrs):
6687         * dumper.c (pdump_dump_opaques):
6688         * dumper.c (pdump_dump_rtables):
6689         * dumper.c (pdump_dump_from_root_objects):
6690         * dumper.c (pdump):
6691         * dumper.c (pdump_load_finish):
6692         Use aligned reading and writing.
6693
6694         * dumper.c (pdump_free): Make static.
6695         * dumper.c (pdump_hFile): Likewise.
6696         * dumper.c (pdump_hMap): Likewise.
6697
6698 2001-01-26  Martin Buchholz <martin@xemacs.org>
6699
6700         * XEmacs 21.2.43 "Terspichore" is released.
6701
6702 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6703
6704         Type fiddling for window_config.saved_windows_count
6705         * window.c (struct window_config): 
6706         Make saved_windows_count member unsigned.
6707         * window.c (sizeof_window_config_for_n_windows): 
6708         Make parameter unsigned.
6709         * window.c (mark_window_config):
6710         * window.c (window_config_equal):
6711         * window.c (free_window_configuration):
6712         * window.c (Fset_window_configuration):
6713         * window.c (count_windows):
6714         * window.c (Fcurrent_window_configuration):
6715         * window.c (reinit_vars_of_window):
6716         Update all callers and users.
6717
6718 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6719
6720         Alignment correctness for flexible arrays.
6721         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
6722         Make alignment-correct. Add interesting comments.
6723         * alloc.c (size_vector):
6724         * alloc.c (make_vector_internal):
6725         * alloc.c (make_bit_vector_internal):
6726         * alloc.c (sweep_bit_vectors_1):
6727         * fns.c (size_bit_vector):
6728         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
6729         * window.c (sizeof_window_config_for_n_windows): 
6730         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
6731
6732 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6733
6734         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
6735
6736 2001-01-23  Andy Piper  <andy@xemacs.org>
6737
6738         * select.c (Fown_selection_internal): pass owned_p
6739
6740         * select-msw.c (mswindows_own_selection): New Signature.
6741
6742         * console.h (struct console_methods): add owned_p to
6743         _own_selection.
6744
6745         * select-x.c (x_own_selection): pass owned_p
6746         (hack_motif_clipboard_selection): use owned_p
6747         (vars_of_select_x): new variable -
6748         x_selection_strict_motif_ownership.
6749
6750 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6751
6752         * specifier.h (specifier_data_offset): Remove pointless parens.
6753         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
6754
6755 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6756
6757         Make Lisp_Object sizeof methods be alignment-correct.
6758         pdump must restore objects to the same alignment as the C compiler
6759         assumes.  It really matters on SGIs.
6760         * lstream.c (aligned_sizeof_lstream): New.
6761         (sizeof_lstream): Use aligned_sizeof_lstream.
6762         (Lstream_new): Likewise.
6763         * opaque.c (aligned_sizeof_opaque): New.
6764         (sizeof_opaque): Use aligned_sizeof_opaque.
6765         (make_opaque): Likewise.
6766         * specifier.c (aligned_sizeof_specifier): New.
6767         (sizeof_specifier): Use aligned_sizeof_specifier.
6768         (make_specifier_internal): Likewise.
6769
6770 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6771
6772         * lstream.h (struct lstream): Use max_align_t for trailing data.
6773         * specifier.h (struct Lisp_Specifier): Likewise.
6774
6775 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6776
6777         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
6778         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
6779         (CCL_SUSPEND): Likewise.
6780         (CCL_INVALID_CMD): Likewise.
6781         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
6782         (ccl_driver): Likewise.
6783         (CCL_WRITE_CHAR): Macro hygiene.
6784         (CCL_WRITE_STRING): Macro hygiene.
6785
6786 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6787
6788         Port "portable" dumper to SunOS 4 and HP-UX.
6789         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
6790         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
6791         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
6792
6793 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6794
6795         * lisp.h (ALIGNOF): A better definition for C++.
6796
6797 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6798
6799         Macro hygiene.
6800         Fix printf warnings: int format, long int arg.
6801         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
6802         (PUSH_FAILURE_POINT): Use correct printf formats.
6803         (POP_FAILURE_POINT): Use correct printf formats.  
6804         Use do {...} while (0)
6805
6806 2001-01-20  Martin Buchholz <martin@xemacs.org>
6807
6808         * XEmacs 21.2.42 "Poseidon" is released.
6809
6810 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6811
6812         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
6813
6814 2001-01-19  Martin Buchholz  <martin@xemacs.org>
6815
6816         De-kludgify FIXED_TYPE free list frobbing.
6817         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
6818         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
6819         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
6820         * alloc.c (Lisp_Free): New pseudo lisp object definition.
6821         * alloc.c (LRECORD_FREE_P): New.
6822         * alloc.c (MARK_LRECORD_AS_FREE): New.
6823         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
6824         * alloc.c (STRUCT_FREE_P): Deleted.
6825         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
6826         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
6827         * alloc.c (STRING_CHARS_FREE_P): New.
6828         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
6829         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
6830         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
6831         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
6832         * alloc.c (resize_string): Use new definitions.
6833         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
6834         * alloc.c (verify_string_chars_integrity): Use new definitions.
6835         * alloc.c (compact_string_chars): Use new definitions.
6836         * alloc.c: Update monster comments.
6837         * lrecord.h (lrecord_type): Add some new lrecord types for
6838         alloc.c's use.
6839
6840 2001-01-18  Martin Buchholz  <martin@xemacs.org>
6841
6842         Improve alignment hackery.
6843         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
6844         (max_align_t): Moved from opaque.h - general purpose.
6845         (ALIGN_PTR): Use size_t, not long.
6846         * opaque.h (max_align_t): Move to lisp.h.
6847
6848 2001-01-18  Norbert Koch  <nk@LF.net>
6849
6850         * gui.h: Fix and add prototypes to fix build problems.
6851
6852 2001-01-18  Martin Buchholz  <martin@xemacs.org>
6853
6854         temacs is going away, so `dump-temacs' is now a bad name.
6855         * .dbxrc (dump-temacs): Rename to `dmp'.
6856         * .gdbinit (dump-temacs): Rename to `dmp'.
6857
6858 2001-01-17  Andy Piper  <andy@xemacs.org>
6859
6860         * glyphs.c (print_image_instance): comment to make martin happy.
6861
6862         * glyphs-x.c (x_redisplay_widget): update faces after a frame
6863         change.
6864
6865         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
6866         activation.
6867         (mswindows_tab_control_redisplay): warning suppression.
6868
6869         * glyphs-widget.c (widget_update): re-write to cope with updated
6870         items.
6871         (widget_instantiate): use new gui_item functions.
6872         (tab_control_update): deleted.
6873         (progress_gauge_update): deleted.
6874         (image_instantiator_progress_guage): take out update reference.
6875         (image_instantiator_tree_view): ditto.
6876         (image_instantiator_tab_control): ditto.
6877
6878         * gui.c (widget_gui_parse_item_keywords): new function. Do things
6879         Right the new way.
6880         (gui_item_add_keyval_pair): re-write to cope with descriptors and
6881         return whether anything was changed.
6882         (update_gui_item_keywords): as it sounds.
6883
6884         * gui.h: declare widget_gui_parse_item_keywords.
6885
6886         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
6887         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
6888
6889 2001-01-17  Martin Buchholz <martin@xemacs.org>
6890
6891         * XEmacs 21.2.41 "Polyhymnia" is released.
6892
6893 2001-01-16  Didier Verna  <didier@xemacs.org>
6894
6895         * glyphs.c (image_instantiate): don't use fallbacks when
6896         instantiating a face's background pixmap by inheritance.
6897
6898 2001-01-14  Mike Sperber <mike@xemacs.org>
6899
6900         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
6901         Conditionalize accordingly.
6902
6903 2001-01-16  Martin Buchholz  <martin@xemacs.org>
6904
6905         * dumper.c (pdump_file_get): Fix a compiler warning.
6906
6907 2001-01-15  Martin Buchholz  <martin@xemacs.org>
6908
6909         Make Purify happy when pdumping.
6910         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
6911         iniitalizing all bits of new lisp object memory.
6912         * symbols.c (Fmake_local_variable): Likewise.
6913         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
6914         * symbols.c (Fdefvaralias): Likewise.
6915         * mule-charset.c (vars_of_mule_charset): Likewise.
6916
6917 2001-01-15  Martin Buchholz  <martin@xemacs.org>
6918         Add the `-nd' flag when running pre-dump operations under the debugger.
6919         * .dbxrc (run-temacs): Add `-nd'.
6920         * .dbxrc (update-elc): Likewise.
6921         * .dbxrc (dump-temacs): Likewise.
6922         * .gdbinit (run-temacs): Likewise.
6923         * .gdbinit (check-temacs): Likewise.
6924         * .gdbinit (update-elc): Likewise.
6925         * .gdbinit (dump-temacs): Likewise.
6926
6927 2001-01-14  Martin Buchholz  <martin@xemacs.org>
6928
6929         Allow building 64-bit executables on AIX with GNU malloc, e.g.
6930         export OBJECT_MODE=64
6931         configure --pdump --use-union-type=no
6932         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
6933         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
6934
6935         * miscplay.c (sndcnv8U_2mono):
6936         Avoid two uses of `++' in the same expression.
6937         Suppresses a GCC warning.
6938
6939 2001-01-13  Martin Buchholz  <martin@xemacs.org>
6940
6941         Make sure future compilers don't miscompile alloc.c.
6942         * alloc.c:
6943         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
6944         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
6945
6946 2001-01-12  Martin Buchholz  <martin@xemacs.org>
6947
6948         * dumper.c: A little post-pdump-rename comment fixup.
6949
6950 2001-01-09  Jerry James  <james@eecs.ku.edu>
6951
6952         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
6953
6954 2001-01-13  Martin Buchholz  <martin@xemacs.org>
6955
6956         * *.[ch]: Globally rename symbols using the following `pdump-rename'
6957         script:
6958         #!/bin/sh
6959         replace_symbol () {
6960           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
6961         }
6962
6963         replace_symbol pdump_wire_lists pdump_weak_object_chains
6964         replace_symbol pdump_wire_list dump_add_weak_object_chain
6965
6966         replace_symbol pdump_wires pdump_root_objects
6967         replace_symbol pdump_wire dump_add_root_object
6968
6969         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
6970         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
6971
6972         replace_symbol dumpstructinfos pdump_root_struct_ptrs
6973         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
6974         replace_symbol dumpstructinfo pdump_root_struct_ptr
6975         replace_symbol dumpstruct dump_add_root_struct_ptr
6976
6977         replace_symbol dumpopaque dump_add_opaque
6978         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
6979         replace_symbol dumpopaqueinfos pdump_opaques
6980         replace_symbol dumpopaqueinfo pdump_opaque
6981
6982         replace_symbol nb_structdump nb_root_struct_ptrs
6983         replace_symbol nb_opaquedump nb_opaques
6984
6985         replace_symbol align_table pdump_align_table
6986         replace_symbol dump_header pdump_header
6987
6988         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
6989         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
6990
6991
6992 2001-01-12  Martin Buchholz  <martin@xemacs.org>
6993
6994         * s/aix4.h: Keep the C for AIX compiler from overaggressively
6995         optimizing bytecount_to_charcount().
6996
6997 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
6998
6999         * config.h.in:
7000         (HAVE_DLFCN_H): Removed.
7001         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7002
7003 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7004
7005         Portable dumper maintainability improvements.
7006         * alloc.c (staticpro):
7007         * alloc.c (staticpro_nodump):
7008         * alloc.c (garbage_collect_1):
7009         * alloc.c (reinit_alloc_once_early):
7010         * alloc.c (init_alloc_once_early):
7011         * alloc.c: Move dumper functions to alloc.c.
7012         * dumper.c (pdump_backtrace):
7013         * dumper.c (pdump_dump_structs):
7014         * dumper.c (pdump_dump_opaques):
7015         * dumper.c (pdump_dump_rtables):
7016         * dumper.c (pdump_dump_wired):
7017         * dumper.c (pdump):
7018         * dumper.c (pdump_load_check):
7019         * dumper.c (pdump_load_finish):
7020         * dumper.c (pdump_file_unmap):
7021         * dumper.c (pdump_file_get):
7022         * dumper.c (pdump_resource_free):
7023         * dumper.c (pdump_resource_get):
7024         * dumper.c (pdump_file_free):
7025         * dumper.c (pdump_file_try):
7026         * dumper.c (pdump_load):
7027         Remove fixed size limits on staticpro(), staticpro_nodump(),
7028         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7029         Remove custom code for dumping lrecord_implementations_table - use
7030         dumpopaque instead.
7031         Remove (most of the) custom code for dumping staticpros - dump it
7032         like any other dynarr.
7033
7034         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7035         * dumper.c: Moved functions from alloc.c.
7036         * alloc.c (dumpstruct): Moved to dumper.c.
7037         * alloc.c (dumpopaque): Likewise.
7038         * alloc.c (pdump_wire): Likewise.
7039         * alloc.c (pdump_wire_list): Likewise.
7040
7041         * lisp.h (Dynarr_sizeof): New.
7042         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7043         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7044         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7045
7046         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7047         * lisp.h (dumpopaque): ditto.
7048         * lisp.h (pdump_wire): ditto.
7049         * lisp.h (pdump_wire_list): ditto.
7050
7051 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7052
7053         * make-src-depend (PrintPatternDeps):
7054         Use `sort' to make output independent of perl version.
7055
7056 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7057
7058         Port to Netbsd 1.5.
7059         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7060         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7061
7062 2001-01-03  Didier Verna  <didier@xemacs.org>
7063
7064         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7065         that `focus_frame' is alive before thinking of calling
7066         `redisplay_redraw_cursor' on it.
7067
7068 2001-01-08  Martin Buchholz <martin@xemacs.org>
7069
7070         * XEmacs 21.2.40 is released.
7071
7072 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7073
7074         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7075
7076 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7077
7078         * alloc.c (dbg_valmask): Make const.
7079         * alloc.c (dbg_typemask): Make const.
7080         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7081         * alloc.c (dbg_valbits): Make const.
7082         * alloc.c (dbg_gctypebits): Make const.
7083
7084 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
7085
7086         * redisplay-x.c (x_bevel_area):
7087         redisplay.h (struct rune):
7088         Typo fixes in comments.
7089
7090 2001-01-05  Andy Piper  <andy@xemacs.org>
7091
7092         * glyphs-x.c (x_redisplay_widget): use size changed for offset
7093         adjustment.
7094
7095         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
7096
7097 2001-01-05  Martin Buchholz  <martin@xemacs.org>
7098
7099         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
7100
7101         * mule-ccl.c (stack_idx_of_map_multiple):
7102         Non const global data must not be initialized!
7103         Found by MIYASHITA Hisashi.
7104
7105 2001-01-02  Andy Piper  <andy@xemacs.org>
7106
7107         * frame.c (change_frame_size): make sure frame size is always
7108         marked as changed.
7109
7110         * glyphs.c (image_instance_layout): minor code reuse.
7111
7112         * window.c (Fcurrent_window_configuration): revert previous
7113         change.
7114
7115 2001-01-02  Martin Buchholz  <martin@xemacs.org>
7116
7117         * glyphs.h:
7118         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
7119
7120 2000-12-31  Andy Piper  <andy@xemacs.org>
7121
7122         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
7123         when widget gets unmapped.
7124
7125         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
7126         function. Make sure widgets losing focus don't just drop it.
7127         (handle_focus_event_1): record the widget with focus.
7128
7129 2000-12-31  Andy Piper  <andy@xemacs.org>
7130
7131         * window.c (allocate_window): use
7132         make_image_instance_cache_hash_table.
7133         (make_dummy_parent): ditto.
7134         (Fset_window_configuration): ditto.
7135
7136         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
7137
7138         * glyphs.c (process_image_string_instantiator): use
7139         INSTANTIATOR_TYPE.
7140         (get_image_instantiator_governing_domain): ditto.
7141         (normalize_image_instantiator): ditto.
7142         (instantiate_image_instantiator): ditto.
7143         (make_image_instance_1): ditto.
7144         (image_instantiate): ditto. Key on glyph *and* instantiator type.
7145         (instantiator_eq_equal): new function for use with instance hash
7146         tables.
7147         (instantiator_eq_hash): ditto.
7148         (make_image_instance_cache_hash_table): create a suitable hash
7149         table for storing image instances.
7150
7151         * elhash.h (hash_table_weakness): new internal weakness type
7152         HASH_TABLE_KEY_CAR_VALUE_WEAK.
7153         declare new functions.
7154
7155         * elhash.c (finish_marking_weak_hash_tables): introduce yet
7156         another weakness type for glyphs.
7157         (make_standard_lisp_hash_table): new function split out from
7158         make_general_lisp_hash_table.
7159         (make_lisp_hash_table): call make_standard_lisp_hash_table.
7160         (hash_table_instantiate): ditto.
7161         (Fmake_hash_table): ditto.
7162
7163 2000-12-31  Martin Buchholz <martin@xemacs.org>
7164
7165         * XEmacs 21.2.39 is released.
7166
7167 2000-12-29  Andy Piper  <andy@xemacs.org>
7168
7169         * menubar.c (menubar_visible_p_changed): signal the frame changed.
7170
7171         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
7172         the frame has changed so that we pick up geometry changes such as
7173         menubar visibility.
7174
7175 2000-12-28  Andy Piper  <andy@xemacs.org>
7176
7177         * lastfile.c (my_ebss): make a char array so we can pad the
7178         bss. Fixes cygwin unexec.
7179
7180         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
7181
7182 2000-12-26  Andy Piper  <andy@xemacs.org>
7183
7184         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
7185         comments and try and be more precise about a non-/SIGIO world.
7186         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
7187         SIGIO.
7188
7189         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
7190         we don't normalize to zero width or height.
7191
7192 2000-12-24  Andy Piper  <andy@xemacs.org>
7193
7194         * Makefile.in.in (ldflags): add -mwindows when appropriate.
7195
7196 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
7197
7198         * s/sco5.h: SCO 5 has pty support.
7199
7200 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
7201
7202         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
7203         input-method-xlib.c contains whole contents of input-method-xfs.c,
7204         so we can use input-method-xlib.c's code for USE_XFONTSET
7205         using #ifdefs.
7206         * input-method-xfs.c: removed.
7207
7208 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
7209
7210         * file-coding.h (enum coding_category_type): reorder enumerators to
7211         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
7212         (now one greater than largest real coding_category_type enumerator).
7213         * file-coding.c (coding_category_symbol, coding_category_by_priority,
7214         coding_category_system, fcd_descriptihon_1, decode_coding_category,
7215         Fcoding_category_list, Fset_coding_priority_list,
7216         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
7217         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
7218
7219 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7220
7221         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
7222         * redisplay-output.c (redisplay_output_window): Clear top of window
7223         when face is changed.
7224         * redisplay-x.c (x_redraw_exposed_window): Call
7225         redisplay_clear_top_of_window.
7226         * redisplay.h: Publish redisplay_clear_top_of_window.
7227
7228 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7229
7230         * buffer.c (Fkill_buffer): Map over all devices.
7231         * window.c (window_loop): Remove UNSHOW_BUFFER code.
7232         (list_windows): New function.
7233         (list_all_windows): Ditto.
7234         (Freplace_buffer_in_windows): Use them.
7235
7236 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
7237
7238         * database.c (berkdb_subtype): Recognize new subtype `queue'.
7239         (Fopen_database): Use `db_create' instead of `db_open'.
7240         (syms_of_database): Initialize Qqueue.
7241
7242 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7243
7244         * buffer.c (common_init_complex_vars_of_buffer): Initialize
7245         buffer_local_face_property.
7246         * buffer.h (struct buffer): New member buffer_local_face_property.
7247         * window.c (Fset_window_buffer):  Mark window's face as changed
7248         when buffer has buffer local face.
7249         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
7250         * objects.c (color_after_change): Set buffer_local_face_property
7251         when locale of face specifier is buffer.
7252         * objects.c (font_after_change): Ditto.
7253         * objects.c (face_boolean_after_change): Ditto.
7254         * glyphs.c (image_after_change): Ditto.
7255
7256 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7257
7258         * nt.c (mswindows_fstat): Report file permissions, volume serial
7259         number, etc. Code adapted from FSF Emacs 20.7.
7260
7261 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7262
7263         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
7264         of stat when we don't have symbolic links, to make sure
7265         mswindows_stat is called on mswindows.
7266
7267 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7268
7269         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
7270
7271 2000-12-12  Martin Buchholz  <martin@xemacs.org>
7272
7273         * doprnt.c (emacs_doprnt_1): More printing fixes.
7274         Make printing of numbers compatible with libc and FSF Emacs.
7275         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
7276         Use the system printf to do most of the hard work of formatting,
7277         instead of doprnt_1().
7278         Calculate memory to allocate for format string.
7279         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
7280         (doprnt_1): Cleaner code and documentation.
7281
7282 2000-12-01  Jerry James  <james@eecs.ukans.edu>
7283
7284         * Makefile.in.in: Use the loop variable to install headers.
7285
7286 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7287
7288         * window.c (Fsplit_window): Don't invalidate face cache.
7289
7290 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7291
7292         * minibuf.c (Fall_completions): Undo the previous change
7293         which removed checking elements start with space.
7294
7295 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7296
7297         * mule-canna.c: Didier suppression.
7298
7299 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7300
7301         * mule-canna.c: rename static unsigned char buf[] to key_buffer
7302         (warning suppression).  Add English comment translations.
7303
7304 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7305
7306         * unexelfsgi.c (unexec): Better test for mmap failure.
7307
7308 2000-12-05  Martin Buchholz <martin@xemacs.org>
7309
7310         * XEmacs 21.2.38 is released.
7311
7312 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7313
7314         * redisplay.c (bar-cursor): Make a user variable.
7315
7316         * symsinit.h: Add init_postgresql_from_environment.
7317
7318 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7319
7320         * regex.c: Convert to clean C.
7321
7322 2000-12-05  Dan Holmsand  <dan@eyebee.com>
7323
7324         * realpath.c:
7325         Don't #include sysfile.h. Revert to duplicating PATH_MAX
7326         initialization.
7327         (sys_readlink): renamed to system_readlink to avoid conflict with
7328         the other sys_readlink.
7329
7330 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
7331
7332         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
7333
7334 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
7335
7336         * postgresql.c (init_postgresql_from_environment): new function.
7337         (vars_of_postgresql): Move code initializing Lisp variables out and
7338         into init_postgresql_from_environment.
7339         emacs.c (main_1): Call init_postgresql_from_environment if and only
7340         if running a dumped XEmacs.
7341
7342 2000-08-31  Dan Holmsand  <dan@eyebee.com>
7343
7344         * buffer.c: Make find-file-compare-truenames default to true on
7345         windows.
7346
7347         * realpath.c (win32_abs_start):
7348         (cygwin_readlink):
7349         (win32_readlink): New functions.
7350         (xrealpath): Return really real filenames on windows.
7351
7352         * fileio.c (Ffile_truename): Make file-truename work on windows.
7353
7354 2000-11-29  Didier Verna  <didier@xemacs.org>
7355
7356         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
7357         * faces.c (update_face_cachel_data): use it.
7358         * faces.c (add_face_cachel): use it. Complete background pixmap
7359         frobbing in face cache if `update_face_cachel_data' has not done so.
7360
7361 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
7362
7363         * search.c (string_match_1): Don't set last_thing_searched
7364         when search failed.
7365
7366 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
7367
7368         * buffer.c: Include casetab.h
7369         (common_init_complex_vars_of_buffer): Use new case-table object.
7370         * buffer.h: Include casetab.h
7371         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
7372         (DOWNCASE_TABLE_OF): Ditto.
7373         * bufslots.h: Remove char-tables and add case-table.
7374         * casetab.c: Include casetab.h
7375         (CASE_TABLE_P): Removed.
7376         (mark_case_table): New function.
7377         (allocate_case_table): New function.
7378         (Fcase_table_p): Use new case-table.
7379         (case_table_char): New function.
7380         (Fget_case_table): Ditto.
7381         (Fput_case_table): Ditto.
7382         (Fput_case_table_pair): Ditto.
7383         (Fcopy_case_table): Ditto.
7384         (Fcurrent_case_table): Return case-table.
7385         (Fstandard_case_table): Return case-table.
7386         (Fset_case_table): Fix doc-string.
7387         (set_case_table): Use case-table
7388         (syms_of_casetab): DEFSUBR new functions.
7389         (complex_vars_of_casetab): Set up standard case-table.
7390         * casetab.h: New file.
7391         * editfns.c: Include casetab.h
7392         (Fcompare_buffer_substrings): Use case-table.
7393         * inline.c: Include casetab.h
7394         * lisp.h: Remove bogus extern.
7395         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
7396         * search.c: Include casetab.h
7397         (TRANSLATE_ASCII): Removed.
7398         (TRANSLATE): Unconditionally translate character.
7399         (looking_at_1): Use case-table.
7400         (string_match_1): Ditto.
7401         (fast_string_match): Ditto.
7402         (search_command): Ditto.
7403         (search_buffer): Separate boyer_moore.  Check whether
7404         boyer_moore is possible.
7405         (simple_search): New function.
7406         (boyer_moore): Separated from search_buffer. Translate char.
7407
7408 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7409
7410         * regex.c (RE_TR_ASCII): Removed.
7411         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
7412         (PATFETCH): Call PATFETCH_RAW.
7413         (PATFETCH_RAW): Fetch Emchar.
7414         (PATUNFETCH): Decrement charptr.
7415         (GET_BUFFER_SPACE): Rename b to buf_end.
7416         (BUF_PUSH): Ditto.
7417         (BUF_PUSH_2): Ditto.
7418         (BUF_PUSH_3): Ditto.
7419         (EXTEND_BUFFER): Ditto.
7420         (SET_LIST_BIT): Ditto.
7421         (regex_compile): Ditto.  Translate non ASCII char.
7422         (compile_range): Ditto.
7423         (re_search_2): Ditto.
7424         (re_match_2_internal): Compare Emchar.
7425         (bcmp_translate): Ditto.
7426
7427 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
7428
7429         * lisp.h (basic char/int typedefs):  comment improvement.
7430
7431 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
7432
7433         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
7434         unstomp inhibit_site_lisp.  Improve comments.
7435
7436 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
7437
7438         * mule-charset.c (Fcharset_property):  improve type checking, comments.
7439
7440 2000-11-28  Andy Piper  <andy@xemacs.org>
7441
7442         * redisplay-output.c (redisplay_output_subwindow): make sure we do
7443         clipped display for windows in the gutter also.
7444         (redisplay_display_boxes_in_window_p): change semantics of return
7445         codes to be more intuitive.
7446
7447         * gutter.h: declare display_boxes_in_gutter_p.
7448
7449         * gutter.c (display_boxes_in_gutter_p): new function for
7450         redisplay.
7451
7452 2000-11-22  Andy Piper  <andy@xemacs.org>
7453
7454         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
7455         autodetect domain.
7456
7457 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
7458
7459         * callproc.c (Fold_call_process_internal):
7460         * gpm.c (Freceive_gpm_event):
7461         (tty_get_foreign_selection): Might be just warning supression.
7462         * fileio.c (Fwrite_region_internal):
7463         (Fset_visited_file_modtime):
7464         * keymap.c (event_matches_key_specifier_p):
7465         Initialize GCPROed variable.
7466
7467         * menubar-x.c (command_builder_find_menu_accelerator):
7468         Initialize before use.
7469
7470 2000-11-23  Andy Piper  <andy@xemacs.org>
7471
7472         * unexcw.c (unexec): make the resulting executable executable.
7473
7474 2000-11-21  Martin Buchholz  <martin@xemacs.org>
7475
7476         * doc.c (get_doc_string):
7477         Use size_t, not int, for result of XSTRING_LENGTH.
7478
7479         * cmds.c (Fdelete_char):
7480         * cmds.c (Fpoint_at_eol):
7481         * cmds.c (Fself_insert_command):
7482         Use EMACS_INT, not int, for result of XINT.
7483         Someday, someone will want to insert more than 2**31 identical characters.
7484
7485         * cmds.c (Fdelete_char):
7486         * cmds.c (Fdelete_backward_char):
7487         * syntax.c (Fforward_word):
7488         * syntax.c (Fforward_comment):
7489         Make COUNT argument optional, for consistency with forward-char et al.
7490
7491 2000-11-22  Martin Buchholz  <martin@xemacs.org>
7492
7493         * lisp.h:
7494         * print.c (long_to_string):
7495         Return a useful value: the pointer at end of data written.
7496
7497         * doprnt.c:
7498         Use `static const char * const' for constant strings.
7499         (union printf_arg): Delete `i', `ui' members.
7500         (get_doprnt_args):
7501         (emacs_doprnt_1):
7502         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
7503         Do all printf-ing via the `l' specifier.
7504         Use EMACS_INT instead of int.
7505         Optimize.
7506
7507 2000-11-20  Didier Verna  <didier@xemacs.org>
7508
7509         * faces.c (update_face_cachel_data): don't frob the background
7510         pixmap when the window is being created. The face is needed but
7511         does not exist yet.
7512
7513 2000-11-20  Andy Piper  <andy@xemacs.org>
7514
7515         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
7516         messing with a debug environment.
7517
7518 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7519
7520         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
7521
7522 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7523
7524         * casetab.c (Fcase_table_p): Fix compile error and crash.
7525
7526 2000-11-18  Philip Aston  <philipa@mail.com>
7527
7528         * s/cygwin32.h: Cygwin has SVR4-like pty support.
7529
7530 2000-11-18  Martin Buchholz  <martin@xemacs.org>
7531
7532         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
7533         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
7534
7535 2000-11-17  Martin Buchholz  <martin@xemacs.org>
7536
7537         * config.h.in: Define HAVE_ELF_H if elf.h exists.
7538         * unexelf.c: Use HAVE_ELF_H.
7539         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
7540         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
7541         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
7542         Greg Harrington <greg_harrington@hotmail.com> provided a machine
7543         for testing.
7544         So this is an unexelfsgi.c from a different line of development.
7545
7546 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7547
7548         * regex.c (RE_TR_ASCII): New function.
7549         (RE_TRANSLATE): Call it.
7550
7551 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7552
7553         * buffer.h (TRT_TABLE_OF): Remove assert.
7554         (IN_TRT_TABLE_DOMAIN): Removed.
7555
7556 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7557
7558         * free-hook.c (log_gcpro):
7559         (show_gcprohist): Add support for GCPRO5.
7560
7561 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
7562
7563         * emacs.c (main_1): Improve -sd error message when --pdump=no.
7564
7565 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
7566
7567         * symeval.h: Declare flush_all_buffer_local_cache.
7568
7569         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
7570         (flush_buffer_local_cache): Added.
7571         (flush_all_buffer_local_cache): Added.
7572
7573         * lrecord.h: Remove unused XD_LO_RESET_NIL.
7574
7575         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
7576         (pdump_dump_data): Ditto.
7577         (pdump_reloc_one): Ditto.
7578         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
7579         before dumping.
7580
7581
7582 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7583
7584         * buffer.c: Remove if 0'ed entry.
7585         * buffer.h: Rewrite TRT to use char-table.
7586         * bufslots.h: Remove mirror tables.
7587         * casetab.c: Remove mirror tables.
7588         (CASE_TABLE_P): New macro.
7589         (Fcase_table_p): Element of a case table is string or char-table.
7590         (make_mirror_trt_table): Removed.
7591         (set_case_table): Setup char-table from strings for backward
7592         compatibility.
7593         * dired.c (Fdirectory_files):
7594         * dired-msw.c: (mswindows_get_files):
7595         * lisp.h: Change prototype of re_pattern_buffer.
7596         * regex.c: (RE_TRANSLATE): New macro.
7597         (TRANSLATE_P): Ditto.
7598         Change translate to type RE_TRANSLATE_TYPE.
7599         * regex.h: Define RE_TRANSLATE_TYPE
7600         * search.c (TRANSLATE): New macro.
7601         (TRANSLATE_ASCII): New macro.
7602         Translate table is changed to Lisp_Object.
7603         (signal_failure): Inhibit return.
7604
7605 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7606
7607         * device-msw.c:
7608         * eldap.c:
7609         * event-Xt.c:
7610         * event-stream.c:
7611         * print.c:
7612         Do UNGCPRO before return.
7613
7614 2000-11-14  Martin Buchholz <martin@xemacs.org>
7615
7616         * XEmacs 21.2.37 is released.
7617
7618 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7619
7620         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
7621         Add comments about discarded return value.
7622
7623 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
7624
7625         * callint.c:
7626         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
7627
7628 2000-10-27  Andy Piper  <andy@xemacs.org>
7629
7630         * gutter.c (Fset_default_gutter_position): default left and right
7631         gutters to visible.
7632         (calculate_gutter_size): calculate resonable heuristic for left
7633         and right gutter sizes.
7634         (specifier_vars_of_gutter): change left and right gutter sizes to
7635         autodetect.
7636         (calculate_gutter_size_from_display_lines): new function.
7637         (output_gutter): check for resizing on left and right gutters.
7638         (clear_gutter): don't special case top and left gutters.
7639         (specifier_vars_of_gutter): use new signature for
7640         set_specifier_caching.
7641
7642         * glyphs-x.c (x_redisplay_widget): spelling fix.
7643         * glyphs.c (specifier_vars_of_glyphs):
7644         * menubar.c (specifier_vars_of_menubar):
7645         * redisplay.c (specifier_vars_of_redisplay):
7646         * toolbar.c (specifier_vars_of_toolbar):
7647         * window.c (specifier_vars_of_window):
7648         * scrollbar.c (specifier_vars_of_scrollbar):
7649         (complex_vars_of_scrollbar): use new signature for
7650         set_specifier_caching.
7651
7652         * specifier.c (set_specifier_caching): include recompute flag.
7653         (recompute_one_cached_specifier_in_window): always recompute if
7654         flag set.
7655         (recompute_one_cached_specifier_in_frame): ditto.
7656
7657         * specifier.h (struct specifier_caching): add recompute flag.
7658
7659 2000-10-24  Andy Piper  <andy@xemacs.org>
7660
7661         * unexcw.c (copy_executable_and_dump_data_section): add new
7662         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
7663         5.0 happy.
7664
7665 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7666
7667         * console-x.h (x_device): New member modifier_release_time.
7668         * event-Xt.c (x_handle_sticky_modifiers):
7669         Bound interval modifier keys are sticky.
7670         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
7671         * events.h: extern it.
7672
7673 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7674
7675         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
7676
7677 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7678
7679         * event-stream.c (execute_command_event): Preserve current_events
7680         and the like when event is misc-user-event.
7681         Inhibit quit during the call to maybe_echo_keys.
7682
7683 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
7684
7685         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
7686         symlink when buffer is killed.
7687         (inhibit_clash_detection): New variable.
7688
7689 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7690
7691         * console.c (Fset_input_method): Trigger redisplay on tty.
7692
7693 2000-11-07  Martin Buchholz  <martin@xemacs.org>
7694
7695         * process.c (Fprocess_status): Revert to previous behavior:
7696         (process-status "nosuchprocess") ==> nil
7697
7698 2000-11-06  Martin Buchholz  <martin@xemacs.org>
7699
7700         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
7701         Work around another GCC 2.95.2 optimizer bug.
7702
7703 2000-11-02  Martin Buchholz  <martin@xemacs.org>
7704
7705         * process.c (Fget_process): Use LIST_LOOP_2.
7706         (kill_buffer_processes): Use LIST_LOOP_2.
7707
7708         * minibuf.c (Fall_completions):
7709         Delete old non-functional code for FSF fourth argument.
7710
7711         * frame.c (frame_matches_frame_spec):
7712         Renamed from `frame_matches_frametype'.  Update all callers.
7713         (device_matches_device_spec):
7714         Renamed from 'device_matches_console_spec'.  Update all callers.
7715
7716         * doc.c (Fsubstitute_command_keys):
7717         Remove buffer overflow crash.  Small code cleanups.
7718
7719         * casetab.c (check_case_table): Simpler code.
7720
7721         * window.c (Freplace_buffer_in_windows):
7722         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
7723         (and similar implementation) as Fdelete_windows_on.
7724         Update all callers.
7725
7726         * alloc.c (Fmake_list):
7727         * alloc.c (make_vector):
7728         * alloc.c (Fmake_vector):
7729         * alloc.c (make_bit_vector):
7730         * alloc.c (Fmake_bit_vector):
7731         * alloc.c (Fbit_vector):
7732         * alloc.c (Fmake_string):
7733         * alloc.c (Fpurecopy):
7734         * alloc.c (Fmemory_limit):
7735         * buffer.c:
7736         * buffer.c (Fget_buffer):
7737         * buffer.c (Fkill_buffer):
7738         * buffer.c (complex_vars_of_buffer):
7739         * bytecode.c (Fcompiled_function_stack_depth):
7740         * callint.c (Fprefix_numeric_value):
7741         * event-stream.c:
7742         * event-stream.c (Fread_key_sequence):
7743         * casetab.c:
7744         * casetab.c (Fcase_table_p):
7745         * casetab.c (check_case_table):
7746         * casetab.c (Fset_case_table):
7747         * casetab.c (Fset_standard_case_table):
7748         * chartab.c:
7749         * chartab.c (Fchar_table_type):
7750         * chartab.c (Freset_char_table):
7751         * chartab.c (Fget_char_table):
7752         * chartab.c (Fget_range_char_table):
7753         * chartab.c (Fput_char_table):
7754         * chartab.c (Fmap_char_table):
7755         * chartab.c (Fcategory_table_p):
7756         * chartab.c (Fcheck_category_at):
7757         * chartab.c (Fchar_in_category_p):
7758         * chartab.c (Fcategory_table):
7759         * chartab.c (Fcopy_category_table):
7760         * chartab.c (Fset_category_table):
7761         * chartab.c (Fcategory_designator_p):
7762         * chartab.c (Fcategory_table_value_p):
7763         * cmds.c (Fdelete_char):
7764         * cmds.c (Fdelete_backward_char):
7765         * cmds.c (Fself_insert_command):
7766         * cmds.c (Fself_insert_internal):
7767         * console.c (Fvalid_console_type_p):
7768         * console.c (Fcdfw_console):
7769         * console.c (Fconsole_type):
7770         * console.c (Fconsole_name):
7771         * console.c (Fconsole_device_list):
7772         * console.c (Fconsole_on_window_system_p):
7773         * data.c:
7774         * data.c (Feq):
7775         * data.c (Fold_eq):
7776         * data.c (Fsubr_interactive):
7777         * data.c (Fchar_to_int):
7778         * data.c (Fint_to_char):
7779         * data.c (Fsetcar):
7780         * data.c (Fsetcdr):
7781         * data.c (Fnumber_to_string):
7782         * data.c (Fstring_to_number):
7783         * data.c (Frem):
7784         * database.c (mark_database):
7785         * database.c (finalize_database):
7786         * database.c (Fdatabase_live_p):
7787         * database.c (Fdatabasep):
7788         * device-x.c (Fx_get_resource):
7789         * device.c (Fdfw_device):
7790         * dired.c:
7791         * dired.c (Ffile_name_completion):
7792         * dired.c (Ffile_name_all_completions):
7793         * dired.c (Fuser_name_completion):
7794         * dired.c (Fuser_name_completion_1):
7795         * dired.c (Fuser_name_all_completions):
7796         * doc.c (Fdocumentation):
7797         * doc.c (Fdocumentation_property):
7798         * doc.c (Fsubstitute_command_keys):
7799         * editfns.c:
7800         * editfns.c (Fchar_to_string):
7801         * editfns.c (Fstring_to_char):
7802         * editfns.c (Ftemp_directory):
7803         * editfns.c (Finsert_char):
7804         * editfns.c (Fbuffer_substring_no_properties):
7805         * editfns.c (Fnarrow_to_region):
7806         * editfns.c (Fchar_equal):
7807         * editfns.c (Fchar_Equal):
7808         * editfns.c (Ftranspose_regions):
7809         * emacs.c (Fdump_emacs):
7810         * eval.c (Fthrow):
7811         * eval.c (Fcommand_execute):
7812         * eval.c (Fautoload):
7813         * eval.c (Fbacktrace):
7814         * eval.c (Fbacktrace_frame):
7815         * events.c:
7816         * events.c (Fcopy_event):
7817         * events.c (Fcharacter_to_event):
7818         * events.c (Fevent_button):
7819         * events.c (Fevent_process):
7820         * extents.c:
7821         * extents.c (Fnext_extent_change):
7822         * extents.c (Fextent_property):
7823         * faces.c (Ffacep):
7824         * faces.c (Fmake_face):
7825         * file-coding.c:
7826         * file-coding.c (Fencode_shift_jis_char):
7827         * file-coding.c (Fencode_big5_char):
7828         * fileio.c (Ffile_name_directory):
7829         * fileio.c (Ffile_name_nondirectory):
7830         * fileio.c (Ffile_name_as_directory):
7831         * fileio.c (Fdirectory_file_name):
7832         * fileio.c (Ffile_truename):
7833         * fileio.c (Fsubstitute_in_file_name):
7834         * fileio.c (Ffile_modes):
7835         * fileio.c (Fset_file_modes):
7836         * fileio.c (Fset_default_file_modes):
7837         * fileio.c (Fverify_visited_file_modtime):
7838         * floatfns.c (Facos):
7839         * floatfns.c (Fasin):
7840         * floatfns.c (Fatan):
7841         * floatfns.c (Fcos):
7842         * floatfns.c (Fsin):
7843         * floatfns.c (Ftan):
7844         * floatfns.c (Fbessel_j0):
7845         * floatfns.c (Fbessel_j1):
7846         * floatfns.c (Fbessel_jn):
7847         * floatfns.c (Fbessel_y0):
7848         * floatfns.c (Fbessel_y1):
7849         * floatfns.c (Fbessel_yn):
7850         * floatfns.c (Ferf):
7851         * floatfns.c (Ferfc):
7852         * floatfns.c (Flog_gamma):
7853         * floatfns.c (Fexp):
7854         * floatfns.c (Fexpt):
7855         * floatfns.c (Flog):
7856         * floatfns.c (Flog10):
7857         * floatfns.c (Fsqrt):
7858         * floatfns.c (Fcube_root):
7859         * floatfns.c (Facosh):
7860         * floatfns.c (Fasinh):
7861         * floatfns.c (Fatanh):
7862         * floatfns.c (Fcosh):
7863         * floatfns.c (Fsinh):
7864         * floatfns.c (Ftanh):
7865         * floatfns.c (Fabs):
7866         * floatfns.c (Ffloat):
7867         * floatfns.c (Flogb):
7868         * floatfns.c (Fceiling):
7869         * floatfns.c (Ffloor):
7870         * floatfns.c (Fround):
7871         * floatfns.c (Ftruncate):
7872         * floatfns.c (Ffceiling):
7873         * floatfns.c (Fffloor):
7874         * floatfns.c (Ffround):
7875         * floatfns.c (Fftruncate):
7876         * fns.c (Fstring_equal):
7877         * fns.c (Fstring_lessp):
7878         * fns.c (concat2):
7879         * fns.c (concat3):
7880         * fns.c (vconcat2):
7881         * fns.c (vconcat3):
7882         * fns.c (Fsubstring):
7883         * fns.c (Fassoc):
7884         * fns.c (Fold_assoc):
7885         * fns.c (assoc_no_quit):
7886         * fns.c (Fassq):
7887         * fns.c (Fold_assq):
7888         * fns.c (assq_no_quit):
7889         * fns.c (Frassoc):
7890         * fns.c (Fold_rassoc):
7891         * fns.c (Frassq):
7892         * fns.c (Fold_rassq):
7893         * fns.c (rassq_no_quit):
7894         * fns.c (Fremassoc):
7895         * fns.c (remassoc_no_quit):
7896         * fns.c (Fremassq):
7897         * fns.c (remassq_no_quit):
7898         * fns.c (Fremrassoc):
7899         * fns.c (Fremrassq):
7900         * fns.c (remrassq_no_quit):
7901         * fns.c (Fsort):
7902         * fns.c (Fplist_get):
7903         * fns.c (Fplist_put):
7904         * fns.c (Fplist_remprop):
7905         * fns.c (Fplist_member):
7906         * fns.c (Flax_plist_get):
7907         * fns.c (Flax_plist_put):
7908         * fns.c (Flax_plist_remprop):
7909         * fns.c (Flax_plist_member):
7910         * fns.c (Fequal):
7911         * fns.c (Fold_equal):
7912         * fns.c (Frequire):
7913         * fns.c (Fbase64_encode_region):
7914         * fns.c (Fbase64_encode_string):
7915         * fns.c (Fbase64_decode_region):
7916         * frame.c:
7917         * frame.c (frame_matches_frame_spec):
7918         * frame.c (device_matches_device_spec):
7919         * frame.c (next_frame):
7920         * frame.c (previous_frame):
7921         * frame.c (Fnext_frame):
7922         * frame.c (Fprevious_frame):
7923         * frame.c (Fframe_property):
7924         * frame.c (Fset_frame_height):
7925         * frame.c (Fset_frame_size):
7926         * frame.h:
7927         * glyphs.c:
7928         * glyphs.c (if):
7929         * glyphs.c (decode_error_behavior_flag):
7930         * glyphs.c (Fmake_image_instance):
7931         * indent.c (Findent_to):
7932         * intl.c (Fignore_defer_gettext):
7933         * keymap.c (Fkeymapp):
7934         * keymap.c (Flookup_key):
7935         * lread.c:
7936         * lread.c (Fload_internal):
7937         * lread.c (Feval_buffer):
7938         * lread.c (Feval_region):
7939         * macros.c (Fexecute_kbd_macro):
7940         * marker.c (set_marker_internal):
7941         * marker.c (Fset_marker):
7942         * marker.c (set_marker_restricted):
7943         * marker.c (Fcopy_marker):
7944         * marker.c (noseeum_copy_marker):
7945         * menubar.c:
7946         * menubar.c (Fpopup_menu):
7947         * minibuf.c:
7948         * mule-charset.c (Fcharset_name):
7949         * mule-charset.c (Fchar_charset):
7950         * mule-charset.c (Fchar_octet):
7951         * mule-charset.c (Fsplit_char):
7952         * mule-wnnfns.c (Fwnn_open):
7953         * mule-wnnfns.c (Fwnn_dict_comment):
7954         * mule-wnnfns.c (Fwnn_quit_henkan):
7955         * mule-wnnfns.c (Fwnn_word_toroku):
7956         * mule-wnnfns.c (Fwnn_word_sakujo):
7957         * mule-wnnfns.c (Fwnn_word_use):
7958         * mule-wnnfns.c (Fwnn_hindo_set):
7959         * objects.c:
7960         * objects.c (Fmake_color_instance):
7961         * objects.c (Fmake_font_instance):
7962         * print.c (Fwrite_char):
7963         * process.c:
7964         * process.c (mark_process):
7965         * process.c (print_process):
7966         * process.c (get_process_from_usid):
7967         * process.c (Fprocessp):
7968         * process.c (Fprocess_live_p):
7969         * process.c (Fget_process):
7970         * process.c (Fget_buffer_process):
7971         * process.c (get_process):
7972         * process.c (Fprocess_id):
7973         * process.c (Fprocess_name):
7974         * process.c (Fprocess_command):
7975         * process.c (init_process_io_handles):
7976         * process.c (start_process_unwind):
7977         * process.c (Fstart_process_internal):
7978         * process.c (Fopen_multicast_group_internal):
7979         * process.c (Fset_process_window_size):
7980         * process.c (read_process_output):
7981         * process.c (send_process):
7982         * process.c (Fprocess_tty_name):
7983         * process.c (Fset_process_buffer):
7984         * process.c (Fprocess_buffer):
7985         * process.c (Fprocess_mark):
7986         * process.c (set_process_filter):
7987         * process.c (Fset_process_filter):
7988         * process.c (Fprocess_filter):
7989         * process.c (Fprocess_send_region):
7990         * process.c (Fprocess_send_string):
7991         * process.c (exec_sentinel):
7992         * process.c (Fset_process_sentinel):
7993         * process.c (Fprocess_sentinel):
7994         * process.c (status_notify):
7995         * process.c (Fprocess_status):
7996         * process.c (Fprocess_exit_status):
7997         * process.c (process_send_signal):
7998         * process.c (Fprocess_send_eof):
7999         * process.c (deactivate_process):
8000         * process.c (remove_process):
8001         * process.c (Fdelete_process):
8002         * process.c (kill_buffer_processes):
8003         * process.c (Fprocess_kill_without_query):
8004         * process.c (Fprocess_kill_without_query_p):
8005         * rangetab.c:
8006         * rangetab.c (Fget_range_table):
8007         * rangetab.c (Fput_range_table):
8008         * rangetab.c (Fremove_range_table):
8009         * rangetab.c (Fclear_range_table):
8010         * search.c:
8011         * search.c (Fskip_chars_forward):
8012         * search.c (Fskip_chars_backward):
8013         * search.c (Fskip_syntax_forward):
8014         * search.c (Fskip_syntax_backward):
8015         * search.c (search_command):
8016         * search.c (Freplace_match):
8017         * search.c (Fregexp_quote):
8018         * select.c (Fown_selection_internal):
8019         * select.c (Fselection_owner_p):
8020         * select.c (Fselection_exists_p):
8021         * select.c (Fget_selection_internal):
8022         * specifier.c:
8023         * symbols.c:
8024         * symbols.c (Fintern):
8025         * symbols.c (Fintern_soft):
8026         * symbols.c (Funintern):
8027         * symbols.c (Fapropos_internal):
8028         * symbols.c (Fset_default):
8029         * syntax.c:
8030         * syntax.c (Fsyntax_table_p):
8031         * syntax.c (Fcopy_syntax_table):
8032         * syntax.c (Fset_syntax_table):
8033         * syntax.c (Fchar_syntax):
8034         * syntax.c (syntax_match):
8035         * syntax.c (Fmatching_paren):
8036         * syntax.c (Fforward_word):
8037         * syntax.c (scan_lists):
8038         * syntax.c (Fscan_lists):
8039         * syntax.c (Fscan_sexps):
8040         * syntax.c (Fparse_partial_sexp):
8041         * toolbar.c (Fcheck_toolbar_button_syntax):
8042         * tooltalk.doc:
8043         * window.c:
8044         * window.c (Fwindowp):
8045         * window.c (Fwindow_live_p):
8046         * window.c (Fwindow_point):
8047         * window.c (Fdelete_window):
8048         * window.c (Fnext_window):
8049         * window.c (Fprevious_window):
8050         * window.c (Fother_window):
8051         * window.c (window_loop):
8052         * window.c (Fget_lru_window):
8053         * window.c (Fsplit_window):
8054         * window.c (Fenlarge_window):
8055         * window.c (Fenlarge_window_pixels):
8056         * window.c (Fshrink_window):
8057         * window.c (Fshrink_window_pixels):
8058         * window.c (change_window_height):
8059         * window.c (Fwindow_configuration_p):
8060         * window.c (Fcurrent_window_configuration):
8061         * window.h:
8062         * casefiddle.c (casify_object):
8063         * casefiddle.c (Fupcase):
8064         * casefiddle.c (Fdowncase):
8065         * casefiddle.c (Fcapitalize):
8066         * casefiddle.c (Fupcase_initials):
8067         * casefiddle.c (casify_region_internal):
8068         * casefiddle.c (casify_region):
8069         * casefiddle.c (Fupcase_region):
8070         * casefiddle.c (Fdowncase_region):
8071         * casefiddle.c (Fcapitalize_region):
8072         * casefiddle.c (Fupcase_initials_region):
8073         * casefiddle.c (Fupcase_word):
8074         * casefiddle.c (Fdowncase_word):
8075         * casefiddle.c (Fcapitalize_word):
8076         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8077         Replace 0 with '\0' when working with bytes.
8078         Replace initial "(" with "\(" in docstrings.
8079
8080 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8081
8082         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8083
8084         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
8085
8086 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8087
8088         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
8089
8090 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8091
8092         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
8093         correctly.
8094
8095 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8096
8097         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
8098         (inhibit_auto_save_session): New variable.
8099         (vars_of_fileio): Declare and initialize them.
8100         * fileio.c (Fdo_auto_save): Don't create session file if
8101         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
8102
8103 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8104
8105         * sgiplay.c (play_internal): C++ compilability.
8106         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
8107         * callproc.c (Fold_call_process_internal):
8108         Remove unused vars `env', `first'.
8109         * scrollbar.c (update_scrollbar_instance):
8110         #### unused var `current_window'.
8111         * redisplay-tty.c: Put currently unused vars insert_mode_on,
8112         etc. within #ifdef NOT_YET.
8113         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
8114         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
8115         * specifier.c (specifier_instance):
8116         #### unused var `tag'.
8117         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
8118
8119 2000-10-27  Martin Buchholz  <martin@xemacs.org>
8120
8121         * fns.c (Fbutlast):
8122         * fns.c (list_sort):
8123         * fns.c (Ffillarray):
8124         * fns.c (bytecode_nconc2):
8125         * fns.c (Fnconc):
8126         * fns.c (mapcar1):
8127         * fns.c (Fmapconcat):
8128         Be pedantically 64-bit correct.  For the time when someone will
8129         want to have a list with length > 2**32.
8130
8131         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8132         Work around MIPSpro compiler bug.
8133
8134         * process-unix.c (unix_kill_child_process): Add snarky comment.
8135         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
8136
8137         * config.h.in: Oops, _getpt ==> _getpty
8138
8139 2000-10-26  Martin Buchholz  <martin@xemacs.org>
8140
8141         * config.h.in:
8142         * regex.c:
8143         Use void*, not char*, as return type of alloca().
8144
8145         * alloc.c (free_marker): Side effect inside assert expression!
8146
8147 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
8148
8149         * mule-charset.c (Fset_charset_ccl_program): To check
8150         if the given ccl program is valid, use setup_ccl_program()
8151         instead of CHECK_VECTOR().
8152         (Fmake_charset): Likewise.
8153
8154 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
8155
8156         * faces.c (get_extent_fragment_face_cache_index):
8157         Fix cachel.merged_faces memory leak.
8158
8159 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
8160
8161         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
8162         Reset MSB of octets obtained by DECODE_SJIS
8163         because of the incompatibility with Emacs.
8164         (ccl_driver)<CCL_ENCODE_SJIS>:
8165         Set MSB of octets before passing them to
8166         ENCODE_SJIS because of the incompatibility
8167         with Emacs.
8168
8169 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
8170
8171         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
8172         (DECLARE_LRECORD): Undo the last change.
8173         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
8174
8175 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
8176
8177         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
8178         the implementation to lrecord_implementations_table.
8179
8180 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
8181
8182         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
8183         initial value of `lrecord_type_##c_name' and
8184         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
8185         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
8186         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
8187         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
8188         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
8189
8190 2000-10-17  Martin Buchholz  <martin@xemacs.org>
8191
8192         * miscplay.c (sndcnv8S_2mono):
8193         (sndcnv2monounsigned):
8194         (sndcnvULaw_2linear):
8195         (sndcnv16swap):
8196         Remove implementation-defined behavior.
8197
8198 2000-10-12  Martin Buchholz  <martin@xemacs.org>
8199
8200         * input-method-xlib.c: Warning suppression.
8201
8202 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
8203
8204         * mule-ccl.c: Sync up with Emacs 21.0.90.
8205         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
8206         Do nothing.
8207         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
8208         Likewise.
8209         (ccl_driver[WriteMultibyteChar2]): Bug fix.
8210         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
8211         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
8212         leading char belongs to official 2-dimensional charset.
8213         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
8214         write the given character as is.  Otherwise,
8215         if it is a multibyte char, convert it by
8216         non_ascii_set_charptr_emchar, then write it.
8217         (CCL_WRITE_STRING): Likewise.
8218         (ccl_get_compiled_code): New function.
8219         (setup_ccl_program): When ccl_prog is invalid,
8220         return -1.
8221         (Fregister_code_conversion_map): New function.
8222         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
8223
8224         * mule-ccl.h: Sync up with Emacs 21.0.90.
8225         (Fregister_ccl_program): export it.
8226
8227         * redisplay-msw.c (separate_textual_runs):
8228         If ccl program is not valid, don't do ccl conversion.
8229
8230         * redisplay-x.c (separate_textual_runs): Ditto.
8231
8232         * file-coding.c (Fmake_coding_system):
8233         When type is ccl and value is vector, register it
8234         with a proper symbol.  And checks whether the
8235         given ccl program is valid.
8236         (mule_decode): When calling ccl_driver, if src indicates
8237         NULL pointer, set an empty string instead.
8238         (mule_encode): Likewise.
8239
8240 2000-10-11  Martin Buchholz  <martin@xemacs.org>
8241
8242         The following large batch of changes gets us back to a state of
8243         C++ compilability.  Extbyte is now a char, which means that
8244         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
8245
8246         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
8247
8248         * sound.c (Fplay_sound): Type correctness.
8249
8250         * select-x.c (hack_motif_clipboard_selection): Type correctness.
8251         (x_get_window_property): Type correctness.
8252         (receive_incremental_selection): unsigned char ==> Extbyte
8253         (selection_data_to_lisp_data): unsigned char ==> Extbyte
8254         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
8255         (Fx_store_cutbuffer_internal): Type correctness.
8256
8257         * process-unix.c (try_to_initialize_subtty): Type correctness.
8258
8259         * objects-x.c (x_print_color_instance): Type correctness.
8260         (x_print_font_instance): Type correctness.
8261         (x_list_fonts): SExtbyte ==> Extbyte.
8262         (valid_x_font_name_p): SExtbyte ==> Extbyte.
8263         (x_find_charset_font): SExtbyte ==> Extbyte.
8264         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
8265         (truename_via_XListFonts): SExtbyte ==> Extbyte.
8266         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
8267         Use bufbyte_strcmp.
8268
8269         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
8270         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
8271         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
8272         (BYTE_C0_P): Use bit ops for char-signedness safety.
8273         (BYTE_C1_P): Use bit ops for char-signedness safety.
8274         (CHARSET_BY_LEADING_BYTE):
8275         (CHARSET_BY_ATTRIBUTES):
8276         Always use inline function.
8277         Use type_checking_assert.
8278         Hide chlook.
8279
8280         * mule-charset.c (non_ascii_charptr_copy_char):
8281         Modify to work with both ASCII and non-ASCII characters.
8282         Improve docs and variable names.
8283         Replace over-clever fall-through switch with a simple loop.
8284         (Lstream_get_emchar_1):
8285         Replace over-clever fall-through switch with a simple loop.
8286
8287         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8288         Warning suppression.
8289
8290         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
8291         the return value of Lstream_getc, which could be EOF as well.
8292
8293         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
8294
8295         * lisp.h: Make Extbyte a char, not unsigned char, so that external
8296         APIs can be used on Extbytes without casts.  Risky!
8297         (SExtbyte): Remove.
8298         (UExtbyte): Remove.
8299
8300         * input-method-xlib.c (XIM_init_device):
8301         Use Xlib.h instead of IntrinsicP.h.
8302         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
8303         which will break in X11R7.
8304         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
8305         to call XRegisterIMInstantiateCallback with correct types.
8306
8307         * gui-x.c (button_item_to_widget_value): Type correctness.
8308
8309         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
8310
8311         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
8312         (xbm_instantiate_1): Type correctness.
8313         (BUILD_GLYPH_INST):  Type correctness.
8314
8315         * fileio.c (Fsubstitute_in_file_name): Type correctness.
8316
8317         * file-coding.c:
8318         (decode_coding_sjis):
8319         (decode_coding_big5):
8320         (decode_coding_ucs4):
8321         (decode_coding_utf8):
8322         (decode_coding_iso2022):
8323         (decode_coding_no_conversion):
8324         Make all decoding functions take an Extbyte * arg.
8325         (encode_coding_sjis):
8326         (encode_coding_big5):
8327         (encode_coding_ucs4):
8328         (encode_coding_utf8):
8329         (encode_coding_iso2022):
8330         (encode_coding_no_conversion):
8331         Make all encoding functions take a Bufbyte * arg.
8332         Use size_t instead of unsigned int for memory sizes.
8333         Only cast to unsigned char whenever dereferencing Extbyte *.
8334
8335         * doc.c (unparesseuxify_doc_string): Type correctness.
8336
8337         * console-x.c (split_up_display_spec):
8338         Rewrite without using details of internal string representation.
8339         (x_semi_canonicalize_device_connection): Type correctness.
8340
8341         * config.h.in:
8342         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
8343         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
8344         (HAVE_XFREE386): Removed.
8345
8346         * buffer.h (DEC_CHARPTR): `const' correctness.
8347         (bufbyte_strcmp): New.
8348         (bufbyte_memcmp): New.
8349
8350         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
8351
8352         * buffer.h (XCHAR_OR_CHAR_INT):
8353         Always use inline function.
8354         Remove redundant type checking assert() - XINT will abort quite nicely.
8355
8356 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8357
8358         * search.c (Freplace_match): Set newtext to an empty string.
8359
8360 2000-10-10  Martin Buchholz  <martin@xemacs.org>
8361
8362         * s/decosf1-3.h: Remove #include of stropts.h
8363         * s/ptx.h: Remove #include of stropts.h
8364         * s/usg5-4.h: Remove #include of stropts.h
8365         * sysproc.h:
8366         * config.h.in:
8367         Use stropts.h, not sys/stropts.h.
8368         Use strtio.h, not sys/strtio.h.
8369
8370 2000-10-04  Martin Buchholz <martin@xemacs.org>
8371
8372         * XEmacs 21.2.36 is released.
8373
8374 2000-09-21  Andy Piper  <andy@xemacs.org>
8375
8376         * glyphs-x.c (x_redisplay_widget): make sure non-structural
8377         changes still involve copying the widget tree.
8378         (update_widget_face): make sure a change is register in the widget
8379         tree. Call update_tab_widget_face appropriately.
8380         (update_tab_widget_face): ditto.
8381         (x_tab_control_redisplay): make sure non-structural changes still
8382         involve copying the widget tree.
8383
8384 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
8385
8386         * lread.c (locate_file): Check the path element is non-nil.
8387
8388 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8389
8390         * lisp.h: Warning suppression for SCO compilers.
8391
8392         * redisplay-tty.c (reset_tty_modes): Fix crash.
8393         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
8394
8395 2000-09-27  Martin Buchholz  <martin@xemacs.org>
8396
8397         Big signal/process handling overhaul.  Bugs fixed:
8398         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
8399         M-x comint-kill-subjob should work for both values nil and t of
8400         process-connection-type. It was broken on most platforms.
8401         Testing on Irix and Cygwin still needed.  Other plaforms tested.
8402         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
8403         * process-unix.c: Signal/Process handling overhaul.
8404         (pty_name): make 64 bytes, as `expect' does, for paranoia.
8405         (allocate_pty): Use all available modern methods of allocating
8406         ptys, falling back to old style BSD allocation as a last resort.
8407         Use allegedly more secure Unix98 pty allocation by default.
8408         (allocate_pty_the_old_fashioned_way): New. the last resort.
8409         (unix_create_process): Push ptem, ldterm, ttcompat where
8410         available.  Autoconfiscate.
8411         (try_to_initialize_subtty): New.
8412         (unix_kill_child_process): Proper signal handling for ptys on most
8413         platforms, using special knowledge of AIX, BSD, etc...
8414         (unix_create_process): Always disconnect_controlling_terminal() for
8415         subprocesses, whether using ptys or not.
8416         * process.h: Remove old getpt-dependent PTY code.
8417         * process.c (Fprocess_send_signal): New, obvious generic function.
8418         (decode_signal): New.
8419         (Finterrupt_process):
8420         (Fkill_process):
8421         (Fquit_process):
8422         (Fstop_process):
8423         (Fcontinue_process):
8424         (Fsignal_process): Use decode_signal.
8425         (process_send_signal):
8426         Many docstring corrections.
8427         Allow any signal to be sent to a process object.
8428         * config.h.in: Add symbols for big signal/process overhaul.
8429         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
8430         * sysproc.h: Include process-related headers, where available:
8431         sys/stropts.h sys/strtio.h pty.h libutil.h
8432         * s/irix4-0.h:
8433         * s/irix5-0.h:
8434         * s/cygwin32.h:
8435         * s/gnu.h:
8436         * s/linux.h:
8437         * s/hpux.h:
8438         * s/aix3-1.h:
8439         Remove old S&M pty stuff.
8440         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
8441         * systty.h: Simplify cpp hackery, improve comments.
8442         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
8443
8444         * editfns.c (Fformat_time_string):
8445         Be a little more paranoid with the return value of ctime.
8446
8447         * fileio.c (check_executable):
8448         (check_writable):
8449         Use symbolic constants X_OK, W_OK.
8450
8451         * console-x.c (split_up_display_spec): Fix a warning.
8452
8453 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8454
8455         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
8456         * ntproc.c (sys_spawnve): make_string ==> build_string
8457         Small clarity improvements.
8458
8459 2000-09-30  Martin Buchholz  <martin@xemacs.org>
8460
8461         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
8462
8463         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
8464
8465         * config.h.in (HAVE_STRCASECMP): Remove.
8466
8467 2000-09-29  Martin Buchholz  <martin@xemacs.org>
8468
8469         * redisplay-output.c (redisplay_output_pixmap):
8470         Cleaner and possibly more 64-bit correct code.
8471
8472 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
8473
8474         * dumper.c (pdump_load_finish): move restoration of
8475         `noninteractive1' to emacs.c (main_1).
8476         * emacs.c (main_1): protect LISP-visible command-line flags
8477         from pdump_load().
8478
8479 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
8480
8481         * Makefile.in.in (versionclean):  Use EXE_TARGET and
8482         DUMP_TARGET instead of literal program names.
8483
8484 2000-09-20  Martin Buchholz  <martin@xemacs.org>
8485
8486         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
8487
8488 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8489
8490         * *: Spelling mega-patch
8491
8492 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8493
8494         * fns.c (bad_bad_turtle):
8495         Delete "Eek!" comment, since we fixed the bug to which it refers.
8496
8497 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8498
8499         * alloca.c: Replace REGISTER with register.
8500
8501 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
8502
8503         * file-coding.c (ucs_to_char): Use countof.
8504
8505 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8506
8507         * file-coding.c: (ucs_to_char):
8508         (complex_vars_of_file_coding):
8509         Use countof instead of sizeof.
8510         Use CHECK_NATNUM instead of CHECK_INT.
8511
8512         * sysdep.c (strcasecmp): Remove.
8513         * device-x.c (ascii_strcasecmp): New.
8514         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
8515         Avoid using non-standard non-portable strcasecmp.
8516
8517 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8518
8519         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
8520         * font-lock.c: remove reference to emacsfns.h.
8521         * search.c: small doc improvement.
8522         * event-Xt.c: correct file names in comments.
8523         * console-x.h Correct file names in comments.
8524         * frame.c: Correct file names in comments.
8525         * event-stream.c: remove Energize from comments.
8526
8527 2000-09-15  Martin Buchholz  <martin@xemacs.org>
8528
8529         * symeval.h (DEFERROR_STANDARD):
8530         (DEFERROR):
8531         (DEFSYMBOL):
8532         (DEFSYMBOL_NO_DUMP):
8533         (DEFSYMBOL_MULTIWORD_PREDICATE):
8534         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
8535         (DEFKEYWORD):
8536         The construct &##name is not sensible C.
8537         Fixes compilation errors with Unixware native compiler.
8538
8539 2000-09-14  Martin Buchholz  <martin@xemacs.org>
8540
8541         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
8542         (next_frame_internal): Removed.  We now just have next_frame.
8543         (next_frame):
8544         Write a simpler and cleaner one-pass algorithm.
8545         Remove called_from_delete_device arg and #ifdefed-out code.
8546         (previous_frame):
8547         Renamed from prev_frame.  Update callers.
8548         Cleaned up to have an analogous implementation to next_frame.
8549         (other_visible_frames_internal): Remove the
8550         called_from_delete_device bogus arg, and hence, remove this
8551         function.  Just use other_visible_frames().
8552
8553         * window.c (Fnext_window):
8554         Prettify docstring.
8555         Since next_frame() is guaranteed to return a frame, remove check
8556         for nil inserted in previous patch.
8557         (Fprevious_window):
8558         Prettify docstring.
8559         Make code look more like Fnext_window.
8560         (window_loop):
8561         Respect the `console' arg when iterating through windows.
8562         Fixes bug: (get-buffer-window buffer t device) not respecting
8563         the `device' arg.
8564         This function needs more work, as others have pointed out.
8565
8566         * frame.h: Rename prev_frame to previous_frame.
8567         device_matches_console_spec no longer takes a `frame' arg.
8568
8569         * s/gnu.h:
8570         * s/linux.h:
8571         * s/hpux.h:
8572         Use EMACS_BLOCK_SIGNAL instead of sigblock.
8573         From "Golubev I. N." <gin@mo.msk.ru>.
8574
8575         * make-src-depend: Fix typo.
8576
8577 2000-09-13  Martin Buchholz  <martin@xemacs.org>
8578
8579         * window.c (Fnext_window):
8580         next_frame() might return nil, not a frame.
8581         Fixes this crash:
8582         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8583
8584         * frame.c (next_frame_internal):
8585         We've passed a frame if we've passed its device.
8586         Fixes this crash:
8587         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8588 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
8589
8590 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8591
8592         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8593         Allow option to suppress accelerators in menu/dialog items.
8594         (populate_or_checksum_helper): Pass dialog title through above.
8595
8596 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8597
8598         * event-msw.c (mswindows_key_to_emacs_keysym):
8599         Add "pause" key, fix "menu" key.
8600
8601 2000-09-09  Martin Buchholz  <martin@xemacs.org>
8602
8603         * eval.c (reinit_vars_of_eval):
8604         Increase max_lisp_eval_depth to 1000,
8605         required for thai-xtis.el to byte-compile under some circumstances.
8606
8607 2000-09-04  Martin Buchholz  <martin@xemacs.org>
8608
8609         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
8610         From Kenichi Handa.
8611
8612 2000-09-01  Martin Buchholz  <martin@xemacs.org>
8613
8614         * make-src-depend: Make the generated Makefiles smaller.
8615
8616         * s/hpux.h (SETUP_SLAVE_PTY):
8617         Provide a %d in the format string for the errno argument.
8618
8619         * editfns.c (Ftemp_directory):
8620         Warning fix.
8621         Avoid buffer overrun on very long file name.
8622
8623         * input-method-xlib.c (XIM_init_device):
8624         6th parameter of XRegisterIMInstantiateCallback has different
8625         pointer types on different OSes, so simply cast to (void *).
8626
8627         * unexhp9k800.c: Warning fixes.  Fiddly changes.
8628
8629         * sysdll.c (dll_open):
8630         shl_load will hang hard if passed a NULL filename.
8631         Simply return NULL for compatibility with dlopen.
8632         * sysdll.c: Conform to XEmacs coding standards.
8633
8634         * sysdep.c (get_pty_max_bytes):
8635         Support pty input lines longer than 512 bytes on HP-UX 10.20.
8636
8637 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8638
8639         * tooltalk.c: Add #include <syssignal.h>
8640
8641 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
8642
8643         * s/hpux.h: Don't use undefined function sigunblock().
8644
8645 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8646
8647         * config.h.in: Add HAVE_BALLOON_HELP.
8648         * emacs.c: Use HAVE_BALLOON_HELP.
8649         * Makefile.in.in (x_objs):
8650         Make Balloon Help conditional on finding shape.h.
8651
8652 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
8653
8654         * syntax.c (regex_emacs_buffer_p): New variable.
8655         * syntax.h (regex_emacs_buffer_p): extern.
8656         * search.c (looking_at_1):
8657         (string_match_1):
8658         (fast_string_match):
8659         (search_buffer): Set regex_emacs_buffer_p.
8660         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
8661         when before_dot, at_dot, after_dot.
8662
8663 2000-08-23  Andy Piper  <andy@xemacs.org>
8664
8665         * gui-x.c (popup_selection_callback): Only set action_occurred
8666         when we really have an image instance.
8667         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8668
8669 2000-08-23  Andy Piper  <andy@xemacs.org>
8670
8671         * gui-msw.c (mswindows_handle_gui_wm_command): set
8672         action_occurred.
8673         * gui-x.c (popup_selection_callback): ditto.
8674
8675         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
8676         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
8677         (struct Lisp_Image_Instance): add action_occurred flag.
8678
8679         * glyphs.c (redisplay_subwindow): use action_occurred flag.
8680         (image_instance_changed): ditto.
8681         (reset_frame_subwindow_instance_cache): only unmap windows - do
8682         not remove them from the cache also.
8683
8684         * glyphs-widget.c (tab_control_update): better debug.
8685         (progress_gauge_update): ditto.
8686         (layout_update): ditto.
8687         (layout_instantiate): ditto.
8688         (tab_control_order_only_changed): cope with null pending items.
8689
8690         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
8691         debug. Force selection of an item when an action occurred. Cope
8692         with null pending_items.
8693         (mswindows_progress_gauge_redisplay): better debug.
8694         * glyphs-x.c (x_tab_control_redisplay): ditto.
8695
8696         * redisplay.c (redisplay_frame): reset the frame cache if the
8697         frame is garbaged.
8698
8699         * window.c (Fset_window_configuration): potentially re-enable
8700         frame cache reset.
8701         (window_unmap_subwindows): need to finalize instances here since
8702         it is only used in mark_window_as_deleted.
8703
8704 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
8705
8706         * nas.c (SndOpenDataForReading):
8707         nas.c (WaveOpenDataForReading):
8708         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
8709         Somehow escaped from the 2000-08-14 patch.
8710
8711 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
8712
8713         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
8714         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
8715
8716 2000-08-21  Andy Piper  <andy@xemacs.org>
8717
8718         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
8719         window if it is not already displayed.
8720
8721         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
8722         it is not already displayed.
8723
8724         * window.c (Fset_window_configuration): don't reset the frame
8725         cache.
8726
8727         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
8728         instances from the frame cache if we are actually finalizing them.
8729         (reset_frame_subwindow_instance_cache): reset frame cache only
8730         after unmapping everything.
8731         (map_subwindow): set displayed flag after mapping.
8732
8733 2000-08-21  Martin Buchholz  <martin@xemacs.org>
8734
8735         * data.c (indirect_function):
8736         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
8737
8738         * eval.c (function_argcount):
8739         Use original function when signaling errors.
8740
8741 2000-08-18  Andy Piper  <andy@xemacs.org>
8742
8743         * frame.c (delete_frame_internal): use new
8744         free_frame_subwindow_instances name.
8745
8746         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
8747         (add_tab_item): make return type correct.
8748         (mswindows_tab_control_instantiate): assert index of tab.
8749         (mswindows_tab_control_redisplay): Re-code to use
8750         gui_item_equal_sans_selected and gui_item_list_find_selected.
8751
8752         * glyphs-widget.c (tab_control_update): Correct comment.
8753
8754         * window.c (window_unmap_subwindows): use new
8755         unmap_subwindow_instance_cache_mapper.
8756         (window_unmap_subwindows_cache_mapper): deleted.
8757         (Fset_window_configuration): comparisons should now be with
8758         EQ. Preserve the subwindow instance cache across configuration
8759         changes.
8760         (allocate_window): ditto.
8761         (make_dummy_parent): ditto.
8762
8763         * glyphs.c (free_frame_subwindow_instances): rename from
8764         free_frame_subwindow_instance_cache. finalize all instances rather
8765         than just those in the display cache.
8766         (finalize_all_subwindow_instances): walk windows unmapping and
8767         finalizing subwindows.
8768         (unmap_subwindow_instance_cache_mapper): moved from
8769         window.c. Allow finalization as well as unmapping.
8770
8771         * gui.c (gui_item_list_find_selected): new function.
8772
8773         * gui.h (gui_item_list_find_selected): declare.
8774
8775         * glyphs-x.c (x_tab_control_redisplay): pick tab
8776         explicitly. Re-code to use gui_item_equal_sans_selected and
8777         gui_item_list_find_selected.
8778
8779         * glyphs-x.h: add lwlib-utils.h
8780
8781         * buffer.c (Frecord_buffer): undo previous change.
8782
8783 2000-08-09  Vin Shelton  <acs@xemacs.org>
8784
8785         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
8786         possible.  Create temporary files more securely.  The patch was
8787         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
8788         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
8789         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
8790         for details.
8791
8792 2000-08-07  Ben Wing  <ben@xemacs.org>
8793
8794         * getloadavg.c: remove duplicate (and windows-breaking)
8795         includes of fcntl.h and sys/file.h.
8796
8797         * nt.c: remove duplicate getloadavg() definition.
8798
8799         * sysdll.h (Qdll_filename_encoding): add missing stand-in
8800         encodings.
8801
8802 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8803
8804         * eval.c (function_argcount): If function needs to be autoloaded
8805         actually use the loaded definition.
8806         GCPRO function.
8807
8808 2000-08-05  Ben Wing  <ben@xemacs.org>
8809
8810         * getloadavg.c: add prototype for getloadavg().  remove
8811         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
8812         of the code).  remove duplicate header includes.
8813
8814         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
8815
8816         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
8817         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
8818         useful load average.
8819
8820         * alloc.c (reinit_alloc_once_early): removed references to
8821         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
8822         the lisp vars are the only things referencing the malloc_sbrk_*
8823         vars, and they were already if 0'd out.  these vars only exist
8824         in the older malloc.c, which is basically unused, and they're
8825         only for informational purposes.
8826
8827         * m\*.h: removed useless VIRT_ADDR_VARIES.
8828
8829         * m\powerpc.h: removed stray NO_ARG_ARRAY.
8830
8831 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8832
8833         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
8834         color if the image is a mono pixmap.
8835
8836 2000-07-30  Ben Wing  <ben@xemacs.org>
8837
8838         * Makefile.in.in (release):
8839         Remove stray @.
8840
8841         * buffer.c (directory_is_current_directory):
8842         * dired-msw.c (mswindows_get_files):
8843         * dired.c:
8844         * dired.c (Fdirectory_files):
8845         * dired.c (file_name_completion_stat):
8846         * dired.c (Ffile_attributes):
8847         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
8848         preprocessor tricks, to avoid problems on some machines
8849         (e.g. SCO).
8850
8851         * callproc.c (egetenv): GC docs.
8852
8853         * console-msw.h:
8854         * console-msw.h (struct mswindows_dialog_id):
8855         * lrecord.h (lrecord_type):
8856         New object for use with MSW dialogs.
8857
8858         * console.h (struct console_methods):
8859         New enable/disable frame methods, for proper modal dialogs.
8860
8861         * device-msw.c (msprinter_default_printer): Fix to follow
8862         proper Mule conventions.
8863
8864         * device-msw.c:
8865         * device-msw.c (signal_open_printer_error):
8866         * device-msw.c (msprinter_init_device):
8867         * device-msw.c (ensure_not_printing):
8868         * device-msw.c (plist_get_margin):
8869         * device-msw.c (Fmsprinter_select_settings):
8870         * device-msw.c (finalize_devmode):
8871         * device-msw.c (Fmsprinter_settings_despecialize):
8872         * device-msw.c (signal_enum_priner_error):
8873         * extents.c (decode_extent):
8874         * extents.c (decode_map_extents_flags):
8875         * extents.c (decode_extent_at_flag):
8876         * extents.c (Fextent_at):
8877         * extents.c (Fextents_at):
8878         * extents.c (symbol_to_glyph_layout):
8879         [[[[2]]]] Use structured errors.
8880
8881         * dialog-msw.c:
8882         * dialog-msw.c (mswindows_is_dialog_msg):
8883         * dialog-msw.c (mark_mswindows_dialog_id):
8884         * dialog-msw.c (dialog_proc):
8885         * dialog-msw.c (handle_question_dialog_box):
8886         * dialog-msw.c (syms_of_dialog_mswindows):
8887         Define new object to clean up marking; use it as a dialog identifier.
8888         Call new delete-dialog-box-hook.
8889
8890         * dialog-x.c (dbox_selection_callback):
8891         * dialog-x.c (dbox_descriptor_to_widget_value):
8892         * dialog-x.c (x_make_dialog_box_internal):
8893         Call new delete-dialog-box-hook.
8894         Return an id.
8895
8896         * dialog.c:
8897         * dialog.c (syms_of_dialog):
8898         * dialog.c (vars_of_dialog):
8899         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
8900
8901         * eval.c:
8902         * eval.c (signal_call_debugger):
8903         when noninteractive, output stack traces on the console instead
8904         of in a (never-seen) buffer.
8905
8906         * eval.c (signal_type_error):
8907         * eval.c (invalid_argument_2):
8908         * lisp.h:
8909         new funs for use w/structured errors.
8910
8911         * event-Xt.c:
8912         * event-Xt.c (x_to_emacs_keysym):
8913         * event-Xt.c (describe_event):
8914         * event-Xt.c (emacs_Xt_event_handler):
8915         * event-Xt.c (vars_of_event_Xt):
8916         * event-msw.c:
8917         * event-msw.c (mswindows_wnd_proc):
8918         * event-msw.c (vars_of_event_mswindows):
8919         rename {x,mswindows}-debug-events to debug-{}-events for
8920         consistency with other debug-foo variables.
8921
8922         * event-stream.c:
8923         document next-event more clearly.
8924
8925         * fileio.c (Ffile_name_directory):
8926         * fileio.c (Ffile_name_nondirectory):
8927         * fileio.c (Funhandled_file_name_directory):
8928         * fileio.c (file_name_as_directory):
8929         * fileio.c (Ffile_name_as_directory):
8930         * fileio.c (directory_file_name):
8931         * fileio.c (Fdirectory_file_name):
8932         * fileio.c (Fmake_temp_name):
8933         * fileio.c (Ffile_truename):
8934         * fileio.c (Fsubstitute_in_file_name):
8935         * fileio.c (expand_and_dir_to_file):
8936         * fileio.c (barf_or_query_if_file_exists):
8937         * fileio.c (check_executable):
8938         * fileio.c (Ffile_exists_p):
8939         * fileio.c (Ffile_writable_p):
8940         * fileio.c (Ffile_directory_p):
8941         * fileio.c (Ffile_regular_p):
8942         * fileio.c (Ffile_modes):
8943         * fileio.c (Ffile_newer_than_file_p):
8944         * fileio.c (Fverify_visited_file_modtime):
8945         * fileio.c (Fset_visited_file_modtime):
8946         * fileio.c (auto_save_1):
8947         (1). (2).
8948         fix up gcpro's.
8949
8950         * frame-msw.c:
8951         * frame-msw.c (mswindows_init_frame_1):
8952         * frame-msw.c (mswindows_enable_frame):
8953         * frame-msw.c (error_frame_unsizable):
8954         * frame-msw.c (msprinter_init_frame_1):
8955         * frame-msw.c (msprinter_init_frame_3):
8956         * frame-msw.c (console_type_create_frame_mswindows):
8957         (2).
8958         implement new enable/disable frame methods.
8959
8960         * frame-x.c:
8961         * frame-x.c (x_enable_frame):
8962         * frame-x.c (console_type_create_frame_x):
8963         implement new enable/disable frame methods.
8964
8965         * frame.c:
8966         * frame.c (Fdisable_frame):
8967         * frame.c (syms_of_frame):
8968         * frame.h (struct frame):
8969         implement new enable/disable frame methods/functions.
8970
8971         * general-slots.h:
8972         add initial-focus.
8973
8974         * glyphs-msw.c (mswindows_widget_instantiate):
8975         comment that initial-focus should be implemented.
8976
8977         * glyphs-widget.c:
8978         * glyphs-widget.c (check_valid_instantiator):
8979         * glyphs-widget.c (check_valid_orientation):
8980         * glyphs-widget.c (check_valid_tab_orientation):
8981         * glyphs-widget.c (check_valid_justification):
8982         * glyphs-widget.c (check_valid_border):
8983         * glyphs-widget.c (check_valid_callback):
8984         * glyphs-widget.c (check_valid_int_or_function):
8985         * glyphs-widget.c (check_valid_string_or_vector):
8986         * glyphs-widget.c (check_valid_item_list_1):
8987         * glyphs-widget.c (widget_validate):
8988         * glyphs-widget.c (combo_box_validate):
8989         * glyphs-widget.c (widget_instantiate):
8990         * glyphs-widget.c (syms_of_glyphs_widget):
8991         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
8992         * glyphs-widget.c (image_instantiator_combo_box):
8993         * glyphs-widget.c (image_instantiator_scrollbar):
8994         * glyphs-widget.c (image_instantiator_tab_control):
8995         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
8996         (2).
8997         support (unimplemented) keyword initial-focus.
8998         reindent long macros.
8999
9000         * glyphs-x.c (x_redisplay_widget):
9001         * glyphs-x.c (x_button_instantiate):
9002         * glyphs-x.c (x_button_redisplay):
9003         * glyphs-x.c (x_progress_gauge_instantiate):
9004         * glyphs-x.c (x_edit_field_instantiate):
9005         * glyphs-x.c (x_combo_box_instantiate):
9006         * glyphs-x.c (x_tab_control_instantiate):
9007         * glyphs-x.c (x_label_instantiate):
9008         * gui-x.c:
9009         * gui-x.c (button_item_to_widget_value):
9010         * gui-x.c (gui_items_to_widget_values_1):
9011         * gui-x.c (gui_item_children_to_widget_values):
9012         * gui-x.c (gui_items_to_widget_values):
9013         * gui-x.h:
9014         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9015         add new flag to gui-parsing routines to indicate whether
9016         accelerator specs should be supported.
9017
9018         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9019
9020         * glyphs.h (struct Lisp_Image_Instance):
9021         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9022         add initial-focus flag.
9023
9024         * gui.c:
9025         * gui.c (syms_of_gui):
9026         * gui.c (vars_of_gui):
9027         clean up menu-no-selection-hook.
9028
9029         * gui.h:
9030         support delete-dialog-box-hook.
9031
9032         * lread.c (Fload_internal):
9033         * lread.c (locate_file_in_directory_mapper):
9034         (1).
9035
9036         * lrecord.h:
9037         * lrecord.h (struct toolbar_button):
9038         * lrecord.h (syms_of_toolbar):
9039         document how to create a new object.
9040
9041         * menubar-msw.c (mswindows_char_is_accelerator):
9042         may be called on frames w/o menus.
9043
9044         * menubar.c (vars_of_menubar):
9045         clean up :filter docs.
9046
9047         * nt.c (readdir):
9048         * ntproc.c:
9049         (1).
9050
9051         * process-nt.c:
9052         * process-nt.c (validate_signal_number):
9053         * process-nt.c (signal_cannot_launch):
9054         * process-nt.c (nt_create_process):
9055         * process-nt.c (nt_send_process):
9056         * process-nt.c (nt_kill_child_process):
9057         * process-nt.c (nt_open_network_stream):
9058         * process-nt.c (syms_of_process_nt):
9059         (2).
9060         delete quote-handling.  call new lisp code that does it better.
9061
9062         * process-unix.c (connect_to_file_descriptor):
9063         * process-unix.c (allocate_pty):
9064         * process-unix.c (unix_send_process):
9065         * process-unix.c (unix_kill_child_process):
9066         * process-unix.c (unix_open_network_stream):
9067         * process-unix.c (unix_open_multicast_group):
9068         (1). (2).
9069
9070         * process.c:
9071         * process.c (Fstart_process_internal):
9072         (2).  need to canonicalize process path even if absolute.
9073
9074         * select-msw.c (symbol_to_ms_cf):
9075         * select-msw.c (ms_cf_to_symbol):
9076         * select-msw.c (cf_is_autofreed):
9077         * select-msw.c (mswindows_destroy_selection):
9078         * select.c:
9079         * select.c (syms_of_select):
9080         * select.h:
9081         support dibv5, fix bugs. (from Mike Alexander)
9082
9083         * select.c (Fget_selection_internal):
9084         * select.c (select_convert_out):
9085
9086         * sysdep.c:
9087         * sysdep.c (xemacs_stat):
9088         renamed.
9089
9090         * sysdep.c (mkdir):
9091         * sysdep.c (rmdir):
9092         but keep original stat() here because we provide encapsulation
9093         around these funs.
9094
9095         * sysfile.h:
9096         * sysfile.h (fstat):
9097         remove stat garbage.
9098
9099         * syswindows.h:
9100         fix X/MSW conflict.
9101         don't include tchar.h.  it's inappropriate because it makes
9102         compile-time distinctions when we want runtime distinctions.
9103         (we provide our own tchar replacements)
9104
9105         * toolbar.c:
9106         use default object printer for toolbar-button.
9107
9108         * unexcw.c:
9109         make sure we don't encapsulate.
9110
9111         * window.c (vars_of_window):
9112         emphasize that temp-buffer-show-hook is obsolete.
9113
9114 2000-08-05  Martin Buchholz  <martin@xemacs.org>
9115
9116         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
9117         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
9118
9119         * events.c (Fevent_timestamp_lessp):
9120         Not 64-bit clean.  Use EMACS_INT, not int.
9121
9122 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
9123
9124         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
9125         unsigned int and changed the last enum to
9126         lrecord_type_last_built_in_type.
9127         (lrecord_implementations_table): changed prototype to know how
9128         long the array is supposed to be.
9129         (lrecord_type_count): new unsigned int to keep track of the
9130         current number of lisp lrecord types.
9131         (DEFINE_EXTERNAL_LRECORD):
9132         (DECLARE_EXTERNAL_LRECORD): Added these two for external
9133         dynamic-modules to declare new lisp types. They are the same
9134         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
9135         int for each new type, and increment lrecord_type_count by 1.
9136
9137         * alloc.c (lrecord_implementations_table): Changed to reference
9138         lrecord_type_last_built_in_type for the size of the array.
9139         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
9140
9141 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9142
9143         * glyphs.h (check_valid_item_list): Renamed from
9144         check_valid_item_list_1.
9145
9146 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
9147
9148         * select.c (Qselect_coerce): New.
9149         * select.c (Vselection_coercion_alist): New.
9150         * select.c (syms_of_select): Declare.
9151         * select.c (get-selection-internal): Use it.
9152         Use the new select-coerce functionality.
9153
9154         * select.c (select_coerce): New.
9155         * select.h (select_coerce): Declare.
9156         New function to coerce one type of data into another.
9157
9158 2000-08-03  Martin Buchholz  <martin@xemacs.org>
9159
9160         * callproc.c (Fcall_process_internal):
9161         (Fcall_process_internal):
9162         * process-unix.c (unix_create_process):
9163         Save and restore the value of errno, so that error messages are accurate.
9164
9165 2000-08-01  Martin Buchholz  <martin@xemacs.org>
9166
9167         * elhash.c (print_hash_table):
9168         Fix printing of hash tables to also use `key-and-value' instead of `t'.
9169         Prettify docstrings and indentation.
9170
9171 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9172
9173         * window.c (Fwindow_pixel_edges): Subtract frame border and
9174         gutter size.
9175
9176 2000-07-31  Andy Piper  <andy@xemacs.org>
9177
9178         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
9179         will acknowledge the change.
9180
9181         * glyphs.h: declare tab_control_order_only_changed.
9182
9183         * glyphs-x.c (x_tab_control_redisplay): use
9184         tab_control_order_only_changed.
9185
9186         * glyphs-widget.c (tab_control_order_only_changed): new function.
9187
9188         * glyphs-msw.c (mswindows_tab_control_redisplay): use
9189         tab_control_order_only_changed.
9190
9191         * gui.c (gui_item_equal_sans_selected): new function.
9192         (gui_item_equal): use it.
9193
9194         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
9195         :properties in favor of :items..
9196
9197         * glyphs-widget.c (check_valid_item_list): rename from
9198         check_valid_item_list_1.
9199         (check_valid_item_list_1): renamed.
9200         (combo_box_validate): deprecate :properties in favor of :items.
9201         (widget_instantiate): ditto.
9202         (tab_control_update): ditto.
9203         (image_instantiator_combo_box): ditto.
9204         (image_instantiator_tree_view): ditto.
9205         (image_instantiator_tab_control): ditto.
9206         (layout_post_instantiate): remove dead code.
9207
9208         * print.c (debug_print_no_newline): only write to debugger if in
9209         WIN32_NATIVE.
9210
9211         * elhash.c (Fmake_hash_table): update doc string.
9212
9213         * event-msw.c (mswindows_wnd_proc): don't allow processing of
9214         messages whilst in GC. This at least stops XEmacs crashing but has
9215         the potential for wierd behaviour.
9216
9217 2000-07-31  Martin Buchholz  <martin@xemacs.org>
9218
9219         * config.h.in:
9220         Make existence of s&m files optional.
9221
9222         * s/bsd386.h: Remove HAVE_GETLOADAVG.
9223         * s/freebsd.h: Remove HAVE_GETLOADAVG.
9224         * s/gnu.h: Remove HAVE_GETLOADAVG.
9225         * s/netbsd.h: Remove HAVE_GETLOADAVG.
9226         * s/sol2.h: Remove HAVE_GETLOADAVG.
9227         * lisp.h: Remove getloadavg() declaration.
9228         * fns.c:
9229         Include <sys/loadavg.h> if available.
9230         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
9231         * config.h.in:  Group together getloadavg()-related macros.
9232         Use only configure-time tests to detect getloadavg().
9233
9234 2000-07-30  Martin Buchholz  <martin@xemacs.org>
9235
9236         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
9237
9238 2000-07-25  Andy Piper  <andy@xemacs.org>
9239
9240         * syswindows.h: add tchar.h for native builds.
9241
9242         * frame.c (syms_of_frame): remove set-glyph-image.
9243
9244         * general-slots.h: add Qset_glyph_image.
9245
9246         * glyphs-widget.c (layout_update): add domain arg to
9247         set-glyph-image.
9248         (syms_of_glyphs_widget): remove set-glyph-image.
9249
9250 2000-07-23  Ben Wing  <ben@xemacs.org>
9251
9252         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
9253         Vpopup_frame_list.
9254
9255 2000-07-22  Andy Piper  <andy@xemacs.org>
9256
9257         * symsinit.h: add syms_of_win32().
9258
9259         * gui-msw.c (syms_of_gui_mswindows): remove
9260         Fmswindows_shell_execute.
9261         (Fmswindows_shell_execute): moved to win32.c.
9262
9263         * emacs.c (main_1): add syms_of_win32 ().
9264
9265         * win32.c (init_potentially_nonexistent_functions): rewrite in
9266         compiler-friendly terms.
9267         (Fmswindows_shell_execute): move here from gui-msw.c.
9268         (syms_of_win32): new.
9269
9270         * device-msw.c (Fmswindows_printer_list): clean up args to
9271         EnumPrinters.
9272         Don't include tchar under cygwin or mingw.
9273         (msprinter_default_printer): make cygwin-friendly.
9274
9275 2000-07-21  Andy Piper  <andy@xemacs.org>
9276
9277         * glyphs-widget.c (image_instantiator_tree_view): use tab
9278         control's update function.
9279         (layout_property): new function. Retrieve items.
9280
9281         * glyphs-msw.c (mswindows_tree_view_redisplay): new
9282         function. Re-populate the tree view from the pending items.
9283
9284         * glyphs.c (instantiate_image_instantiator): Make sure the domain
9285         is designated the parent if the domain is an image instance. This
9286         is needed so that dirtiness can be cascade up the hierarchy and
9287         thus for layout children to be redisplayed correctly.
9288         (allocate_image_instance): rename glyph -> parent.
9289
9290         * redisplay.h: change redisplay_output_layout signature.
9291
9292         * redisplay-msw.c (mswindows_output_display_block): use domain
9293         arg.
9294
9295         * redisplay-x.c (x_output_display_block): use domain arg.
9296
9297 2000-07-10  Andy Piper  <andy@xemacs.org>
9298
9299         * window.c (Fset_window_configuration): add comment.
9300
9301         * redisplay-output.c (compare_runes):
9302         (redisplay_output_subwindow): redisplay rather than update subwindow.
9303         (redisplay_output_layout): ditto.
9304
9305         * redisplay-msw.c (mswindows_frame_output_end):
9306         (mswindows_frame_output_end): make defer window pos optional.
9307
9308         * lisp.h: add Flast.
9309
9310         * glyphs.h (struct image_instantiator_methods): add dest_mask top
9311         normalize method. Change update method to be for changed
9312         instantiators. Add redisplay method. Change signature of layout
9313         method.
9314         (struct Lisp_Image_Instance): add instantiator.
9315         (IMAGE_INSTANCE_INSTANTIATOR): new.
9316         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
9317         (XIMAGE_INSTANCE_INSTANTIATOR): new.
9318         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
9319
9320         * glyphs.c:
9321         (find_instantiator_differences): new function.
9322         (Fset_instantiator_property): new convenience function.
9323         (check_image_instance_structure): strictly check for vector
9324         instantiators.
9325         (normalize_image_instantiator): make non-static.
9326         (instantiate_image_instantiator): pass on dest_mask and use new
9327         signatures for image_instance_layout and friends.
9328         (mark_image_instance): mark the instantiator. Mark the subwindow
9329         face not the widget face.
9330         (image_instance_equal): add instantiator.
9331         (image_instance_hash): ditto.
9332         (allocate_image_instance): ditto.
9333         (Fset_image_instance_property): removed.
9334         (Fimage_instance_file_name): ditto.
9335         (Fcolorize_image_instance): ditto.
9336         (image_instance_layout): add offsets to be set.
9337         (update_image_instance): new function. update an image instance
9338         from its changed instantiator.
9339         (inherit_normalize): add dest_mask.
9340         (xbm_normalize): ditto.
9341         (xface_normalize): ditto.
9342         (xpm_normalize): ditto.
9343         (text_update): set_property -> update.
9344         (image_instantiate): use the glyph identity as a hash key, not the
9345         instantiator.
9346         (glyph_width): use new image_instance_layout signature.
9347         (glyph_ascent): ditto.
9348         (glyph_descent): ditto.
9349         (glyph_height): ditto.
9350         (glyph_query_geometry): ressurrect.
9351         (glyph_layout): ditto.
9352         (redisplay_subwindow): update -> redisplay.
9353         (syms_of_glyphs): add Fset_instantiator_property.
9354         (image_instantiator_format_create): set_property -> update.
9355
9356         * glyphs-x.c:
9357         (autodetect_normalize): add dest_maks to signature.
9358         (x_redisplay_subwindow): update -> redisplay.
9359         (x_redisplay_widget): ditto.
9360         (x_button_redisplay): ditto.
9361         (x_progress_gauge_redisplay): ditto.
9362         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
9363         stacking order.
9364         (console_type_create_glyphs_x): update -> redisplay.
9365         (image_instantiator_format_create_glyphs_x): ditto.
9366
9367         * glyphs-widget.c:
9368         (check_valid_instantiator): disallow glyphs in the instantiator,
9369         they must now be vectors.
9370         (check_valid_instantiator_list): ditto.
9371         (glyph_instantiator_to_glyph): use internal symbol rather than
9372         intern.
9373         (widget_update): renamed from widget_set_property. Call cascaded
9374         update methods.
9375         (redisplay_widget): renamed from update_widget.
9376         (widget_layout): image_instance_layout now takes position as well
9377         as size.
9378         (widget_normalize): ditto.
9379         (widget_instantiate): ditto.
9380         (tab_control_query_geometry) ditto.:
9381         (tab_control_update): renamed from tab_control_set_property.
9382         (progress_gauge_update): set_property -> update.
9383         (layout_normalize): rewrite so that child instantiators are
9384         normalized also.
9385         (layout_update): new function. Create glyphs from the normalized
9386         children and cope with any other layout keywords. We do not
9387         instantiate children here that will be take care of by
9388         redisplay_output_layout.
9389         (layout_instantiate): call layout_update and not much else.
9390         (layout_post_instantiate): not sure whether this is needed
9391         anymore.
9392         (layout_query_geometry): query glyph geometry rather than
9393         image_instance geometry.
9394         (layout_layout): set offsets from pass in parameters. Use glyph
9395         geometry and layout functions rather than image instance ones.
9396         (native_layout_layout): ditto.
9397         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
9398         (image_instantiator_widget): set_property -> update.
9399         (image_instantiator_buttons): ditto.
9400         (image_instantiator_progress_guage): ditto.
9401         (image_instantiator_tab_control): ditto.
9402         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
9403         (image_instantiator_layout): add update method.
9404
9405         * glyphs-msw.c (bmp_normalize):
9406         (mswindows_resource_normalize): add dest_mask so that it can be
9407         proprogated by layout_normalize.
9408         (begin_defer_window_pos): make optional because it may not be the
9409         right thing to do and it introduces differences with X.
9410         (mswindows_unmap_subwindow): ditto.
9411         (mswindows_map_subwindow): ditto.
9412         (mswindows_redisplay_subwindow): renamed from
9413         mswindows_update_subwindow.
9414         (mswindows_redisplay_widget): ditto.
9415         (mswindows_button_redisplay): renamed from
9416         mswindows_button_update. Update is now what the instantiation
9417         function does for a changed instantiator.
9418         (mswindows_progress_gauge_instantiate): set the progress value
9419         here if appropriate.
9420         (mswindows_tab_control_redisplay): cope with re-ordering of the
9421         members of the tab widget by simply selecting the new top
9422         widget. This makes things appear ok if you click on a tab.
9423         (mswindows_combo_box_instantiate): image_instance_layout now takes
9424         position as well as size.
9425         (mswindows_progress_gauge_redisplay): renamed from
9426         mswindows_progress_gauge_update.
9427         (console_type_create_glyphs_mswindows): fix update -> redisplay.
9428         (image_instantiator_format_create_glyphs_mswindows): ditto.
9429
9430         * glyphs-eimage.c (jpeg_normalize):
9431         (gif_normalize):
9432         (png_normalize):
9433         (tiff_normalize): add dest_mask so that it can be proprogated by
9434         layout_normalize.
9435
9436         * elhash.c:
9437         (print_hash_table):
9438         (hash_table_weakness_validate):
9439         (decode_hash_table_weakness):
9440         (Fhash_table_weakness):
9441         (Fhash_table_type):
9442         (syms_of_elhash): use Ben's naming scheme for hashtable types..
9443
9444         * console.h (struct console_methods): move update_* to
9445         redisplay_*.
9446
9447 2000-07-20  Ben Wing  <ben@xemacs.org>
9448
9449         * *.[ch] (XSETOBJ): remove unused middle argument.
9450         lisp-disunion.h: correct wrap_object() to one argument.
9451
9452 2000-07-15  Ben Wing  <ben@xemacs.org>
9453
9454         * s/cygwin32.h:
9455         * s/cygwin32.h (CYGWIN_CONV_PATH):
9456         Add missing logb prototype for v1.1.
9457         Use post-b20 names and alias to pre-b20 names when pre-b20.
9458
9459         * s/windowsnt.h: [5].
9460
9461 2000-07-15  Ben Wing  <ben@xemacs.org>
9462
9463         * Makefile.in.in (x_objs):
9464         * Makefile.in.in (sheap_objs):
9465         * Makefile.in.in (objs):
9466         added win32.o, cosmetic cleanups.
9467
9468         * alloc.c (Fmake_byte_code):
9469         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
9470         etc. macros which declare their own args now.
9471
9472         * alloc.c (syms_of_alloc):
9473         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
9474
9475         * buffer.c:
9476         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
9477
9478         * buffer.c (Fget_file_buffer):
9479         Fixed GCPRO problem.
9480
9481         * buffer.c (get_truename_buffer):
9482         Fixed comment about GC checking.
9483
9484         * buffer.c (syms_of_buffer):
9485         Undeclared those dedicated frame funs.
9486         [2].
9487
9488         * buffer.h:
9489         Define convenience macros for internal/external conversions.
9490         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
9491         and Qenvironment_variable_encoding for cleaner code.
9492
9493         * bufslots.h:
9494         Remove dedicated-frame; in lisp.
9495
9496         * bytecode.c (funcall_compiled_function):
9497         [1].
9498
9499         * bytecode.c (syms_of_bytecode):
9500         [2].
9501
9502         * console-msw.c:
9503         * console-msw.c (mswindows_show_console): Rewrote.
9504
9505         * console-msw.c (Fmswindows_debugging_output): New.
9506         Sends to OutputDebugString (special MSWin debugger interface).
9507
9508         * console-msw.c (Fmswindows_message_box):
9509         Fixed stupid bugs so it works when called from kill-emacs.
9510
9511         * console-msw.c (syms_of_console_mswindows):
9512         Declare Fmswindows_debugging_output.
9513
9514         * console-msw.h:
9515         New MSWin prototypes.
9516
9517         * console-msw.h (struct mswindows_frame):
9518         New entry last-click-mods for improved button-modifier support.
9519
9520         * console-msw.h (FRAME_MSWINDOWS_POPUP):
9521         New struct entry `popup' with corresponding accessor.
9522
9523         * console-x.c:
9524         * console-x.c (split_up_display_spec):
9525         * console-x.c (get_display_arg_connection):
9526         * console-x.c (x_semi_canonicalize_console_connection):
9527         * console-x.c (x_canonicalize_device_connection):
9528         [[[6]]]: Change char to more specific type.
9529         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
9530
9531         * console-x.c (x_semi_canonicalize_console_connection):
9532         * console-x.c (x_canonicalize_device_connection):
9533         [[[9]]]: Fix up error signalling to use new structured error system.
9534
9535         * console-x.h:
9536         [[[4]]]: Define codesys aliases:
9537         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
9538         Qx_color_name_encoding, Qx_display_name_encoding.
9539
9540         * console.h (struct console_methods):
9541         New method make_dialog_box_internal supersedes older
9542         popup_dialog_box method.
9543
9544         * data.c:
9545         Define many new errors, part of new structured errors.
9546
9547         * data.c (init_errors_once_early):
9548         * data.c (syms_of_data):
9549         [2].
9550
9551         * device-msw.c (mswindows_init_device):
9552         [[[5]]]: Cleanup to support NT 3.51.
9553
9554         * device-msw.c (decode_devmode): Cleanup.
9555
9556         * device-msw.c (mswindows_handle_print_setup_dialog_box):
9557         * device-msw.c (mswindows_handle_print_dialog_box):
9558         * device-msw.c (mswindows_handle_page_setup_dialog_box):
9559         * device-msw.c (syms_of_device_mswindows):
9560         Delete the dialog box primitives recently introduced by Kirill and
9561         instead interface to general dialog box interface.
9562
9563         * device-x.c:
9564         * device-x.c (compute_x_app_name):
9565         * device-x.c (x_init_device):
9566         * device-x.c (Fx_valid_keysym_name_p):
9567         * device-x.c (Fx_set_font_path):
9568         [6].
9569         [7].
9570
9571         * device.h (wrap_device): New.
9572         First of its kind; meant to replace XSETDEVICE.
9573
9574         * dialog-msw.c: Many file-dialog symbols.
9575
9576         * dialog-msw.c (mswindows_register_popup_frame): New.
9577         * dialog-msw.c (mswindows_is_dialog_msg): New.
9578         For supporting kbd traversal in dialog boxes.
9579
9580         * dialog-msw.c (dialog_proc):
9581         Support hitting ESC in dialogs.
9582
9583         * dialog-msw.c (struct):
9584         Common dialog box errors.
9585
9586         * dialog-msw.c (handle_file_dialog_box): New.
9587         Add file dialog code.
9588
9589         * dialog-msw.c (handle_question_dialog_box):
9590         Redo existing code to support new question dialog syntax.
9591
9592         * dialog-msw.c (console_type_create_dialog_mswindows):
9593         We support new dialog console method.
9594
9595         * dialog-msw.c (syms_of_dialog_mswindows):
9596         * dialog-msw.c (vars_of_dialog_mswindows):
9597         New file dialog symbols, vars.
9598
9599         * dialog-x.c:
9600         * dialog-x.c (maybe_run_dbox_text_callback):
9601         * dialog-x.c (dbox_descriptor_to_widget_value):
9602         * dialog-x.c (x_make_dialog_box_internal):
9603         * dialog-x.c (console_type_create_dialog_x):
9604         Mule-ize entire file.
9605         Redo to support question dialog syntax.
9606         [6].
9607
9608         * dialog.c:
9609         * dialog.c (Fmake_dialog_box_internal):
9610         * dialog.c (syms_of_dialog):
9611         Kill old popup-dialog-box, replace with new primitive.
9612         Just call device method or signal error.
9613
9614         * eldap.c (Fldap_open):
9615         * eldap.c (Fldap_search_basic):
9616         * eldap.c (Fldap_add):
9617         * eldap.c (Fldap_modify):
9618         [1].
9619         [7].
9620
9621         * emacs.c:
9622         * emacs.c (make_arg_list_1):
9623         * emacs.c (make_arg_list):
9624         Mule-ize call to dll_init().
9625         [6].
9626         [8].
9627
9628         * emacs.c (make_argc_argv):
9629         * emacs.c (free_argc_argv):
9630         * emacs.c (init_cmdargs):
9631         * emacs.c (main_1):
9632         * emacs.c (Fkill_emacs):
9633         * emacs.c (Fdump_emacs):
9634         Update comments about what can be used in syms_* etc.
9635         Call init_win32() when necessary.
9636         Fix up MS Win dialog box in kill-buffer to actually work right.
9637         [7].
9638
9639         * eval.c:
9640         * eval.c (For):
9641         * eval.c (Fand):
9642         * eval.c (Fprogn):
9643         * eval.c (Fprog1):
9644         * eval.c (Fprog2):
9645         * eval.c (FletX):
9646         * eval.c (Flet):
9647         * eval.c (condition_case_3):
9648         * eval.c (Feval):
9649         * eval.c (function_argcount):
9650         * eval.c (funcall_lambda):
9651         [1].
9652
9653         * eval.c (type_error): New.
9654         * eval.c (maybe_type_error): New.
9655         * eval.c (continuable_type_error): New.
9656         * eval.c (maybe_continuable_type_error): New.
9657         * eval.c (type_error_with_frob): New.
9658         * eval.c (maybe_type_error_with_frob): New.
9659         * eval.c (continuable_type_error_with_frob): New.
9660         * eval.c (maybe_continuable_type_error_with_frob): New.
9661         New functions for use with structured errors.
9662
9663         * event-Xt.c:
9664         * event-Xt.c (x_event_to_emacs_event):
9665         Buttons are now modifiers too.
9666
9667         * event-Xt.c (emacs_Xt_current_event_timestamp):
9668         Implement new event method.
9669         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
9670
9671         * event-msw.c:
9672         * event-msw.c (ntpipe_shove_writer): [5].
9673         * event-msw.c (mswindows_enqueue_mouse_button_event):
9674         * event-msw.c (mswindows_drain_windows_queue):
9675         * event-msw.c (mswindows_wnd_proc): [7].
9676         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
9677         * event-msw.c (mswindows_modifier_state):
9678         Throughout: support new button modifiers.
9679
9680         * event-msw.c (emacs_mswindows_current_event_timestamp):
9681         Implement new event method.
9682         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
9683
9684         * event-stream.c:
9685         * event-stream.c (event_stream_current_event_timestamp): New.
9686         * event-stream.c (maybe_kbd_translate): New functionality.
9687         * event-stream.c (vars_of_event_stream):
9688         Document new kbd-translate-table functionality.
9689
9690         * event-stream.c (Fcurrent_event_timestamp): New.
9691         New primitive for use in fabricated events.
9692         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
9693
9694         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
9695
9696         * events.c:
9697         * events.c (Fmake_event):
9698         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
9699         [1].
9700         [9].
9701
9702         * events.c (format_event_object): fix gcc warnings.
9703
9704         * events.c (Fevent_timestamp): Document new primitives.
9705
9706         * events.c (TIMESTAMP_HALFSPACE): New.
9707
9708         * events.c (Fevent_timestamp_lessp): New.  New primitive for
9709         comparing timestamps correctly (half-space algorithm).
9710
9711         * events.c (Fevent_modifier_bits): Doc fix.
9712
9713         * events.c (Fevent_modifiers): Major doc addition.
9714         * events.c (event_x_y_pixel_internal): Typo fix.
9715         * events.c (syms_of_events): Declare new primitives.
9716
9717         * events.h:
9718         Update long comment for button modifiers, timestamps.
9719
9720         * events.h (struct event_stream):
9721         New current_event_timestamp method.
9722
9723         * extents.c:
9724         * extents.c (extent_in_region_p):
9725         * extents.c (decode_extent):
9726         * extents.c (Fset_extent_parent):
9727         * extents.c (decode_map_extents_flags):
9728         Fix gcc warnings.
9729         [9].
9730
9731         * extents.c (struct extent_at_arg):
9732         * extents.c (decode_extent_at_flag):
9733         * extents.c (extent_at_mapper):
9734         * extents.c (extent_at_bytind):
9735         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
9736         * extents.c (Fextents_at): New primitive. [9].
9737         * extents.c (symbol_to_glyph_layout): [9].
9738         Support new primitive `extents-at'.
9739
9740
9741         * extents.c (get_text_property_bytind):
9742         extent_at_bytind has another arg.
9743         [9].
9744
9745         * extents.c (syms_of_extents): New primitive.
9746
9747         * file-coding.c (Fmake_coding_system): [1].
9748         * file-coding.c (subsidiary_coding_system): fix gcc warning
9749         * file-coding.c (syms_of_file_coding): [2].
9750
9751         * fileio.c (Fexpand_file_name):
9752         * fileio.c (Fsysnetunam):
9753         * fileio.c (Ffile_exists_p):
9754         * fileio.c (Ffile_executable_p):
9755         * fileio.c (Fverify_visited_file_modtime):
9756         Clean up GCPROing.
9757
9758         * fileio.c (syms_of_fileio): [2].
9759
9760         * filelock.c (lock_file_1):
9761         * filelock.c (current_lock_owner):
9762         * filelock.c (lock_if_free):
9763         * filelock.c (lock_file):
9764         * filelock.c (unlock_file):
9765         Clean up GCPROing.
9766
9767         * fns.c (concat): Fix gcc warning.
9768
9769         * fns.c (Fmember):
9770         * fns.c (Fold_member):
9771         * fns.c (Fmemq):
9772         * fns.c (Fold_memq):
9773         * fns.c (memq_no_quit):
9774         * fns.c (Fassoc):
9775         * fns.c (Fold_assoc):
9776         * fns.c (Fassq):
9777         * fns.c (Fold_assq):
9778         * fns.c (assq_no_quit):
9779         * fns.c (Frassoc):
9780         * fns.c (Fold_rassoc):
9781         * fns.c (Frassq):
9782         * fns.c (Fold_rassq):
9783         * fns.c (rassq_no_quit):
9784         * fns.c (Fdelete):
9785         * fns.c (Fold_delete):
9786         * fns.c (Fdelq):
9787         * fns.c (Fold_delq):
9788         * fns.c (delq_no_quit):
9789         * fns.c (Fremassoc):
9790         * fns.c (Fremassq):
9791         * fns.c (remassq_no_quit):
9792         * fns.c (Fremrassoc):
9793         * fns.c (Fremrassq):
9794         * fns.c (remrassq_no_quit):
9795         * fns.c (Freverse):
9796         * fns.c (mapcar1):
9797         [1].
9798
9799         * frame-msw.c (mswindows_init_frame_1):
9800         * frame-msw.c (mswindows_delete_frame):
9801         Register popups with dialog code so keyboard traversing works.
9802
9803         * frame-tty.c (tty_raise_frame_no_select): [1].
9804
9805         * frame-x.c:
9806         * frame-x.c (x_set_frame_text_value):
9807         * frame-x.c (x_set_frame_properties):
9808         * frame-x.c (x_create_widgets):
9809         [7].
9810
9811         * frame.c:
9812         * frame.c (Fmouse_pixel_position): Minor doc fixes.
9813
9814         * frame.h (wrap_frame): New.
9815         Macro like wrap_device.
9816
9817         * general.c:
9818         * general.c (SYMBOL):
9819         * general.c (syms_of_general):
9820         Major reorg.  This is now just a wrapper and symbols themselves
9821         are listed in general-slots.h.
9822
9823         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
9824         * glyphs-msw.c (mswindows_resource_instantiate): [5].
9825
9826         * glyphs-msw.c (mswindows_native_layout_instantiate):
9827         Add DS_CONTROL so keyboard traversal will work.
9828
9829         * glyphs-widget.c:
9830         * glyphs-widget.c (syms_of_glyphs_widget):
9831         Move some symbols to general-slots.h.
9832
9833         * glyphs-x.c:
9834         * glyphs-x.c (xbm_instantiate_1):
9835         * glyphs-x.c (x_xbm_instantiate):
9836         * glyphs-x.c (x_xface_instantiate):
9837         * glyphs-x.c (autodetect_instantiate):
9838         * glyphs-x.c (cursor_font_instantiate):
9839         * glyphs-x.c (x_update_widget):
9840         * glyphs-x.c (x_widget_instantiate):
9841         * glyphs.c (bitmap_to_lisp_data):
9842         * glyphs.c (pixmap_to_lisp_data):
9843         [7].
9844
9845         * glyphs.c (syms_of_glyphs):
9846         [2].
9847
9848         * gui-x.c:
9849         * gui-x.c (print_widget_value):
9850         * gui-x.c (menu_separator_style_and_to_external):
9851         * gui-x.c (add_accel_and_to_external):
9852         * gui-x.c (button_item_to_widget_value):
9853         * gui-x.c (gui_items_to_widget_values_1):
9854         * gui-x.c (gui_items_to_widget_values):
9855         * gui-x.c (syms_of_gui_x):
9856         * gui-x.c (vars_of_gui_x):
9857         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
9858         [9].
9859
9860         * gui-x.h:
9861         Muleize, prototype changes matching gui-x.c.
9862
9863         * gui.c:
9864         * gui.c (separator_string_p):
9865         * gui.c (gui_item_add_keyval_pair):
9866         * gui.c (make_gui_item_from_keywords_internal):
9867         * gui.c (signal_too_long_error):
9868         * gui.c (parse_gui_item_tree_item):
9869         * gui.c (syms_of_gui):
9870         * gui.c (vars_of_gui):
9871         * gui.h:
9872         menu-no-selection-hook moved here (used by MSWin).
9873         Move some symbols to general-slots.h.
9874         [6].
9875         [9].
9876
9877         * insdel.c (get_buffer_pos_char):
9878         * insdel.c (get_buffer_range_char):
9879         Add GC comments.
9880
9881         * keymap.c (keymap_lookup_directly):
9882         * keymap.c (keymap_store):
9883         * keymap.c (ensure_meta_prefix_char_keymapp):
9884         * keymap.c (describe_map):
9885         * keymap.h:
9886         Support new button modifiers.
9887
9888         * lisp-disunion.h (wrap_object):
9889         * lisp-disunion.h (XSETOBJ):
9890         Rename make_obj to wrap_object.
9891
9892         * lisp-union.h:
9893         * lisp-union.h (make_int):
9894         * lisp-union.h (make_char):
9895         Support wrap_object.
9896
9897         * lisp.h:
9898         * lisp.h (LIST_LOOP):
9899         * lisp.h (EXTERNAL_LIST_LOOP):
9900         * lisp.h (LIST_LOOP_2):
9901         * lisp.h (EXTERNAL_LIST_LOOP_1):
9902         * lisp.h (EXTERNAL_LIST_LOOP_2):
9903         * lisp.h (EXTERNAL_LIST_LOOP_3):
9904         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
9905         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9906         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
9907         * lisp.h (EXTERNAL_ALIST_LOOP_5):
9908         * lisp.h (EXTERNAL_ALIST_LOOP_6):
9909         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
9910         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
9911         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
9912         * lisp.h (struct Lisp_Symbol):
9913         * lisp.h (maybe_continuable_error_with_frob):
9914         Fix up section comments.
9915         Add new types for char to indicate usage.
9916         Delete symbols auto-generated from general-slots.h.
9917         Add prototypes for structured error functions.
9918         Add long comments describing looping macros and change interface
9919         so that lvalues are automatically declared.
9920         Add NO_DECLARE macro in case callers want to declare lvalues
9921         themselves.
9922
9923         * lread.c (read_syntax_error):
9924         * lread.c (continuable_read_syntax_error):
9925         * lread.c (read_structure):
9926         * lread.c (sequence_reader):
9927         * lread.c (read_list_conser):
9928         * lread.c (read_compiled_function):
9929         Rename syntax_error and continuable_syntax_error to avoid clash
9930         with same-named structured error functions.
9931
9932         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9933         * menubar-msw.c (populate_menu_add_item):
9934         * menubar-msw.c (populate_or_checksum_helper):
9935         [5].
9936         [9].
9937
9938         * menubar-x.c:
9939         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9940         Mule-ize whole file.
9941
9942         * menubar.c (Fnormalize_menu_item_name): Add optimization.
9943
9944         * mule-charset.c (Fmake_charset):
9945         * mule-wnnfns.c (Fwnn_set_param):
9946         [1].
9947
9948         * ntproc.c (create_child):
9949         * ntproc.c (Fwin32_set_current_locale):
9950         Add comments portending doom.
9951
9952         * objects-msw.c:
9953         * objects-msw.c (old_font_enum_callback_2):
9954         * objects-msw.c (font_enum_callback_1):
9955         * objects-msw.c (mswindows_enumerate_fonts):
9956         [5].
9957
9958         * objects-x.c:
9959         * objects-x.c (allocate_nearest_color):
9960         * objects-x.c (x_parse_nearest_color):
9961         * objects-x.c (x_initialize_color_instance):
9962         * objects-x.c (x_print_color_instance):
9963         * objects-x.c (x_finalize_color_instance):
9964         * objects-x.c (x_valid_color_name_p):
9965         * objects-x.c (x_initialize_font_instance):
9966         * objects-x.c (x_print_font_instance):
9967         * objects-x.c (valid_x_font_name_p):
9968         * objects-x.c (truename_via_FONT_prop):
9969         * objects-x.c (truename_via_random_props):
9970         * objects-x.c (truename_via_XListFonts):
9971         * objects-x.c (x_font_truename):
9972         * objects-x.c (x_font_instance_truename):
9973         * objects-x.c (x_font_instance_properties):
9974         * objects-x.c (x_list_fonts):
9975         * objects-x.c (x_find_charset_font):
9976         Mule-ize entire file.
9977         [7].
9978
9979         * objects-x.h:
9980         Mule-verify.
9981
9982         * print.c:
9983         * print.c (std_handle_out_external):
9984         * print.c (debug_print_no_newline):
9985         * print.c (syms_of_print):
9986         Output to all debugger kinds in debug-print.
9987         Fix console-output code under MSWin to actually work.
9988
9989         * process-nt.c (send_signal):
9990         * process-nt.c (nt_create_process):
9991         Use newer Unicode macros.
9992
9993         * process-unix.c (unix_create_process):
9994         * process-unix.c (unix_canonicalize_host_name):
9995         * process-unix.c (unix_open_network_stream):
9996         [7].
9997
9998         * scrollbar-x.c:
9999         Mule-verify.
10000
10001         * search.c (syms_of_search):
10002         [2].
10003
10004         * select-msw.c (mswindows_destroy_selection):
10005         Use LIST_LOOP_2.
10006
10007         * select-x.c (symbol_to_x_atom):
10008         [7].
10009
10010         * select.c (syms_of_select):
10011         [2].
10012
10013         * sound.c (Fplay_sound_file):
10014         [7].
10015
10016         * specifier.c:
10017         * specifier.c (decode_specifier_type):
10018         * specifier.c (Fvalid_specifier_locale_type_p):
10019         * specifier.c (check_valid_locale_or_locale_type):
10020         * specifier.c (decode_locale):
10021         * specifier.c (decode_locale_type):
10022         * specifier.c (decode_locale_list):
10023         * specifier.c (check_valid_domain):
10024         * specifier.c (decode_specifier_tag_set):
10025         * specifier.c (Fcanonicalize_tag_set):
10026         * specifier.c (Fdefine_specifier_tag):
10027         * specifier.c (Fspecifier_tag_predicate):
10028         * specifier.c (check_valid_inst_list):
10029         * specifier.c (check_valid_spec_list):
10030         * specifier.c (decode_how_to_add_specification):
10031         * specifier.c (check_modifiable_specifier):
10032         * specifier.c (specifier_add_spec):
10033         * specifier.c (boolean_validate):
10034         * specifier.c (display_table_validate):
10035         [9].
10036
10037         * specifier.c (syms_of_specifier):
10038         Move some symbols to general-slots.h.
10039         [2].
10040
10041         * symbols.c:
10042         * symbols.c (Fmapatoms):
10043         * symbols.c (Fapropos_internal):
10044         Add GCPROs.
10045
10046         * symbols.c (set_default_buffer_slot_variable):
10047         * symbols.c (set_default_console_slot_variable):
10048         [1].
10049
10050         * symbols.c (defsymbol_massage_name_1):
10051         * symbols.c (defkeyword_massage_name):
10052         * symbols.c (deferror_1):
10053         * symbols.c (deferror):
10054         * symbols.c (deferror_massage_name_and_message):
10055         * symeval.h:
10056         * symeval.h (DEFSYMBOL):
10057         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10058
10059         * symbols.c (syms_of_symbols):
10060         [2].
10061
10062         * symsinit.h:
10063         * symsinit.h (init_win32): New.
10064         Also new is syms_of_dialog_mswindows.
10065
10066         * syswindows.h:
10067         Add new Unicode macros, missing Cygwin wide-char functions,
10068         convenience conversion macros for Qmswindows_tstr, macros for
10069         encapsulating required MSWin <-> Cygwin filename conversions,
10070         prototype for dynamically-extracted (not in NT 3.51) functions.
10071
10072         * toolbar-x.c:
10073         Mule-verify.
10074
10075         * tooltalk.c (Fadd_tooltalk_message_arg):
10076         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10077         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10078         [7].
10079
10080         * tooltalk.c (syms_of_tooltalk):
10081         [2].
10082
10083         * unexnt.c:
10084         * unexnt.c (unexec):
10085         Fix up headers, declaration of unexec() to be more standard.
10086
10087 2000-07-20  Martin Buchholz  <martin@xemacs.org>
10088
10089         * offix.h: Revert change to guard macros - they're used in offix.c!
10090
10091 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10092
10093         * lisp.h: Defsubred Fdelete.
10094
10095         * console-msw.h:  (msprinter_default_printer): Added.
10096
10097         * console-msw.c (msprinter_canonicalize_console_connection):
10098         (msprinter_canonicalize_device_connection): Added.
10099
10100         * device-msw.c (msprinter_default_printer):
10101         (Fmswingows_get_default_printer):
10102         (signal_enum_priner_error):
10103         (Fmswingows_printer_list): Added.
10104
10105 2000-07-19  Martin Buchholz <martin@xemacs.org>
10106
10107         * XEmacs 21.2.35 is released.
10108
10109 2000-07-19  Martin Buchholz  <martin@xemacs.org>
10110
10111         * select-x.c (x_handle_selection_request):
10112         Text selected in xemacs and pasted into xterm failed to appear.
10113         Spelling fixes and cosmetic changes.
10114
10115 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10116
10117         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
10118         XEmacs frame (fix for doubling chars in dialog boxes).
10119
10120 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10121
10122         * select.c (select_convert_in, select_convert_out):
10123         Don't call intern() every time.
10124
10125         * select.c (Qselect_convert_in, Qselect_convert_out): New.
10126         * select.c (vars_of_select): Initialise them.
10127
10128 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10129
10130         * select.c (selection-coercible-types): New.
10131
10132         * select.c (own-selection-internal):
10133         * select.c (get-selection-internal):
10134         MULE bug fix - these should default to COMPOUND_TEXT and not
10135         STRING for MULE. I think.
10136
10137         * select.c (select_convert_out): Use selection-coercible-types
10138         to find types that we can attempt to perform coercions on.
10139
10140 2000-07-18  Martin Buchholz  <martin@xemacs.org>
10141
10142         * mule-wnnfns.c:
10143         * mule-canna.c:
10144         Add coding: cookie to identify encoding.
10145
10146         * mule-canna.c (CANNA_mode_keys): make static.
10147         Use proper prototypes, even for functions of no arguments.
10148         Remove external prototype for Fding().
10149
10150         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
10151
10152         * select.c (syms_of_select): Add missing DEFSUBR.
10153
10154 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10155
10156         * select.c (get_selection_internal, own_selection_internal):
10157         Make the type default to STRING, rather than placing a nil type
10158         into Vselection_alist.
10159
10160 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10161
10162         * gpmevent.c (tty_selection_exists_p):
10163         * gpmevent.c (tty_own_selection):
10164         Updated parameter lists.
10165
10166 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
10167
10168         * select.h (selection-alist): Removed declaration.
10169
10170         * select.h (get_local_selection):
10171         * select.c (get_local_selection):
10172         Made static.
10173
10174         * select.h (convert_selection): Removed declaration.
10175         * select.c (convert_selection): Removed.
10176         This function belongs in Lisp.
10177
10178         * select.h (select_convert_in): Declare.
10179         * select.h (select_convert_out): Declare.
10180         * select.c (select_convert_in): New.
10181         * select.c (select_convert_out): New.
10182         New conversion functions for other files to call.
10183
10184         * select.h (select_notify_buffer_kill): Declare.
10185         * select.c (select_notify_buffer_kill): New.
10186         New functions that get called from kill-buffer.
10187
10188         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
10189         X-specific lisp code.
10190
10191         * select.h: Declare some of the lisp-visible functions for
10192         external use.
10193
10194         * select.c (clean_local_selection_data): Removed. This was
10195         a disgusting function, and previously should have been in
10196         select-x.c in any case. The functionality is now provided
10197         in select-convert-from-integer (select.el).
10198
10199         * select.c (available-selection-types): Fixed stupidity where
10200         INTEGER and ATOM got added twice. Also add STRING when we see an
10201         extent.
10202
10203         * select.c (get-selection-internal): Removed symbol stripping. No
10204         longer causes conversion when data comes from the internal cache.
10205
10206         * select.c (syms_of_select): Added new functions.
10207
10208         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
10209         error checking - previously this called abort!
10210
10211         * select-x.c (x_own_selection): Changed comment.
10212
10213         * select-x.c (x_handle_selection_request): Use select_convert_out.
10214         Don't mess with selection-alist; it's an internal variable of select.c.
10215
10216         * select-x.c (x_get_foreign_selection): Use select_convert_in.
10217
10218         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
10219         rather than messing with selection-alist.
10220
10221         * select-msw.c (mswindows_get_foreign_selection):
10222         Use TO_INTERNAL_FORMAT rather than hacking.
10223
10224 2000-07-14  Martin Buchholz  <martin@xemacs.org>
10225
10226         * process-unix.c (unix_open_multicast_group):
10227         (unix_open_multicast_group): Remove useless casts.
10228
10229 2000-07-13  Martin Buchholz  <martin@xemacs.org>
10230
10231         * sound.c (Fplay_sound): Fix `unused variable' warning.
10232
10233         * emacs.c (main): Use correct type for _environ on SCO5.
10234
10235 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
10236
10237         * console.h (own_selection_method):
10238         * console.h (selection_exists_p_method):
10239         * console.h (available_selection_types_method): New.
10240         * console.h (register_selection_data_type_method): New.
10241         * console.h (selection_data_type_name): New.
10242
10243         * console-msw.h (mswindows_destroy_selection): Declare it.  New
10244         function & alist to track GlobalAlloc()'d handles that need
10245         releasing when the clipboard data gets replaced or emptied.
10246
10247         * event-msw.c (mswindows_wnd_proc): Call it.
10248
10249         * lisp.h, general.c (Qappend): New symbol representing a
10250         `how-to-add' mode.
10251
10252         * select.c (own-selection-internal):
10253         * select.c (selection-exists-p):
10254         * select.c (available-selection-types): New.
10255         * select.c (register-selection-data-type): New.
10256         * select.c (selection-data-type-name): New.  New functions to deal
10257         with device-specific selection data formats.
10258         * select.c (selection-converter-out-alist): Renamed.
10259         * select.c (selection-converter-in-alist): New.
10260         * select.c (selection-appender-alist): New.  Added new alists.
10261         * select.c (syms_of_select, vars_of_select): Added new symbols &
10262         variables.
10263         * select.c (get_local_selection): Split.
10264         * select.c: Removed spurious type checking - selections may now be
10265         of any type, not just strings.
10266         * select.c (own-selection-internal):
10267
10268         * select.h, select.c (convert_selection): New. Created
10269         convert_selection() function based on get_local_selection().
10270         * select.h, select.c (QCF_*): New symbols representing mswindows
10271         clipboard formats.
10272         * select.h, select.c (Qreplace_all, Qreplace_existing): New
10273         symbols representing `how-to-add' modes.
10274
10275         * select-msw.c (x_sym_p): New.
10276         * select-msw.c (symbol_to_ms_cf): New.
10277         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
10278         symbols & clipboard formats. Can also handle string names.
10279         * select-msw.c (mswindows_own_selection):
10280         * select-msw.c (mswindows_selection_exists_p):
10281         Added `data-type' parameter. Use it.
10282         * select-msw.c (mswindows_available_selection_types): New.
10283         * select-msw.c (mswindows_register_selection_data_type): New.
10284         * select-msw.c (mswindows_selection_data_type_name): New.
10285         * select-msw.c (mswindows_own_selection):
10286         * select-msw.c (mswindows_get_foreign_selection):
10287         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
10288         * select-msw.c (console_create_select_mswindows): Added new methods.
10289         * select-msw.c (mswindows_destroy_selection): New.
10290         * select-msw.c (Vhandle_alist): New list.
10291         * select-msw.c (mswindows_own_selection):
10292
10293         * select-x.c (x_own_selection):
10294         * select-x.c (x_selection_exists_p):
10295         * select-x.c: Added some comments about maybe using new
10296         functionality.
10297         * select-x.c (x_own_selection):
10298
10299         * specifier.c: Remove definition of Qappend (now in general.c)
10300         * specifier.c (syms_of_specifier): Remove Qappend.
10301
10302 2000-07-12  Martin Buchholz  <martin@xemacs.org>
10303
10304         * config.h.in: Add socklen_t.
10305
10306         * s/decosf4-0.h: No special compiler flags needed or desired.
10307         In particular, undefine _BSD for DEC OSF 4.0.
10308
10309 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10310
10311         * redisplay-msw.c (msprinter_frame_output_end): Added.
10312         (console_type_create_redisplay_mswindows): Referred the above.
10313
10314         * frame.c (setup_frame_without_minibuffer): Do not create a
10315         default minibuffer frame on a printer device.
10316
10317         * frame-msw.c (apply_dc_geometry): Added.
10318         (msprinter_start_page):
10319         (msprinter_init_frame_3):
10320         (msprinter_eject_page): Use it.
10321
10322         * console-msw.h (struct msprinter_frame): Added pix_left and top,
10323         and removed residual duplex and orientation properties.
10324
10325 2000-07-11  Martin Buchholz  <martin@xemacs.org>
10326
10327         * eval.c (function_argcount): Work around a DEC CC compiler bug.
10328
10329         * unexalpha.c: Remove system prototypes from C sources!
10330
10331 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
10332
10333         * eval.c: Remove references to M-x edit-options in DEFUNs for
10334         `defvar' and `defconst'.
10335
10336 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10337
10338         * config.h.in: Remove SMART_INCLUDE hackery.
10339
10340         PostgreSQL hacking:
10341         * config.h.in: Don't use SMART_INCLUDE.
10342
10343         * postgresql.h: Include libpq-fe.h here.  Fix typo.
10344         * inline.c: Simply #include "postgresql.h"
10345         * postgresql.c:
10346         - Don't use SMART_INCLUDE
10347         - Use simply "const".
10348         - Use standard doc string conventions.
10349         - Use correct type for result of PQstatus.
10350
10351 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10352
10353         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
10354
10355         C++ compilation changes.
10356         * config.h.in (EXTERN_C): Define.
10357         * config.h.in (not): This is also a C++ keyword.
10358         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
10359         * cm.c: Use EXTERN_C.
10360         * redisplay-tty.c: Use EXTERN_C.
10361         * sysdep.c: Use EXTERN_C.  Remove Gould support.
10362
10363 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10364
10365         * general.c: Remove duplicate definition for Qfunction.
10366
10367 2000-07-08  Ben Wing  <ben@xemacs.org>
10368
10369         * device-msw.c (msprinter_init_device):
10370         * device-msw.c (sync_printer_with_devmode):
10371         * device-msw.c (handle_devmode_changes):
10372         * device-msw.c (print_dialog_worker):
10373         * device-msw.c (Fmsprinter_apply_settings):
10374         * device-msw.c (hash_devmode):
10375         * device-msw.c (Fmsprinter_settings_despecialize):
10376         use Qmswindows_tstr, not Qctext.
10377
10378         * vm-limit.c (check_memory_limits):
10379         avoid infinite loop printing warning messages.
10380
10381 2000-07-05  Craig Lanning  <lanning@scra.org>
10382
10383         * Makefile.in.in: Add support for including the Windows resources
10384         when building with the cygwin and mingw targets.
10385
10386         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
10387         not set or not correct.
10388         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
10389         (init_initial_directory): Don't try to use $PWD on the
10390         WIN32_NATIVE target.
10391
10392         * s\cygwin32.h:
10393         [[Add -mwindows to eliminate console window.]] not required --ben
10394         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10395         (MAIL_USE_POP): removed; now handled by configure.
10396
10397         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
10398         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
10399         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10400         (MAIL_USE_POP): removed; now handled by configure.
10401         (ENCAPSULATE_STAT): from Dan Holmsand, added.
10402         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
10403         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
10404         constant string.
10405         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
10406         up from <winsock.h> via systime.h.
10407         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
10408         (getpagesize): from Dan Holmsand, added.
10409         Added #endif which was left dangling by Ben's mega patch; added
10410         comment to help prevent this in the future.
10411
10412         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
10413
10414 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10415
10416         * console-msw.h (struct mswindows_device): Removed unnecessary
10417         cached device geometry values.
10418         Added update_tick and an accessor macro.
10419         (Lisp_Devmode): Added lrecord declaration.
10420         (struct msprinter_device): Contain devmode as a Lisp object.
10421         Added mswindows_get_selected_frame_hwnd();
10422
10423         * console.h (struct console_methods): Indentation nitpicking.
10424
10425         * device-msw.c (mswindows_init_device): Do not initialize geometry
10426         cache. Initialize update tick.
10427         (mswindows_device_system_metrics): Ask the device for its geometry.
10428         (global_free_2_maybe):
10429         (devmode_to_hglobal):
10430         (handle_printer_changes):
10431         (ensure_not_printing):
10432         (print_dialog_worker):
10433         (Fmsprinter_print_setup_dialog):
10434         (Fmsprinter_print_dialog):
10435         (plist_get_margin):
10436         (plist_set_margin):
10437         (Fmsprinter_page_setup_dialog): Added functions.
10438         (sync_printer_with_devmode):
10439         (handle_devmode_changes):
10440         (Fmsprinter_get_settings):
10441         (Fmsprinter_select_settings):
10442         (Fmsprinter_apply_settings):
10443         (allocate_devmode):
10444         (Fmsprinter_settings_copy):
10445         (Fmsprinter_settings_despecialize):
10446         (print_devmode):
10447         (finalize_devmode):
10448         (equal_devmode):
10449         (hash_devmode): Added functions
10450         (syms_of_device_mswindows): Init devmode lrecord class.
10451
10452         * device.h: Added an exfun for find-device.
10453
10454         * event-msw.c (mswindows_wnd_proc): Do not update the cached
10455         geometry; although, recreate the device compatible DC.
10456
10457         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
10458         (msprinter_init_frame_3):
10459         (msprinter_frame_property):
10460         (msprinter_internal_frame_property_p):
10461         (msprinter_frame_properties):
10462         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
10463         print job properties (will move to device settings).
10464
10465         * lisp.h: Added symbols.
10466
10467         * general.c (syms_of_general): Declared them.
10468
10469         * hash.c (string_hash): Added.
10470
10471         * lrecord.h (lrecord_type): Added devmode lrecord type.
10472
10473 2000-07-02  Mike Sperber <mike@xemacs.org>
10474
10475         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
10476         FreeBSD 4.0.
10477
10478 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
10479
10480         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
10481         integer.
10482
10483 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
10484
10485         * data.c (Fstring_to_number): Don't recognize floating point if
10486         base is not 10.
10487
10488 2000-06-22  Martin Buchholz  <martin@xemacs.org>
10489
10490         * glyphs-widget.c (tab_control_query_geometry):
10491         (widget_query_geometry):
10492         (button_query_geometry):
10493         * glyphs.c (text_query_geometry):
10494         Enforce type correctness.
10495
10496 2000-06-18  Martin Buchholz  <martin@xemacs.org>
10497
10498         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
10499         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
10500
10501 2000-06-17  Martin Buchholz  <martin@xemacs.org>
10502
10503         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
10504         conflicts with gcc's fixincluded version of FOO.h.
10505
10506         * glyphs.h (image_instance_geometry): Remove trailing `,'
10507
10508 2000-06-08  Mike Alexander  <mta@arbortext.com>
10509
10510         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
10511         (shove_thread): Don't write the same output twice
10512         (make_ntpipe_output_stream): Increase priority of shove thread
10513         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
10514         chance to run
10515         (ntpipe_shove_closer): Don't delete the pipe until we're done with
10516         it.
10517
10518 2000-06-12  Ben Wing  <ben@xemacs.org>
10519
10520         * s\mingw32.h (sigset):
10521         * s\windowsnt.h (sigset):
10522         rename msw_ to mswindows_ for consistency with general convention.
10523
10524 2000-06-12  Ben Wing  <ben@xemacs.org>
10525
10526         * console-msw.c:
10527         * console-msw.c (mswindows_get_console_hwnd):
10528         * console-msw.c (mswindows_ensure_console_allocated):
10529         * console-msw.c (mswindows_hide_console):
10530         * console-msw.c (mswindows_show_console):
10531         * console-msw.c (mswindows_ensure_console_buffered):
10532         * console-msw.c (mswindows_output_console_string):
10533         * console-msw.c (mswindows_windows9x_p):
10534         * console-msw.h:
10535         * device-msw.c (mswindows_get_workspace_coords):
10536         * device-msw.c (mswindows_device_system_metrics):
10537         * dialog-msw.c (mswindows_popup_dialog_box):
10538         * event-msw.c (mswindows_wnd_proc):
10539         * frame-msw.c (mswindows_size_frame_internal):
10540         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10541         * menubar-msw.c (displayable_menu_item):
10542         * menubar-msw.c (mswindows_char_is_accelerator):
10543         * nt.c:
10544         * nt.c (mswindows_sigset):
10545         * nt.c (mswindows_sigrelse):
10546         * nt.c (mswindows_sigpause):
10547         * nt.c (mswindows_raise):
10548         * nt.c (timer_proc):
10549         * ntproc.c:
10550         * ntproc.c (find_child_console):
10551         * ntproc.c (sys_kill):
10552         * print.c:
10553         * print.c (std_handle_out_external):
10554         * process-nt.c (find_child_console):
10555         * process-nt.c (send_signal_the_95_way):
10556         * process-nt.c (ensure_console_window_exists):
10557         * process-nt.c (nt_create_process):
10558         * syssignal.h:
10559         rename msw_ to mswindows_ for consistency with general convention.
10560
10561         * emacs.c:
10562         * dumper.c:
10563         include nt.h, not syswindows.h.
10564
10565         * nt.c (mswindows_fstat):
10566         * nt.c (mswindows_stat):
10567         prefix mswindows_ instead of attempting to directly override the
10568         library functions.  fix declarations.
10569
10570         * nt.h:
10571         include syswindows.h.  move some sysdep.h stuff here.
10572
10573         * ntheap.h:
10574         include syswindows.h, not <windows.h>.
10575
10576         * ntplay.c:
10577         clean up headers.
10578
10579         * sysdep.c:
10580         clean up headers.
10581
10582         * sysdep.c (sys_fstat):
10583         * sysdep.c (sys_stat):
10584         call mswindows versions when appropriate.
10585
10586         * sysdep.h:
10587         move mswin decls to nt.h.
10588
10589         * syswindows.h:
10590         add long comment describing appropriate use of the various windows
10591         headers.
10592
10593 2000-06-11  Ben Wing  <ben@xemacs.org>
10594
10595         * device-x.c: Correct doc string for sixth arg of x-get-resource.
10596
10597 2000-06-10  Ben Wing  <ben@xemacs.org>
10598
10599         * Makefile.in.in (release):
10600         Correction to make sure xemacs.exe always dumped when correct.
10601
10602         * alloca.c:
10603         * balloon_help.c:
10604         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
10605
10606         * buffer.c (set_buffer_internal):
10607         [[[[2]]]]: Remove HAVE_FEP code.
10608
10609         * buffer.c (init_initial_directory):
10610         [3].
10611
10612         * bytecode.c:
10613         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
10614         individual files.
10615
10616         * callproc.c:
10617         * callproc.c (call_process_cleanup):
10618         * callproc.c (Fold_call_process_internal):
10619         * callproc.c (child_setup):
10620         * callproc.c (getenv_internal):
10621         * callproc.c (init_callproc):
10622         * callproc.c (vars_of_callproc):
10623         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
10624         __CYGWIN32__ -> CYGWIN.
10625         DOS_NT -> WIN32_NATIVE.
10626         Remove MSDOS support/references, converting to WIN32_NATIVE
10627           where correct.
10628         __MINGW32__ -> MINGW.
10629         Fix windows.h includes.
10630         Remove bogus HAVE_NTGUI.
10631
10632         * config.h.in:
10633         [2].
10634
10635         * console-msw.c:
10636         mswindows_message_outputted added for use in allowing startup
10637         errors on the console to be seen.
10638
10639         * console-msw.c (msw_ensure_console_allocated):
10640         * console-msw.c (msw_output_console_string):
10641         * console-msw.c (DHEADER):
10642         * console-msw.c (DOPAQUE_DATA):
10643         * console-msw.c (DEVENT):
10644         * console-msw.c (DCONS):
10645         * console-msw.c (DCONSCDR):
10646         * console-msw.c (DSTRING):
10647         * console-msw.c (DVECTOR):
10648         * console-msw.c (DSYMBOL):
10649         * console-msw.c (DSYMNAME):
10650         Fix warnings.
10651
10652         * console-stream.c (stream_init_console):
10653         Fix text/binary problems.
10654
10655         * device-msw.c:
10656         * device-msw.c (mswindows_finish_init_device):
10657         * device-msw.c (mswindows_delete_device):
10658         [1].
10659
10660         * device.c (handle_asynch_device_change):
10661         [3].
10662
10663         * dgif_lib.c:
10664         * dgif_lib.c (DGifOpenFileName):
10665         * dgif_lib.c (DGifOpenFileHandle):
10666         * dgif_lib.c (DGifGetLine):
10667         * dgif_lib.c (DGifGetPixel):
10668         Added config.h/lisp.h, fix up includes.
10669         [1].
10670
10671         * dired-msw.c:
10672         [4].
10673
10674         * dired.c:
10675         * dired.c (file_name_completion):
10676         * dired.c (Ffile_attributes):
10677         * dired.c (syms_of_dired):
10678         [1].
10679
10680         * dumper.c:
10681         * dumper.c (pdump_file_unmap):
10682         * dumper.c (pdump_load):
10683         [1].
10684
10685         * editfns.c:
10686         * editfns.c (Ftemp_directory):
10687         * editfns.c (user_login_name):
10688         * editfns.c (Fuser_real_login_name):
10689         * editfns.c (get_home_directory):
10690         [1].
10691
10692         * elhash.c (finish_marking_weak_hash_tables):
10693         [[[[5]]]]: Fix GCC warnings.
10694
10695         * emacs.c:
10696         * emacs.c (mswindows_handle_hardware_exceptions):
10697         * emacs.c (make_arg_list_1):
10698         * emacs.c (main_1):
10699         * emacs.c (Fkill_emacs):
10700         * emacs.c (Fdump_emacs):
10701         [1].
10702         Fix problems with nested crashes, add long comment.
10703
10704         * event-Xt.c (init_event_Xt_late):
10705         [1].
10706
10707         * event-msw.c:
10708         * event-msw.c (mswindows_dde_callback):
10709         * event-msw.c (mswindows_handle_sticky_modifiers):
10710         * event-msw.c (mswindows_wnd_proc):
10711         [1].
10712         [5].
10713
10714         * events.c (character_to_event):
10715         [1].
10716
10717         * fileio.c:
10718         * fileio.c (Ffile_name_directory):
10719         * fileio.c (Ffile_name_nondirectory):
10720         * fileio.c (directory_file_name):
10721         * fileio.c (Fexpand_file_name):
10722         * fileio.c (Fsubstitute_in_file_name):
10723         * fileio.c (Ffile_name_absolute_p):
10724         * fileio.c (check_executable):
10725         * fileio.c (Ffile_readable_p):
10726         * fileio.c (Ffile_accessible_directory_p):
10727         * fileio.c (Ffile_modes):
10728         * fileio.c (Funix_sync):
10729         * fileio.c (vars_of_fileio):
10730         [1]. [4].
10731
10732         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
10733
10734         Expand getdefdir defn.
10735         Fix bogus rename() comment.
10736
10737         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
10738         to use standard XEmacs include files, e.g. sysfile.h, rather
10739         than system-specific includes.
10740
10741         * fns.c:
10742         * fns.c (Fsubseq):
10743         [5]. [6].
10744
10745         * frame.c (vars_of_frame):
10746         [1].
10747
10748         * getloadavg.c:
10749         * getloadavg.c (getloadavg):
10750         [1]. [6].
10751         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
10752         (We don't use it elsewhere in the code; just add a comment.)
10753
10754         * gif_io.c:
10755         [6].
10756         Add config.h.
10757
10758         * glyphs-msw.c:
10759         * glyphs-msw.c (mswindows_resource_instantiate):
10760         [1].
10761
10762         * glyphs-x.c (x_native_layout_instantiate):
10763         [5].
10764
10765         * gui-msw.c (Fmswindows_shell_execute):
10766         [1].
10767
10768         * insdel.c:
10769         [4].
10770
10771         * lisp.h:
10772         [4]. [5].
10773
10774         * lread.c (locate_file_in_directory_mapper):
10775         [1].
10776
10777         * lstream.c:
10778         [4].
10779
10780         * mem-limits.h:
10781         * mem-limits.h (get_lim_data):
10782         [1].
10783
10784         * menubar-msw.c:
10785         [4].
10786
10787         * ndir.h:
10788         [1].
10789
10790         * nt.c:
10791         * nt.c (getwd):
10792         * nt.c (closedir):
10793         * nt.c (rva_to_section):
10794         * nt.c (mswindows_executable_type):
10795         [1]. [6].
10796         Fix closedir() defn.
10797
10798         * nt.h:
10799         [[[[8]]]]: *_OK defs moved to sysfile.h.
10800
10801         * ntproc.c:
10802         [6]. [7].
10803
10804         * objects-x.c:
10805         [4].
10806
10807         * print.c:
10808         * print.c (std_handle_out_external):
10809         [1]. [4].
10810
10811         * process-nt.c:
10812         * process-nt.c (nt_create_process):
10813         [6].
10814         try to fix process quoting somewhat.
10815
10816         * process-unix.c (unix_create_process):
10817         [1].
10818
10819         * process.c:
10820         * process.c (vars_of_process):
10821         Add Vnull_device.
10822
10823         * process.h:
10824         [1].
10825
10826         * realpath.c:
10827         * realpath.c (xrealpath):
10828         [1].
10829
10830         * redisplay-tty.c (init_tty_for_redisplay):
10831         [3].
10832
10833         * redisplay.c:
10834         [4]. [6].
10835
10836         * scrollbar-msw.c:
10837         [4].
10838
10839         * sheap.c:
10840         * sheap.c (more_static_core):
10841         * sheap.c (report_sheap_usage):
10842         [5]. [6].
10843
10844         * signal.c:
10845         * signal.c (alarm_signal):
10846         [1]. [6].
10847
10848         * sound.c:
10849         [6].
10850
10851         * strftime.c:
10852         * strftime.c (zone_name):
10853         [1]. [5].
10854
10855         * symsinit.h (init_sunpro):
10856         [1].
10857
10858         * syscommctrl.h:
10859         commctrl.h not in Cygwin b20.1.
10860
10861         * sysdep.c:
10862         * sysdep.c (endif):
10863         * sysdep.c (sys_subshell):
10864         * sysdep.c (init_baud_rate):
10865         * sysdep.c (emacs_get_tty):
10866         * sysdep.c (emacs_set_tty):
10867         * sysdep.c (tty_init_sys_modes_on_device):
10868         * sysdep.c (init_system_name):
10869         * sysdep.c (sys_open):
10870         * sysdep.c (interruptible_open):
10871         * sysdep.c (sys_fopen):
10872         * sysdep.c (sys_mkdir):
10873         * sysdep.c (sys_rename):
10874         * sysdep.c (get_process_times_1):
10875         [1]. [6].
10876
10877         * sysdep.h:
10878         [1].
10879
10880         * sysdir.h:
10881         * sysdir.h (DIRENTRY_NONEMPTY):
10882         [1]. [6].
10883
10884         * sysdll.c (dll_init):
10885         * sysdll.h:
10886         [1].
10887
10888         * sysfile.h:
10889         [1]. [6]. [8].
10890         added text/binary defs.
10891
10892         * sysfloat.h:
10893         [1].
10894
10895         * sysproc.h:
10896         * sysproc.h (EDESTADDRREQ):
10897         * sysproc.h (poll_fds_for_input):
10898         [1]. [6].
10899
10900         * syspwd.h:
10901         [6].
10902
10903         * syssignal.h:
10904         [1].
10905
10906         * systime.h:
10907         [1]. [6].
10908
10909         * systty.h:
10910         [1].
10911
10912         * syswindows.h:
10913         [1].
10914         Always define WIN32_LEAN_AND_MEAN.
10915
10916         * unexcw.c (unexec):
10917         [5].
10918
10919         * unexec.c:
10920         * unexec.c (copy_text_and_data):
10921         * unexec.c (adjust_lnnoptrs):
10922         [1].
10923
10924         * unexnt.c:
10925         * unexnt.c (_start):
10926         [1].
10927
10928 2000-06-07  Ben Wing  <ben@xemacs.org>
10929
10930         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
10931         was used only as a model.  We've long since extracted any useful
10932         logic or code out of this. (I just did an exhaustive search.)
10933
10934         * s\msdos.h: Removed.
10935
10936         * s\windows95.h: Removed.
10937
10938 2000-06-10  Ben Wing  <ben@xemacs.org>
10939
10940         * s\cygwin32.h:
10941         [1]. [5].
10942         Don't use extern with fun defs.
10943
10944         * s\mingw32.h:
10945         [1]. [7].
10946         Remove nt\inc include.
10947         Remove getdisk, getdefdir. (The former is unused, the latter
10948         expanded in fileio.h.)
10949
10950         * s\windowsnt.h:
10951         * s\windowsnt.h (WIN32_NATIVE):
10952         * s\windowsnt.h (HAVE_STRCASECMP):
10953         [1]. [7].
10954         Add long comment about preprocessor changes.
10955         Remove getdisk, getdefdir. (The former is unused, the latter
10956         expanded in fileio.h.)
10957
10958 2000-06-10  Ben Wing  <ben@xemacs.org>
10959
10960         * m\arm.h:
10961         * m\delta.h:
10962         * m\intel386.h:
10963         * m\sequent.h:
10964         * m\template.h:
10965         * m\windowsnt.h:
10966         [1].
10967         Remove bogus/unused NO_SOCK_SIGIO.
10968
10969 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
10970
10971         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
10972         not an Emchar.
10973
10974 2000-06-04  Mike Sperber <mike@xemacs.org>
10975
10976         * casetab.c (set_case_table): For `set-standard-case-table',
10977         actually deposit the new case tables where the rest of XEmacs can
10978         see them.
10979
10980 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
10981
10982         * data.c (Faset): Don't cast XCHAR() to unsigned char.
10983
10984 2000-06-05  Ben Wing  <ben@xemacs.org>
10985
10986         * callproc.c (child_setup): Don't do close_load_descs() under
10987         MS Windows.  Put in a comment explaining why.
10988
10989 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
10990
10991         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
10992         Toolkit shell" which breaks `kill-compilation' on Windows NT
10993         native, retaining STDERR handling improvements.
10994
10995 2000-06-01  Andreas Jaeger  <aj@suse.de>
10996
10997         * s/s390.h: Support for S390, based on a patch by Martin
10998         Schwidefsky <schwidefsky@de.ibm.com>.
10999
11000 2000-05-30  Andy Piper  <andy@xemacs.org>
11001
11002         * window.c (allocate_window):
11003         (make_dummy_parent):
11004         (Fset_window_configuration): use new hashtable type.
11005
11006         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11007         (struct image_instantiator_methods):
11008         (struct Lisp_Image_Instance): make instance geometry signed.
11009
11010         * glyphs.c (instantiate_image_instantiator):
11011         (image_instance_query_geometry):
11012         (image_instance_layout):
11013         (image_instance_layout):
11014         (query_string_geometry):
11015         (text_query_geometry):
11016         (image_instantiate):
11017         (image_instantiate):
11018         (cache_subwindow_instance_in_frame_maybe):
11019         (subwindow_query_geometry): make instance geometry signed.
11020
11021         * glyphs-widget.c (widget_query_geometry):
11022         (widget_layout):
11023         (button_query_geometry):
11024         (tree_view_query_geometry):
11025         (tab_control_query_geometry):
11026         (layout_query_geometry):
11027         (layout_layout):
11028         (native_layout_layout): make instance geometry signed.
11029
11030 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11031
11032         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11033         constant.
11034
11035         * general.c (syms_of_general): Add Qfull_assoc symbol.
11036
11037         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11038         correctly.
11039         (decode_weak_list_type): Decode full-assoc type.
11040         (encode_weak_list_type): Encode full-assoc type.
11041         (Fmake_weak_list): Update doc string.
11042
11043 2000-05-30  Andy Piper  <andy@xemacs.org>
11044
11045         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11046
11047         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11048         (decode_hash_table_weakness): ditto.
11049         (Fhash_table_weakness): ditto.
11050         (Fhash_table_type): ditto.
11051         (finish_marking_weak_hash_tables): ditto.
11052         (hash_table_weakness_validate): ditto.
11053         (syms_of_elhash): ditto.
11054
11055 2000-05-28  Martin Buchholz <martin@xemacs.org>
11056
11057         * XEmacs 21.2.34 is released.
11058
11059 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11060
11061         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11062         start cache.
11063         (updating_line_start_cache): Gone.
11064         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11065         generic code to force a minimum of 1 line laid out in the
11066         CMOTION_DISP case.
11067
11068 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11069
11070         * glyphs.c (instantiate_image_instantiator): Check for initialized
11071         height & width no longer special cases IMAGE_NOTHING.
11072         (nothing_instantiate): Set height and width of instance.
11073
11074 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11075
11076         * unexelf.c (unexec): Search for ".data" section.
11077         Initialize new_data2_offset from old_data_index.
11078         Remove redundant check for ElfW.
11079
11080 2000-05-23  Andy Piper  <andy@xemacs.org>
11081
11082         * glyphs.c (get_image_instantiator_governing_domain): allow more
11083         specific domains as the governing domain rather than expecting an
11084         exact match. This fixes problems with layouts.
11085
11086 2000-05-22  Andy Piper  <andy@xemacs.org>
11087
11088         * redisplay-output.c (compare_runes): check for non-images
11089
11090         * glyphs.c (set_glyph_dirty_p): ditto.
11091         (update_glyph_cachel_data): ditto.
11092
11093         * glyphs-widget.c (layout_post_instantiate): ditto.
11094         (layout_post_instantiate): ditto.
11095
11096         * event-msw.c (mswindows_wnd_proc): warning removal.
11097
11098 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
11099
11100         * s\mingw32.h: Added #undef for CLASH_DETECTION.
11101
11102         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
11103
11104         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
11105
11106         * nt.c (rva_to_section): mingw32 needs rva_to_section.
11107         (mswindows_executable_type): mingw32 now has enough headers for
11108         this to work.
11109
11110 2000-05-20  Andy Piper  <andy@xemacs.org>
11111
11112         * console-msw.c (mswindows_output_last_error): ; -> ,
11113
11114 2000-05-12  Andy Piper  <andy@xemacs.org>
11115
11116         * console-msw.c (FROB): compare ints with ints.
11117
11118 2000-05-11  Andy Piper  <andy@xemacs.org>
11119
11120         * glyphs-x.c (x_finalize_image_instance): make minimal build
11121         happy.
11122
11123 2000-05-20  Ben Wing  <ben@xemacs.org>
11124
11125         * event-Xt.c:
11126         * event-Xt.c (vars_of_event_Xt):
11127         move modifier-keys-are-sticky to event-stream.c.
11128
11129         * event-msw.c:
11130         * event-msw.c (mswindows_enqueue_mouse_button_event):
11131         * event-msw.c (key_needs_default_processing_p):
11132         * event-msw.c (XEMSW_LCONTROL):
11133         * event-msw.c (mswindows_handle_sticky_modifiers):
11134         * event-msw.c (FROB):
11135         * event-msw.c (clear_sticky_modifiers):
11136         * event-msw.c (output_modifier_keyboard_state):
11137         * event-msw.c (output_alt_keyboard_state):
11138         * event-msw.c (mswindows_wnd_proc):
11139         * event-msw.c (mswindows_modifier_state):
11140         * event-msw.c (emacs_mswindows_handle_magic_event):
11141         implement sticky modifiers.
11142
11143         * event-stream.c:
11144         * event-stream.c (vars_of_event_stream):
11145         move modifier-keys-are-sticky here.
11146
11147         * lisp.h:
11148         add CHECK_FUNCTION.
11149
11150         * rangetab.c:
11151         implement map-range-table.
11152
11153
11154 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
11155
11156         * redisplay-tty.c (reset_tty_modes):
11157         (tty_redisplay_shutdown): Adjust argument type to
11158         tty_frame_output_end.
11159
11160 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11161
11162         * eval.c (Fbacktrace): Don't output a line with only right
11163         parenthesis.
11164
11165 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
11166
11167         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
11168         (Fpq_reset_poll): Ditto.
11169
11170 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
11171
11172         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
11173
11174 2000-05-16  Ben Wing  <ben@xemacs.org>
11175
11176         * buffer.c:
11177         * buffer.c (dfc_convert_to/from_internal_format):
11178         * buffer.c (reinit_vars_of_buffer):
11179         Fix conversion functions to allow reentrancy.
11180
11181         * console-msw.c:
11182         * console-msw.c (mswindows_output_last_error):
11183         New fun, generally useful -- output a human-readable
11184         version of GetLastError() on the console.
11185
11186         * console-msw.h:
11187         * console-msw.h (struct mswindows_frame):
11188         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
11189
11190         * console-stream.c (stream_output_begin):
11191         * console-stream.c (stream_output_end):
11192         * console-stream.c (stream_output_vertical_divider):
11193         * console-stream.c (stream_clear_region):
11194         * console-stream.c (stream_flash):
11195         * console-stream.c (console_type_create_stream):
11196         Delete blank stream methods, not needed.
11197
11198         * console.h (struct console_methods):
11199         Split begin/end methods into window and frame.
11200
11201         * event-msw.c:
11202         * event-msw.c (mswindows_handle_paint):
11203         * event-msw.c (output_alt_keyboard_state):
11204         * event-msw.c (mswindows_wnd_proc):
11205         * event-msw.c (vars_of_event_mswindows):
11206         Comment about problems with ignored-expose.
11207         Define mswindows-debug-events; not really implemented.
11208
11209         * frame-msw.c (mswindows_init_frame_1):
11210         random cleanups.
11211
11212         * glyphs-msw.c:
11213         * glyphs-msw.c (begin_defer_window_pos):
11214         * glyphs-msw.c (mswindows_unmap_subwindow):
11215         * glyphs-msw.c (mswindows_map_subwindow):
11216         * glyphs-msw.c (mswindows_resize_subwindow):
11217         Use DeferWindowPos to reduce flashing when mapping/unmapping.
11218
11219         * glyphs.c (make_image_instance_1):
11220         Fix crash.
11221
11222         * gutter.c (Fredisplay_gutter_area):
11223         Use new begin/end methods.
11224
11225         * lisp.h (Dynarr_new2):
11226         New creation fun.
11227
11228         * redisplay-msw.c:
11229         * redisplay-msw.c (mswindows_frame_output_begin):
11230         * redisplay-msw.c (mswindows_frame_output_end):
11231         * redisplay-msw.c (console_type_create_redisplay_mswindows):
11232         New begin/end methods -- handle DeferWindowPos.
11233
11234         * redisplay-output.c (redisplay_move_cursor):
11235         * redisplay-output.c (redraw_cursor_in_window):
11236         * redisplay-output.c (redisplay_update_line):
11237         * redisplay-output.c (redisplay_output_window):
11238         New begin/end methods.
11239
11240         * redisplay-tty.c:
11241         * redisplay-tty.c (tty_frame_output_begin):
11242         * redisplay-tty.c (tty_frame_output_end):
11243         * redisplay-tty.c (console_type_create_redisplay_tty):
11244         New begin/end methods.
11245
11246         * redisplay-x.c:
11247         * redisplay-x.c (x_window_output_begin):
11248         * redisplay-x.c (x_window_output_end):
11249         * redisplay-x.c (console_type_create_redisplay_x):
11250         New begin/end methods.
11251
11252         * redisplay.c (redisplay_frame):
11253         * redisplay.c (Fredisplay_echo_area):
11254         New begin/end methods.
11255         use MAYBE_DEVMETH for clear_frame; it may not exist.
11256
11257         * window.h (WINDOW_XFRAME):
11258         WINDOW_XFOO macros -- get locale and decode struct pointer.
11259
11260
11261 2000-05-12  Ben Wing  <ben@xemacs.org>
11262
11263         * emacs.c:
11264         * emacs.c (ensure_no_quitting_from_now_on):
11265         * emacs.c (fatal_error_signal):
11266         * emacs.c (mswindows_handle_hardware_exceptions):
11267         * emacs.c (main):
11268         * emacs.c (Fkill_emacs):
11269         * emacs.c (shut_down_emacs):
11270         * emacs.c (assert_failed):
11271         various improvements in fatal error handling.
11272
11273         * eval.c:
11274         move preparing_for_armageddon to emacs.c.
11275
11276         * lisp.h:
11277         declare fatal_error_in_progress.
11278
11279         * print.c:
11280         * print.c (std_handle_out_external):
11281         * print.c (std_handle_out_va):
11282         * print.c (stderr_out):
11283         * print.c (stdout_out):
11284         use console under mswin when no standard output.
11285         don't do code conversion during fatal error.
11286
11287         * scrollbar.c (Fscrollbar_page_up):
11288         * scrollbar.c (Fscrollbar_page_down):
11289         fix missing else.  reindent.
11290
11291 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
11292
11293         Emergency fix.
11294
11295         * glyphs.h (GLYPH_CACHEL_DESCENT):
11296         (GLYPH_CACHEL_DESCENT):
11297         (GLYPH_CACHEL_DESCENT):
11298         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
11299         used in case these are inline functions.
11300         Use more absurd values to error check.
11301
11302         include window.h for error check functions.
11303
11304 2000-05-11  Ben Wing  <ben@xemacs.org>
11305
11306         * cmdloop.c (Freally_early_error_handler):
11307         Display message box under windows; otherwise, message will disappear
11308         before it can be viewed.
11309
11310         * console-msw.c:
11311         * console-msw.c (Fmswindows_message_box):
11312         * console-msw.c (FROB):
11313         * console-msw.c (syms_of_console_mswindows):
11314         Define new fun `mswindows-message-box'.
11315         #### I will merge this into `popup-dialog-box'; just give me
11316         a bit of time.
11317
11318         * general.c:
11319         * general.c (syms_of_general):
11320         Some new symbols used in `mswindows-message-box'.
11321
11322         * glyphs.c:
11323         * glyphs.c (Fset_image_instance_property):
11324         put warning in this fun.
11325
11326         * glyphs.h:
11327         * glyphs.h (GLYPH_CACHEL_WIDTH):
11328         * glyphs.h (GLYPH_CACHEL_ASCENT):
11329         * glyphs.h (GLYPH_CACHEL):
11330         * glyphs.h (GLYPH_CACHEL_GLYPH):
11331         define error-checking versions to try to catch a bug i've seen --
11332         redisplay gets in an infinite loop because the glyph width of the
11333         continuation glyph is 65535.
11334
11335         * lisp.h:
11336         Extern message-box stuff.
11337
11338         * window.c (allocate_window):
11339         * window.c (make_dummy_parent):
11340         * window.c (Fset_window_configuration):
11341         Use EQUAL not EQ for subwindow caches to make them work a bit
11342         better. (Something is still very broken.)
11343
11344
11345 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11346
11347         * glyphs.c (image_instantiate): Suppress gcc warnings.
11348         (Fmake_image_instance): Fix doc string.
11349         * specifier.c (Fmake_specifier): Ditto.
11350
11351 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
11352
11353         * paths.h.in (PATH_LOCK): Removed.
11354         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
11355         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
11356
11357 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
11358
11359         * fns.c (Ffeaturep): Update e-mail address in doc-string.
11360         Document (featurep '(and xemacs 21.02)).
11361
11362 2000-05-09  Ben Wing  <ben@xemacs.org>
11363
11364         * buffer.c (complex_vars_of_buffer):
11365         update modeline-format doc.
11366
11367         * device.h:
11368         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
11369
11370         * emacs.c:
11371         timeline of all released versions of Emacs, for use in creating
11372         authorship comments and in synching up.
11373
11374         * glyphs-widget.c (image_instantiator_buttons):
11375         * glyphs-widget.c (image_instantiator_edit_fields):
11376         * glyphs-widget.c (image_instantiator_combo_box):
11377         * glyphs-widget.c (image_instantiator_scrollbar):
11378         * glyphs-widget.c (image_instantiator_progress_guage):
11379         * glyphs-widget.c (image_instantiator_tree_view):
11380         * glyphs-widget.c (image_instantiator_tab_control):
11381         * glyphs-widget.c (image_instantiator_labels):
11382         * glyphs-widget.c (image_instantiator_layout):
11383         * glyphs-widget.c (image_instantiator_native_layout):
11384         rename decode_domain method to governing_domain.
11385
11386         * glyphs.c:
11387         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
11388         * glyphs.c (add_entry_to_device_ii_format_list):
11389         make sure we don't put an entry more than once into the list.
11390         * glyphs.c (check_instance_cache_mapper):
11391         *************************************************************
11392         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11393         HAVE BEEN GETTING.
11394         *************************************************************
11395         * glyphs.c (get_image_instantiator_governing_domain):
11396         clean up, expand on new concept of governing domain.
11397         * glyphs.c (instantiate_image_instantiator):
11398         * glyphs.c (allocate_image_instance):
11399         use governing_domain instead of cache_domain in naming.
11400         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
11401         * glyphs.c (make_image_instance_1):
11402         * glyphs.c (Fmake_image_instance):
11403         allow for any domain (not just device), and process the
11404         governing domain correctly.  very big doc fix.
11405         * glyphs.c (Fimage_instance_domain):
11406         new primitive, to retrieve the governing domain of an image instance.
11407         * glyphs.c (image_instantiate):
11408         use new governing_domain stuff.  this fixes a crash you could get
11409         by instantiating certain widget glyphs in frame locales. (should
11410         signal an error instead of crashing.)
11411         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
11412         * glyphs.c (Fglyphp): clean up doc.
11413         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
11414         * glyphs.c (syms_of_glyphs):
11415         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
11416         * glyphs.c (image_instantiator_format_create): add some comments about
11417         bogus code.
11418         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
11419         for current-display-table. (Apparently Hrjove implemented in 1998 a
11420         design I wrote up in 1996, but didn't update the doc string.)
11421
11422         * glyphs.h: clean up a doc string.
11423         * glyphs.h (governing_domain):
11424         * glyphs.h (struct image_instantiator_methods):
11425         changes for governing_domain stuff.
11426
11427         * gutter.c:
11428         * gutter.c (Fgutter_specifier_p):
11429         * gutter.c (Fgutter_size_specifier_p):
11430         * gutter.c (Fgutter_visible_specifier_p):
11431         * objects.c:
11432         * objects.c (Fcolor_specifier_p):
11433         * objects.c (Ffont_specifier_p):
11434         * objects.c (Fface_boolean_specifier_p):
11435         doc strings moved to make-*-specifier.
11436
11437         * redisplay.c (add_disp_table_entry_runes_1):
11438         * redisplay.c (generate_fstring_runes):
11439         * redisplay.c (screen):
11440         add random comments and doc strings.
11441
11442         * specifier.c:
11443         * specifier.c (Fmake_specifier):
11444         major overhaul of this doc string.
11445
11446         * specifier.c (Fvalid_specifier_domain_p):
11447         comment about the bogosity of image instances being domains.
11448         * specifier.c (decode_domain):
11449         now non-static, used in glyphs.c.
11450         * specifier.c (specifier_instance):
11451         comment about the bogosity of image instances being domains.
11452         * specifier.c (Fgeneric_specifier_p):
11453         move doc string to make-generic-specifier.
11454         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
11455         rebackslashify.
11456
11457         * specifier.h:
11458         * specifier.h (DOMAIN_FRAME):
11459         * specifier.h (DOMAIN_LIVE_P):
11460         * specifier.h (DOMAIN_XDEVICE):
11461         rebackslashify.
11462         add comments about problems with these macros.
11463         prototype for decode_domain.
11464
11465         * toolbar.c:
11466         * toolbar.c (Ftoolbar_specifier_p):
11467         move doc string to `make-toolbar-specifier'.
11468
11469         * window.c (window_unmap_subwindows_cache_mapper):
11470         *************************************************************
11471         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11472         HAVE BEEN GETTING.
11473         *************************************************************
11474
11475 2000-05-09  Andy Piper  <andy@xemacs.org>
11476
11477         * glyphs.h: declare reset_frame_subwindow_instance_cache.
11478
11479         * window.c (Fset_window_configuration): reset the frame subwindow
11480         cache and re-initialize the window subwindow caches.
11481
11482         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
11483
11484 2000-05-09  Ben Wing  <ben@xemacs.org>
11485
11486         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
11487         DWORD.
11488
11489 2000-04-26  Mike Woolley  <mike@bulsara.com>
11490
11491         * ntheap.c: Changed recreate_heap to limit the amount reserved
11492         for the heap to that which is actually available. Also now
11493         displays a message box (with some dignostics) in the event that
11494         it still can't start.
11495
11496 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11497
11498         * callproc.c (Fold_call_process_internal): GCPRO path
11499
11500 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
11501
11502         Patch by Bill Perry.
11503
11504         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
11505         back data instead of #ifdef.
11506         (Fscrollbar_page_down): ditto.
11507
11508 2000-05-07  Ben Wing  <ben@xemacs.org>
11509
11510         * buffer.h:
11511         Kludge for defining Qmswindows_tstr.
11512
11513         * nt.c:
11514         * nt.c (open_input_file):
11515         * nt.c (open_output_file):
11516         * nt.c (rva_to_section):
11517         * nt.c (mswindows_executable_type):
11518         Move all memory-mapped-file routines here (some were in unexnt.c,
11519         which is bad because they are used by process-nt.c, and unexnt
11520         won't be around when portable dumping).  Synched the above routines
11521         with FSF 20.6.
11522
11523         * nt.h:
11524         Removed ifdef'd out bogus code.
11525         Fixed some prototypes.
11526
11527         * nt.h (file_data):
11528         * nt.h (OFFSET_TO_RVA):
11529         * nt.h (RVA_TO_OFFSET):
11530         * nt.h (RVA_TO_PTR):
11531         Moved the memory-mapped-file structures, macros and prototypes
11532         here, to parallel nt.c.  ntheap.h should really be removed
11533         entirely, and it's a non-portable-dumper specific file.
11534
11535         * ntheap.h (round_to_next):
11536         Moved the memory-mapped-file structures, macros and prototypes
11537         to nt.h.
11538
11539         * ntproc.c (compare_env):
11540         Moved rva_to_section and mswindows_executable_type to nt.c.
11541         Moved compare_env to process-nt.c.
11542         ntproc.c will die, one day.
11543
11544         * ntproc.c (sys_spawnve):
11545         Account for win32_ -> mswindows_.
11546
11547         * process-nt.c:
11548         * process-nt.c (struct nt_process_data):
11549         * process-nt.c (ensure_console_window_exists):
11550         * process-nt.c (compare_env):
11551         * process-nt.c (nt_create_process):
11552         * process-nt.c (nt_kill_process_by_pid):
11553         * process-nt.c (syms_of_process_nt):
11554         * process-nt.c (vars_of_process_nt):
11555         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
11556         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
11557         changes).  Eliminate our old `nt-quote-process-args' mechanism.
11558         Synch up nt_create_process with FSF 20.6 sys_spawnve.
11559         Move compare_env here from ntproc.c.
11560
11561         * process.c (Fprocess_send_region):
11562         Takes an optional fourth argument, BUFFER, which should fix some
11563         problems with call-process.
11564
11565         * syscommctrl.h:
11566         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
11567
11568         * syswindows.h:
11569         Move ICC_BAR_CLASSES to syscommctrl.h.
11570         Add preliminary macros for MSWindows/Mule.  More to come.
11571
11572         * unexnt.c:
11573         * unexnt.c (unexec):
11574         open_output_file moved to nt.c.
11575
11576
11577 2000-05-05  Andy Piper  <andy@xemacs.org>
11578
11579         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
11580         instance from the frame cache also since GC may catch up too late
11581         to make frame deletion sane.
11582
11583 2000-05-04  Andy Piper  <andy@xemacs.org>
11584
11585         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
11586         (x_finalize_image_instance): ungcpro on deletion.
11587
11588         * glyphs.c (image_instantiator_format_create): give pointers a
11589         query geometry method so that the geometry is at least set.
11590
11591         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
11592         initialize layouts if using widgets.
11593
11594 2000-05-03  Andy Piper  <andy@xemacs.org>
11595
11596         * nt.c: remove bogus reference to sysmmsystem.h
11597
11598         * gui-x.c (popup_selection_callback): fix no selection abort.
11599
11600 2000-05-02  Andy Piper  <andy@xemacs.org>
11601
11602         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
11603         (mswindows_widget_instantiate): ditto.
11604
11605         * glyphs-widget.c (initialize_widget_image_instance): initialize
11606         children correctly.
11607         (widget_instantiate): cope with children and items in the same
11608         instance.
11609
11610         * glyphs.c (mark_image_instance): cope with children as a first
11611         class member.
11612         (image_instance_equal): ditto.
11613         (image_instance_hash): ditto.
11614         (image_instance_changed): ditto.
11615
11616 2000-04-30  Andy Piper  <andy@xemacs.org>
11617
11618         * glyphs.c (subwindow_query_geometry): new function. Return some
11619         defaults.
11620         (subwindow_instantiate): don't assign dimensions if none have been
11621         given.
11622         (image_instantiator_format_create): add subwindow_query_geometry.
11623         (print_image_instance): cope with layouts as widgets.
11624
11625 2000-04-29  Andy Piper  <andy@xemacs.org>
11626
11627         * frame.c (delete_frame_internal): call
11628         free_frame_subwindow_instance_cache so that all subwindows are
11629         finalized before their parent.
11630         (mark_frame): remove subwindow_cachels.
11631         (Fmake_frame): remove subwindow_cachel manipulation.
11632         (allocate_frame_core): subwindow_instance_cache is a weak list.
11633         (delete_frame_internal): set subwindow_instance_cache to nil.
11634
11635         * glyphs-msw.c (mswindows_finalize_image_instance): make double
11636         finalization safe.
11637         (mswindows_finalize_image_instance): use the device
11638         not the domain as the domain may have died already.
11639
11640         * glyphs-x.c (x_finalize_image_instance): ditto.
11641         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
11642         HEIGHT.
11643
11644         * redisplay-output.c (redisplay_unmap_subwindows): update for
11645         subwindow instance cache as a weak list.
11646         (redisplay_unmap_subwindows_maybe): ditto.
11647         (redisplay_unmap_subwindows_except_us): ditto.
11648
11649         * glyphs.c (unmap_subwindow): error checking will check the domain
11650         so don't deal with it here. Don't use cachels anymore.
11651         (map_subwindow): ditto.
11652         (update_subwindow_cachel_data): remove old accessor names.
11653         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
11654         (Fresize_subwindow): don't update cachel.
11655         (mark_subwindow_cachels):
11656         (update_subwindow_cachel_data):
11657         (add_subwindow_cachel):
11658         (get_subwindow_cachel_index):
11659         (update_subwindow_cachel):
11660         (reset_subwindow_cachels):
11661         (mark_subwindow_cachels_as_not_updated): deleted.
11662         (cache_subwindow_instance_in_frame_maybe): new function. Add a
11663         subwindow instance to the frame cache.
11664         (find_matching_subwindow): update for subwindow instance cache as
11665         a weak list.
11666         (update_widget_instances): ditto.
11667         (image_instance_type_to_mask):inlined.
11668         (free_frame_subwindow_instance_cache): new function. finalize all
11669         subwindows that are instantiated.
11670
11671         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
11672         of cachel information.
11673         (IMAGE_INSTANCE_DISPLAY_X):
11674         (IMAGE_INSTANCE_DISPLAY_Y):
11675         (IMAGE_INSTANCE_DISPLAY_WIDTH):
11676         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
11677         (XIMAGE_INSTANCE_DISPLAY_X):
11678         (XIMAGE_INSTANCE_DISPLAY_Y):
11679         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
11680         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
11681         remove subwindow_cachel structure and function references.
11682         (image_instance_type_to_mask): inline from glyphs.c
11683
11684         * redisplay.c (redisplay_frame): remove subwindow_cachel
11685         references.
11686
11687         * frame.h (struct frame): remove subwindow_cachels.
11688         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
11689
11690         * frameslots.h: add subwindow_instance_cache.
11691
11692         * window.c (replace_window): check subwindow cache of replacement.
11693         (window_unmap_subwindows_cache_mapper):
11694         (window_unmap_subwindows): new functions. Unmap all subwindows
11695         cached on this window.
11696         (mark_window_as_deleted): unmap all subwindows.
11697
11698 2000-04-27  Andy Piper  <andy@xemacs.org>
11699
11700         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
11701
11702         * glyphs-widget.c (widget_layout): return something.
11703         (layout_layout): return something. Fail if not initialized.
11704         (layout_query_geometry): ditto.
11705         (image_instantiator_native_layout): new function. Initialized the
11706         native layout type.
11707         (widget_instantiate): don't do layout stuff here.
11708
11709         * glyphs.c (instantiate_image_instantiator): reorded calling or
11710         instantiate and post_instantiate with layout in between.
11711         (image_instance_layout): be more selective about deciding whether
11712         the layout has been done or not.
11713
11714         * glyphs.h (struct image_instantiator_methods): return a value
11715         from layout_method.
11716
11717 2000-04-26  Andy Piper  <andy@xemacs.org>
11718
11719         * glyphs.c (allocate_image_instance): make initial width and
11720         height unspecified. Set initialized to 0.
11721
11722         * syscommctrl.h new file. Encapsulates commctrl.h.
11723
11724         * syswindows.h new file. Encapsulates windows.h.
11725
11726         * ntplay.c: use new syswindows.h and syscommctrl.h header.
11727         * nt.c: ditto.
11728         * console-msw.h: ditto.
11729
11730         * redisplay-tty.c (tty_output_display_block): remove layout references.
11731
11732         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
11733         window handle rather than just the frame.
11734
11735         * glyphs.c (mark_image_instance): remove layout references.
11736         (print_image_instance): ditto.
11737         (image_instance_equal): ditto.
11738         (image_instance_hash): ditto.
11739         (decode_image_instance_type): ditto.
11740         (encode_image_instance_type): ditto.
11741         (image_instantiate): ditto.
11742         (allocate_glyph): ditto.
11743         (Fimage_instance_height): ditto.
11744         (Fimage_instance_width): ditto.
11745         (update_subwindow): ditto.
11746
11747         * redisplay-x.c (x_output_display_block): recode for layouts as
11748         widgets.
11749
11750         * redisplay-output.c (redisplay_output_layout): recode for layouts
11751         as widgets.
11752         (compare_runes): remove layout references.
11753
11754         * redisplay-msw.c (mswindows_output_display_block): recode for
11755         layouts as widgets.
11756
11757         * glyphs-widget.c (image_instantiator_layout): remove
11758         layout_possible_dest_types.
11759         (layout_possible_dest_types): deleted.
11760
11761         * glyphs.h (image_instance_type): remove layout references.
11762         (struct Lisp_Image_Instance): ditto. Add initialized flag.
11763         (IMAGE_INSTANCE_INITIALIZED): new accessor.
11764         (XIMAGE_INSTANCE_INITIALIZED): ditto.
11765
11766 2000-04-25  Andy Piper  <andy@xemacs.org>
11767
11768         * glyphs-widget.c (image_instantiator_buttons):
11769         (image_instantiator_edit_fields):
11770         (image_instantiator_combo_box):
11771         (image_instantiator_scrollbar):
11772         (image_instantiator_progress_guage):
11773         (image_instantiator_tree_view):
11774         (image_instantiator_tab_control):
11775         (image_instantiator_labels):
11776         (image_instantiator_layout): call default post_instantiate method.
11777         (widget_post_instantiate): new function. Simply lays out the
11778         widgets.
11779
11780         * glyphs.h (struct image_instantiator_methods): add
11781         post_instantiate method.
11782
11783         * glyphs.c (instantiate_image_instantiator): add post_instantiate
11784         method calls.
11785
11786 2000-04-23  Andy Piper  <andy@xemacs.org>
11787
11788         * glyphs.h (struct image_instantiator_methods): add
11789         decode_domain_method.
11790         (struct Lisp_Image_Instance): remove subwindow frame - it can be
11791         derived from the domain.
11792         (IMAGE_INSTANCE_FRAME): new accessor.
11793         (XIMAGE_INSTANCE_FRAME): ditto.
11794
11795         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
11796         instead of _SUBWINDOW_FRAME.
11797         (finalize_image_instance): ditto.
11798         (Fimage_instance_foreground): ditto.
11799         (Fimage_instance_background): ditto.
11800         (image_instantiate): ditto.
11801         (update_subwindow_cachel): ditto.
11802         (update_subwindow): ditto.
11803         (unmap_subwindow): ditto.
11804         (map_subwindow): ditto
11805         (subwindow_instantiate): ditto.
11806         * glyphs-msw.c (mswindows_update_widget): ditto.
11807         (mswindows_progress_gauge_instantiate): ditto.
11808         (mswindows_tab_control_update): ditto.
11809         * glyphs-x.c (x_update_widget): ditto.
11810         (x_widget_instantiate): ditto.
11811         (x_tab_control_instantiate): ditto.
11812         (x_tab_control_update): ditto.
11813         * event-msw.c (mswindows_wnd_proc): ditto
11814
11815         * glyphs-widget.c (image_instantiator_layout): use
11816         subwindow_decode_domain.
11817         (image_instantiator_buttons): ditto.
11818         (image_instantiator_edit_fields): ditto.
11819         (image_instantiator_combo_box): ditto.
11820         (image_instantiator_scrollbar): ditto.
11821         (image_instantiator_progress_guage): ditto.
11822         (image_instantiator_tree_view): ditto.
11823         (image_instantiator_tab_control): ditto.
11824         (image_instantiator_labels): ditto.
11825         (image_instantiator_layout): ditto.
11826
11827         * glyphs.c: add instance error checking to many functions.
11828         (instantiate_image_instantiator): decode device from cache_domain.
11829         (image_instantiate): partially rewrite by using
11830         decode_image_instantiator_domain to determine what domain the
11831         instance needs to be cached in.
11832         (decode_image_instantiator_domain): new function. Determine what
11833         domain the image needs to be cached in.
11834         (check_window_subwindow_cache): new error checking function.
11835         (check_instance_cache_mapper): ditto.
11836         (check_image_instance_structure): ditto.
11837         (subwindow_decode_domain): new function. Encodes a window as a
11838         subwindow's cache domain.
11839         (image_instantiator_format_create): use it for text and
11840         subwindows.
11841
11842 2000-04-21  Andy Piper  <andy@xemacs.org>
11843
11844         * glyphs.c (image_instance_device): new function.
11845         (image_instance_frame): new function.
11846         (image_instance_window): new function.
11847         (image_instance_live_p): new function.
11848
11849         * window.c (mark_window_as_deleted): reset the subwindow_instance_
11850         cache to nil.
11851
11852         * glyphs.h (struct Lisp_Image_Instance): device->domain.
11853         (IMAGE_INSTANCE_DOMAIN): new accessor.
11854         (XIMAGE_INSTANCE_DOMAIN): ditto.
11855
11856         * glyphs-x.c (x_finalize_image_instance): device->domain.
11857
11858         * glyphs-msw.c (init_image_instance_geometry): device->domain.
11859         (mswindows_finalize_image_instance): ditto.
11860
11861         * glyphs-eimage.c (jpeg_instantiate): device->domain.
11862         (gif_instantiate): ditto.
11863         (png_instantiate): ditto.
11864         (tiff_instantiate): ditto.
11865
11866         * glyphs.c (instantiate_image_instantiator): use domain rather
11867         than device.
11868         (mark_image_instance): device -> domain.
11869         (print_image_instance): ditto.
11870         (finalize_image_instance): ditto.
11871         (image_instance_equal): ditto.
11872         (allocate_image_instance): ditto.
11873         (Fcolorize_image_instance): ditto.
11874         (query_string_geometry): ditto.
11875         (image_instantiate): ditto
11876         (query_string_font): ditto.
11877         (image_instantiate): ditto.
11878         (update_subwindow): ditto.
11879         (unmap_subwindow): ditto.
11880         (map_subwindow): ditto.
11881         (subwindow_instantiate): ditto.
11882
11883         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
11884         (DOMAIN_FRAME): ditto.
11885         (DOMAIN_WINDOW): ditto.
11886         (DOMAIN_LIVE_P): ditto.
11887         (XDOMAIN_DEVICE): ditto.
11888         (XDOMAIN_FRAME): ditto.
11889         (XDOMAIN_WINDOW): ditto.
11890
11891         * specifier.c (Fvalid_specifier_domain_p): add image instances as
11892         a valid specifier domain.
11893
11894 2000-04-19  Andy Piper  <andy@xemacs.org>
11895
11896         * glyphs-widget.c (syms_of_glyphs_widget): remove
11897         widget-callback-current-channel.
11898         (vars_of_glyphs_widget): ditto.
11899         * glyphs.h: ditto
11900
11901         * gui.c (get_gui_callback): revert to previous behaviour.
11902
11903 2000-04-18  Andy Piper  <andy@xemacs.org>
11904
11905         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
11906         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
11907         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
11908
11909         * glyphs.c (image_instance_equal): add margin_width.
11910         (image_instance_hash): ditto.
11911
11912         * glyphs-widget.c (widget_instantiate): deal with margin-width.
11913         (layout_query_geometry): ditto.
11914         (layout_layout): ditto.
11915         (syms_of_glyphs_widget): add margin-width.
11916         (image_instantiator_layout): allow margin-width.
11917
11918         * glyphs.c (update_widget_instances): make a normal function.
11919         (syms_of_glyphs): remove Qupdate_widget_instances.
11920         * glyphs.h: ditto.
11921
11922         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
11923         so that we don't corrupt ideas about the last event or
11924         command. Remove widget-callback-current-channel fiddling.
11925         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11926
11927 2000-05-01  Martin Buchholz <martin@xemacs.org>
11928
11929         * XEmacs 21.2.33 is released.
11930
11931 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
11932
11933         * make-src-depend: Allow dots in header file name.
11934
11935 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
11936
11937         * mule-charset.h (struct charset_lookup): Add
11938         next_allocated_1_byte_leading_byte and
11939         next_allocated_2_byte_leading_byte.
11940         * mule-charset.c: Move above two variables so that those values
11941         will be dumped.
11942
11943 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
11944
11945         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
11946         when string length is zero.
11947         (find_charsets_in_emchar_string): Ditto.
11948
11949 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
11950
11951         * lisp.h: extern Qdialog and Qmenubar.
11952
11953         * gui-x.c: added events.h.
11954                 also fixed typo which made the file uncompilable.
11955
11956         * general.c: Added Qmenubar and Qdialog
11957
11958 2000-04-28  Ben Wing  <ben@xemacs.org>
11959
11960         * frame-msw.c (mswindows_init_frame_1):
11961         * frame-msw.c (mswindows_mark_frame):
11962         * event-msw.c (mswindows_enqueue_dispatch_event):
11963         * console-msw.h:
11964         * console-msw.h (struct mswindows_frame):
11965         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
11966         there are now three hash tables for callbacks.
11967         mswindows_enqueue_dispatch_event is no longer static.
11968
11969         * dialog-x.c (maybe_run_dbox_text_callback):
11970         * dialog-x.c (dbox_descriptor_to_widget_value):
11971         switch to new cons3 form for callbacks.
11972
11973         * glyphs-msw.c (mswindows_register_gui_item):
11974         * glyphs-msw.c (mswindows_widget_instantiate):
11975         * glyphs-msw.c (add_tree_item):
11976         * glyphs-msw.c (add_tab_item):
11977         new image instance parameter, so it can be passed to callback-ex.
11978         respect :callback-ex as well as :callback.
11979
11980         * glyphs-widget.c (VALID_GUI_KEYWORDS):
11981         add :callback-ex.
11982
11983         * glyphs.c (print_image_instance):
11984         prettify, e.g. now prints widget type.
11985
11986         * gui-x.h:
11987         certain funs have new image instance parameter.
11988
11989         * gui.c:
11990         * gui.c (get_gui_callback):
11991         * gui.c (gui_item_add_keyval_pair):
11992         * gui.c (gui_item_init):
11993         * gui.c (gui_add_item_keywords_to_plist):
11994         * gui.c (mark_gui_item):
11995         * gui.c (gui_item_hash):
11996         * gui.c (gui_item_equal):
11997         * gui.c (copy_gui_item):
11998         * gui.c (syms_of_gui):
11999         recognize callback-ex in a number of places.
12000         also, fix the annoying "can't get out of yes-no dialog" bug.
12001
12002         * gui.h:
12003         * gui.h (struct Lisp_Gui_Item):
12004         recognize callback-ex in a number of places.
12005
12006         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12007         new parameter in button_item_to_widget_value.
12008
12009         * glyphs-x.c (x_update_widget):
12010         * glyphs-x.c (x_button_instantiate):
12011         * glyphs-x.c (x_button_update):
12012         * glyphs-x.c (x_progress_gauge_instantiate):
12013         * glyphs-x.c (x_edit_field_instantiate):
12014         * glyphs-x.c (x_combo_box_instantiate):
12015         * glyphs-x.c (x_tab_control_instantiate):
12016         * glyphs-x.c (x_label_instantiate):
12017         new image instance parameter in various places.
12018
12019         * event-Xt.c:
12020         * event-Xt.c (enqueue_Xt_dispatch_event):
12021         this fun gets exported.
12022
12023         * gui-msw.c:
12024         * gui-msw.c (mswindows_handle_gui_wm_command):
12025         handle both :callback and :callback-ex, and generate our own
12026         event because it's one of the callback-ex arguments.
12027
12028         * gui-x.c:
12029         * gui-x.c (popup_selection_callback):
12030         handle both :callback and :callback-ex, and generate our own
12031         event because it's one of the callback-ex arguments.
12032         * gui-x.c (button_item_to_widget_value):
12033         * gui-x.c (gui_items_to_widget_values_1):
12034         * gui-x.c (gui_item_children_to_widget_values):
12035         * gui-x.c (gui_items_to_widget_values):
12036         new image instance parameter in various places.
12037
12038         * fns.c (Freplace_list):
12039         fix small typo in doc string.
12040
12041         * lisp.h:
12042         declare enqueue_Xt_dispatch_event.
12043
12044 2000-04-28  Ben Wing  <ben@xemacs.org>
12045
12046         * buffer.c:
12047         * buffer.c (Frecord_buffer):
12048         * buffer.c (syms_of_buffer):
12049         delete record-buffer-hook.
12050
12051         * fns.c:
12052         * fns.c (Freplace_list):
12053         * fns.c (syms_of_fns):
12054         new primitive replace-list.
12055
12056         * frameslots.h:
12057         slot for old buffer-alist.
12058
12059         * lisp.h:
12060         exfun replace-list.
12061
12062         * redisplay.c:
12063         * redisplay.c (redisplay_frame):
12064         * redisplay.c (syms_of_redisplay):
12065         * redisplay.c (vars_of_redisplay):
12066         new hook buffer-list-changed-hook.
12067         call it.
12068
12069 2000-04-27  Ben Wing  <ben@xemacs.org>
12070
12071         * extents.h: extern in_modeline_generation.
12072
12073         * redisplay.c (generate_formatted_string_db): set
12074         in_modeline_generation.
12075
12076         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12077         flags if in modeline generation.  otherwise frame-modified-tick
12078         is ticked far too often.
12079         Declare in_modeline_generation.
12080
12081 2000-04-26  Ben Wing  <ben@xemacs.org>
12082
12083         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12084         option.
12085         (vars_of_emacs): add quick-build as an error-checking option.
12086         A bit kludgy, but there doesn't seem much point in creating
12087         a real var for this.
12088
12089         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
12090
12091 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12092
12093         * redisplay.h (struct display_line): Add a new variable,
12094         line_continuation.
12095
12096         * redisplay.c (create_text_block): Set dl->line_continuation if
12097         the line continues.
12098         (create_string_text_block): Ditto.
12099         (regenerate_window_incrementally): Use line_continuation instead
12100         of searching continuation glyph.
12101         (add_margin_runes): Call add_glyph_rune.
12102         (add_glyph_rune): Handle margin glyph.
12103
12104 2000-04-20  Martin Buchholz  <martin@xemacs.org>
12105
12106         * filelock.c (fill_in_lock_file_name):
12107         ANSIfy.
12108         Check for IS_ANY_SEP instead of '/'.
12109         (lock_file_1):
12110         Avoid generating gratuitous garbage.  Call user_login_name() directly.
12111         Never check errno without first seeing that system call failed.
12112         (unlock_file): Add GCPRO.
12113         (Flock_buffer): Fix docstring.
12114         (Ffile_locked_p): Fix docstring.  Add GCPRO.
12115
12116 2000-04-19  Martin Buchholz  <martin@xemacs.org>
12117
12118         * sysdep.c (get_pty_max_bytes):
12119         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
12120         strings longer than 252 bytes.
12121
12122         * md5.c: Unconditionally include ANSI header <limits.h>
12123
12124         * glyphs-x.c (convert_EImage_to_XImage):
12125         * lisp-union.h (union Lisp_Object):
12126         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
12127
12128 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
12129
12130         * filelock.c (current_lock_owner): Remove unused variable o, p.
12131
12132 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
12133
12134         * callint.c: Remove multiply defined symbol Qlet
12135         (syms_of_callint): ditto.
12136
12137 2000-04-14  Andy Piper  <andy@xemacs.org>
12138
12139         * general.c (syms_of_general): add last-command, this-command, let
12140         and funcall.
12141
12142         * lisp.h: declare various symbols.
12143
12144         * glyphs.h: declare Qwidget_callback_current_channel;
12145
12146         * glyphs-widget.c (syms_of_glyphs_widget): add
12147         Qgui_callback_current_channel.
12148         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
12149
12150         * gui-msw.c (mswindows_handle_gui_wm_command): bind
12151         widget-callback-current-channel when invoking the interactive
12152         arg. Also bind last-command and next-command when invoking the
12153         widget updates.
12154         * gui-x.c (popup_selection_callback): ditto.
12155
12156         * gui.c (get_gui_callback): massage args so that we are always
12157         calling eval. This allows us to add our own variable bindings
12158         outside.
12159
12160         * glyphs-x.c (x_button_instantiate): use
12161         gui_items_to_widget_values since this is GC safe.
12162         (x_progress_gauge_instantiate): ditto.
12163         (x_edit_field_instantiate): ditto.
12164         (x_label_instantiate): ditto.
12165
12166         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
12167         (emacs_Xt_event_widget_focus_out): new function
12168         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
12169         focus.
12170         (emacs_Xt_event_add_widget_actions): new function. add focus
12171         functions as actions.
12172         (init_event_Xt_late): use it.
12173
12174 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
12175
12176         * event-stream.c (Fdispatch_event): Doc fix.
12177
12178 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
12179
12180         * postgresql.c: Remove all references to PQsetenv*.
12181
12182         * postgresql.h: Remove references to PGsetenvHandler object.
12183         * lrecord.h (lrecord_type): Ditto.
12184
12185 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12186
12187         * glyphs-msw.h (struct mswindows_image_instance_data): Added
12188         real_heigh and real_width members, and accessor macros for these.
12189
12190         * glyphs-msw.c (init_image_instance_geometry): New function.
12191         (init_image_instance_from_dibitmap): Use it.
12192         (mswindows_resource_instantiate): Use it.
12193         (init_image_instance_from_xbm_inline): Use it.
12194         (mswindows_initialize_image_instance_mask): Use real bitmap
12195         geometry.
12196         (mswindows_create_resized_bitmap): Ditto.
12197         (mswindows_create_resized_mask): Ditto.
12198
12199         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
12200         and bitmap to their surface size.
12201
12202 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
12203
12204         * process-unix.c (unix_send_process): Guard against process MIA
12205         after Faccept_process_output.
12206
12207 2000-04-11  Ben Wing  <ben@xemacs.org>
12208
12209         * eval.c (unbind_to_hairy): fix brokenness introduced by
12210         nanosecond speed improvements.
12211
12212 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
12213
12214         * sunplay.c (init_device): To play sounds correctly, the device
12215         apparently needs to be initialized at least once by XEmacs.  Make
12216         it so.
12217
12218 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12219
12220         * redisplay.c (add_margin_runes): Add text image glyph
12221           handling.
12222
12223 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
12224
12225         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
12226         gcc is newer than 2.5.
12227
12228 2000-04-06  Colin Rafferty  <colin@xemacs.org>
12229
12230         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
12231
12232         * fns.c (size_bit_vector):
12233         * alloc.c (size_vector):
12234         (make_vector_internal):
12235         (make_bit_vector_internal):
12236         (sweep_bit_vectors_1):
12237         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
12238
12239 2000-04-06  Andy Piper  <andy@xemacs.org>
12240
12241         * gmalloc.c (malloc): undo previous change.
12242         (malloc): ditto.
12243         (free): ditto.
12244         (realloc): ditto.
12245
12246 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
12247
12248         * line-number.c (buffer_line_number): Revert to former version.
12249
12250 2000-04-06  Andy Piper  <andy@xemacs.org>
12251
12252         * gmalloc.c (malloc): add error checking.
12253         (malloc): ditto.
12254         (free): ditto.
12255         (realloc): ditto.
12256
12257         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
12258         button_item_to_widget_value arg.
12259
12260         * glyphs-x.c (x_button_instantiate): add extra
12261         button_item_to_widget_value arg.
12262         (x_progress_gauge_instantiate): ditto.
12263         (x_edit_field_instantiate): ditto.
12264         (x_label_instantiate): ditto.
12265
12266         * gui-x.c (gui_items_to_widget_values_1): add extra
12267         button_item_to_widget_value arg.
12268         (button_item_to_widget_value): add extra menu_item_p arg.
12269
12270         * gui-x.h: change signature of button_item_to_widget_value.
12271
12272         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
12273         button_item_to_widget_value arg.
12274
12275 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
12276
12277         * buffer.h (struct buffer): auto_save_modified should be long.
12278
12279 2000-04-05  Andy Piper  <andy@xemacs.org>
12280
12281         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
12282         type.
12283         (button_query_geometry): give a little more room so that athena
12284         buttons fit.
12285
12286 2000-04-05  Andy Piper  <andy@xemacs.org>
12287
12288         * faces.c (complex_vars_of_faces): The widget face should inherit
12289         the font of the gui-element face.
12290
12291 2000-04-04  Andy Piper  <andy@xemacs.org>
12292
12293         * glyphs-x.c (x_button_update): new function. unconditionally
12294         update a button's state when the instance is dirty.
12295         (image_instantiator_format_create_glyphs_x): add x_button_update.
12296         (x_widget_instantiate): remove old resize cruft.
12297
12298 2000-04-02  Andy Piper  <andy@xemacs.org>
12299
12300         * frame.c (change_frame_size_1): The introduction of gutters means
12301         that we need to allow 0 as a potential frame dimension.
12302
12303 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12304
12305         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
12306         image glyph if allow_cursor.
12307         (add_hscroll_rune): Don't allow cursor to border glyph.
12308         (create_text_block): Ditto.
12309
12310         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
12311         text not in buffer.
12312         (redisplay_output_layout): Call ensure_face_cachel_complete for
12313         text image glyph.
12314
12315
12316 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12317
12318         * redisplay.c (add_glyph_rune): Adding text image as text runes.
12319
12320         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
12321         not in buffer
12322
12323         * redisplay-tty.c (tty_output_display_block): Delete the routine
12324         for text image glyph
12325         * redisplay-x.c (x_output_display_block): ditto
12326         * redisplay-msw.c (mswindows_output_display_block): ditto
12327
12328 2000-02-02  Mike Alexander  <mta@arbortext.com>
12329
12330         Note: Some of these were committed by accident as part of other
12331         patches.
12332
12333         * regex.c (regex_compile): Avoid compiler warnings.
12334
12335         * ntproc.c (sys_spawnve): Avoid compiler warnings.
12336
12337         * nt.h: Declare term_ntproc correctly.
12338
12339         * nt.c: Remove incorrect declaration of get_home_directory which
12340         is declared correctly in lisp.h.
12341
12342         * keymap.c (get_keyelt): Avoid compiler warnings.
12343         (raw_lookup_key_mapper): Avoid compiler warnings.
12344
12345         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
12346
12347         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
12348
12349         * filemode.c (mode_string): Avoid compiler warnings.
12350
12351         * file-coding.c (Fcoding_system_aliasee): Add return statement to
12352         avoid warning.
12353
12354         * events-mod.h: Undef some things that winuser.h defines differently.
12355
12356         * data.c (Faset): Avoid compiler warnings.
12357
12358         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
12359
12360 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12361
12362         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
12363         Fall through to simple beep on error.
12364         Replace "extern" by real header file.
12365
12366         * linuxplay.c: Use nativesound.h
12367         (play_sound_data): Return error code. Be less verbose on error.
12368
12369         * sunplay.c: Use nativesound.h
12370         (play_sound_data): Return error code. Be less verbose on error.
12371
12372         * ntplay.c: Use nativesound.h
12373         (play_sound_data): Return fake error code
12374
12375         * sgiplay.c: Use nativesound.h
12376         (play_sound_data): Return error code
12377
12378         * hpplay.c: Use nativesound.h, partially implement
12379         new error code. Break compilation until finished.
12380         (play_sound_data): error code.
12381
12382         * nativesound.h (play_sound_file):
12383           (play_sound_data): Prototype in new header.
12384
12385 2000-03-31  Andy Piper  <andy@xemacs.org>
12386
12387         * glyphs-widget.c: (button_query_geometry): new function. Adjust
12388         for toggle and radio buttons.
12389         (image_instantiator_buttons): use it.
12390
12391 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12392
12393         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
12394         (x_update_horizontal_scrollbar_callback): Return if no mirror was
12395         found. Scrollbar event probably belonged to some old config.
12396
12397 2000-03-31  Andy Piper  <andy@xemacs.org>
12398
12399         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
12400         than 1.
12401         (initialize_widget_image_instance): default layout to
12402         LAYOUT_HORIZONTAL rather than 0.
12403         (widget_instantiate): reverse the item list at the end rather than
12404         every iteration.
12405         (layout_layout): re-code for the border text at the front of the
12406         item list rather than at the end.
12407         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
12408         provided by the user.
12409         (widget_query_geometry): comment.
12410
12411 2000-03-30  Andy Piper  <andy@xemacs.org>
12412
12413         * glyphs-widget.c (image_instantiator_layout): allow standard
12414         widget keywords in layouts.
12415
12416         * gutter.c (output_gutter): cope with nil gutter contents.
12417
12418         * frame.c (Fset_frame_properties): add gutter docs.
12419
12420 2000-03-29  Andy Piper  <andy@xemacs.org>
12421
12422         * toolbar-msw.c (TBSTYLE_FLAT): add.
12423         (mswindows_output_toolbar): minor fiddling.
12424
12425 2000-03-29  Andy Piper  <andy@xemacs.org>
12426
12427         * gutter.c (output_gutter): force gutter size recalculation if
12428         what we are trying to display won't fit.
12429         (update_gutter_geometry): new function. A per-gutter version of
12430         update_frame_gutter_geometry.
12431         (update_frame_gutter_geometry): use it.
12432         (redraw_exposed_gutter): add extra debugging output.
12433
12434 2000-03-28  Mike Alexander  <mta@arbortext.com>
12435
12436         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
12437         (pdump_file_unmap): Implement it on Windows
12438         (pdump_file_get): Save alocated handles for pdump_file_unmap
12439
12440 2000-03-28  Andy Piper  <andy@xemacs.org>
12441
12442         * gui.c (get_gui_callback): treat Quit specially.
12443
12444 2000-03-27  Andy Piper  <andy@xemacs.org>
12445
12446         * glyphs.c (image_instantiate): be careful to check in the same
12447         way we assigned.
12448
12449 2000-03-27  Didier Verna  <didier@xemacs.org>
12450
12451         * config.h.in: define the proper SMART_INCLUDE macro.
12452         handle renaming of `foo_h_path' to `foo_h_file'.
12453
12454         * database.c: ditto.
12455
12456         * emacs.c: ditto.
12457
12458         * linuxplay.c: ditto.
12459
12460         * terminfo.c: ditto.
12461
12462         * tooltalk.h: ditto.
12463
12464 2000-03-27  Andy Piper  <andy@xemacs.org>
12465
12466         * glyphs-msw.c (mswindows_update_widget): make sure the widget
12467         gets updated whenever the face might have changed.
12468
12469 2000-03-26  Mike Alexander  <mta@arbortext.com>
12470
12471         * dumper.c (pdump_resource_free): Fix the comment.
12472
12473 2000-03-21  Olivier Galibert  <galibert@pobox.com>
12474
12475         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
12476
12477 2000-03-22  Mike Alexander  <mta@arbortext.com>
12478
12479         * dumper.c: Include Windows headers on Windows
12480         (pdump_resource_free): Add a body to the function
12481         (pdump_load): exe_name -> exe_path and add some comments.
12482
12483 2000-03-25  Mike Alexander  <mta@arbortext.com>
12484
12485         * gui.c (copy_gui_item_tree): Return a value in all cases
12486
12487 2000-03-21  Didier Verna  <didier@xemacs.org>
12488
12489         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
12490         lwlib/config.h.in.
12491         (SMART_INCLUDE): new macro.
12492         (POSTGRES_INCLUDE): new macro to include postgresql headers from
12493         the proper location.
12494
12495         * postgresql.c: use it.
12496
12497         * inline.c: ditto.
12498
12499 2000-03-24  Andy Piper  <andy@xemacs.org>
12500
12501         * gutter.c (redraw_exposed_gutters): must be "in display" when we
12502         do this.
12503
12504 2000-03-24  Andy Piper  <andy@xemacs.org>
12505
12506         * redisplay-output.c (compare_runes): use image_instance_changed
12507         to detect changes. Do not depend on glyphs_changed, only depend on
12508         dirtiness.
12509          (redisplay_output_layout): add debug messages.
12510         (compare_runes): ditto.
12511
12512         * glyphs.h: declare new functions.
12513         (struct Lisp_Image_Instance): remove percent and associated
12514         accessors.
12515
12516         * gui.h: declare new copying functions.
12517
12518         * gui.c (copy_gui_item_tree): new function.
12519         (copy_gui_item): new function.
12520         (gui_item_id_hash): revert to standard hash.
12521         (gui_item_hash): ditto.
12522         (gui_item_hash_internal): deleted.
12523         (mark_gui_item): mark value.
12524         (gui_item_add_keyval_pair): add value.
12525         (gui_item_init): ditto.
12526         (gui_add_item_keywords_to_plist): ditto.
12527         (gui_item_equal): ditto.
12528         (syms_of_gui): add Q_value.
12529
12530         * glyphs-x.c (x_progress_gauge_update): use pending items and
12531         value for setting the state.
12532         (x_update_widget): don't set items from pending here.
12533
12534         * glyphs-widget.c (update_widget): update items here.
12535         (progress_gauge_set_property): use items for storing value. Put
12536         new value in pending items.
12537
12538         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
12539         items for new value. Convert percent -> value.
12540         (mswindows_tab_control_update): don't update items here.
12541
12542         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
12543         (update_subwindow): ditto.
12544         (image_instance_changed): new function. Compare hash values and
12545         past and present widget items.
12546         (image_instantiate): We more careful about where we instantiate
12547         things.
12548         (image_instantiate): add error checking.
12549
12550         * gutter.c (syms_of_gutter): use -hook.
12551
12552 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
12553
12554         * console-tty.c (Fset_console_tty_input_coding_system): Use
12555         Qkeyboard.
12556         (Fset_console_tty_output_coding_system): Use Qterminal.
12557         (tty_init_console): Use Qkeyboard and Qterminal.
12558
12559 2000-03-21  Ben Wing  <ben@xemacs.org>
12560
12561         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
12562         From Mike Alexander <mta@arbortext.com>.
12563
12564 2000-03-21  Ben Wing  <ben@xemacs.org>
12565
12566         * event-msw.c (mswindows_need_event): Horrible kludge to fix
12567         process brokenness.  Proper implementation to come.
12568         * callproc.c:
12569         Rename call-process-internal to old-call-process-internal.
12570         New impl. in process.el.
12571
12572 2000-03-21  Martin Buchholz  <martin@xemacs.org>
12573
12574         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
12575
12576 2000-03-20  Andy Piper  <andy@xemacs.org>
12577
12578         * glyphs.c (full_list_hash): make hashes of the same elements in
12579         different orders return different values.
12580
12581 2000-03-20  Martin Buchholz <martin@xemacs.org>
12582
12583         * XEmacs 21.2.32 is released.
12584
12585 2000-03-20  Martin Buchholz  <martin@xemacs.org>
12586
12587         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
12588         (DFC_MALLOC_USE_CONVERTED_DATA):
12589         Add aliasing-safe casts to allow use with char* or unsigned char*
12590         lvalues.
12591
12592         * eldap.c (Fldap_open):
12593         (Fldap_search_basic):
12594         (Fldap_add):
12595         (Fldap_modify):
12596         Make C++-compilable.
12597         Make sure GCPRO'ed variables are initialized.
12598         Use temp variables to avoid repeated calls to Flength.
12599
12600 2000-03-16  Martin Buchholz  <martin@xemacs.org>
12601
12602         * sysfile.h:
12603         Make sure PATH_MAX is always defined.
12604         Include limits.h for PATH_MAX.
12605         Deprecate use of MAXPATHLEN.
12606
12607 2000-03-10  Martin Buchholz  <martin@xemacs.org>
12608
12609         * emacs.c: Add reinit_vars_of_fileio.
12610         * symsinit.h: Add reinit_vars_of_fileio.
12611         * fileio.c (reinit_vars_of_fileio): New.
12612         * fileio.c (Fmake_temp_name):
12613         Initialize temp_name random number from microseconds to make
12614         collisions even less likely.  Initialize always at process startup
12615         time.  (make-temp-name) used to return the same file name twice in
12616         a row when PDUMP.
12617         Random stylistic fiddling.
12618         Comment fixes.
12619
12620 2000-03-20  Andy Piper  <andy@xemacs.org>
12621
12622         * glyphs.c (image_instantiate): allow text glyphs to be
12623         instantiated in the minibuffer window.
12624
12625 2000-03-19  Andy Piper  <andy@xemacs.org>
12626
12627         * glyphs.c (image_instance_hash): be careful about which items we
12628         hash on.
12629
12630         * glyphs-widget.c (tab_control_set_property): record into pending
12631         items rather than the actual items.
12632
12633         * glyphs-x.c (x_update_widget): use pending items to update with.
12634
12635         * glyphs-msw.c (mswindows_tab_control_update): use pending items
12636         to update with.
12637
12638         * glyphs.c (mark_image_instance): mark pending items.
12639
12640         * window.c (Fset_window_configuration): record the buffer.
12641         (Fselect_window): totally revert previous change which breaks many
12642         things.
12643
12644 2000-03-18  Andy Piper  <andy@xemacs.org>
12645
12646         * glyphs-msw.c (mswindows_tab_control_update): force selected
12647         item.
12648
12649         * glyphs.c (image_instantiate): don't allow the minibuffer as a
12650         window domain cache, otherwise we get inconsistencies at
12651         startup. There is something fishy at startup which can lead to the
12652         minibuffer being the selected window when the gutter content is
12653         instantiated.
12654
12655         * gui.c (parse_gui_item_tree_list): add probably unnecessary
12656         gcpros.
12657         (parse_gui_item_tree_children): ditto.
12658         (parse_gui_item_tree_item): ditto.
12659
12660         * glyphs.c (Fupdate_widget_instances): return something.
12661
12662 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
12663
12664         * window.c (Fselect_window): Undo 2000-03-17 change.
12665
12666 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
12667
12668         * postgresql.c (Fpq_setenv): Remove this turkey when linking
12669         against v7.0 libraries.  Insta-coredump city until the postgres
12670         folks fix it.
12671
12672 2000-03-17  Andy Piper  <andy@xemacs.org>
12673
12674         * faces.c (complex_vars_of_faces): don't give the widget face an
12675         inherited background pixmap.
12676
12677         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
12678         selected item.
12679
12680         * event-stream.c (Fdispatch_non_command_events): return something.
12681
12682         * gutter.c (output_gutter): use widget face.
12683         (clear_gutter): ditto.
12684
12685         * NEWS: adjust again.
12686
12687         * window.c (Fselect_window): make sure this runs to completion to
12688         avoid oddities with Fset_window_configuration.
12689         (Fcurrent_window_configuration): in general do not save the
12690         minibuffer as the selected window.
12691
12692         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
12693
12694 2000-03-16  Olivier Galibert  <galibert@pobox.com>
12695
12696         * emacs.c (Frunning_temacs_p): Revert previous patch.
12697         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
12698
12699 2000-03-16  Andy Piper  <andy@xemacs.org>
12700
12701         * glyphs-x.c (x_tab_control_update): if no widget values then
12702         return.
12703
12704         * NEWS: update for new features.
12705
12706         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
12707         synthetic event to the native system.
12708         (reinit_vars_of_event_Xt): set force_event_pending to
12709         emacs_Xt_force_event_pending.
12710
12711         * events.h (struct event_stream): add force_event_pending.
12712
12713         * specifier.c (recompute_one_cached_specifier_in_window): add
12714         comment.
12715
12716         * redisplay.c (redisplay_frame): don't call
12717         update_frame_subwindows. Reset subwindow cachels when
12718         subwindows_changed, removing this was an optimization too far.
12719
12720         * redisplay-output.c (compare_runes): reorganize so that we catch
12721         glyph changes when we want them. Set optimize_output when this
12722         would help layouts.
12723         (redisplay_output_layout): remove frame_really_changed, use
12724         optimize_output instead.
12725
12726         * redisplay-msw.c (mswindows_output_display_block): reset
12727         optimize_output after outputting a glyph.
12728         * redisplay-x.c (x_output_display_block): ditto.
12729         * redisplay-tty.c (tty_output_display_block): ditto.
12730
12731         * gutter.c: (specifier_vars_of_gutter): use new spec changed
12732         functions.
12733         (gutter_specs_changed): do specific gutter positions.
12734         (top_gutter_specs_changed): new function. Only update the
12735         specified gutter specs.
12736         (bottom_gutter_specs_changed): ditto.
12737         (left_gutter_specs_changed): ditto.
12738         (right_gutter_specs_changed): ditto.
12739
12740         * gui.c (gui_item_hash_internal): new function, does a real hash.
12741         (gui_item_id_hash): use it.
12742         (gui_item_hash): hash the eval'ed gui_item.
12743
12744         * gui-x.c (popup_selection_callback): send an eval event to call
12745         Fupdate_widget_instances.
12746
12747         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
12748         to call Fupdate_widget_instances.
12749
12750         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
12751         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
12752
12753         * glyphs.c: (update_frame_subwindows): deleted.
12754         (Fupdate_widget_instances): new function for updating the dirty
12755         state of widgets that might have changed.
12756         (syms_of_glyphs): add Qupdate_widget_instances.
12757         (full_list_hash): hash a list completely.
12758         (image_instance_hash): use it for items and properties.
12759
12760         * frame-msw.c (mswindows_size_frame_internal): remove unused
12761         variable.
12762
12763         * faces.h (struct face_cachel): fix comment.
12764
12765         * event-stream.c (Fdispatch_non_command_events): new
12766         function. Process non-command events, forcing an event cycle
12767         beforehand.
12768         (syms_of_event_stream): declare.
12769         (event_stream_force_event_pending): new function. Force an event
12770         on the native event queue so that an event cycle will occur next
12771         time we check.
12772
12773         * event-msw.c:
12774         (struct ntpipe_shove_stream):
12775         (mswindows_enqueue_dispatch_event):
12776         (mswindows_dequeue_dispatch_event):
12777         (mswindows_cancel_dispatch_event):
12778         (mswindows_pump_outstanding_events):
12779         (mswindows_drain_windows_queue):
12780         (mswindows_handle_paint):
12781         (mswindows_wnd_proc):
12782         (mswindows_key_to_emacs_keysym):
12783         (get_process_input_waitable):
12784         (emacs_mswindows_delete_stream_pair): re-indent file.
12785         (mswindows_need_event): do not process further fds if the windows
12786         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
12787         fixes the 100% cpu problem.
12788         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
12789
12790 2000-03-15  Olivier Galibert  <galibert@pobox.com>
12791
12792         * alloc.h: New.
12793         * dumper.h: New.
12794         * dumper.c: New.
12795
12796         * emacs.c: Moved dump file searching to dumper.c.
12797         (Frunning_temacs_p): Fixed.
12798
12799         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
12800         last_lrecord_type_index_assigned.
12801
12802 2000-02-20  Olivier Galibert  <galibert@pobox.com>
12803
12804         * symsinit.h: Added reinit parameter to init_console_stream
12805         declaration.
12806
12807         * lisp.h: Added file parameter to pdump_load declaration.
12808
12809         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
12810         support.  Added dump file searching.
12811
12812         * config.h.in: Added EMACS_PROGNAME.
12813
12814         * console-stream.c (init_console_stream): Fix reinitialisation
12815         when running from temacs.
12816
12817         * alloc.c (pdump): Add id support.
12818         (pdump_load): Add file parameter and signature/id support.
12819
12820         * Makefile.in.in: Add full pdump support.
12821
12822 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
12823
12824         * postgresql.c: Update documentation to reflect latest code
12825         status.
12826         (print_result): Show tuple counts in printed representation when
12827         appropriate.
12828         (Fpq_put_nbytes): MULE-ize.
12829         (Fpq_get_line_async): Ditto.
12830
12831 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
12832
12833         * postgresql.c (Fpq_lo_import): Fix return value.
12834         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
12835
12836 2000-03-13  Ben Wing  <ben@xemacs.org>
12837
12838         * alloc.c (pdump_load):
12839         Fix compile warning under mswin.
12840
12841 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
12842
12843         * postgresql.c: Mule-ization, bug fixes.
12844         Use PG_CODING to encapsulate coding system name changes.
12845         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
12846         (pg-coding-system): Create.
12847
12848         (Fpq_conn_defaults): Mule-ize.
12849         (Fpq_connectdb): Mule-ize & bug fix.
12850         (Fpq_connect_start): Mule-ize.
12851         (Fpq_set_client_encoding): Mule-ize.
12852         (Fpq_finish): Document `DEAD' connection status.
12853         (Fpq_clear): Ditto.
12854         (Fpq_pgconn): Mule-ize.
12855         (Fpq_exec): Mule-ize & bug fix.
12856         (Fpq_send_query): Ditto.
12857         (Fpq_get_result): Ditto.
12858         (Fpq_res_status): Mule-ize.
12859         (Fpq_result_error_message): Mule-ize.
12860         (Fpq_ntuples): fix comments.
12861         (Fpq_fname): Mule-ize.
12862         (Fpq_fnumber): Mule-ize.
12863         (Fpq_ftype): fix comments.
12864         (Fpq_get_value): Mule-ize.
12865         (Fpq_cmd_status): Ditto.
12866         (Fpq_cmd_tuples): Ditto.
12867         (Fpq_oid_value): Ditto.
12868         (Fpq_notifies): Ditto.
12869         (Fpq_lo_import): Ditto.
12870         (Fpq_lo_export): Ditto.
12871         (Fpq_get_line): Ditto.
12872         (Fpq_put_line): Mule-ize and bug fix.
12873         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
12874
12875 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
12876
12877         * postgresql.c (vars_of_postgresql): Mule-ize.
12878         (Fpq_conn_defaults): Ditto.
12879
12880 2000-03-12  Ben Wing  <ben@xemacs.org>
12881
12882         * alloc.c (Fmake_byte_code):
12883         * alloc.c (debug_string_purity_print):
12884         * alloc.c (pdump_backtrace):
12885         * alloc.c (pdump_get_indirect_count):
12886         * alloc.c (pdump_register_sub):
12887         * alloc.c (pdump_register_object):
12888         * alloc.c (pdump_register_struct):
12889         * alloc.c (pdump_dump_data):
12890         * alloc.c (pdump_reloc_one):
12891         Minor cleanups.
12892
12893         * console-msw.c:
12894         * console-msw.c (GetConsoleHwnd):
12895         * console-msw.c (msw_hide_console):
12896         * console-msw.c (msw_show_console):
12897         * console-msw.c (msw_ensure_console_buffered):
12898         * console-msw.c (msw_output_console_string):
12899         * console-msw.c (console_type_create_mswindows):
12900
12901         a) Added functions to manipulate the console window for use with
12902         shell support.
12903
12904         b) Added support for writing text to the console, which is now
12905         used under Windows when xemacs is not being run non-interactively,
12906         to write text that would otherwise be destined for stdout because
12907         under these circumstances, text written to stdout tends to
12908         disappear and not be seen.
12909
12910         * console-msw.h:
12911         * event-Xt.c:
12912         * event-Xt.c (x_event_to_emacs_event):
12913         * event-Xt.c (describe_event_window):
12914         * events-mod.h (XEMACS_MOD_CONTROL):
12915         * events.c:
12916         * events.c (Fmake_event):
12917         * events.c (character_to_event):
12918         * events.c (event_to_character):
12919         * events.c (format_event_object):
12920         * events.c (Fevent_modifiers):
12921         * events.h:
12922         * events.h (struct key_data):
12923         * events.h (struct button_data):
12924         * events.h (struct misc_user_data):
12925         * frame-x.c (Fcde_start_drag_internal):
12926         * frame-x.c (Foffix_start_drag_internal):
12927         * gpmevent.c (Freceive_gpm_event):
12928         * keymap.c:
12929         * keymap.c (bucky_sym_to_bucky_bit):
12930         * keymap.c (control_meta_superify):
12931         * keymap.c (make_key_description):
12932         * keymap.c (keymap_lookup_directly):
12933         * keymap.c (create_bucky_submap):
12934         * keymap.c (keymap_store):
12935         * keymap.c (define_key_check_and_coerce_keysym):
12936         * keymap.c (define_key_parser):
12937         * keymap.c (define_key_alternate_name):
12938         * keymap.c (Fdefine_key):
12939         * keymap.c (raw_lookup_key_mapper):
12940         * keymap.c (struct map_keymap_unsorted_closure):
12941         * keymap.c (map_keymap_unsorted_mapper):
12942         * keymap.c (map_keymap_sort_predicate):
12943         * keymap.c (map_keymap_sorted):
12944         * keymap.c (accessible_keymaps_mapper_1):
12945         * keymap.c (where_is_recursive_mapper):
12946         * keymap.c (describe_map_mapper):
12947         * keymap.c (describe_map_sort_predicate):
12948         * keymap.c (describe_map):
12949         * keymap.c (complex_vars_of_keymap):
12950         And a number of other files, the key modifier preprocessor
12951         constants that xemacs uses have names that conflict with constants
12952         defined under MS Windows for other purposes, so they were renamed
12953         to begin with the prefix XEMACS_. The variables that hold such
12954         modifiers were changed to consistently be of type int to fix
12955         various compile warnings.
12956
12957         * console.c (complex_vars_of_console):
12958         * device.c:
12959         * device-msw.c:
12960         * device-msw.c (mswindows_finish_init_device):
12961         * device-msw.c (msw_get_workspace_coords):
12962         * device-msw.c (mswindows_device_system_metrics):
12963         and various other files, added support for a new
12964         device property called offset-workspace which returns the position
12965         of the upper left corner of the workspace area and goes along with
12966         the existing size-workspace property.
12967
12968         * dialog-msw.c:
12969         * dialog-msw.c (push_bufbyte_string_as_unicode):
12970         * dialog-msw.c (mswindows_popup_dialog_box):
12971         Added support for XEmacs-style accelerator specifications in
12972         button text.  Note: I didn't add support for this under X Windows,
12973         and somebody needs to do this.
12974
12975         * dialog.c:
12976         * dialog.c (Fpopup_dialog_box):
12977         Documented the support for accelerators that was just mentioned.
12978
12979         editfns.c (get_home_directory): Changed behavior under Windows
12980         when HOME not defined; former behavior was irretrievably broken.
12981
12982         * emacs.c:
12983         * emacs.c (main_1):
12984         * emacs.c (main):
12985         * minibuf.c (clear_echo_area_internal):
12986         * minibuf.c (echo_area_append):
12987         * print.c:
12988         * print.c (std_handle_out_external):
12989         * print.c (std_handle_out_va):
12990         * print.c (fatal):
12991         * print.c (write_string_to_stdio_stream):
12992         * print.c (output_string):
12993         * print.c (debug_print):
12994         * print.c (debug_backtrace):
12995         * print.c (debug_short_backtrace):
12996         Cleaned up the code that prints text to stdout so that this can be
12997         changed to output into a console window instead under MS Windows,
12998         as described above.
12999
13000         * eval.c:
13001         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13002         * eval.c (internal_catch):
13003         * eval.c (unwind_to_catch):
13004         * eval.c (throw_or_bomb_out):
13005         * eval.c (condition_case_1):
13006         * eval.c (signal_1):
13007         * eval.c (check_error_state_sanity):
13008         * eval.c (call_with_suspended_errors_1):
13009         * eval.c (call_with_suspended_errors):
13010         * eval.c (reinit_vars_of_eval):
13011         Added code to catch throw loops and check for a pesky bug that may
13012         be gone now.
13013
13014         * event-msw.c:
13015         * event-msw.c (key_needs_default_processing_p):
13016         * event-msw.c (mswindows_wnd_proc):
13017         * event-msw.c (mswindows_modifier_state):
13018         * event-msw.c (emacs_mswindows_quit_p):
13019         * event-msw.c (vars_of_event_mswindows):
13020         a) Added support for using the alt key to select menu items as is
13021         standard under MS Windows.  This is controlled using the variable
13022         menu-accelerator-enabled, just like under X Windows.  There is an
13023         option on the options menu to turn this support on.  I really
13024         think that it should be on by default under Windows, but I'm not
13025         going to make this change yet.
13026
13027         b)  Added support for dynamic display size changes under Windows.
13028
13029         * event-stream.c:
13030         * event-stream.c (maybe_echo_keys):
13031         * event-stream.c (Fnext_event):
13032         * event-stream.c (command_builder_find_leaf):
13033         * event-stream.c (lookup_command_event):
13034         * event-stream.c (execute_command_event):
13035         * event-stream.c (pre_command_hook):
13036         * event-stream.c (post_command_hook):
13037         * event-stream.c (syms_of_event_stream):
13038         * event-stream.c (vars_of_event_stream):
13039         * event-stream.c (complex_vars_of_event_stream):
13040         * events.h (struct command_builder):
13041
13042         a) Tried to clean up a little bit the horribly written x-specific
13043         accelerator code that crept into this file.  I moved this code
13044         into menubar-x.c where it belongs. I also needed to move the
13045         command builder structure into the file events.h because it is
13046         accessed directly by this accelerator code.  What I didn't do, but
13047         which should be done at some point, is to properly abstract this
13048         code using device methods instead of the kludgy way that it
13049         currently hooks into the event code.
13050
13051         b) Added the lisp variables this-command-properties and
13052         last-command- properties, which should be used to synchronize two
13053         adjacent commands in preference to playing games with the variable
13054         this-command, which is typically what happens.
13055
13056         c) Added some slightly nasty code to hook into the lisp support
13057         for shifted- motion-key selection.  This is actually necessary for
13058         somewhat complicated reasons, which are described in
13059         simple.el. (NB: I think the proper thing would be to have the code
13060         that calls the pre and post command hooks also call out to generic
13061         lisp functions in simple.el, where all built-in stuff could be
13062         added.  I will think about this more.)
13063
13064         * event-unixoid.c (poll_fds_for_input):
13065         * lread.c (readchar):
13066         * redisplay-tty.c (tty_clear_frame):
13067         * redisplay-x.c (x_get_gc):
13068         * signal.c (interrupt_signal):
13069         And a whole bunch of other files: fixed up places that printed
13070         directly to stderr to instead call the function stderr_out so that
13071         the changes I made under Windows work correctly.
13072
13073         * filemode.c (mode_string):
13074         Warning fixes.
13075
13076         * frame-msw.c:
13077         * frame-msw.c (mswindows_size_frame_internal):
13078         Fixed the computation of frame size and position to keep the frame
13079         within the workspace area, rather than within the physical
13080         dimensions of the screen, so that the frame doesn't overlap window
13081         manager decorations, such as the start menu and toolbar, typically
13082         at the bottom of the screen.
13083
13084         * frame.c (vars_of_frame):
13085         Changed the default frame title format under MS Windows to consist
13086         of buffername-XEmacs, which is standard under MS Windows.  I think
13087         it might be a good idea to change this everywhere because I think
13088         it is superior to the current frame title format, but this is the
13089         kind of change that is likely to cause some people to get annoyed,
13090         so I'm not making it.
13091
13092         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
13093
13094         * gui-msw.c (mswindows_handle_gui_wm_command):
13095         Fixed compile warnings.
13096
13097         * gui-x.c:
13098         * gui-x.c (strdup_and_add_accel):
13099         * gui-x.c (button_item_to_widget_value):
13100         * gui-x.h:
13101         Added code to automatically put an accelerator onto the beginning
13102         of menu items that don't have one as is now the standard, and is
13103         described more later.  Also fixed things so that the menu item
13104         name can be an evaluated expression, again a new standard.
13105
13106         * gui.c:
13107         * gui.c (gui_item_add_keyval_pair):
13108         * gui.c (make_gui_item_from_keywords_internal):
13109         * gui.c (gui_add_item_keywords_to_plist):
13110         * gui.c (gui_item_accelerator):
13111         * gui.c (gui_name_accelerator):
13112         * gui.c (gui_item_included_p):
13113         * gui.c (gui_item_display_flush_left):
13114         * gui.c (gui_item_display_flush_right):
13115         * gui.c (parse_gui_item_tree_item):
13116         * gui.c (parse_gui_item_tree_children):
13117         * gui.c (parse_gui_item_tree_list):
13118         Mule-ized.  Cleanup.  GCPRO addition.
13119
13120         * line-number.c (buffer_line_number):
13121         * lisp.h:
13122         * lisp.h (EMACS_INT_MAX):
13123         Added the manifest constant EMACS_INT_MIN corresponding to the
13124         existing constant EMACS_INT_MAX.  This is partially to fix compile
13125         warnings under Windows, and partly for cleanliness.
13126
13127         * menubar-msw.c:
13128         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
13129         * menubar-msw.c (msw_translate_menu_or_dialog_item):
13130         * menubar-msw.c (displayable_menu_item):
13131         * menubar-msw.c (populate_menu_add_item):
13132         * menubar-msw.c (populate_or_checksum_helper):
13133         * menubar-msw.c (populate_menu):
13134         * menubar-msw.c (update_frame_menubar_maybe):
13135         * menubar-msw.c (prune_menubar):
13136         * menubar-msw.c (msw_char_is_accelerator):
13137         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
13138         * menubar-msw.c (mswindows_handle_wm_command):
13139         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
13140         * menubar-msw.c (mswindows_handle_wm_initmenu):
13141         * menubar-msw.c (mswindows_update_frame_menubars):
13142         * menubar-msw.c (mswindows_free_frame_menubars):
13143         * menubar-msw.c (mswindows_popup_menu):
13144         Fixed a bug in handling accelerators where an extra character
13145         would be displayed in the menu item.  Also generalized the
13146         function displayable_menu_item because it is now used by the
13147         dialog box code as well.  And finally, added code in the functions
13148         that create the menubar to extract a list of accelerators for the
13149         top level menubar, which is used in the event code to determine
13150         whether a particular alt-key combination should be used to invoke
13151         a menu item, or should be passed through to access the standard
13152         XEmacs keymap binding for this key combination.
13153
13154         Much needed GCPROing.
13155
13156         * menubar-x.c:
13157         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13158         * menubar-x.c (menu_item_descriptor_to_widget_value):
13159         * menubar-x.c (restore_in_menu_callback):
13160         * menubar-x.c (x_popup_menu):
13161         * menubar-x.c (menu_move_up):
13162         * menubar-x.c (menu_move_down):
13163         * menubar-x.c (menu_move_left):
13164         * menubar-x.c (menu_move_right):
13165         * menubar-x.c (menu_select_item):
13166         * menubar-x.c (command_builder_operate_menu_accelerator):
13167         * menubar-x.c (menu_accelerator_junk_on_error):
13168         * menubar-x.c (command_builder_find_menu_accelerator):
13169         * menubar-x.c (Faccelerate_menu):
13170         * menubar.h:
13171         Moved a whole bunch of code here that was previously in
13172         event-stream.c as described above.  There is also code connected
13173         to the new standard of adding an accelerator to the beginning of
13174         menu items that don't have one as described above and below.
13175
13176         * menubar.c:
13177         * menubar.c (menu_parse_submenu_keywords):
13178         * menubar.c (Fmenu_find_real_submenu):
13179         * menubar.c (Fnormalize_menu_item_name):
13180         * menubar.c (syms_of_menubar):
13181         * menubar.c (vars_of_menubar):
13182         * menubar.c (complex_vars_of_menubar):
13183
13184         a) Cleaned up a bunch of documentation and improved it.
13185
13186         b) XEmacs now automatically adds an accelerator onto the beginning
13187         of any menu items that don't have one.  I did this because there
13188         will inevitably be some menu items on the main menubar that don't
13189         have accelerators on them because the package that adds that
13190         particular menu item hasn't yet been fixed up to have accelerators
13191         in them and it looked rather strange to have some items with and
13192         some items without accelerators, especially since even in items
13193         without accelerators, you can, at least under windows, still
13194         access the item through an accelerator corresponding to the first
13195         character in the item's name.  If people don't like this behavior,
13196         I can add a variable to turn it off optionally, but I'm not sure
13197         this is a good idea because we really do need to have accelerators
13198         on all of the menu items, and if a package doesn't like the
13199         accelerators being put on the first character, then it should put
13200         the accelerators where they belong.
13201
13202         c) I made a behavior change, which is that the descriptor that
13203         specifies the text of the menu item, which formerly was just a
13204         string, can now also be an evaluated expression.  This makes this
13205         descriptor parallel with all of the others, which could also be
13206         evaluated expressions.  This also obviates the need for the
13207         keyword :label, which was previously listed in the documentation
13208         as unimplemented, and which was for the same purpose.
13209
13210         d) GCPROing.
13211
13212         * ntproc.c:
13213         * ntproc.c (new_child):
13214         * ntproc.c (sys_spawnve):
13215         * ntproc.c (find_child_console):
13216         * ntproc.c (sys_kill):
13217         Fixed compile warnings.  By the way, this file should really go
13218         away entirely, and this will happen as soon as Kirill makes his
13219         final round of process cleanups, which affect the function
13220         call-process.
13221
13222         * process-nt.c:
13223         * process-nt.c (struct nt_process_data):
13224         * process-nt.c (find_process_from_pid):
13225         * process-nt.c (send_signal_the_nt_way):
13226         * process-nt.c (enable_child_signals):
13227         * process-nt.c (find_child_console):
13228         * process-nt.c (send_signal_the_95_way):
13229         * process-nt.c (nt_finalize_process_data):
13230         * process-nt.c (ensure_console_window_exists):
13231         * process-nt.c (nt_create_process):
13232         * process-nt.c (nt_kill_child_process):
13233         * process-nt.c (nt_kill_process_by_pid):
13234         * process-nt.c (nt_open_network_stream):
13235         * process-nt.c (vars_of_process_nt):
13236         Copied over code from Emacs 20.5 to correctly send signals to sub-
13237         processes under Windows 95.  Also added code to automatically
13238         create and hide console window when a sub-process is created under
13239         Windows 95, which obviates the need for the separate runemacs.exe
13240         executable, and finally implemented some variables that were
13241         implemented in Emacs 20.5, but previously not in XEmacs.  These
13242         include mswindows- start-process-share-console and
13243         mswindows-start-process-inherit-error-mode. (Both of these only
13244         apply to Windows 95.)
13245
13246         * regex.c (regex_compile): Fixed a compile warning.
13247
13248         * select-msw.c:
13249         * select-msw.c (mswindows_own_selection):
13250         * select-msw.c (mswindows_get_foreign_selection):
13251         * select-msw.c (mswindows_disown_selection):
13252         * select-msw.c (console_type_create_select_mswindows):
13253         * select-msw.c (syms_of_select_mswindows):
13254         Cleaned up the file and implemented the device method
13255         selection_exists_p, which had accidentally been left out.  Also
13256         removed four lisp functions that were remnants from before the
13257         time when the selection code was properly device abstracted.
13258         These functions are no longer needed because there are generic
13259         equivalents, and because they were added recently and don't exist
13260         in FSF Emacs, I don't think there's any problem with just deleting
13261         them.
13262
13263         * sysdep.c:
13264         * sysdep.c (sys_subshell):
13265         Fixed a compile warning, although in this case there's probably
13266         something wrong with this code, and it ought to be looked into
13267         more thoroughly by somebody who understands it.
13268
13269         * window.c:
13270         * window.c (Fwindow_text_area_height):
13271         * window.c (Fwindow_width):
13272         * window.c (Fwindow_full_width):
13273         * window.c (Fwindow_pixel_width):
13274         * window.c (debug_print_window):
13275         * window.c (syms_of_window):
13276         Added functions window-text-area-height and window-full-width,
13277         which are functions for returning various width and height
13278         characteristics of a window. (One of these functions is necessary
13279         for making the file dialog box work correctly, and the other one
13280         was added for completeness.)  Also added a table to the
13281         documentation for window-height which describes the entire scheme
13282         for accessing width and height characteristics of a window.
13283
13284 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13285
13286         * nt.c (fstat): Added a comment for another problem with
13287         non-encapsulated [f]stat(), reported by Adrian Aichner
13288         <aichner@ecf.teradyne.com>.
13289
13290 2000-03-11  Andy Piper  <andy@xemacs.org>
13291
13292         * window.c (make_dummy_parent): initialize subwindow instance
13293         cache.
13294         (Fset_window_configuration): zero extent_modiff.
13295
13296 2000-03-10  Andy Piper  <andy@xemacs.org>
13297
13298         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
13299         more changes can be triggered.
13300         (Fredisplay_frame): ditto.
13301         (Fredraw_device): ditto.
13302         (Fredisplay_device): ditto.
13303         (redisplay_frame): make non-static.
13304         (redisplay_frame): call update_frame_gutter_geometry outside of
13305         display proper.
13306
13307         * gutter.h: declare update_frame_gutter_geometry.
13308
13309         * redisplay.h: declare redisplay_frame.
13310
13311         * gutter.c (update_frame_gutter_geometry): move geometry changes
13312         in update_frame_gutters here. Geometry changes can only occur
13313         outside of redisplay.
13314         (update_frame_gutters): remove geometry change code.
13315         (Fredisplay_gutter_area): make sure that we are in display when we
13316         update and that we have flushed any size changes.
13317
13318 2000-03-11  Andy Piper  <andy@xemacs.org>
13319
13320         * alloc.c (pdump_dump_data): remove i & count shadows.
13321
13322 2000-02-27  Mike Alexander  <mta@arbortext.com>
13323
13324         * sysdep.h: Declare pdump_read_file
13325
13326         * sysdep.c (pdump_read_file): New function
13327
13328         * alloc.c (pdump_load): Call pdump_read_file to get the portable
13329         dump data
13330
13331 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13332
13333         * lrecord.h: add `lrecord_type_pgsetenv'.
13334
13335 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
13336
13337         * symsinit.h: declare (vars|syms)_of* functions.
13338         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
13339
13340 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
13341
13342         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
13343
13344         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
13345         GCCs.
13346
13347         * emacs.c (main_1): Call postgres initialization code.
13348
13349         * postgresql.h: New file.  PostgreSQL RDBMS support.
13350         * postgresql.c: New file.
13351
13352 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13353
13354         * redisplay-output.c (redisplay_output_display_block): Disable
13355         redundant code.
13356
13357 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13358
13359         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
13360         (Fcanna_henkan_next): Ditto.
13361         (Fcanna_bunsetu_henkou): Ditto.
13362         (Fcanna_henkan_kakutei): Ditto.
13363         (Fcanna_henkan_end): Ditto.
13364         (Fcanna_henkan_quit): Ditto.
13365         (Fcanna_henkan_next): Set retun value correctly.
13366         (c2mu): Use unsigned char instead of signed char.
13367
13368 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13369
13370         * emacs.c (main_1): Always call syms_of_gui.
13371         * inline.c: include gui.h
13372
13373 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13374
13375         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
13376         converted to Lisp_Object.
13377         (Qtop_bottom): New variable.
13378         (syms_of_redisplay): Initialize it.
13379         * redisplay.h (Vvisible_bell): Ditto.
13380         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
13381         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
13382         only flash top and bottom.
13383
13384 2000-03-08  Andy Piper  <andy@xemacs.org>
13385
13386         * buffer.c (Frename_buffer): record new buffer name the right way.
13387
13388 2000-03-08  Andy Piper  <andy@xemacs.org>
13389
13390         * glyphs.c (update_subwindow): increase hash depth so that widget
13391         items get picked up properly.
13392
13393         * redisplay-output.c (compare_runes): increase hash depth so that
13394         widget items get picked up properly.
13395
13396 2000-03-08  Andy Piper  <andy@xemacs.org>
13397
13398         * gutter.c (output_gutter): add some debug.
13399
13400         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
13401         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
13402         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
13403
13404         * redisplay-output.c (compare_runes): use display_hash to
13405         determine if glyphs really are not the same.
13406
13407         * glyphs.c (update_subwindow): check display_hash to see if
13408         anything really needs to be updated. If not then do
13409         nothing. Record the display_hash after updating.
13410         (image_instance_equal): compare the image_instance face also.
13411
13412 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
13413
13414         * redisplay.h: Fix comment style.
13415
13416 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13417
13418         * consle-msw.h (struct mswindows_frame):
13419         Added new member paint_pending to indicate whether a WM_PAINT
13420         magic event has been queued for this frame.
13421
13422         * event-msw.c (mswindows_drain_windows_queue):
13423         Don't queue a WM_PAINT magic event if one is already queued.
13424         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
13425
13426         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
13427
13428 2000-03-07  Didier Verna  <didier@xemacs.org>
13429
13430         * dired.c: #include `regex.h' after `sysfile.h'.
13431
13432 2000-03-06  Martin Buchholz  <martin@xemacs.org>
13433
13434         * sound.c (init_nas_sound): Fix compiler warning.
13435
13436         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
13437         (FREE_STRUCT_P):
13438         (MARK_STRUCT_AS_FREE):
13439         (MARK_STRUCT_AS_NOT_FREE):
13440         Make `gcc -fstrict-aliasing' work properly.
13441
13442 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13443
13444         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
13445         (mswindows_delete_device): Call CoUnnitialize().
13446
13447         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
13448
13449 2000-02-25    <CraigL@DyCon.com>
13450
13451         * process-nt.c: MinGW now has <shellapi.h>, but still needs
13452         <errno.h>.
13453
13454         * sysdep.c: This extern declaration for environ prevents MinGW
13455         from finding the variable in CRTDLL.DLL.
13456
13457         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
13458         windows headers.
13459         (SHGFI_EXETYPE): ..
13460         (WM_MOUSEWHEEL): ..
13461         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
13462         definitions.
13463         (MMRESULT): Removed, now defined in cygwin's windows headers.
13464         (TIMECAPS): ..
13465         (uid_t,gid_t,pid_t,ssize_t): ..
13466         (_timeb): Removed, MinGW defines both _timeb and timeb.
13467         (HAVE_H_ERRNO): Added.
13468         (HAVE_TZNAME): Added, configure is not detecting this.
13469
13470 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
13471
13472         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
13473         * syntax.c (syntax_match): Use it.
13474
13475         * cmds.c: Import auto-fill-chars from FSF Emacs.
13476         (Vauto_fill_chars): New variables.
13477         (internal_self_insert): Check Vauto_fill_chars.
13478         (vars_of_cmds):
13479         Declare auto-fill-chars as a Lisp variable and initialize it.
13480
13481 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13482
13483         * fileio.c (Fmake_symbolic_link):
13484         (Ffile_symlink_p):
13485         Run handlers even if local machine doesn't have symlinks.
13486
13487 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13488
13489         * event-msw.c (mswindows_drain_windows_queue):
13490         Don't generate paint magic events for non-XEmacs frames.
13491
13492 2000-03-05  Andy Piper  <andy@xemacs.org>
13493
13494         * redisplay.c (redisplay_frame): generate_displayable_area and
13495         friends assumes that we are not in GC, we therefore have to make
13496         sure that this doesn't happen.
13497
13498         * gutter.c (calculate_gutter_size): generate_displayable_area
13499         assumes that we are not in GC, we therefore have to make sure that
13500         this doesn't happen.
13501
13502 2000-03-05  Martin Buchholz  <martin@xemacs.org>
13503
13504         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
13505
13506 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13507
13508         * redisplay.c (regenerate_window): Make sure we set a sane value
13509         for end_pos even if we jump out of the loop.
13510         (regenerate_window): Answer Ben's question :-).
13511         (start_end_of_last_line): Add may_error argument.
13512         (start_of_last_line):
13513         (end_of_last_line): Pass may_error = 0.
13514         (end_of_last_line_may_error): New function.
13515         (pixel_to_glyph_translation): Use it, so we don't crash in
13516         event_to_glyph.
13517
13518 2000-03-04  Andy Piper  <andy@xemacs.org>
13519
13520         * window.h (struct window): add gutter_extent_modiff.
13521
13522         * window.c (allocate_window): zero out gutter_extent_modiff.
13523
13524         * redisplay.h: declare sync_display_line_structs.
13525
13526         * redisplay.c (add_glyph_rune): add a better comment.
13527
13528         * redisplay-output.c (sync_display_line_structs): made non-static.
13529         (compare_runes): remove unneccesary glyph cachel access.
13530
13531         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
13532
13533         * gutter.c (output_gutter): don't output the gutter if extent
13534         changes only involve extents in buffers. use 4 sets of display
13535         lines.
13536         (gutter_extent_signal_changed_region_maybe): new function. Mark
13537         extents in gutters as changed.
13538         (update_frame_gutters): use 4 sets of display lines.
13539         (reset_gutter_display_lines): ditto.
13540         (free_frame_gutters): ditto.
13541         (redraw_exposed_gutter): force output of gutters.
13542
13543         * frame.h (struct frame): add 4 sets of gutter display lines.
13544
13545         * extents.c: (extent_changed_for_redisplay): signal changes to
13546         extents in strings in the gutter as well as extents in buffers.
13547
13548 2000-03-02  Andy Piper  <andy@xemacs.org>
13549
13550         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
13551
13552         * frame.c (Fmake_frame): make sure the gutters get initialized
13553         after the frame is visible.
13554         (set_frame_selected_window): re-arrange compilation macros a
13555         little.
13556         (change_frame_size_1): mark gutters changed.
13557
13558         * device.c (Fset_device_class): mark gutters changed.
13559
13560 2000-03-01  Andy Piper  <andy@xemacs.org>
13561
13562         * window.c (window_top_frame_gutter_height): deleted.
13563         (window_bottom_frame_gutter_height): ditto.
13564         (window_left_frame_gutter_height): ditto.
13565         (window_right_frame_gutter_height): ditto.
13566         (window_top_gutter_height): don't use them.
13567         (window_bottom_gutter_height): ditto.
13568         (window_left_gutter_width): ditto.
13569         (window_right_gutter_width): ditto.
13570         (Fsplit_window): ditto.
13571         (Fwindow_pixel_edges): don't use border dimensions here.
13572
13573         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
13574         (update_scrollbar_instance): ditto.
13575
13576         * redisplay.c (generate_modeline): don't take gutters into account.
13577         (generate_modeline): ditto.
13578         (redisplay_frame): small gutter display optimization.
13579
13580         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
13581
13582         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
13583         gutters into account.
13584
13585         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
13586         for window position and type.
13587
13588         * gutter.c (get_gutter_coords): fix for frame gutters.
13589         (update_frame_gutters): update frame geometry if the gutters have
13590         changed.
13591         (init_frame_gutters): record current gutter geometries.
13592
13593         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
13594         var.
13595         (mswindows_widget_instantiate): ditto.
13596
13597         * frame.h (struct frame): add current_gutter_bounds.
13598
13599         * frame.c (change_frame_size_1): position window and minibuffer
13600         appropriately taking into account the frame gutters.
13601
13602         * frame-x.c: (x_initialize_frame_size): take into account the
13603         frame gutters.
13604
13605 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13606
13607         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
13608
13609 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13610
13611         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
13612
13613 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13614
13615         * file-coding.c (reset_decoding_stream): Clear previous
13616         detection state when autodetect.
13617
13618 2000-02-29  Didier Verna  <didier@xemacs.org>
13619
13620         * extents.c (set_extent_glyph_1): don't require extents to be
13621         attached.
13622
13623 2000-02-27  Andy Piper  <andy@xemacs.org>
13624
13625         * gutter.c (Fset_default_gutter_position): don't default left and
13626         right gutter visibility to t.
13627         (Fset_default_gutter_position): run
13628         default-gutter-position-changed-hook.
13629         (syms_of_gutter): add default-gutter-position-changed-hook.
13630
13631 2000-02-26  Andy Piper  <andy@xemacs.org>
13632
13633         * specifier.c (Fmake_specifier): add gutter references.
13634
13635         * gutter.h (RAW_WINDOW_GUTTER): new macro.
13636
13637         * lisp.h: declare Fvalid_plist_p.
13638
13639         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
13640         as changed.
13641         (default_gutter_visible_p_changed_in_window): invalidate gutter as
13642         well as its visibility so that it gets reconstructed.
13643         (construct_window_gutter_spec): new function. Construct a string
13644         to be displayed in the gutter from a plist of strings. Take care
13645         to only use elements that are declared as visible.
13646         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
13647         WINDOW_GUTTER.
13648         (gutter_validate): allow plists of strings in the specifier.
13649         (gutter_specs_changed): construct the real_gutter from the gutter
13650         specs using construct_window_gutter_spec.
13651         (gutter_visible_validate): gutter-visible is a new specifier type.
13652         (Fgutter_visible_specifier_p): new function for the new specifier.
13653         (syms_of_gutter): declare gutter-visible and
13654         Fgutter_visible_specifier_p.
13655         (specifier_type_create_gutter): intitalize new gutter-visible
13656         specifier.
13657         (reinit_specifier_type_create_gutter): ditto.
13658         (specifier_vars_of_gutter): use new specifier type for gutter
13659         visibility.
13660         (init_frame_gutters): construct real_gutter correctly.
13661         (Fgutter_specifier_p): beef up documentation.
13662         (Fgutter_size_specifier_p): ditto.
13663
13664         * winslots.h: add real_gutter slots.
13665
13666 2000-02-25  Andy Piper  <andy@xemacs.org>
13667
13668         * device-msw.c: Be kind to older cygwin versions. From Raymond
13669         Toy <toy@rtp.ericsson.se>.
13670
13671         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
13672         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
13673
13674 2000-02-25  Martin Buchholz  <martin@xemacs.org>
13675
13676         * elhash.c (MARK_OBJ): Practice macro hygiene.
13677
13678 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13679
13680         * miscplay.c: s/__inline__/inline/g;
13681         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
13682         (get_device_compdc): INLINE ==> static inline
13683         * *.[ch]: Change INLINE to INLINE_HEADER globally.
13684         find -name '*.h' | \
13685         xargs global-replace \
13686         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
13687
13688 2000-02-25  Andy Piper  <andy@xemacs.org>
13689
13690         * window.c (window_top_frame_gutter_height): new function.
13691         (window_top_window_gutter_height): ditto.
13692         (window_top_gutter_height): use them.
13693         (window_bottom_frame_gutter_height): new function.
13694         (window_bottom_window_gutter_height): ditto.
13695         (window_bottom_gutter_height): use them.
13696         (window_left_window_gutter_width): new function.
13697         (window_left_frame_gutter_width): ditto.
13698         (window_left_gutter_width): use them.
13699         (window_right_window_gutter_width): new function.
13700         (window_right_frame_gutter_width): ditto.
13701         (window_right_gutter_width): use them.
13702         (window_pixel_height): new function. calulate window pixel height
13703         with frame gutter involvement.
13704         (Fsplit_window): calculate new sizes taking frame gutters into
13705         account.
13706         (window_char_height_to_pixel_height): don't include frame gutters.
13707         (window_char_height): use window_pixel_height.
13708         (window_pixheight): rename from window_pixel_height.
13709         (change_window_height): use it.
13710         (window_pixel_height_to_char_height): don't include frame gutters.
13711         (window_char_width_to_pixel_width): ditto.
13712
13713 2000-02-25  Andy Piper  <andy@xemacs.org>
13714
13715         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
13716         if it is.
13717
13718 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13719
13720         * alloc.c (staticpro):
13721         (staticpro_nodump):
13722         (dumpstruct):
13723         (dumpopaque):
13724         (pdump_wire):
13725         (pdump_wire_list):
13726         (compact_string_chars):
13727         (pdump_dump_wired):
13728         Convert:  if (foo) abort();  ==>  assert (! foo);
13729
13730         * eldap.c (Fldap_search_basic):
13731         (Fldap_add):
13732         (Fldap_modify):
13733         (Fldap_delete):
13734         Fix compiler warnings, and possible crashes if (random) return
13735         value were to be used.
13736
13737 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13738
13739         * device-msw.c: Workaround ResetDC failure.
13740
13741         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
13742         applying a devmode.
13743
13744         * redisplay-msw.c (get_frame_dc): Added start_page_p.
13745         (mswindows_text_width): Do not start printer page.
13746
13747         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
13748
13749         * glyphs-msw.c: Added image methods to msprinter console and
13750         msprinter-specific image instantiation.
13751
13752 2000-02-20  Mike Alexander  <mta@arbortext.com>
13753
13754         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
13755         to avoid crashes when selection-sets-clipboard is on
13756         (mswindows_own_selection): ditto
13757
13758 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13759
13760         * glyphs-msw.c:
13761         * redisplay-msw.c (get_frame_dc):
13762         (get_frame_compdc):
13763         * console-msw.h:
13764         * device-msw.c (mswindows_init_device):
13765         (mswindows_delete_device):
13766         (msprinter_init_device):
13767         (msprinter_delete_device):
13768         * frame-msw.c (mswindows_init_frame_1):
13769         (mswindows_delete_frame):
13770         (msprinter_init_frame_3):
13771         (msprinter_delete_frame): Move compatible DC to device object from
13772         frame object, for both mswindows and msprinter. Only one at a time
13773         is needed, it is a real waste to have one per frame!
13774
13775 2000-02-23  Andy Piper  <andy@xemacs.org>
13776
13777         * glyphs.c: add dynamic width and height elements.
13778         (image_instance_equal): ditto.
13779
13780         * glyphs-widget.c (widget_query_geometry): calculate width and
13781         height dynamically if required.
13782         (initialize_widget_image_instance): initialize dynamic dimensions.
13783         (widget_instantiate): pick-up dynamic dimensions.
13784
13785         * glyphs.h (struct Lisp_Image_Instance): add width and height for
13786         dynamic determination. Add appropriate macros.
13787
13788         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
13789         dimensions safe.
13790         (WINDOW_GUTTER_SIZE): ditto.
13791         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
13792
13793         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
13794         inline.
13795         (get_frame_dc): ditto.
13796
13797         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
13798         here.
13799
13800 2000-02-23  Martin Buchholz <martin@xemacs.org>
13801
13802         * XEmacs 21.2.31 is released.
13803
13804 2000-02-22  Ben Wing <ben@xemacs.org>
13805
13806         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
13807
13808 2000-02-22  Andy Piper  <andy@xemacs.org>
13809
13810         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
13811
13812 2000-02-21  Mike Sperber <mike@xemacs.org>
13813
13814         * .dbxrc:
13815         * .gdbinit:
13816         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
13817         variables.
13818
13819 2000-02-21  Mike Sperber <mike@xemacs.org>
13820
13821         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
13822
13823 2000-02-21  Martin Buchholz <martin@xemacs.org>
13824
13825         * XEmacs 21.2.30 is released.
13826
13827 2000-02-20  Martin Buchholz  <martin@xemacs.org>
13828
13829         Performance hacking.
13830         * *.c (syms_of_*):
13831         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
13832         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
13833         * emacs.c (main_1):
13834         * lisp.h (DEFUN):
13835         * console.c (DEFVAR_CONSOLE_LOCAL_1):
13836         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
13837         * symeval.h (DEFVAR_SYMVAL_FWD):
13838         * symbols.c (guts_of_unbound_marker):
13839         Make all c_readonly objects also lisp_readonly and marked for life.
13840         * lrecord.h (struct lrecord_implementation):
13841         Document flags better.
13842         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
13843         * lrecord.h (DECLARE_LRECORD):
13844         * lrecord.h (XSETRECORD):
13845         * lrecord.h (RECORDP):
13846         * lrecord.h (RECORD_TYPEP):
13847         * lrecord.h (RECORD_MARKER): New.
13848         * lrecord.h (error_check_*):
13849         * lrecord.h (CONCHECK_NONRECORD):
13850         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
13851         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
13852         * lrecord.h (set_lheader_implementation):
13853         * lrecord.h (enum lrecord_type): New.
13854         * symeval.h (SYMBOL_VALUE_MAGIC_P):
13855         * alloc.c (disksave_object_finalization_1):
13856         * alloc.c (mark_object):
13857         * alloc.c (lrecord_type_index):
13858         * alloc.c (tick_lcrecord_stats):
13859         * alloc.c (Fgarbage_collect):
13860         * alloc.c (init_alloc_once_early):
13861         * alloc.c (pdump_load):
13862         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
13863         * alloc.c (lrecord_type_index): Delete.
13864         Make lisp object type indexes be constant.
13865           Makes (byte-compile) 5% faster.
13866         Put all marker functions into their own array.
13867           Makes (garbage-collect) 5% faster.
13868         Optimize SYMBOL_VALUE_MAGIC_P.
13869           Makes (byte-compile) 2-3% faster.
13870         * config.h.in (gc_checking_assert): New.
13871         * alloc.c: Use gc_checking_assert().
13872         * .dbxrc: Make compatible with new object type implementation.
13873         * .gdbinit: Make compatible with new object type implementation.
13874         * alloc.c: Delete all symbols defined only for debugging, such as
13875         Lisp_Type_Vector and lrecord_charset.
13876
13877 2000-02-21  Andy Piper  <andy@xemacs.org>
13878
13879         * gui-msw.c (Fmswindows_shell_execute): fix file location
13880         problems.
13881
13882         * buffer.c (Fkill_buffer): remove buffer from alist buffer
13883         unshowing so that set_window_buffer doesn't undo
13884         kill_buffer_hook's hard work.
13885
13886         * glyphs-widget.c (tab_control_query_geometry): don't count the
13887         first item when calculating geometry.
13888
13889         * glyphs.c (map_subwindow): remove redundant code.
13890         (update_frame_subwindows): be more circumspect about when to
13891         update subwindows.
13892
13893         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
13894         when items haven't changed. Update faces if faces have changed as
13895         well as just the widget face.
13896         (x_tab_control_update): Update faces if faces have changed as well
13897         as just the widget face.
13898
13899 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13900
13901         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
13902         registration.
13903         (build_syscolor_string): Use mswindows_color_to_string to try to
13904         get a named color.
13905         (mswindows_device_system_metrics): Reverse the foreground and
13906         background colors so that they match the documentation.
13907
13908         * objects-msw.c: (mswindows_X_color_map): tweak some values so
13909         they match the default Windows palette.
13910         (mswindows_color_to_string): New function.
13911
13912 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13913
13914         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
13915
13916 2000-02-18  Olivier Galibert  <galibert@pobox.com>
13917
13918         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
13919         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
13920
13921         * symbols.c (init_symbols_once_early): Removed obsolete
13922         DATA_SEG_BITS related kludge.
13923         (defvar_magic): Ditto.
13924
13925         * malloc.c: Removed obsolete DATA_SEG_BITS
13926         * ralloc.c: Ditto.
13927         * mem-limits.h: Ditto.
13928
13929         * Makefile.in.in: Removed obsolete HAVE_SHM
13930         * emacs.c: Ditto.
13931
13932 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13933
13934         *  device-msw.c (mswindows_delete_device): Free DDE string
13935         handles.
13936
13937 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13938
13939         * keymap.c (get_keyelt):
13940         * unexnt.c (unexec):
13941         * vm-limit.c (memory_warnings):
13942         * ntheap.c (recreate_heap):
13943         * ntheap.h (UNINIT_PTR):
13944         * select-msw.c (Fmswindows_get_clipboard):
13945         (Fmswindows_set_clipboard):
13946         * objects-msw.h (MSWINDOWS_BAD_HFONT):
13947         * objects-msw.c:
13948         * menubar-msw.c (displayable_menu_item):
13949         * glyphs-msw.c:
13950         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
13951         * sysdep.c (sys_subshell):
13952         * process-nt.c (nt_create_process):
13953         * nt.c (normalize_filename):
13954         (dostounix_filename):
13955         (unixtodos_filename):
13956         * ntproc.c (win32_executable_type):
13957         * ntplay.c (play_sound_data_1):
13958         (play_sound_file):
13959         * editfns.c (get_home_directory):
13960         * event-msw.c (struct winsock_stream):
13961         (mswindows_dde_callback):
13962         * device-msw.c (msprinter_init_device):
13963         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
13964
13965         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
13966         mswindows_clear_toolbar were swapped!
13967
13968         * objects-msw.c:(colormap_t):
13969         (fontmap_t):
13970         * emacs.c (struct standard_args): Fixed const jumble.
13971
13972         * glyphs-widget.c (update_widget): Fixed comparison notation.
13973
13974         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
13975
13976         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
13977         __declspec(noreturn) syntax.
13978
13979 2000-02-19  Martin Buchholz  <martin@xemacs.org>
13980
13981         * eldap.c (Fldap_open):
13982         (Fldap_search_basic):
13983         (Fldap_add):
13984         (Fldap_modify):
13985         Use new coding system conversion macros.
13986
13987 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13988
13989         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
13990
13991 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
13992
13993         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
13994         (Fldap_add, Fldap_modify, Fldap_delete): New functions
13995
13996         * eldap.c (Qadd, Qreplace): New constant symbols
13997         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
13998         interruptions by XEmacs signals
13999         Remove unnecessary calls to slow_down_interrupts and
14000         speed_up_interrupts
14001         (Fldap_search_basic): Renamed from Fldap_search_internal
14002         Added new optional parameter VERBOSE that triggers the
14003         display of progress messages
14004         Remove unnecessary calls to slow_down_interrupts and
14005         speed_up_interrupts
14006         LDAP result code analysis rewritten
14007         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14008         (syms_of_eldap): Define the new symbols and functions
14009
14010
14011 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14012
14013         * realpath.c: Determine PATH_MAX maximally portably.
14014
14015         * insdel.c (bytecount_to_charcount): Optimize.
14016         The function used to be optimized for entirely ASCII sequences.
14017         Now it is optimized for successive characters from the same
14018         charset.  This also wins big for _mostly_ ASCII sequences.
14019
14020         * fileio.c (Ffile_truename): convert return from realpath() using
14021         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14022         - Rewrite GCPROing slightly.
14023
14024         * sysdep.c (sys_open): Do filename conversion, like all other
14025         sys_* functions.  Fixes bug:
14026         (let ((file-name-coding-system 'iso-8859-2))
14027            (write-region x y latin2-name))
14028         ==> writes filename using internal encoding.
14029
14030 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14031
14032         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14033         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14034         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14035         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14036         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14037         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14038         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14039         (CONST_IF_NOT_DEBUG): Delete.
14040         * alloc.c (this_one_is_unmarkable): Delete.
14041         (mark_object): Don't check for this_one_is_unmarkable. Use the
14042         c_readonly flag instead.
14043         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14044
14045 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14046
14047         * event-msw.c (mswindows_drain_windows_queue):
14048         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14049         away redundant repaint events.
14050
14051 2000-02-17  Andy Piper  <andy@xemacs.org>
14052
14053         * redisplay.h: declare mark_redisplay_structs.
14054
14055         * redisplay.c (redisplay_window):
14056         (redisplay_frame): don't check subwindows_state_changed.
14057         (mark_redisplay): mark gutters here.
14058
14059         * glyphs.c: (instantiate_image_instantiator): always layout if we
14060         haven't done so already.
14061         (allocate_image_instance): don't mark as dirty.
14062         (update_subwindow): bind inhibit_quit.
14063
14064         * gutter.c (mark_gutters): new function.
14065
14066         * glyphs-x.c (x_update_widget): Always resize to get round a
14067         widget bug.
14068
14069         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14070         breaking absolutely everything.
14071
14072         * gutter.h: declare mark_gutters.
14073
14074 2000-02-16  Martin Buchholz <martin@xemacs.org>
14075
14076         * XEmacs 21.2.29 is released.
14077
14078 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14079
14080         * fns.c (size_bit_vector): Fix computation of the size.
14081
14082 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14083
14084         * *.[ch]: Change CONST to const globally.
14085         find -name '*.[ch]' | \
14086         xargs global-replace \
14087         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
14088         - Remove vestigial references to CONST_IS_LOSING
14089
14090 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14091
14092         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
14093         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
14094         events instead of dispatching them directly.
14095         (mswindows_handle_paint): New function to do repainting.
14096         (mswindows_wnd_proc):
14097         (emacs_mswindows_handle_magic_event): Call above function.
14098
14099 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14100
14101         * objects-msw.c (mswindows_create_font_variant): Return the new
14102         font handle.
14103         (initialize_font_instance): Get font metrics from the underlined
14104         variant of the font to cope with the case where the underlined
14105         font has a bigger descent.
14106
14107 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14108
14109         * gui.c (gui_item_accelerator): Return the first underlined
14110         character in item name.
14111
14112 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14113
14114         * lisp.h: Added Qprinter.
14115
14116         * general.c (syms_of_general): Initialized it.
14117
14118         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
14119         (get_frame_dc):
14120         (get_frame_compdc): Made inline.
14121
14122         * console.h (struct console_methods): Added eject_page method.
14123
14124         * frame.h: Added FRAME_DISPLAY_P and friends.
14125         Aligned backslahes in many macros in more readable fashion.
14126         Added page_number to struct frame, and an accessor macro
14127         for it.
14128
14129         * defice.h: Added DEVICE_DISPLAY_P and friends.
14130
14131         * device.c (Fdevice_printer_p): Used these.
14132
14133         * frame.c (allocate_frame_core): Initialize page number.
14134         (Fprint_job_page_number):
14135         (Fprint_job_eject_page): Implemented.
14136
14137         * frame-msw.c (msprinter_eject_page): Added method.
14138         (msprinter_start_page): Added.
14139
14140         * window.c (Fwindow_truncated_p): Fixed docstring.
14141         (Fwindow_last_line_visible_height): Implemented.
14142
14143 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14144
14145         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
14146
14147 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14148
14149         * syntax.c (scan_words): Always advance at least one character.
14150
14151 2000-02-13  Andy Piper  <andy@xemacs.org>
14152
14153         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
14154         to make sure the glyph is in the cachels.
14155
14156         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
14157         global image instance flag.
14158         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
14159         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
14160
14161         * glyphs.c (allocate_image_instance): set dirty bits correctly.
14162         (Fset_image_instance_property): mark layout as changed.
14163         (invalidate_glyph_geometry_maybe): mark layout as changed.
14164         (glyph_width): use new NEEDS_LAYOUT macro.
14165         (glyph_ascent): ditto.
14166         (glyph_descent): ditto.
14167         (glyph_height): ditto.
14168         (image_instance_layout): mark layout as clean after laying out.
14169         (update_subwindow): don't mark layout as clean here.
14170
14171         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
14172         should no longer be needed.
14173
14174         * glyphs-x.c (x_update_widget): sanitize asserts.
14175         (x_finalize_image_instance): sanitize assignment to widgets.
14176
14177         * glyphs-widget.c (widget_instantiate): don't need to clear the
14178         layout flag here.
14179
14180 2000-02-13  Martin Buchholz  <martin@xemacs.org>
14181
14182         * sysdep.c (getcwd): Use standard prototype.
14183         * sysdep.h (getcwd): Use standard prototype.
14184
14185         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
14186         (sequence, start, end).
14187         Remove redundant type checking.
14188         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
14189         view of `caller-protects') to avoid a crash where the real fix was
14190         found elsewhere.
14191
14192 2000-02-12  Martin Buchholz  <martin@xemacs.org>
14193
14194         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
14195
14196         * s/sol2.h: Remove feature macro initialization.
14197
14198         * alloc.c (alloc_lcrecord): Add more type checking assertions.
14199         (vector_hash): New.  Code from internal_hash.
14200         * lrecord.h:
14201         Fix up allocation subsystem comments.
14202
14203         * config.h.in: Add __EXTENSIONS__ for Solaris.
14204
14205         * systime.h (EMACS_GETTIMEOFDAY): New.
14206         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
14207         Remove Solaris-specific code.
14208         Use void* for the (ignored) second arg for gettimeofday().
14209
14210         * elhash.c (hash_table_hash): Implement it, finally.
14211         * elhash.c:  Use hashcode_t.
14212
14213         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
14214         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
14215
14216         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
14217         * fns.c (size_bit_vector):
14218         * alloc.c (size_vector):
14219         (make_vector_internal):
14220         (make_bit_vector_internal):
14221         (sweep_bit_vectors_1):
14222         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
14223
14224 2000-02-10  Martin Buchholz  <martin@xemacs.org>
14225
14226         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
14227         Include strings.h to avoid warnings for bzero and strcasecmp.
14228
14229 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14230
14231         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
14232         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
14233
14234         * fns.c (size_bit_vector): New.  Declare bit vectors as a
14235         sequence.
14236
14237 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14238
14239         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
14240         use a value field instead.
14241         (symbol_value_forward_forward): Use value field.
14242         (DEFVAR_SYMVAL_FWD): Use value field.
14243         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
14244         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
14245         (DEFVAR_CONST_INT): Ditto.
14246         (DEFVAR_BOOL): Ditto.
14247         (DEFVAR_CONST_BOOL): Ditto.
14248         (DEFVAR_INT_MAGIC): Ditto.
14249         (DEFVAR_BOOL_MAGIC): Ditto.
14250
14251         * symbols.c (guts_of_unbound_marker): Use value field.
14252         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
14253         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
14254
14255         * lisp.h: Declare dumpopaque and noninteractive1.
14256
14257         * alloc.c (dumpopaque): Added.
14258         (pdump_dump_opaquevec): Added.
14259         (pdump): Call pdump_dump_opaquevec to dump opaque data.
14260         (pdump_load): Reload opaque data.  Sync noninteractive1 with
14261         noninteractive.
14262
14263 2000-02-10  Andy Piper  <andy@xemacs.org>
14264
14265         * glyphs.c (image_instance_layout): if the size changes, mark it
14266         as such.
14267
14268         * redisplay-output.c (redisplay_output_layout): Update the
14269         subwindow here.
14270         (redisplay_output_subwindow): ditto.
14271
14272         * glyphs.c (update_subwindow): make sure we reset flags for
14273         layouts as well as everything else.
14274
14275         * glyphs-widget.c (layout_layout): don't need to set the instances
14276         dimensions here.
14277
14278 2000-02-09  Martin Buchholz  <martin@xemacs.org>
14279
14280         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
14281         not HAVE_DLOPEN, which is a lower-level thing.
14282
14283         * .cvsignore: Ignore gmon.out
14284
14285 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
14286
14287         * .cvsignore: Ignore portable dumper xemacs.dmp file
14288
14289 2000-02-09  Andy Piper  <andy@xemacs.org>
14290
14291         * redisplay-output.c (redisplay_output_layout): be more clever
14292         about when we output based on the changed flags.
14293
14294         * glyphs.h (struct image_instantiator_methods): add update_method.
14295         (struct Lisp_Image_Instance): add changed flags. Declare new
14296         macros for manipulating them.
14297
14298         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
14299         (image_instance_parent_glyph): find an image_instance's parent
14300         glyph or image_instance.
14301         (image_instance_layout): mark the size as changed.
14302         (set_image_instance_dirty_p): new function. mark an image
14303         instance, plus all of its parents, as dirty.
14304         (Fset_image_instance_property): use it.
14305         (Fglyph_animated_timeout_handler): use it.
14306         (update_subwindow): call update_widget and device methods for
14307         update_subwindow. Mark all changed flags as clean.
14308         (Fresize_subwindow): mark size as changed.
14309
14310         * glyphs-x.c (x_finalize_image_instance): try and detect gc
14311         failures.
14312         (x_update_subwindow): only resize subwindows here.
14313         (x_update_widget): new function. Update all changed properties of
14314         a widget.
14315         (x_resize_subwindow): deleted.
14316         (x_widget_set_property): deleted.
14317         (x_progress_gauge_set_property): deleted.
14318         (x_progress_gauge_update): new function. Implement recorded
14319         changes.
14320         (x_tab_control_update): ditto.
14321         (x_tab_control_set_property): deleted.
14322         (console_type_create_glyphs_x): declare new functions.
14323         (image_instantiator_format_create_glyphs_x): ditto.
14324
14325         * glyphs-widget.c (widget_set_property): mark text changed.
14326         (update_widget): new function. Update properties of a widget.
14327         (widget_instantiate): for layouts make sure we set their
14328         children's parent correctly.
14329         (tab_control_set_property): new function. Record changes that will
14330         take place under redisplay's control.
14331         (progress_gauge_set_property): ditto.
14332         (image_instantiator_progress_guage): declare new functions.
14333         (image_instantiator_tab_control): ditto.
14334
14335         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
14336         now.
14337         (mswindows_update_widget): new function. Update all properties on
14338         a widget that have changed.
14339         (mswindows_button_update): new function. Update a button's set
14340         state.
14341         (mswindows_tab_control_update): new function. Update the items in
14342         a tab.
14343         (mswindows_tab_control_set_property): deleted.
14344         (mswindows_progress_gauge_update): new function. Update the
14345         progress gauge's progress.
14346         (mswindows_widget_set_property): deleted. This is all done
14347         asynchronously now.
14348         (mswindows_progress_gauge_set_property): ditto.
14349         (console_type_create_glyphs_mswindows): declare new methods.
14350         (image_instantiator_format_create_glyphs_mswindows): ditto.
14351
14352         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
14353         (msprinter_set_frame_properties): ditto.
14354
14355         * console.h (struct console_methods): Add update_widget_method.
14356
14357 2000-02-09  Andy Piper  <andy@xemacs.org>
14358
14359         * gui-msw.c (Fmswindows_shell_execute): Make
14360         mswindows-shell-execute industrial strength.
14361
14362 2000-02-08  Martin Buchholz  <martin@xemacs.org>
14363
14364         * lrecord.h: Make macro argument `props' match member function `plist'.
14365         * fns.c (Fget):
14366         * fns.c (Fput):
14367         * fns.c (Fremprop):
14368         * fns.c (Fobject_plist):
14369         * alloc.c:
14370         * symbols.c:
14371         Object property list frobbing cleanup.
14372         - Allow any lisp object (compared with `eq'), not just symbols, as
14373           keys in object plists.
14374         - Move symbol plist frobbing into symbols.c, where it belongs.
14375         - Move string plist frobbing into alloc.c, where it belongs.
14376         - Everything's an lrecord now, so no need to test for symbolp, etc.
14377         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
14378
14379         * extents.c: Reorder code to remove declarations.
14380
14381         * frame.h (store_in_alist): Remove useless declaration.
14382
14383 2000-02-07  Martin Buchholz  <martin@xemacs.org>
14384
14385         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
14386         * config.h.in: Add HAVE_XCONVERTCASE.
14387
14388 2000-02-07  Andy Piper  <andy@xemacs.org>
14389
14390         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
14391         it breaks many things.
14392
14393 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14394
14395         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
14396         actually can start a common comment type.
14397         * src/syntax.h (SYNTAX_END_P): ditto for end.
14398
14399 2000-02-07  Martin Buchholz <martin@xemacs.org>
14400
14401         * XEmacs 21.2.28 is released.
14402
14403 2000-02-06  Martin Buchholz  <martin@xemacs.org>
14404
14405         * event-Xt.c (x_keysym_to_character): New.
14406         (maybe_define_x_key_as_self_inserting_character): New.
14407         (x_has_keysym): New.
14408         Auto-define all keys on the keyboard as self-insert-key.
14409
14410 2000-02-02  Martin Buchholz  <martin@xemacs.org>
14411
14412         * menubar.c (vars_of_menubar): A small code simplification.
14413
14414         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
14415
14416         * ExternalShell.c:
14417         * ExternalClient.c:
14418         * EmacsShell-sub.c:
14419         * EmacsManager.c:
14420         * EmacsFrame.c:
14421         Use consistent style for specifying X resources.
14422
14423         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
14424         This makes (dontusethis-set-symbol-value-handler) actually usable.
14425
14426         * lrecord.h (lrecord_decription_type):
14427         * alloc.c (pdump_register_sub):
14428         (pdump_dump_data):
14429         (pdump_reloc_one):
14430         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
14431         Comply with XEmacs coding style.
14432         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
14433         args, and XD_LISP_OBJECT_ARRAY with 3 args.
14434
14435         * keymap.c (Faccessible_keymaps):
14436         Make (accessible-keymaps map "\C-h") do the Right Thing.
14437         Make (accessible-keymaps map []) do the Right Thing.
14438         Make (accessible-keymaps map "") do the Right Thing.
14439         (check_keymap_definition_loop): New function.
14440         (keymap_store_internal): Keep luser from shooting self in foot,
14441           via (define-key ctl-x-4-map "p" global-map).
14442         Remove fullness slot from struct Lisp_Keymap, since hash tables
14443         are now reliable.
14444         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
14445
14446 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14447
14448         * redisplay.c (init_redisplay): Fix small memory leak.
14449         * elhash.h:
14450         * elhash.c (pdump_reorganize_hash_table):
14451         Rename from reorganize_hash_table. Change prototype.
14452         Reuse the original memory for hentries.  Save 100k.
14453         * alloc.c (PDUMP_READ): new macro.
14454         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
14455         * alloc.c: No need to #ifndef before #undef.
14456
14457         * print.c: Allow debug_print() to print readably by modifying
14458         debug_print_readably.  Use consistent variable names.
14459
14460         * .dbxrc: Try to get things to work even if stopped in a function
14461         without source available by explicitly specifying source files.
14462 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14463
14464         * unexnt.c (_start): Removed bogus code which caused loading heap
14465         from differrent executable file.
14466         Removed bogus assignment to _fmode, which caused inconsistencies.
14467
14468 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14469
14470         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
14471         Have spawnve encapsulation regard DONT_ENCAPSULATE.
14472         Do not preliminary `#define signal sigset'.
14473
14474         * systime.h: Do not prototype environ on windows nt and cygwin,
14475         this conflicts with system header.
14476
14477         * syssignal.h: Use correct define for WINDOWSNT
14478
14479         * sysdep.h: Do not prototype environ on windows nt, this conflicts
14480         with system header.
14481
14482         * sysdep.c (near start of file): Fixed commentary and rearranged
14483         ifdefs in readable order.
14484         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
14485         (start_of_text):
14486         (end_of_text):
14487         (end_of_data): Do not compile in if using PDUMP.
14488
14489         * symsinit.h: Prototyped vars_of_nt().
14490
14491         * ntproc.c (windows9x_p): Added, instead of os_subtype.
14492         (find_child_console): Use it.
14493         (sys_kill): Use it.
14494
14495         * ntheap.h: Do not extern os_subtype.
14496
14497         * ntheap.c (cache_system_info): Do not cache unneeded:
14498         nt_major_version, nt_minor_version and os_subtype.
14499         (recreate_heap): Do not compile in when PDUMPing.
14500
14501         * nt.c (geteuid and friends): Use the new varibale
14502         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
14503         (init_user_info): Removed the above mentioned hackery.
14504         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
14505         stat has been fixed in the C runtime.
14506         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
14507
14508         * file-coding.c (struct file_coding_dump): Do not define
14509         ucs_to_mule_table in the struct if not MULE.
14510         (struct struct lrecord_description fcd_description_1): Do not dump
14511         the above.
14512
14513         * emacs.c (main_1): Call vars_of_nt().
14514         (right before Fdump_emacs_data): Don't need lastfile if using both
14515         portabe dumper and system malloc.
14516
14517         * alloc.c (Fmemory_limit): Conditionalized out.
14518         (pdump): Use OPEN_BINARY for the portable dump file.
14519         (pdump_load): Ditto.
14520
14521 2000-02-02  Mike Alexander  <mta@arbortext.com>
14522
14523         * nt.c (convert_time): Set tm_isdst before calling mktime and
14524         avoid calling it at all if the compiler supports 64 bit integers.
14525         Also initialize utc_base_ft before using it.
14526
14527 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14528
14529         * frame.c (change_frame_size_1): Take f->internal_border_width
14530         into consideration when calculating the width of the frame.
14531
14532 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14533
14534         * window.c (frame_min_height):
14535         (frame_size_valid_p):
14536         (frame_pixsize_valid_p): Added.
14537         (check_frame_size): Generalized.
14538
14539         * window.h: Prototyped the above.
14540
14541         * lisp.h:
14542         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
14543         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
14544         Deleted Vwin32_* and Vbinary_process_* unused variables.
14545
14546         * device-msw.c (msprinter_init_device): Do not get printer font
14547         list; Added DEVMODE functions.
14548
14549         * frame-msw.c: Added lots of printer code.
14550
14551         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
14552         general.c.
14553
14554         * console-msw.h: Added more msprinter device private slots.
14555
14556 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14557
14558         * event-msw.c (key_needs_default_processing_p): Added.
14559         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
14560
14561 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14562
14563         * glyphs.c (image_instance_layout): Mark image instance as clean
14564         after layout.
14565         (glyph_dirty_p): Removed redundant function.
14566         (invalidate_glyph_geometry_maybe): Added.
14567         (update_glyph_cachel_data): Call it.
14568
14569         * glyphs.h: Prototyped it.
14570
14571         * redisplay.c (add_glyph_rune): Call it.
14572         (redisplay_window): Reset glyphs cachels when frame faces have
14573         changed, thus forcing recomputation of built-in border glyphs.
14574
14575 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14576
14577         * Makefile.in.in: Make portable dumper and purify play well together.
14578         Add imperfect, but better than nothing, support for pdump.
14579         Remove xemacs.dmp when temacs is re-generated.
14580         Don't ignore errors when dumping xemacs.
14581
14582         * symbols.c (maybe_call_magic_handler): Remove one magic number.
14583
14584 2000-01-28  Andy Piper  <andy@xemacs.org>
14585
14586         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
14587         (setup_normal_frame): ditto.
14588         (setup_frame_without_minibuffer): ditto.
14589         (setup_minibuffer_frame): ditto.
14590         (delete_frame_internal): ditto.
14591         (Fmake_frame_invisible): ditto.
14592         (Ficonify_frame): ditto.
14593
14594         * window.h: change Fset_window_buffer signature.
14595
14596         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
14597         (Fset_window_buffer): allow recording of buffer if the window is
14598         the selected window.
14599         (window_loop): Use new Fset_window signature.
14600
14601 2000-01-23  Daniel Pittman  <daniel@danann.net>
14602
14603         * config.h.in: Added template for `HAVE_ATHENA_3D'
14604
14605 2000-01-29  Andy Piper  <andy@xemacs.org>
14606
14607         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
14608
14609         * gutter.c (output_gutter): Don't output if the window isn't live.
14610
14611 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14612
14613         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
14614         of 01/12/00: Moved SetFocus back here where it belongs.
14615
14616 2000-01-23  Andy Piper  <andy@xemacs.org>
14617
14618         * s/cygwin32.h: declare printer things.
14619
14620 2000-01-26  Andy Piper  <andy@xemacs.org>
14621
14622         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
14623         Alexander.
14624
14625 2000-01-24  Andy Piper  <andy@xemacs.org>
14626
14627         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
14628         (mswindows_button_instantiate): Make sure glyph is a pixmap.
14629
14630         * glyphs-widget.c (widget_instantiate): Avoid shadows.
14631
14632         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
14633
14634         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
14635
14636         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
14637         (mswindows_output_display_block): Avoid local shadows.
14638
14639         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
14640         (mswindows_enqueue_mouse_button_event): ditto.
14641         (mswindows_handle_gui_wm_command): remove declaration.
14642
14643         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
14644         warnings.
14645
14646         * console-msw.h: Avoid shadows.
14647         (mswindows_get_toolbar_button_text):
14648         (emacs_mswindows_create_stream_pair):
14649         (emacs_mswindows_delete_stream_pair):
14650         (mswindows_handle_toolbar_wm_command): declare.
14651
14652         * device-msw.c (build_syscolor_string): Avoid shadows.
14653
14654 2000-01-23  Andy Piper  <andy@xemacs.org>
14655
14656         * glyphs-widget.c (widget_instantiate): reverse the items for
14657         layouts so that children are in the expected order.
14658
14659 2000-01-28  Martin Buchholz  <martin@xemacs.org>
14660
14661         * ralloc.c: safe_bcopy ==> memmove
14662         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
14663         * s/msdos.h: Remove BCOPY macros.
14664         * insdel.c (gap_right): Remove BCOPY conditional code.
14665         * insdel.c (gap_left): Remove BCOPY conditional code.
14666         XEmacs demands a working ANSI C compiler - hence memmove.
14667
14668         * regex.c (regex_compile): Remove accidental use of trigraphs.
14669
14670 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14671
14672         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
14673         event timestamp.
14674
14675 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14676
14677         * event-msw.c (mswindows_drain_windows_queue): Added the
14678         parameter.
14679         (mswindows_need_event): Commented the call to
14680         mswindows_drain_windows_queue().
14681         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
14682         only.
14683
14684         * console-msw.h: Moved a few function prototypes here from
14685         event-msw.c.
14686
14687         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
14688         parameter from unsigned short to unsigned long.
14689         (Fmswindows_shell_execute): Added return value.
14690
14691 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14692
14693         * sysdep.c (init_system_name):
14694           process-unix.c (unix_canonicalized_host_name):
14695         Don't call freeaddrinfo() if getaddrinfo() fails.
14696
14697         * process-unix.c (unix_open_unix_network_stream):
14698         Moved the code to get a port # into address loop.
14699
14700 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14701
14702         * buffer.c (reinit_vars_of_buffer):
14703         The right place to initialize conversion_in_dynarr and
14704         conversion_out_dynarr.
14705
14706         * alloc.c (pdump): Use the real open() till sys_open() is functional.
14707
14708         * process-unix.c (unix_canonicalize_host_name): Muleize.
14709         (unix_open_network_stream): Muleize.
14710
14711         * buffer.h: Fix up prototypes for ralloc.c functions.
14712
14713 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14714         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
14715         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
14716                 instead of gethostbyname()
14717         * process-unix.c: In unix_canonicalize_host_name() and
14718                 unix_open_network_stream(), add code to use getaddrinfo()
14719                 instead of gethostbyname().
14720
14721 2000-01-27  Daniel Pittman <daniel@danann.net>
14722
14723         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
14724         libs when built with flat Athena.
14725
14726 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14727
14728         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
14729         Use coding standards for function prototypes.
14730
14731 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14732
14733         * dialog-msw.c (push_lisp_string_as_unicode):
14734         * doc.c (unparesseuxify_doc_string):
14735         * dired.c (Fuser_name_completion_1):
14736         * dired.c (Fuser_name_all_completions):
14737         * dired.c (free_user_cache):
14738         * dired.c (user_name_completion):
14739         * console-x.c (get_display_arg_connection):
14740         * minibuf.c (clear_echo_area_internal):
14741         * minibuf.c (echo_area_append):
14742         * eldap.c (Fldap_open):
14743         * eldap.c (Fldap_search_internal):
14744         * frame-x.c (x_set_frame_text_value):
14745         * frame-x.c (x_set_frame_properties):
14746         * frame-x.c (x_create_widgets):
14747         * redisplay-tty.c (term_get_fkeys_1):
14748         * objects-x.c (x_parse_nearest_color):
14749         * objects-x.c (x_valid_color_name_p):
14750         * objects-x.c (x_initialize_font_instance):
14751         * objects-x.c (x_list_fonts):
14752         * objects-x.c (x_find_charset_font):
14753         * tooltalk.c (Fadd_tooltalk_message_arg):
14754         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
14755         * tooltalk.c (Fadd_tooltalk_pattern_arg):
14756         * process-unix.c (unix_create_process):
14757         * ntproc.c (sys_spawnve):
14758         * sound.c (Fplay_sound_file):
14759         * sound.c (Fplay_sound):
14760         * buffer.c (init_initial_directory):
14761         * buffer.c (init_buffer):
14762         * editfns.c (init_editfns):
14763         * editfns.c (Ftemp_directory):
14764         * editfns.c (Fuser_full_name):
14765         * editfns.c (uncache_home_directory):
14766         * editfns.c (get_home_directory):
14767         * editfns.c (Fuser_home_directory):
14768         * editfns.c (Fformat_time_string):
14769         * editfns.c (Fcurrent_time_string):
14770         * gui-x.c (button_item_to_widget_value):
14771         * database.c (Fopen_database):
14772         * event-Xt.c (x_to_emacs_keysym):
14773         * event-Xt.c (x_event_to_emacs_event):
14774         * event-Xt.c (describe_event_window):
14775         * event-msw.c (mswindows_wnd_proc):
14776         * glyphs-eimage.c (jpeg_instantiate):
14777         * glyphs-eimage.c (gif_instantiate):
14778         * glyphs-eimage.c (png_instantiate):
14779         * glyphs-eimage.c (tiff_instantiate):
14780         * glyphs-x.c (xbm_instantiate_1):
14781         * glyphs-x.c (x_xbm_instantiate):
14782         * glyphs-x.c (x_xface_instantiate):
14783         * glyphs-x.c (autodetect_instantiate):
14784         * glyphs-x.c (cursor_font_instantiate):
14785         * glyphs-x.c (x_widget_instantiate):
14786         * glyphs-x.c (x_widget_set_property):
14787         * glyphs-x.c (x_widget_property):
14788         * glyphs-x.c (BUILD_GLYPH_INST):
14789         * print.c (write_string_to_stdio_stream):
14790         * print.c (output_string):
14791         * print.c (Falternate_debugging_output):
14792         * print.c (Fexternal_debugging_output):
14793         * glyphs-msw.c (extract_xpm_color_names):
14794         * glyphs-msw.c (mswindows_xpm_instantiate):
14795         * glyphs-msw.c (bmp_instantiate):
14796         * glyphs-msw.c (resource_name_to_resource):
14797         * glyphs-msw.c (mswindows_resource_instantiate):
14798         * glyphs-msw.c (xbm_instantiate_1):
14799         * glyphs-msw.c (mswindows_xbm_instantiate):
14800         * glyphs-msw.c (mswindows_xface_instantiate):
14801         * glyphs-msw.c (mswindows_widget_instantiate):
14802         * glyphs-msw.c (add_tree_item):
14803         * glyphs-msw.c (add_tab_item):
14804         * glyphs-msw.c (mswindows_combo_box_instantiate):
14805         * glyphs-msw.c (mswindows_widget_property):
14806         * glyphs-msw.c (mswindows_combo_box_property):
14807         * glyphs-msw.c (mswindows_widget_set_property):
14808         * console.c (stuff_buffered_input):
14809         * objects-msw.c (mswindows_initialize_color_instance):
14810         * objects-msw.c (mswindows_valid_color_name_p):
14811         * objects-msw.c (mswindows_list_fonts):
14812         * objects-msw.c (mswindows_font_instance_truename):
14813         * bytecode.c (optimize_compiled_function):
14814         * select-x.c (symbol_to_x_atom):
14815         * select-x.c (x_atom_to_symbol):
14816         * select-x.c (hack_motif_clipboard_selection):
14817         * select-x.c (selection_data_to_lisp_data):
14818         * select-x.c (lisp_data_to_selection_data):
14819         * select-x.c (Fx_get_cutbuffer_internal):
14820         * select-x.c (Fx_store_cutbuffer_internal):
14821         * buffer.h (TO_EXTERNAL_FORMAT): New function.
14822         * buffer.h (TO_INTERNAL_FORMAT): New function.
14823         * emacs.c (make_arg_list_1):
14824         * emacs.c (make_argc_argv):
14825         * emacs.c (main_1):
14826         * emacs.c (Fdump_emacs):
14827         * emacs.c (split_string_by_emchar_1):
14828         * file-coding.h:
14829         * lisp.h:
14830         * lstream.h:
14831         * symsinit.h:
14832         * device-x.c (x_init_device):
14833         * device-x.c (Fx_valid_keysym_name_p):
14834         * device-x.c (Fx_get_font_path):
14835         * device-x.c (Fx_set_font_path):
14836         * glyphs.c (bitmap_to_lisp_data):
14837         * glyphs.c (pixmap_to_lisp_data):
14838         * alloc.c (make_ext_string): Use coding system arguments.  Update
14839         all callers.
14840         * alloc.c (build_string):
14841         * callproc.c (child_setup):
14842         * callproc.c (init_callproc):
14843         * fileio.c (lisp_strerror):
14844         * fileio.c (directory_file_name):
14845         * fileio.c (Fexpand_file_name):
14846         * fileio.c (Ffile_truename):
14847         * fileio.c (Fsysnetunam):
14848         * fileio.c (Fdo_auto_save):
14849         * sysdep.c (sys_readdir):
14850         * tests.c: New file.  Allow adding C tests.
14851         Replace GET_* macros with a more comprehensible and flexible
14852         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
14853         Modify all calls.
14854         Any coding system can be used to do format conversion.
14855         Eliminate enum external_data_format.
14856         Eliminate convert_to_external_format.
14857         Eliminate convert_to_internal_format.
14858         Make sure file-name, keyboard, terminal, and ctext are always
14859         defined as coding systems or aliases.  Make
14860         file-name-coding-system, terminal-coding-system, and
14861         keyboard-coding-system magical variables that are equivalent to
14862         defining the corresponding coding system aliases.
14863
14864         * file-coding.c (Fcoding_system_canonical_name_p): New function.
14865         * file-coding.c (Fcoding_system_alias_p): New function.
14866         * file-coding.c (Fcoding_system_aliasee): New function.
14867         * file-coding.c (append_suffix_to_symbol): New function.
14868         * file-coding.c (dangling_coding_system_alias_p): New function.
14869         * file-coding.c (Ffind_coding_system):
14870         * file-coding.c (Fcopy_coding_system):
14871         * file-coding.c (encode_coding_no_conversion):
14872         * file-coding.c (syms_of_file_coding):
14873         * file-coding.c (vars_of_file_coding):
14874         Rewrite coding system alias code.
14875         Allow nested aliases, like symbolic links.
14876         Allow redefinition of coding system aliases.
14877         Prevent existence of dangling coding system aliases.
14878
14879         * dired.c (Fuser_name_completion_1):
14880         * dired.c (Fuser_name_all_completions):
14881         A crash would happen if user did QUIT in the middle of building
14882         user_name_cache.  Remove redundant code in mainline and unwind_protect.
14883
14884         * lisp.h:
14885         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
14886
14887         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
14888         an unsigned char *.  Update all callers.
14889
14890 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14891
14892         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
14893
14894 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14895
14896         * elhash.c (hentry_description): Use more portable definition.
14897         (resize_hash_table): Initialize new hentries using
14898         xnew_array_and_zero, thereby simplifying the code.
14899
14900         * mule-charset.c (make_charset): Make sure entire object is
14901         initialized, to avoid Purify warnings.
14902
14903         * alloc.c (resize_string): Fix unlikely crash with big strings.
14904
14905 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14906
14907         * realpath.c (xrealpath):
14908         Don't call getwd().
14909
14910 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14911
14912         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
14913
14914 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
14915
14916         * unexelfsgi.c (unexec): Change the way we decide which segment
14917         should be extended.
14918
14919         Assumption that .bss section should be outside the PT_LOADable
14920         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
14921         it's present) is inside the 'data' segment. This would fail the
14922         test which was used to find a segment to grow and cover new
14923         heap. Instead of this assumption, I created another one - on IRIX
14924         the segment to grow should start below .bss and it's address
14925         should extent above the end of .bss. Once this segment is
14926         identified, it's grown to accommodate the new heap and new
14927         zero-length .bss section is added at the end of .data2.
14928
14929 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14930
14931         * eval.c (Feval): Wrong number of arguments should use original
14932         function, not the indirect_function version of it.
14933
14934 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
14935
14936         * glyphs-x.c (x_button_instantiate): Don't add image if
14937         it is not a pixmap.
14938         (x_locate_pixmap_file): Call Fexpand_file_name when file name
14939         is relative.
14940
14941 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
14942
14943         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
14944         declaration.
14945         (DEFVAR_INT_MAGIC): Ditto.
14946         (DEFVAR_BOOL_MAGIC): Ditto.
14947         * glyphs.h: Reindent backslash.
14948
14949 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14950
14951         * glyphs-widget.c (layout_query_geometry):
14952         (layout_layout): Use correct types for gheight, gwidth.
14953
14954 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14955
14956         * EmacsManager.c (QueryGeometry): Purified.
14957
14958 2000-01-23  Martin Buchholz  <martin@xemacs.org>
14959
14960         * alloc.c (make_float): Make sure entire object is initialized, to
14961         avoid Purify warnings.
14962         (pdump_register_sub): Remove useless assignment.
14963         (pdump): Use xmalloc, not malloc.
14964         (pdump_load): Use xmalloc, not malloc.
14965
14966 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14967
14968         * callproc.c:
14969         * dired-msw.c:
14970         * fileio.c:
14971         * process-nt.c:
14972         * redisplay-msw.c:
14973         * sysdep.c: Removed redundant #include <windows.h>
14974
14975 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14976
14977         * frame.c (delete_frame_internal): Do not delete device when its
14978         implementation so declares.
14979         (delete_frame_internal): Set device selected frame to nil when
14980         last frame goes away.
14981
14982         * device-msw.c (msprinter_device_system_metrics): Implemented.
14983         (mswindows_device_system_metrics): Added 'device-dpi property.
14984
14985         * device.c: (Fdevice_printer_p): Added.
14986         Added 'offset-workspace device metric.
14987
14988         * console.h (device_metrics): Declared DM_offset_workspace.
14989
14990 2000-01-23  Martin Buchholz  <martin@xemacs.org>
14991
14992         * fileio.c (Ffile_truename): Remove pointless and confusing
14993         initialization of elen.
14994
14995         * glyphs-widget.c: Compiler warning fixes.
14996
14997 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
14998
14999         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15000         instead of a Lisp_Object as argument to make it consistent with
15001         the other LIVE_P macros.
15002         (CHECK_LIVE_PROCESS): New macro.
15003
15004         * process.c: Declare Qprocess_live_p.
15005         (Fprocess_live_p): New function.
15006         (create_process): Use PROCESS_LIVE_P.
15007         (read_process_output): Ditto.
15008         (set_process_filter): Ditto.
15009         (Fdelete_process): Ditto.
15010         (kill_buffer_processes): Ditto
15011         (process_send_signal): Use CHECK_LIVE_PROCESS.
15012         (Fprocess_input_coding_system): Check whether process is still
15013         alive (fix PR#1061).
15014         (Fprocess_output_coding_system): Ditto.
15015         (Fprocess_coding_system): Ditto.
15016         (Fset_process_input_coding_system): Ditto.
15017         (Fset_process_output_coding_system): Ditto.
15018
15019 2000-01-23  Andy Piper  <andy@xemacs.org>
15020
15021         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15022         layout and widget.
15023
15024         * glyphs.c (mark_image_instance): take into account changed
15025         image_instance format.
15026         (image_instance_equal): ditto.
15027         (image_instance_hash): ditto.
15028
15029         * glyphs-widget.c (widget_instantiate): Incorporate layout
15030         instantiation here. Delay layout of the layout until later.
15031         (layout_instantiate): deleted.
15032         (layout_query_geometry): new function. get the geometry of a
15033         layout.
15034         (layout_layout): layout a layout dynamically.
15035         (image_instantiator_widget): New function - splitting up
15036         image_instantiator_format_create_glyphs_widget for netwinder
15037         compilation.
15038         (image_instantiator_buttons):
15039         (image_instantiator_edit_fields):
15040         (image_instantiator_combo_box):
15041         (image_instantiator_scrollbar):
15042         (image_instantiator_progress_guage):
15043         (image_instantiator_tree_view):
15044         (image_instantiator_tab_control):
15045         (image_instantiator_labels):
15046         (image_instantiator_layout): ditto.
15047         (image_instantiator_format_create_glyphs_widget): Call preceding
15048         functions.
15049
15050 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15051
15052         * process.c (Fset_process_coding_system):
15053         * device-x.c (Fx_keysym_hash_table):
15054         Docstring fixes.
15055
15056         * lstream.c (Lstream_write): Return documented value, not 0.
15057
15058         * fileio.c (directory_file_name):
15059         (Fsubstitute_in_file_name):
15060         (Fsubstitute_insert_file_contents_internal):
15061         (Fwrite_region_internal):
15062         * emacs.c:
15063         * sysdep.c:
15064         * getloadavg.c:
15065         * systty.h:
15066         Remove vestigial APOLLO-conditional code.
15067
15068 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15069
15070         * getpagesize.h: Add guard macros.
15071         * libsst.h: Add guard macros.
15072         * libst.h: Add guard macros.
15073         * line-number.h: Add guard macros.
15074         * ndir.h: Add guard macros.
15075         * sysfloat.h: Add guard macros.
15076         * sysfile.h: Add guard macros.
15077         * sysproc.h: Add guard macros.
15078         * syswait.h: Add guard macros.
15079         * xintrinsic.h: Add guard macros.
15080         * xintrinsicp.h: Add guard macros.
15081         * xmmanager.h: Add guard macros.
15082         * xmmanagerp.h: Add guard macros.
15083         * xmprimitive.h: Add guard macros.
15084         * xmu.h: Add guard macros.
15085         * gpmevent.h: Add copyright statement. Add guard macros.
15086         * miscplay.h: Add guard macros.
15087         * *.h: Use consistent C-standards-approved guard macro names.
15088
15089         * opaque.c (make_opaque): Switch parameter order.
15090         * opaque.h (make_opaque): Switch parameter order.
15091         Update all callers.
15092         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
15093
15094         * config.h.in (type_checking_assert): Added.
15095         (bufpos_checking_assert): Added.
15096
15097 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15098
15099         * alloc.c: Harmless pdump changes.
15100         - Use countof().
15101         - spell alignment correctly.
15102         * sysdep.c: Use countof()
15103
15104 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15105
15106         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
15107         initially_selected_for_input() console method, default to 0.
15108         (semi_canonicalize_console_connection): Try to delegate to
15109         canonicalize_console_connection if no such console method.
15110         (canonicalize_console_connection): Vice versa.
15111         (print_console): Do not print nil connection.
15112
15113         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
15114         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
15115         (XDEVIMPF_FRAMELESS_OK): Added.
15116         (CONSOLE_INHERITS_METHOD): Added.
15117
15118         * console-msw.c (mswindows_canonicalize_console_connection):
15119         Added.
15120         (mswindows_canonicalize_device_connection): Added.
15121
15122         * console-msw.h (struct msprinter_device): Added this struct and
15123         accessor macros.
15124         (mswindows_device): Made fontlist a lisp object.
15125
15126         * device.c (semi_canonicalize_device_connection):  Try to delegate
15127         to canonicalize_device_connection if no such console method.
15128         (canonicalize_device_connection): Vice versa.
15129         (print_device): Do not print nil connection.
15130
15131         * device-msw.c (mswindows_init_device): Call InitCommonControls
15132         when have widgets.
15133         (mswindows_delete_device): Removed fontlist deallocation.
15134         (mswindows_mark_device): Added.
15135
15136         * events.c (event_equal): Added abort() at unreached code.
15137         (event_hash): Ditto.
15138
15139         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
15140         fallback tags of Windows devices.
15141
15142         * general.c (syms_of_general): Initialized Qmsprinter.
15143
15144         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
15145         of fallback tags of Windows devices.
15146
15147         * lisp.h: Declared Qmsprinter.
15148
15149         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
15150         of strings.
15151         (mswindows_list_fonts): Ditto.
15152         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
15153         that it can be used by both mswindows and msprinter devices.
15154         (initialize_font_instance): Added.
15155         (mswindows_initialize_font_instance): Use it.
15156         (msprinter_initialize_font_instance): Added.
15157
15158         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
15159         and implementation flags check.
15160         (redisplay_without_hooks): Changed the call to the above.
15161         (Fredraw_device): Ditto.
15162         (Fredisplay_device): Ditto.
15163
15164         * redisplay-msw.c (get_frame_dc): Implemented.
15165         (get_frame_compdc): Implemented.
15166         (many functions): Use the two functions above to get device
15167         contexts, ether for a window or a printer.
15168
15169 2000-01-21  Olivier Galibert  <galibert@pobox.com>
15170
15171         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
15172         initialization here.
15173         (init_symbols_once_early): Call it.
15174         * emacs.c (main_1): Call it.
15175         * symsinit.h: Declare it.
15176
15177 2000-01-19  Olivier Galibert  <galibert@pobox.com>
15178
15179         * alloc.c: Use a lrecord_header * in the backtrace instead of a
15180         Lisp_Object.
15181         (pdump_backtrace): Ditto.
15182         (pdump_register_object): Ditto.  Cleanup use of the pointers.
15183         (pdump_get_entry): Abort if trying to register a null pointer.
15184         (pdump_dump_data): Cleanup types when relocating.
15185         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
15186         (pdump_dump_rtables): Remove bad casts.
15187         (pdump_load): Cleanup relocation w.r.t union type.  Use a
15188         Lisp_Object instead of a EMACS_INT for the hashtable
15189         reorganization.
15190
15191 2000-01-20  Martin Buchholz  <martin@xemacs.org>
15192
15193         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
15194
15195         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
15196
15197         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
15198
15199         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
15200
15201 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15202
15203         * faces.h (FACE_STRIKETHRU_P): Added.
15204
15205         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
15206         of font variants.
15207
15208         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
15209         (mswindows_set_dc_font): New function, aware of font variants,
15210         separated from mswindows_update_dc.
15211
15212         * objects-msw.h (struct mswindows_font_instance_data): Added
15213         definition.
15214
15215         * objects-msw.c (mswindows_finalize_font_instance): Delete all
15216         cached fonts and the data structure.
15217         (mswindows_initialize_font_instance): Added creation of font data
15218         structure.
15219         (mswindows_print_font_instance): Print at least something.
15220         (mswindows_create_font_variant): Implemented.
15221         (mswindows_get_hfont): Implemented.
15222
15223 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
15224
15225         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
15226         prototyping problem with msvc.
15227
15228         * emacs.c (main_1): added syms_of_gui_mswindows() call
15229
15230         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
15231         syms_of_gui_mswindows() function
15232
15233         * symsinit.h: added the prototype for syms_of_gui_mswindows()
15234
15235 2000-01-18  Martin Buchholz <martin@xemacs.org>
15236
15237         * XEmacs 21.2.27 is released.
15238
15239 2000-01-18  Martin Buchholz  <martin@xemacs.org>
15240
15241         * glyphs-eimage.c (struct tiff_error_struct):
15242         (tiff_error_func):
15243         (tiff_warning_func):
15244         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
15245
15246         * unexmips.c:
15247         * unexhp9k3.c:
15248         * unexfreebsd.c:
15249         * unexec.c: Remove vestigial Lucid C code.
15250         * unexalpha.c:
15251         * unexaix.c:
15252         * termcap.c:
15253         * libsst.c: Ansify.
15254         Remove declarations of errno and strerror().
15255
15256         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
15257
15258         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
15259
15260 2000-01-16  Martin Buchholz  <martin@xemacs.org>
15261
15262         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
15263         Optimize.
15264
15265 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15266
15267         * md5.c:
15268         * file-coding.c:
15269         * file-coding.h:
15270         Change enum eol_type to eol_type_t.
15271
15272 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15273
15274         * gui.c (get_gui_callback): Check cons before accessing car.
15275
15276 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15277
15278         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
15279         (XSETSPECIFIER_TYPE): Ditto.
15280
15281 2000-01-17  Didier Verna  <didier@xemacs.org>
15282
15283         * redisplay.c (generate_fstring_runes): compute string size in
15284         characters, not bytes.
15285
15286 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15287
15288         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
15289
15290 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
15291
15292         * print.c (print_error_message): Call print_prepare().
15293
15294 2000-01-14  Martin Buchholz  <martin@xemacs.org>
15295
15296         * .dbxrc: Renamed from dbxrc.
15297
15298         * events.c (event_to_character):
15299         Use `assert (foo)' instead of `if (!foo) abort()'
15300
15301         * .gdbinit (xtype): Add documentation.
15302         * .gdbinit (check-temacs): New function.
15303         * .gdbinit (check-xemacs): New function.
15304         * dbxrc (check-xemacs): New function.
15305         * dbxrc (check-xemacs): New function.
15306
15307 2000-01-14  Andy Piper  <andy@xemacs.org>
15308
15309         * glyphs-widget.c (widget_query_geometry): Make sure that we
15310         calculate default dimensions correctly.
15311
15312 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15313
15314         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
15315
15316         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
15317         pdump_wire'd variable.
15318
15319         * emacs.c: (main_1): Conditionalized calls to
15320         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
15321
15322 2000-01-13  Martin Buchholz  <martin@xemacs.org>
15323
15324         * window.c (Fset_window_configuration):
15325         * sysdep.c (_start):
15326         * input-method-motif.c (res):
15327         * event-Xt.c (Xt_process_to_emacs_event):
15328         Simple compiler warning fixes.
15329
15330         * bytecode.c (funcall_compiled_function): Use the original
15331         function symbol on the backtrace list in preference to the
15332         compiled_function object in error messages.
15333
15334 2000-01-13  Andy Piper  <andy@xemacs.org>
15335
15336         * glyphs-x.c (update_widget_face): Make sure we update the widget
15337         background as well as foreground.
15338
15339 2000-01-13  Andy Piper  <andy@xemacs.org>
15340
15341         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
15342         fields to subwindow.
15343         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
15344         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
15345         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15346         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15347
15348         * glyphs-widget.c (check_valid_tab_orientation): new function.
15349         (initialize_widget_image_instance): zero orientation and
15350         justification.
15351         (widget_instantiate): pick up orientation.
15352         (tab_control_query_geometry): return appropriate values for
15353         vertical tabs.
15354
15355         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
15356         appropriate creation flags for left, right and bottom tabs.
15357
15358         * s/cygwin32.h: add tab definitions.
15359
15360 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15361
15362         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
15363         frame upon hiding a subwindow.
15364         (mswindows_button_instantiate): Changed the push button style to
15365         BS_PUSHBUTTON.
15366         (mswindows_button_instantiate): Removed button BS_NOTIFY
15367         style.
15368         (mswindows_button_instantiate): Removed redundant check for
15369         a disabled gui item.
15370         (mswindows_button_instantiate): Made use of WS_TABSTOP
15371         consistent: "operable" controls (edit, button, tree, scroll) have
15372         this style, "display-only" ones (static, progress gauge) do
15373         not. This style is currently ignored by XEmacs though. Also,
15374         removed the WS_EX_CONTROLPARENT style - it is not for children,
15375         it is for their parents!
15376         (mswindows_edit_field_instantiate): Ditto.
15377         (mswindows_progress_gauge_instantiate): Ditto.
15378         (mswindows_tree_view_instantiate): Ditto.
15379         (mswindows_tab_control_instantiate): Ditto.
15380         (mswindows_scrollbar_instantiate): Ditto.
15381         (mswindows_combo_box_instantiate): Ditto.
15382         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
15383         style to the "clip" window.
15384         (mswindows_button_instantiate): Removed compilation warning by
15385         equally typing terms of the ?: operator.
15386
15387 2000-01-12  Didier Verna  <didier@xemacs.org>
15388
15389         * redisplay.c (generate_fstring_runes): new parameter holding the
15390         last modeline-format extent.
15391         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
15392         extent, fill the glyph block with it.
15393         (generate_fstring_runes): handle these parameters.
15394         (generate_formatted_string_db): ditto.
15395
15396         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
15397         glyphs'extents in the modeline.
15398
15399 1999-01-11  Mike Woolley  <mike@bulsara.com>
15400
15401         * ntheap.c: Reduced the reserved heap space from 1Gb down to
15402         256Mb, as a workaround for the non-starting problem many people
15403         have experienced.
15404
15405 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15406
15407         * console-tty.c (Fset_console_tty_output_coding_system):
15408         Force redrawing tty frame.
15409
15410 2000-01-10  Didier Verna  <didier@xemacs.org>
15411
15412         * redisplay.c (generate_fstring_runes): fix size computation bug.
15413
15414 2000-01-09  William M. Perry <wmperry@aventail.com>
15415
15416         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
15417
15418 2000-01-09  Andy Piper  <andy@xemacs.org>
15419
15420         * glyphs-msw.c: index -> i to avoid shadows.
15421         (xbm_create_bitmap_from_data): make static.
15422         (check_valid_string_or_int): deleted.
15423         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
15424
15425         * glyphs-x.c (x_update_subwindow): remove unused args.
15426
15427         * glyphs.c (glyph_image_instance): return the thing. Don't set the
15428         back pointer - this is done in allocate_image_instance.
15429         (query_string_font): return Qnil to make the compiler happy.
15430         (unmap_subwindow): set to ~0 to make the compiler happy.
15431         (glyph_query_geometry): comment out until used.
15432         (glyph_layout): ditto.
15433
15434 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15435
15436         * insdel.c (signal_after_change): Remove extraneous unbind_to().